diff --git a/asset-manifest.json b/asset-manifest.json index d57b0cd13..ee2c7ce80 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { "main.css": "/react-codemirror/static/css/main.59cac092.css", - "main.js": "/react-codemirror/static/js/main.932f9bdb.js", + "main.js": "/react-codemirror/static/js/main.10500408.js", "static/js/9078.f32f87c1.chunk.js": "/react-codemirror/static/js/9078.f32f87c1.chunk.js", "static/js/8951.f87c784a.chunk.js": "/react-codemirror/static/js/8951.f87c784a.chunk.js", "static/js/3699.5b09b427.chunk.js": "/react-codemirror/static/js/3699.5b09b427.chunk.js", @@ -85,7 +85,7 @@ "index.html": "/react-codemirror/index.html", "static/media/index.cjs": "/react-codemirror/static/media/index.64277097f1987ac8b75c.cjs", "main.59cac092.css.map": "/react-codemirror/static/css/main.59cac092.css.map", - "main.932f9bdb.js.map": "/react-codemirror/static/js/main.932f9bdb.js.map", + "main.10500408.js.map": "/react-codemirror/static/js/main.10500408.js.map", "9078.f32f87c1.chunk.js.map": "/react-codemirror/static/js/9078.f32f87c1.chunk.js.map", "8951.f87c784a.chunk.js.map": "/react-codemirror/static/js/8951.f87c784a.chunk.js.map", "3699.5b09b427.chunk.js.map": "/react-codemirror/static/js/3699.5b09b427.chunk.js.map", @@ -172,6 +172,6 @@ "static/js/refractor-vendor.3142257b.js", "static/js/react-vendor.cd9980d2.js", "static/css/main.59cac092.css", - "static/js/main.932f9bdb.js" + "static/js/main.10500408.js" ] } \ No newline at end of file diff --git a/coverage/lcov-report/index.html b/coverage/lcov-report/index.html index fcc258de3..dd77f7487 100644 --- a/coverage/lcov-report/index.html +++ b/coverage/lcov-report/index.html @@ -116,7 +116,7 @@

All files

\ No newline at end of file +React CodeMirror - CodeMirror component for React.
\ No newline at end of file diff --git a/static/js/main.932f9bdb.js b/static/js/main.10500408.js similarity index 99% rename from static/js/main.932f9bdb.js rename to static/js/main.10500408.js index 0bad0ffe1..3b144f8dd 100644 --- a/static/js/main.932f9bdb.js +++ b/static/js/main.10500408.js @@ -1,3 +1,3 @@ -/*! For license information please see main.932f9bdb.js.LICENSE.txt */ -!function(){var e={4738:function(e,t,n){"use strict";var r={};n.r(r),n.d(r,{attentionMarkers:function(){return bi},contentInitial:function(){return gi},disable:function(){return xi},document:function(){return Qi},flow:function(){return Si},flowInitial:function(){return $i},insideSpan:function(){return vi},string:function(){return Pi},text:function(){return yi}});var O={};function i(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}n.r(O),n.d(O,{abcdef:function(){return Uc},abcdefInit:function(){return Yc},androidstudio:function(){return Cc},androidstudioInit:function(){return qc},atomone:function(){return Ac},atomoneInit:function(){return Vc},aura:function(){return Dc},auraInit:function(){return Gc},bbedit:function(){return Lc},bbeditInit:function(){return Fc},bespin:function(){return Bc},bespinInit:function(){return Mc},darcula:function(){return eu},darculaInit:function(){return Kc},defaultSettingsAbcdef:function(){return Ec},defaultSettingsAndroidstudio:function(){return zc},defaultSettingsAtomone:function(){return jc},defaultSettingsAura:function(){return Nc},defaultSettingsBbedit:function(){return Ic},defaultSettingsBespin:function(){return Jc},defaultSettingsDarcula:function(){return Hc},defaultSettingsDracula:function(){return tu},defaultSettingsDuotoneDark:function(){return au},defaultSettingsDuotoneLight:function(){return Ou},defaultSettingsEclipse:function(){return cu},defaultSettingsGithubDark:function(){return mu},defaultSettingsGithubLight:function(){return du},defaultSettingsGruvboxDark:function(){return $u},defaultSettingsGruvboxLight:function(){return yu},defaultSettingsMaterial:function(){return xu},defaultSettingsMaterialDark:function(){return Tu},defaultSettingsMaterialLight:function(){return Zu},defaultSettingsNoctisLilac:function(){return Eu},defaultSettingsNord:function(){return zu},defaultSettingsOkaidia:function(){return ju},defaultSettingsSolarizedDark:function(){return Iu},defaultSettingsSolarizedLight:function(){return Nu},defaultSettingsSublime:function(){return Ju},defaultSettingsTokyoNight:function(){return Hu},defaultSettingsTokyoNightDay:function(){return Op},defaultSettingsTokyoNightStorm:function(){return tp},defaultSettingsVscodeDark:function(){return ap},defaultSettingsXcodeDark:function(){return dp},defaultSettingsXcodeLight:function(){return cp},dracula:function(){return ru},draculaInit:function(){return nu},duotoneDark:function(){return lu},duotoneDarkInit:function(){return su},duotoneLight:function(){return ou},duotoneLightInit:function(){return iu},eclipse:function(){return pu},eclipseInit:function(){return uu},githubDark:function(){return gu},githubDarkInit:function(){return Qu},githubLight:function(){return fu},githubLightInit:function(){return hu},gruvboxDark:function(){return Pu},gruvboxDarkInit:function(){return Su},gruvboxLight:function(){return bu},gruvboxLightInit:function(){return vu},material:function(){return _u},materialDark:function(){return ku},materialDarkInit:function(){return wu},materialInit:function(){return Xu},materialLight:function(){return Ru},materialLightInit:function(){return Wu},noctisLilac:function(){return Uu},noctisLilacInit:function(){return Yu},nord:function(){return Cu},nordInit:function(){return qu},okaidia:function(){return Au},okaidiaInit:function(){return Vu},solarizedDark:function(){return Lu},solarizedDarkInit:function(){return Fu},solarizedLight:function(){return Du},solarizedLightInit:function(){return Gu},sublime:function(){return Bu},sublimeInit:function(){return Mu},tokyoNight:function(){return ep},tokyoNightDay:function(){return op},tokyoNightDayInit:function(){return ip},tokyoNightInit:function(){return Ku},tokyoNightStorm:function(){return rp},tokyoNightStormInit:function(){return np},vscodeDark:function(){return lp},vscodeDarkInit:function(){return sp},xcodeDark:function(){return fp},xcodeDarkInit:function(){return hp},xcodeLight:function(){return pp},xcodeLightInit:function(){return up}});var o=n(805),a=n(1026),s=n(8133),l=n.t(s,2),c=n(649),u=n(2951),p=n(1976),d=n(7591),h=n(9616),f=n(7597),m=n(6983);var Q=n(8119);function g(e,t,n){return g=(0,Q.Z)()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var O=new(Function.bind.apply(e,r));return n&&(0,m.Z)(O,n.prototype),O},g.apply(null,arguments)}function $(e){var t="function"===typeof Map?new Map:void 0;return $=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 g(e,arguments,(0,f.Z)(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),(0,m.Z)(r,e)},$(e)}var S=n(6470),P=n(5181),y=n(4013),v=n(3764);function b(e){return(0,S.Z)(e)||(0,P.Z)(e)||(0,y.Z)(e)||(0,v.Z)()}var x,T=n(726);function X(){return X=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function U(e,t,n,r){void 0===r&&(r={});var O=r,i=O.window,o=void 0===i?document.defaultView:i,a=O.v5Compat,s=void 0!==a&&a,l=o.history,c=x.Pop,u=null,p=d();function d(){return(l.state||{idx:null}).idx}function h(){c=x.Pop;var e=d(),t=null==e?null:e-p;p=e,u&&u({action:c,location:m.location,delta:t})}function f(e){var t="null"!==o.location.origin?o.location.origin:o.location.href,n="string"===typeof e?e:E(e);return _(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}null==p&&(p=0,l.replaceState(X({},l.state,{idx:p}),""));var m={get action(){return c},get location(){return e(o,l)},listen:function(e){if(u)throw new Error("A history only accepts one active listener");return o.addEventListener(k,h),u=e,function(){o.removeEventListener(k,h),u=null}},createHref:function(e){return t(o,e)},createURL:f,encodeLocation:function(e){var t=f(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){c=x.Push;var r=R(m.location,e,t);n&&n(r,e);var O=W(r,p=d()+1),i=m.createHref(r);try{l.pushState(O,"",i)}catch(a){o.location.assign(i)}s&&u&&u({action:c,location:m.location,delta:1})},replace:function(e,t){c=x.Replace;var r=R(m.location,e,t);n&&n(r,e);var O=W(r,p=d()),i=m.createHref(r);l.replaceState(O,"",i),s&&u&&u({action:c,location:m.location,delta:0})},go:function(e){return l.go(e)}};return m}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(w||(w={}));new Set(["lazy","caseSensitive","path","id","index","children"]);function z(e,t,n){void 0===n&&(n="/");var r=B(("string"===typeof t?Y(t):t).pathname||"/",n);if(null==r)return null;var O=q(e);!function(e){e.sort((function(e,t){return e.score!==t.score?t.score-e.score:function(e,t){var n=e.length===t.length&&e.slice(0,-1).every((function(e,n){return e===t[n]}));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((function(e){return e.childrenIndex})),t.routesMeta.map((function(e){return e.childrenIndex})))}))}(O);for(var i=null,o=0;null==i&&o0&&(_(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+a+'".'),q(e.children,t,s,a)),(null!=e.path||e.index)&&t.push({path:a,score:F(a,e.index),routesMeta:s})};return e.forEach((function(e,t){var n;if(""!==e.path&&null!=(n=e.path)&&n.includes("?")){var r,i=(0,T.Z)(C(e.path));try{for(i.s();!(r=i.n()).done;){var o=r.value;O(e,t,o)}}catch(a){i.e(a)}finally{i.f()}}else O(e,t)})),t}function C(e){var t=e.split("/");if(0===t.length)return[];var n=b(t),r=n[0],O=n.slice(1),i=r.endsWith("?"),o=r.replace(/\?$/,"");if(0===O.length)return i?[o,""]:[o];var a=C(O.join("/")),s=[];return s.push.apply(s,(0,c.Z)(a.map((function(e){return""===e?o:[o,e].join("/")})))),i&&s.push.apply(s,(0,c.Z)(a)),s.map((function(t){return e.startsWith("/")&&""===t?"/":t}))}var j=/^:\w+$/,V=3,A=2,N=1,G=10,D=-2,I=function(e){return"*"===e};function F(e,t){var n=e.split("/"),r=n.length;return n.some(I)&&(r+=D),t&&(r+=A),n.filter((function(e){return!I(e)})).reduce((function(e,t){return e+(j.test(t)?V:""===t?N:G)}),r)}function L(e,t){for(var n=e.routesMeta,r={},O="/",i=[],o=0;o and the router will parse it for you.'}function K(e){return e.filter((function(e,t){return 0===t||e.route.path&&e.route.path.length>0}))}function ee(e,t,n,r){var O;void 0===r&&(r=!1),"string"===typeof e?O=Y(e):(_(!(O=X({},e)).pathname||!O.pathname.includes("?"),H("?","pathname","search",O)),_(!O.pathname||!O.pathname.includes("#"),H("#","pathname","hash",O)),_(!O.search||!O.search.includes("#"),H("#","search","hash",O)));var i,o=""===e||""===O.pathname,a=o?"/":O.pathname;if(r||null==a)i=n;else{var s=t.length-1;if(a.startsWith("..")){for(var l=a.split("/");".."===l[0];)l.shift(),s-=1;O.pathname=l.join("/")}i=s>=0?t[s]:"/"}var c=function(e,t){void 0===t&&(t="/");var n="string"===typeof e?Y(e):e,r=n.pathname,O=n.search,i=void 0===O?"":O,o=n.hash,a=void 0===o?"":o,s=r?r.startsWith("/")?r:function(e,t){var n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((function(e){".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(r,t):t;return{pathname:s,search:re(i),hash:Oe(a)}}(O,i),u=a&&"/"!==a&&a.endsWith("/"),p=(o||"."===a)&&n.endsWith("/");return c.pathname.endsWith("/")||!u&&!p||(c.pathname+="/"),c}var te=function(e){return e.join("/").replace(/\/\/+/g,"/")},ne=function(e){return e.replace(/\/+$/,"").replace(/^\/*/,"/")},re=function(e){return e&&"?"!==e?e.startsWith("?")?e:"?"+e:""},Oe=function(e){return e&&"#"!==e?e.startsWith("#")?e:"#"+e:""},ie=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(){return(0,u.Z)(this,n),t.apply(this,arguments)}return(0,p.Z)(n)}($(Error));function oe(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"boolean"===typeof e.internal&&"data"in e}var ae=["post","put","patch","delete"],se=(new Set(ae),["get"].concat(ae));new Set(se),new Set([301,302,303,307,308]),new Set([307,308]),"undefined"!==typeof window&&"undefined"!==typeof window.document&&window.document.createElement;Symbol("deferred");var le="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},ce=s.useState,ue=s.useEffect,pe=s.useLayoutEffect,de=s.useDebugValue;function he(e){var t=e.getSnapshot,n=e.value;try{var r=t();return!le(n,r)}catch(O){return!0}}"undefined"===typeof window||"undefined"===typeof window.document||window.document.createElement,l.useSyncExternalStore;var fe=s.createContext(null);var me=s.createContext(null);var Qe=s.createContext(null);var ge=s.createContext(null);var $e=s.createContext(null);var Se=s.createContext({outlet:null,matches:[]});var Pe=s.createContext(null);function ye(){return ye=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||_(!1),r=r.slice(0,Math.min(r.length,i+1))}return r.reduceRight((function(e,i,o){var a=i.route.id?null==O?void 0:O[i.route.id]:null,l=null;n&&(l=i.route.ErrorBoundary?s.createElement(i.route.ErrorBoundary,null):i.route.errorElement?i.route.errorElement:s.createElement(ke,null));var c=t.concat(r.slice(0,o+1)),u=function(){var t=e;return a?t=l:i.route.Component?t=s.createElement(i.route.Component,null):i.route.element&&(t=i.route.element),s.createElement(Re,{match:i,routeContext:{outlet:e,matches:c},children:t})};return n&&(i.route.ErrorBoundary||i.route.errorElement||0===o)?s.createElement(We,{location:n.location,component:l,error:a,children:u(),routeContext:{outlet:null,matches:c}}):u()}),null)}function Ye(e){var t=s.useContext(me);return t||_(!1),t}function Ue(e){var t=function(e){var t=s.useContext(Se);return t||_(!1),t}(),n=t.matches[t.matches.length-1];return n.route.id||_(!1),n.route.id}!function(e){e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator"}(_e||(_e={})),function(e){e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"}(Ze||(Ze={}));var ze;function qe(e){var t=e.to,n=e.replace,r=e.state,O=e.relative;ve()||_(!1);var i=s.useContext(me),o=xe();return s.useEffect((function(){i&&"idle"!==i.navigation.state||o(t,{replace:n,state:r,relative:O})})),null}function Ce(e){return function(e){var t=s.useContext(Se).outlet;return t?s.createElement(Te.Provider,{value:e},t):t}(e.context)}function je(e){_(!1)}function Ve(e){var t=e.basename,n=void 0===t?"/":t,r=e.children,O=void 0===r?null:r,i=e.location,o=e.navigationType,a=void 0===o?x.Pop:o,l=e.navigator,c=e.static,u=void 0!==c&&c;ve()&&_(!1);var p=n.replace(/^\/*/,"/"),d=s.useMemo((function(){return{basename:p,navigator:l,static:u}}),[p,l,u]);"string"===typeof i&&(i=Y(i));var h=i,f=h.pathname,m=void 0===f?"/":f,Q=h.search,g=void 0===Q?"":Q,$=h.hash,S=void 0===$?"":$,P=h.state,y=void 0===P?null:P,v=h.key,b=void 0===v?"default":v,T=s.useMemo((function(){var e=B(m,p);return null==e?null:{location:{pathname:e,search:g,hash:S,state:y,key:b},navigationType:a}}),[p,m,g,S,y,b,a]);return null==T?null:s.createElement(ge.Provider,{value:d},s.createElement($e.Provider,{children:O,value:T}))}function Ae(e){var t=e.children,n=e.location,r=s.useContext(fe);return function(e,t){ve()||_(!1);var n,r=s.useContext(ge).navigator,O=s.useContext(me),i=s.useContext(Se).matches,o=i[i.length-1],a=o?o.params:{},l=(o&&o.pathname,o?o.pathnameBase:"/"),c=(o&&o.route,be());if(t){var u,p="string"===typeof t?Y(t):t;"/"===l||(null==(u=p.pathname)?void 0:u.startsWith(l))||_(!1),n=p}else n=c;var d=n.pathname||"/",h=z(e,{pathname:"/"===l?d:d.slice(l.length)||"/"}),f=Ee(h&&h.map((function(e){return Object.assign({},e,{params:Object.assign({},a,e.params),pathname:te([l,r.encodeLocation?r.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?l:te([l,r.encodeLocation?r.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})})),i,O||void 0);return t&&f?s.createElement($e.Provider,{value:{location:ye({pathname:"/",search:"",hash:"",state:null,key:"default"},n),navigationType:x.Pop}},f):f}(r&&!t?r.router.routes:Ge(t),n)}!function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"}(ze||(ze={}));var Ne=new Promise((function(){}));s.Component;function Ge(e,t){void 0===t&&(t=[]);var n=[];return s.Children.forEach(e,(function(e,r){if(s.isValidElement(e)){var O=[].concat((0,c.Z)(t),[r]);if(e.type!==s.Fragment){e.type!==je&&_(!1),e.props.index&&e.props.children&&_(!1);var i={id:e.props.id||O.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(i.children=Ge(e.props.children,O)),n.push(i)}else n.push.apply(n,Ge(e.props.children,O))}})),n}function De(){return De=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(O[n]=e[n]);return O}var Fe=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],Le=["aria-current","caseSensitive","className","end","style","to","children"];function Je(e){var t,n=e.basename,r=e.children,O=e.window,i=s.useRef();null==i.current&&(i.current=(void 0===(t={window:O,v5Compat:!0})&&(t={}),U((function(e,t){var n=Y(e.location.hash.substr(1)),r=n.pathname,O=void 0===r?"/":r,i=n.search,o=void 0===i?"":i,a=n.hash;return R("",{pathname:O,search:o,hash:void 0===a?"":a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){var n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){var O=e.location.href,i=O.indexOf("#");r=-1===i?O:O.slice(0,i)}return r+"#"+("string"===typeof t?t:E(t))}),(function(e,t){Z("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),t)));var o=i.current,l=s.useState({action:o.action,location:o.location}),c=(0,a.Z)(l,2),u=c[0],p=c[1];return s.useLayoutEffect((function(){return o.listen(p)}),[o]),s.createElement(Ve,{basename:n,children:r,location:u.location,navigationType:u.action,navigator:o})}var Me="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,Be=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,He=s.forwardRef((function(e,t){var n,r=e.onClick,O=e.relative,i=e.reloadDocument,o=e.replace,a=e.state,l=e.target,c=e.to,u=e.preventScrollReset,p=Ie(e,Fe),d=s.useContext(ge).basename,h=!1;if("string"===typeof c&&Be.test(c)&&(n=c,Me)){var f=new URL(window.location.href),m=c.startsWith("//")?new URL(f.protocol+c):new URL(c),Q=B(m.pathname,d);m.origin===f.origin&&null!=Q?c=Q+m.search+m.hash:h=!0}var g=function(e,t){var n=(void 0===t?{}:t).relative;ve()||_(!1);var r=s.useContext(ge),O=r.basename,i=r.navigator,o=we(e,{relative:n}),a=o.hash,l=o.pathname,c=o.search,u=l;return"/"!==O&&(u="/"===l?O:te([O,l])),i.createHref({pathname:u,search:c,hash:a})}(c,{relative:O}),$=function(e,t){var n=void 0===t?{}:t,r=n.target,O=n.replace,i=n.state,o=n.preventScrollReset,a=n.relative,l=xe(),c=be(),u=we(e,{relative:a});return s.useCallback((function(t){if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,r)){t.preventDefault();var n=void 0!==O?O:E(c)===E(u);l(e,{replace:n,state:i,preventScrollReset:o,relative:a})}}),[c,l,u,O,i,r,e,o,a])}(c,{replace:o,state:a,target:l,preventScrollReset:u,relative:O});return s.createElement("a",De({},p,{href:n||g,onClick:h||i?r:function(e){r&&r(e),e.defaultPrevented||$(e)},ref:t,target:l}))}));var Ke=s.forwardRef((function(e,t){var n=e["aria-current"],r=void 0===n?"page":n,O=e.caseSensitive,i=void 0!==O&&O,o=e.className,a=void 0===o?"":o,l=e.end,c=void 0!==l&&l,u=e.style,p=e.to,d=e.children,h=Ie(e,Le),f=we(p,{relative:h.relative}),m=be(),Q=s.useContext(me),g=s.useContext(ge).navigator,$=g.encodeLocation?g.encodeLocation(f).pathname:f.pathname,S=m.pathname,P=Q&&Q.navigation&&Q.navigation.location?Q.navigation.location.pathname:null;i||(S=S.toLowerCase(),P=P?P.toLowerCase():null,$=$.toLowerCase());var y,v=S===$||!c&&S.startsWith($)&&"/"===S.charAt($.length),b=null!=P&&(P===$||!c&&P.startsWith($)&&"/"===P.charAt($.length)),x=v?r:void 0;y="function"===typeof a?a({isActive:v,isPending:b}):[a,v?"active":null,b?"pending":null].filter(Boolean).join(" ");var T="function"===typeof u?u({isActive:v,isPending:b}):u;return s.createElement(He,De({},h,{"aria-current":x,className:y,ref:t,style:T,to:p}),"function"===typeof d?d({isActive:v,isPending:b}):d)}));var et,tt;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(et||(et={})),function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(tt||(tt={}));n(390);var nt=n(2471),rt=n(7361),Ot=n.n(rt);var it=function(e){function t(e,r,s,l,p){for(var d,h,f,m,S,y=0,v=0,b=0,x=0,T=0,W=0,E=f=d=0,U=0,z=0,q=0,C=0,j=s.length,V=j-1,A="",N="",G="",D="";Ud)&&(C=(A=A.replace(" ",":")).length),0r&&(r=(t=t.trim()).charCodeAt(0)),r){case 38:return t.replace(m,"$1"+e.trim());case 58:return e.trim()+t.replace(m,"$1"+e.trim());default:if(0<1*n&&0s.charCodeAt(8))break;case 115:o=o.replace(s,"-webkit-"+s)+";"+o;break;case 207:case 102:o=o.replace(s,"-webkit-"+(102r.charCodeAt(0)&&(r=r.trim()),r=[r],01?t-1:0),r=1;r0?" Args: "+n.join(", "):""))}var bt=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,O=r;e>=O;)(O<<=1)<0&&vt(16,""+e);this.groupSizes=new Uint32Array(O),this.groupSizes.set(n),this.length=O;for(var i=r;i=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),O=r+n,i=r;i=Xt&&(Xt=t+1),xt.set(e,t),Tt.set(t,e)},Zt="style["+$t+'][data-styled-version="5.3.9"]',Wt=new RegExp("^"+$t+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),Rt=function(e,t,n){for(var r,O=n.split(","),i=0,o=O.length;i=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute($t))return r}}(n),i=void 0!==O?O.nextSibling:null;r.setAttribute($t,"active"),r.setAttribute("data-styled-version","5.3.9");var o=Yt();return o&&r.setAttribute("nonce",o),n.insertBefore(r,i),r},zt=function(){function e(e){var t=this.element=Ut(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e0&&(l+=e+",")})),r+=""+a+s+'{content:"'+l+'"}/*!sc*/\n'}}}return r}(this)},e}(),Nt=/(a)(d)/gi,Gt=function(e){return String.fromCharCode(e+(e>25?39:97))};function Dt(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=Gt(t%52)+n;return(Gt(t%52)+n).replace(Nt,"$1-$2")}var It=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},Ft=function(e){return It(5381,e)};function Lt(e){for(var t=0;t>>0);if(!t.hasNameForId(r,o)){var a=n(i,"."+o,void 0,r);t.insertRules(r,o,a)}O.push(o),this.staticRulesId=o}else{for(var s=this.rules.length,l=It(this.baseHash,n.hash),c="",u=0;u>>0);if(!t.hasNameForId(r,f)){var m=n(c,"."+f,void 0,r);t.insertRules(r,f,m)}O.push(f)}}return O.join(" ")},e}(),Bt=/^\s*\/\/.*$/gm,Ht=[":","[",".","#"];function Kt(e){var t,n,r,O,i=void 0===e?ft:e,o=i.options,a=void 0===o?ft:o,s=i.plugins,l=void 0===s?ht:s,c=new it(a),u=[],p=function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(n,r,O,i,o,a,s,l,c,u){switch(n){case 1:if(0===c&&64===r.charCodeAt(0))return e(r+";"),"";break;case 2:if(0===l)return r+"/*|*/";break;case 3:switch(l){case 102:case 112:return e(O[0]+r),"";default:return r+(0===u?"/*|*/":"")}case-2:r.split("/*|*/}").forEach(t)}}}((function(e){u.push(e)})),d=function(e,r,i){return 0===r&&-1!==Ht.indexOf(i[n.length])||i.match(O)?e:"."+t};function h(e,i,o,a){void 0===a&&(a="&");var s=e.replace(Bt,""),l=i&&o?o+" "+i+" { "+s+" }":s;return t=a,n=i,r=new RegExp("\\"+n+"\\b","g"),O=new RegExp("(\\"+n+"\\b){2,}"),c(o||!i?"":i,l)}return c.use([].concat(l,[function(e,t,O){2===e&&O.length&&O[0].lastIndexOf(n)>0&&(O[0]=O[0].replace(r,d))},p,function(e){if(-2===e){var t=u;return u=[],t}}])),h.hash=l.length?l.reduce((function(e,t){return t.name||vt(15),It(e,t.name)}),5381).toString():"",h}var en=s.createContext(),tn=(en.Consumer,s.createContext()),nn=(tn.Consumer,new At),rn=Kt();function On(){return(0,s.useContext)(en)||nn}function on(){return(0,s.useContext)(tn)||rn}function an(e){var t=(0,s.useState)(e.stylisPlugins),n=t[0],r=t[1],O=On(),i=(0,s.useMemo)((function(){var t=O;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),o=(0,s.useMemo)((function(){return Kt({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return(0,s.useEffect)((function(){Ot()(n,e.stylisPlugins)||r(e.stylisPlugins)}),[e.stylisPlugins]),s.createElement(en.Provider,{value:i},s.createElement(tn.Provider,{value:o},e.children))}var sn=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=rn);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.toString=function(){return vt(12,String(n.name))},this.name=e,this.id="sc-keyframes-"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=rn),this.name+e.hash},e}(),ln=/([A-Z])/,cn=/([A-Z])/g,un=/^ms-/,pn=function(e){return"-"+e.toLowerCase()};function dn(e){return ln.test(e)?e.replace(cn,pn).replace(un,"-ms-"):e}var hn=function(e){return null==e||!1===e||""===e};function fn(e,t,n,r){if(Array.isArray(e)){for(var O,i=[],o=0,a=e.length;o1?t-1:0),r=1;r?@[\\\]^`{|}~-]+/g,Sn=/(^-|-$)/g;function Pn(e){return e.replace($n,"-").replace(Sn,"")}var yn=function(e){return Dt(Ft(e)>>>0)};function vn(e){return"string"==typeof e&&!0}var bn=function(e){return"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)},xn=function(e){return"__proto__"!==e&&"constructor"!==e&&"prototype"!==e};function Tn(e,t,n){var r=e[n];bn(t)&&bn(r)?Xn(r,t):e[n]=t}function Xn(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r=0||(O[n]=e[n]);return O}(t,["componentId"]),i=r&&r+"-"+(vn(e)?e:Pn(Qt(e)));return _n(e,ut({},O,{attrs:d,componentId:i}),n)},Object.defineProperty(f,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=r?Xn({},e.defaultProps,t):t}}),Object.defineProperty(f,"toString",{value:function(){return"."+f.styledComponentId}}),O&&ct()(f,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),f}var Zn=function(e){return function e(t,n,r){if(void 0===r&&(r=ft),!(0,nt.isValidElementType)(n))return vt(1,String(n));var O=function(){return t(n,r,Qn.apply(void 0,arguments))};return O.withConfig=function(O){return e(t,n,ut({},r,{},O))},O.attrs=function(O){return e(t,n,ut({},r,{attrs:Array.prototype.concat(r.attrs,O).filter(Boolean)}))},O}(_n,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach((function(e){Zn[e]=Zn(e)}));var Wn=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Lt(e),At.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,n,r){var O=r(fn(this.rules,t,n,r).join(""),""),i=this.componentId+e;n.insertRules(i,i,O)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,r){e>2&&At.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();!function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return"";var n=Yt();return""},this.getStyleTags=function(){return e.sealed?vt(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return vt(2);var n=((t={})[$t]="",t["data-styled-version"]="5.3.9",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),r=Yt();return r&&(n.nonce=r),[s.createElement("style",ut({},n,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new At({isServer:!0}),this.sealed=!1}var t=e.prototype;t.collectStyles=function(e){return this.sealed?vt(2):s.createElement(an,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return vt(3)}}();var Rn=Zn,En=n(5773),Yn=n(808),Un=document.createElement("template");Un.innerHTML='\n\n\n';var zn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(){var e;return(0,u.Z)(this,n),(e=t.call(this)).right="0",e.shadow=e.attachShadow({mode:"open"}),e.shadow.appendChild(e.ownerDocument.importNode(Un.content,!0)),e.update(),e}return(0,p.Z)(n,[{key:"setAttr",value:function(e,t){var n=this.shadow.querySelector("svg");/(href)/.test(e.toLocaleLowerCase())?n.lastElementChild.setAttribute("xlink:href",t):/(color|fill)/.test(e.toLocaleLowerCase())?n.firstElementChild.style[e]=t:/(z-index|position|top|left|right|bottom|transform)/.test(e.toLocaleLowerCase())?n.style[e]=t:n.setAttribute(e,t)}},{key:"update",value:function(){var e=this;[].concat((0,c.Z)(this.getAttributeNames()),["right"]).forEach((function(t){var n=e.getAttribute(t)||e[t]||"";e.setAttr(t,n)}))}},{key:"attributeChangedCallback",value:function(e,t,n){t!==n&&this.setAttr(e,n)}}],[{key:"observedAttributes",get:function(){return["style","z-index","target","height","width","href","color","fill","position","top","left","right","bottom","transform"]}}]),n}($(HTMLElement));customElements.define("github-corners",zn);var qn=n(9265),Cn=["size","fixed","bottom","zIndex","className","style","bgColor","color","position"];function jn(e){var t=e.size,n=void 0===t?80:t,r=e.fixed,O=void 0!==r&&r,i=e.bottom,o=e.zIndex,a=e.style,s=e.bgColor,l=void 0===s?"#151513":s,c=e.color,u=void 0===c?"#fff":c,p=e.position,d=void 0===p?"right":p,h=(0,Yn.Z)(e,Cn),f="left"===d?{left:0,right:"initial",transform:"scale(-1, 1)"}:{right:0,left:"initial",transform:"scale(1, 1)"};return i?(f.bottom=0,f.top="initial",f.transform="left"===d?"scale(-1, -1)":"scale(1, -1)"):(f.bottom="initial",f.top=0),(0,qn.jsx)("github-corners",(0,En.Z)({target:"__blank",width:n,height:n,href:e.href,position:O?"fixed":"absolute","z-index":o,style:a,fill:l,color:u},f,h))}var Vn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(){return(0,u.Z)(this,n),t.apply(this,arguments)}return(0,p.Z)(n,[{key:"render",value:function(){var e=this;return(0,qn.jsx)(qn.Fragment,{children:s.Children.toArray(this.props.children).map((function(t){return s.isValidElement(t)?s.cloneElement(t,(0,En.Z)({},e.props,t.props)):null}))})}}]),n}(s.Component),An=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e,r,O){var i;return(0,u.Z)(this,n),(i=t.call(this,e)).getUrl=function(){return""},i.state=Object.assign({},(0,En.Z)({},r,e),O),i}return(0,p.Z)(n,[{key:"render",value:function(){var e=this.state.href;return e?(0,qn.jsxs)("a",{href:e,children:[" ",(0,qn.jsx)("img",{alt:"",src:this.getUrl()})," "]}):(0,qn.jsx)("img",{alt:"",src:this.getUrl()})}}]),n}(s.Component);An.defaultProps={platform:"github",base:"https://img.shields.io"};var Nn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"issues"})).getUrl=function(){var e=r.state,t=e.type,n=e.platform,O=e.property,i=e.user,o=e.repo,a=e.label,s=e.base;return"github"!==n?"":"issues"===t||/^issues-(raw|closed|closed-raw|pr|pr-raw|pr-closed|pr-closed-raw)/.test(t)?a&&("issues"===t||/^issues-(raw|pr|pr-raw)/.test(t||""))?[s,n,t,i,o,a].join("/"):[s,n,t,i,o].join("/"):"issueKind"===t?[s,n,t,"detail",O,i,o].join("/"):""},r}return(0,p.Z)(n)}(An),Gn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"languages"})).getUrl=function(){var e=r.state,t=e.type,n=e.platform,O=e.user,i=e.repo,o=e.base,a=e.path;return"github"!==n?"":"languages"===t?[o,n,t,"code-size",O,i].join("/"):"repo-size"===t?[o,n,t,O,i].join("/"):"size"===t&&a?[o,n,t,O,i,a].join("/"):""},r}return(0,p.Z)(n)}(An),Dn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"downloads",total:!0})).getUrl=function(){var e=r.state,t=e.type,n=e.platform,O=e.user,i=e.repo,o=e.base,a=e.tag,s=e.path,l=e.total;if("github"!==n||!/^(downloads|downloads-pre)/.test(t||""))return"";var c=[o,n,t,O,i];return s&&a?[].concat(c,[a,s]).join("/"):l&&a||"downloads-pre"===t&&a&&l?[].concat(c,[a,"total"]).join("/"):l?[].concat(c,["total"]).join("/"):""},r}return(0,p.Z)(n)}(An),In=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"commits-since"})).getUrl=function(){var e=r.state,t=e.type,n=e.platform,O=e.user,i=e.repo,o=e.base,a=e.interval,s=e.variant,l=e.version,c=e.branch;return"github"!==n?"":"commits-since"===t&&l&&c?[o,n,t,O,i,l,c].join("/"):"commit-activity"===t&&a?[o,n,t,a,O,i].join("/"):"variant"===t&&s?[o,n,t,s,O,i].join("/"):"last-commit"===t?c?[o,n,t,O,i,c].join("/"):[o,n,t,O,i].join("/"):t&&/^release-(date|date-pre)/.test(t)?[o,n,t,O,i].join("/"):""},r}return(0,p.Z)(n)}(An),Fn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"version-release"})).getUrl=function(){var e=r.state,t=e.type,n=e.platform,O=e.user,i=e.repo,o=e.base,a=e.branch,s="";switch(t){case"version-release":s="v/release";break;case"version-tag":s="v/tag";break;case"package-json":s="package-json/v";break;case"manifest-json":s="manifest-json/v";break;case"go-mod":s="go-mod/go-version"}if("github"!==n||!s)return"";var l=[o,n,s,O,i];return/(go-mod|manifest-json|package-json)/.test(t||"")&&a?[].concat(l,[a]).join("/"):l.join("/")},r}return(0,p.Z)(n)}(An),Ln=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"license"})).getUrl=function(){var e=r.state,t=e.type,n=e.platform,O=e.user,i=e.repo,o=e.base;return"github"!==n?"":[o,n,t,O,i].join("/")},r}return(0,p.Z)(n)}(An),Jn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"languages-count"})).getUrl=function(){var e=r.state,t=e.base,n=e.platform,O=e.type,i=e.user,o=e.repo,a=e.query,s="";switch(O){case"languages-count":s="languages/count";break;case"languages-top":s="languages/top";break;case"search":s="search"}if("github"!==n||!s)return"";var l=[t,n,s,i,o];return a?[].concat(l,[a]).join("/"):l.join("/")},r}return(0,p.Z)(n)}(An),Mn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{platform:"github",type:"followers"})).getUrl=function(){var e=r.state,t=e.type,n=e.platform,O=e.user,i=e.repo,o=e.base;return"github"!==n?"":"followers"===t?[o,n,t,O].join("/"):[o,n,t,O,i].join("/")},r}return(0,p.Z)(n)}(An),Bn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(){return(0,u.Z)(this,n),t.apply(this,arguments)}return(0,p.Z)(n)}(Vn);Bn.Issues=Nn,Bn.Size=Gn,Bn.Activity=In,Bn.Downloads=Dn,Bn.Version=Fn,Bn.License=Ln,Bn.Analysis=Jn,Bn.Social=Mn;var Hn=Bn,Kn=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{type:"version"},{platform:"npm"})).getUrl=function(){var e=r.state,t=e.base,n=e.platform,O=e.type,i=e.scope,o=e.packageName,a=e.dependency,s=e.dependencyScope,l=e.version,c=e.registryUri;if("npm"!==n||!o)return"";var u="",p=[t,n];return"version"===O&&o?(p.push("v"),i&&p.push(i),p.push(o),l&&p.push(l),u=p.join("/"),c&&(u=u+"?registry_uri="+c)):"peer-dependency"===O&&o&&a?(p.push("dependency-version"),i&&p.push(i),u=[].concat(p,[o,"peer",a]).join("/")):"dev-dependency"===O&&o&&a?(p.push("dependency-version"),i&&p.push(i),p.concat([o,"dev"]),s&&p.push(s),p.push(a),u=p.join("/")):o&&a&&(p.concat([o,a]),u=p.join("/")),u},r}return(0,p.Z)(n)}(An),er=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,e,{format:"min"},{platform:"npm"})).getUrl=function(){var e=r.state,t=e.base,n=e.platform,O=e.format,i=e.packageName,o=e.scope,a=e.version;if("npm"!==n)return"";var s=[t,"bundlephobia"],l="";return i&&O&&(l=[].concat(s,[O,i]).join("/")),i&&O&&o&&(l=[].concat(s,[O,o,i]).join("/")),i&&O&&o&&a&&(l=[].concat(s,[O,o,i,a]).join("/")),i&&O&&a&&(l=[].concat(s,[O,i,a]).join("/")),l},r}return(0,p.Z)(n)}(An),tr=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(){return(0,u.Z)(this,n),t.apply(this,arguments)}return(0,p.Z)(n)}(Vn);tr.Version=Kn,tr.Size=er;var nr=tr,rr=["className","prefixCls","element","top","size","strokeWidth","smooth","hideProgress","children"],Or={position:"sticky",bottom:15,right:15,visibility:"visible",opacity:0,transition:"visibility 0.3s linear 0s, opacity 0.3s linear 0s",cursor:"pointer",userSelect:"none"},ir={display:"block",transform:"rotate(-90deg)"},or={transition:"stroke-dashoffset 0.3s linear 0s"},ar={position:"absolute",top:0,display:"flex",height:"100%",width:"100%",alignItems:"center",justifyContent:"center",color:"#fff",fontSize:12},sr=document.documentElement;function lr(e){void 0===e&&(e={});var t=e,n=t.className,r=t.prefixCls,O=void 0===r?"w-back-to-up":r,i=t.element,o=void 0===i?sr:i,l=t.top,c=void 0===l?120:l,u=t.size,p=void 0===u?35:u,d=t.strokeWidth,h=void 0===d?3:d,f=t.smooth,m=void 0===f||f,Q=t.hideProgress,g=void 0!==Q&&Q,$=t.children,S=(0,Yn.Z)(e,rr),P=(0,s.useRef)(null),y=[n,O].filter(Boolean).join(" "),v=Object.assign({},Or,{position:o===sr?"fixed":"sticky"},S.style,{width:p,height:p,opacity:0===c?1:0}),b=(0,s.useMemo)((function(){return p/2}),[p]),x=(0,s.useMemo)((function(){return p/2-h/2}),[p,h]),T=(0,s.useMemo)((function(){return Math.PI*x*2}),[x]),X=(0,s.useState)(T||0),w=(0,a.Z)(X,2),k=w[0],_=w[1],Z=function(e){var t=o||sr,n=t.clientHeight,r=t.scrollHeight,O=t.scrollTop;_(T-T*(O/(r-n))),P.current&&c>0&&(P.current.style.opacity=O>c?"1":"0")};(0,s.useEffect)((function(){var e=o===sr?document:o;return e&&e.addEventListener("scroll",Z,{passive:!0}),function(){e&&e.removeEventListener("scroll",Z)}}),[o]);return(0,qn.jsxs)("div",(0,En.Z)({className:y,ref:P},S,{onClick:function(e){o.scrollTo({top:0,behavior:m?"smooth":"auto"})},style:v,children:[!g&&(0,qn.jsxs)("svg",{viewBox:"0 0 "+p+" "+p,width:p,height:p,focusable:"false",style:ir,children:[(0,qn.jsx)("circle",{fill:"rgb(0 0 0 / 75%)",stroke:"rgb(200 200 200 / 85%)",strokeWidth:h,r:x,cx:b,cy:b}),(0,qn.jsx)("circle",{fill:"none",stroke:"rgb(0 0 0 / 50%)",strokeWidth:h,r:x,cx:b,cy:b,strokeDasharray:T,strokeDashoffset:k,style:or})]}),$&&(0,qn.jsx)("div",{style:ar,children:$})]}))}var cr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAABpCAYAAAAN+8wmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAKOAAACjgH/xBOOAAAAB3RJTUUH3goUFDELO4vaAAAAIABJREFUeNrtnXd8VEXXx79zdze9kAABKVIUabsLIUEEBKSFEhBrQAhFQfTlUVBBUUCf18IDNlCkC4iF3osQpImFRyEQsrsEFGmhSktPNtnsnfePbMImJCFlA4HX8/nsJ9mZ2Tv3zu/OzDlnThFSSu4WEkKIls2btbYj+oDSTAjpKSSeUuApJZ4gPUFYQcRIKQ+gsMdsNpvu+Oe+00Fs1KiRn7e7e5iK0kdRRLiqqtVKeYlYkF+jKItNJlPCPyDeYtLr9YEaqekghN3LLoQ2wDfAe9ToUbOsVqty9uxZzp07x7kzZ7lw4QKZmZk3u9wlIZWXYg/HrvoHxNtIRr3Be+PmTb/Xr1+/uXO5lJLTp0/zyy+/8Ouen9l/IJqsrKwilmTW2+z2UXFxcRf+AfH2gPjoV18vnhoSEtK0uHZWq5Xf9v6X5UuXsfe3/xbWJFEKxprN5kV3wnMr3F3UNyUlxfdmjTw8PHikS2fmLpjPqjWrCe/bB41G49ykipAsNOoNPxiNxoB/QLx1s7An8CyqvKc0v2vcuDFTpkxh4+ZNBIe0KljdHVVuCw0N9f9nOa14APXAr0II359+2iP8A8o2eVRVZfHixcz6YiY2m8256r8qMsxisaT+MxMrBsCawGbAr1mzZtayAgigKArPPfccS5cvo0aNGs5vd1sF8c0/y2nFADhQq9XGAfUAHn/yCU9XXLdx48Z89fViUQDIxw0Gw/B/llPXAKd4eXn19vX1nfL333/rc8sHRg7izTffdGlf586d47lhz6oXLlzIfdlTUUQLk8l04h8QywZeg/r1649JSEgYlpSU5H9drhM8M2gg48ePRwjh8n7PnDnD008+paanpzuAlEtNFsugf0AsOXCtfLy8++vc3QYmJCTUKVjfpVtX/vWvf9GoUaMKvY9tUVt5fdwbefyPFOjNZvORyjJO2koGmg7oJITo5+bmFgEEpaanQXpaXpvadWrRrXsY4eHhNGnS5JbcV4+evfjl171sWLceQNFI/g0M+GcmXgdOAB2BIYqiPKWqql/BNnXr1qV7jzC6d+9O8+bNb8t9ZmRk8Fi/R+0Xzl/UAFJRNcZDcYcs/69BNOoN9wNDgMFA/YL19RvUo1v3MMLCwm7ZjHOWFxXlRsZ906ZNTHxrgmMvZlWs2Rzx/w5Eo95QBejvAK9dwfqgoCB69wmnT58+PPDAA7dlQFRVJTYmluCQ4ELrnnz8SXn8+F8CyFaRdS0Wy8X/F3uiUW94EBgL9APcnet8vLzp2qM7ffr0oXXr1oXOgFtJNpuNPT/vKRRERVEYPXq0GDNmNIBWQRkKfHhXg2jUG9oDbwM9Ctbdf38jBg8dTO/evXF3d680zFViYiIHow8UWd+5a2cCAgJISEgA5KC7FkSj3vAQMBnoUrCuTduHGDp0KO3bt68Qua7cICZc4/Tp00XWZ2VlOZ943HfXiRhGvSEAmAo8D+QhpNVq6dGrJ0OHDr3lTEpp6eq1BBISEkhJScHXN/+p1vnz5/n000+5cuVKbtHfQgghXchYtGzZsna9unVH6HTuPseOH1sQGxv7xy0D0ag3DASmA0HO5e07PMyECROoW7fuHaEZSryWCEB8fDzNmzcn+coVDu/ew/ZtUWz4/XdsDrw0QsQj7QNcCeCgAf3DqwYEruzbr5/XmlWrURCjWzRv0Tv2cOzOCgXRqDdUA74ruO8FBQXx5lvj6dY9jDuJ/r78NwCLp37M2VMniUtMIBcnBfAVmkup2P9jk+pCi+Wwy46menbr2cdmz1r37ZLvtLVq1SItLY2FXy5wUwSfAMEVBqJRbwgB1gL35pZpNBoGDY5k1KhReHl5caeR6WAMAEl/HONoRgrOE00FUqTdZrKYP3dlnwaDIdxNq1s3Y+YX2lq1agE51geOPluGhob6R0dHJ7kcRKPeMAyYA3jklumNBv73f//3tsl4rqD9v+9TAaVPlaqMq1mX3SkJXLXbEHZYmXwFu5S1mzVrdo+rDKkMBkNdnUa7esTI57Xt2rVDZtsQWh3nzp3La2O324VLZ6JRb1CAGcC/nMvD+/bh3Xffxc3N7Y4F8MiRIySnpykAPlotNXRuDAiskVfv56Zj3uXzuClKKLDJFX36evt+Vb16NbeRzw0nc9ka3MI6I6pV5Xz82RJfQyklgAL40hlAIQSjXvoXU6ZMuaMBBFi9cmUu08IDbjeeL/evWoNArS5ZRXnQJcxgM+NjqakpXV8f/4aSHbWd7PgzSJ0OgBOnTuK0RUmXgQh8DjyX+8Xd3Z2PPv6QF198kTud0tLS2Lx+gwoQ7OmNb37rNwB0El6sdo+3FvlCcHBwlfL0p9frfbRumrnt27ajbe17sR35M29SWCwWZzEmuWHDhqkuAdGoN0wBXs79HhgYyIJFC+nRs9dtGfTTp0+TlJTksutNmzbNlmGzKQCP+BSNTwf/QA2IQDU7e2p5+lNQPrDb7UGvjn2NrB0/5gCo0SB8fdixY4dz059XrlxpLzeIRr1hIvCm8wycNWc2LVq0uG0z595772XGjBnMmDGDy5cvl+taWzZvYdWKlTqAhm4e9KxStci2Pgja+fgqUjKyRfMWXcvSX3DT4PogX3rsiccJupaE/epVSE1DCaqKEIIdP2zPaysFP5Z7TzTqDWHA+85l7733/m0713PeiydOnEhWVhY9w3owadIkjh49WqprqKrKihUr7BMnTsjK5fIm1aqPuyh+WHr4VxOAkELdWBYg7Rr7OCGE5rmBkSLxYAzSlo166TKapo35888/iY+Pd37O3eXS2Bj1hkDgK2cV2vDnR9ArvBeVgRRFYdy4cRj0zXl70jtsXL+BoKAaBIcEExoaSkhICPfdd98NOtrExERMJhOzvphpP3LkiAbQKMDooNo0cr+5wVwH3yoYPbwxWdO8pFA3G43GniaTaU9J7rlFixZBIId36NRJrXXxb+VYehrVzl1AKBq0Rj07FuXzHEg0m80x5VW7zQNq5X7p+EgnXn755UrHlPTo2YsGDe/jldFjOHv2LNu2RrFtaxQA/v7+1KpTG51Oh1ar5eL5C5w/fz6P8QPwF5rsd+o00D7o5VuyVUBKXqlZl+dPHsEuhAeqXGMwGNqYzebjN5392eoYIfCI6NOH7LijpFozsdtsaBo1RPHwYMcPzvuh2CmlVMsMolFvGAI85bwHffjhh7f9vK8oeuCBB1i9dg3Lli3j66+/JvFajqthUlJSsQxQKy8f69u1G3pUUzSl6q+Ruyejg+rw+eVzqFBVSDEdeLTY3zRq5Ofl4fmvJk2aqH6nzihSKqQnJ6Hx9kb4+nL69Gn++uuY034oF5dZTjTqDXWBL5zLxo0bh7e3d6UWE7y8vBg+fDhRUVFMeudtuoV1p0pg0Rbhk++pz+d1G5UawFx6IjCId++pj04IO8ieN2vv6e7+opTSf1jkICXeZEZkWEm2WiGoGrpgI9u3b3dufqFp06ZbS3IfRc3ECUCewVLrkFAe6dL5jpH5vLy8iIiIICIiAikl58+fJyoqis+nf5avXapqL9V1U+x2liVcIjYtmQwpaeTpRVZ2NgpS4ymUv4v7bUREhAaUMb6+PpnNqgW5R6elIoVAq2hAq0HTqCE7PvvU6Rfy65uJFkXORKPecA/wrDMX+Nob4+5YIV4IQe3atenc+caXcN7Vi1n7M1JRS3Cdg9Y0hp06yrdXL2KypnMsM4MtiVfZnZZsD9S6HbJj73YTlV5XkLV6hffWxJ84STWrHeHtRYCvL5qAAC5lZREXF3ddS2PXfVXSZyxsJr6Gkx1Mr/Det12ccAU1aNAAX28fUtKuKz9SbDb7a/HHqKbV0dW3CmF+gTzgkf/kJT4rk3UJl1iXdBW704mGEPwkpFyUarWuizlmSr45MyQGgSQ8PFx7dPNWDDodokZ1qly8gPbBELZui3KehT/HHIn5s0wgOkSKPB2aVqtl9OjR3A0khKBaUHVSTl4H0SYwuQsl6Eq2rcGKhMusSLjMvW4e3KPRYROSFLudY5kZBS9lFVIZEGuJ3VDSvkNDQ71APhEQEJBmvP9+792X/6ZrrVooXl4EVK8OTRqxdOwrzsvjwtJpf/LTaMAn90v7Dg+Te751N5C/f0FfUXnxSmpyM62Q05Sc40Lis6z8npHCwfTUQgCUp6Sga+zhkgMIkG21Pgr4hPfto7EfiMVmV/EKDEBmZhL4WDibtm7h0qVLuc0vpmVmLi/N9bVOs1ADjHKuDO/di7uJ/AOqFHiDRfLJkyetwFi9Xr9cqxKBIrqp0BDwdSg5zoA8KITYn27N/OLYsWPJZVgHBgH07d7Dw37IQl3/HI5Z+PqirVmDxYuctz/x+bFjxzLLBCLQHqie+8XDw4NOj3S+q0DMzs7OL3gj8gCxWCz7gf1Oy69o27atx969ezPK06fD57+Hv79/yn0aja/q7k49X18UBJpgA7t27eLUqVN527RGp5lb2j6cQXzcuaJT50fw9PS8q0A8ffJUwaIixQKHAVRG+d8cQlDQPfhQG5vdfATFx5u6nt5oGtRH4+/HIic1mxDMj4mJSSy1+tHp/8fyLaW9et9VANpsNmd1W87Dy+wfKl7BqxoA2gS38rKfyTmtr6Zo0LQJYc+ePVhM5ut8lkYzvUxdOPbDFjg5tWg0Gtq2b3dXgXj27FlUNZ9E+Hds3JF9t6BrI0Bw9RxLTmmzITw9sQdUYep/pjjP/SWHDh06V2YQCy6lDRo0rFSm9a6gn3/+uYDIwRZ5S7yJhMHDwyOjri7HdEWmpKILacn8+fOdjaGsGrvu3TJPdsfffBxMo8aNuNto/dr1BZgaNt8C2VQBmjVs2DBZSb++vZ7z9y7AkcqPYo7EnCoviAbnwjvZ5LAwOmw25zsdALKklBW+HzZv3lwLeNZrUN9d2rLRuHugCw/j/SlTnOPkxPv4+ZXP1MOoN9QG8qn6GzdufFeBuHrt2gK8hlx0KwILWSyWLCC1Xr16fmpiErpe3Vi8cQP7fvvdSR2njCuvGKMtOAsr80yUUpbakyo+Pp6N6/MpWFKlTvPv8txH586dtdcuXWsrheygKLjlbq0qXFMUZW1sbOxZpyU1oWbNmj5u3btz4MgRZs5wPuGTO10RmlML6J0LNBoNQUFBlRLEq5cvU62U9/bxxx8XDPHlI+32pQaD4UutVrutpHKZ0Whs6Ovr29ffz3dgWkpqsBSqDsCZ4RWAtKvTjXrDT1LwutlsjgZ5+eLFi7XPXL2qvDHudWcO+QCK8rRrWKfm+q/Jcb8GwNfbh19//2+lAzA1NZWTx09iaGEo8W/27t3LiyNfKK6JHeReUL5HYYubm9txQJeWlqbVaDQBnu7uHQMCAh5LS0lrl5KWWhVyzioffKgN7dq1o327tgRWrUZGRgaHYg6yfcdOtm2NygUqC+SbUgjvAN8qb2Vn27xSr0cB2a/RacPKItgXBeJPQIfcgmrVqrHrx92VDsSFCxfSr18/qlUrWXTozMxMIp56mpMnT+Yua5RHorjvvvsYMmwo4eHhxVq6//HHH3w85UP2Redo8KTgqJA0yVltUUFscPNwG16cg0xZuNN8NheVUdWWmZnJlu83lxhAKSVvv/12HoBeXl68Nm4s999fOtFJURTatH2ImbNnsXb9Oh5//PGbuio0btyYBYsXMe2z6dSuXVt1AlARUulvspieciWAuXtiPhBzXaoqFXe5ejVBVUu+F86ePZuoLVvzBvWTaZ9Sr149Bg8ezPebN7Hth+0c3BeN0/JWUDSgV3hvevbsWWb+oFu3bnTs2FH55ptvmDnjC6GqUpXCXiHMhjA018cDeW68hhZGlixZUmkAPH78OIOeGcjY18fx9NM35wM2b97MhDffAuDp/hG88cYbhWqf7HY7cZY4/jrxF15eXnh7e+Pt7U2NGjVcfoa6b98+XnvlVTU5OVlRVPnJoTjL6y7twNBcf8XQXC9zP0MiB8vKQikpKbJP7z6yTesHZWpq6k3bb1i3QYYEt5JtW7eRUVu3VMg9ZWdny6SkpFL/Lj4+Xvbu2Us1NNdLQ1NDNyklrvrcsJwmJydXihkopWT8+PGcPn2KJ556slhzyczMTCZPnsyPu3YzZNhQBgwY4FIxKTs7my2bt7Bpwwb2H4hGVVXqN6hHr945gZNKEo+gbt26fDp9mogcOAgQC3HEaHXVcpoF6HILqlevzs7du247iLNmzWLenJzz0WUrlhdprHXh3HkWLf6Kpk2bEh4e7lLFvd1uZ+PGjcyfN5dzZ88X2kaj0TAwchCjRo0qkV3uggULmD1zVvrBQzEuM+LVApeA2pVpJq5cuZL5c+flMRnFWdvVrHUPEydOdGn/qqoStSWKOXPmcPq0s15aHAbpD9RxBvrbr79h29ZtRA6JpFevXtSoUaM4jldVVfVvVzM20UCIc+H+A9G35SjKbrczdepUVizLsRNyd3dnybKlt0wNKKVkxw87mDVrJidOXA8uLATrUZQ3Y2Nj/+jcubM24fLlx1SU/wF5Q7AlIQTBIa1o06YNTz75ZL5l/cqlS/Tp0zc7LS39I/Nhc5nfPKPeEAHMBMxAuBa4IcBcSlIS7rdY9RYfH8+7b/+b/Qei88rGvj7ulgH4467dzJo1iz/++MMZvIOoyiuxlti8w8jdu3dnA6uB1Xq9/l4hRHchZUvAR1E0fVVVrXow+gAHow+wbWsU6zde19suWLSI9PR0rRRyZTkADAW+BdzIidj1bKEgJiQllVpHWR512rx581j63ZJ8Os7OXbswYEDFx4X95ZdfmPXFTA4fPpzvPZaCSU2aNp1VnCm9xWKJBxY2bdq0qlbRDlRVNZ+Jy6WL+VfNixcvSkVREs1mU3kyxX3kADCXHisUxD+OHqnwkMyZmZmsWrWKL+fNdwS7c1I4eHny3nvvVWj/+/btY+aMLzh06FDBBXGNolXGlMZUQqfRTQU5omB5YLX8HscnTxxPVVX1x7JaFBj1hlpApwLF92uBUwUbxxyKpU/fRytk8KxWKytWrGDxoq+4evVqoW2yrJlcvHC+EGPf8jMsu3ft5JtvvyPmwMGC+sdzdsELZrPp+1LvpUL+JCQ3gPjCiyPz/o/aukWeOnnasyTu28VQf240+A7QAr8WbHko5qDLwcvIyMgD79q1azcd7P9MnsL8BV+6hMFKSkhg1Zo1rFy+gosXC48xqyriA7Op9AACmM3mb1sYWgyTUu3ixIWeaxUSWnvdunWsXbvWHhtzSAMiEcG6cjzKM4WU+QgpJUa94TJQzZnD+mXvrzdEGSwrx7ds2TLmzp2b5/hZGOn1euLi4vJZpAUHBzNj5hdlnpF/HD3CkqXL2Pr9lkLzJ9apU5uzZ8/lMjFLYs3myHIwHAtxCg8DZBXYuxKkICznjLFM178fOFZI1cVc4+GfcbJ4k1ISGxvLww8/XC4Az5w5wzvvvMOB/UXfd0BAAONeH0vfR/uxaNEiPpt23fQyJiaGIZGDefXVV2nbvt1NZ+WVK1eIjo7O+ezbn09McCb/gCq8MvoVWoW2op9j25CSsNDQUK/o6Oj00j5nixYtGuN0Jgv8BdgBf5BRUog1Vqt1e2nN8wvQU0WU/10oiLkDWFYQpZQsX76cz6ZNJyOjcPMRT09P+j8zgBEjRuDnl+PP+txzz5GUlMRXC69bRZ88eZLRo0fj6elJ+w4P07Jlyxtczk+cOEH0vv3O5vBFalfsdjsZaekE1QyiQYMG1KtXP1egr55lzXqLnEjJpXteu/1DENo8LZ1q71gBSTQfL6L8XO5yGoqTHwLkBNtbunRpmbjOl19+md/2Fm4d4OvtQ/9BzzBkyBCqVCk86M/8+fOZP3dekdlGS0O+vr706BFGl27d2LJlC5s35oRk0+l0zJozm4y0DBwxvQGsQqM0i42NPVnKpc7m0H6hwIpDFrNLZSOj3lAHiMcpiokTTcp9ew46GuWFvLSYzBw2m2luMJSqww8++KBQAP38/Bg0OJLIyMib7rUjR44kLCyMefPmsXvnLtLTS77C3XPPPeiNBgyGnI9er89bhh9++GHq1KnD3NlzsNlsfDT1I9asW0OHTh35ec9PAB7Sbp9OAZeGm5GC/B8V8b4QXJGKUhFu1QOLABBgd15KBaPe8BbwH+faXuG9+fDDkscpX7FiBZPf/yBfmZeXF0OfHcbgwYPx8fEpk0jy6y8/8+exvzhz5gznzpzFZs/Gy80Dd29PPD09qVevHkaDnuZ6w01P/5MSEujSpWueYuHTT6fRtHlTHu/3WB7zIwSTYs3myVQCMuoNnsAJoGZhuhIg0BnEIOCMM0el0WiI+mFbsQpd5z10+LPP5bmP6XQ6Igb0Z+TIkQQEVK6MruPHj2fr91sAeDC0NQsWL+K7777jo6kfOqvcRsWazXMqAYijyQmMWBh9brKYX8njEEwW8yVgVUGF9PLlJXNanTp1KtnZ2SiKwqOP9WPT95sZP358hQCYlpbG0aNHOXDgAHv27GHPj7s5fvx4iffQdg9ddxY6fSYnBFdkZCTPDneWEMSsNiEhz95mAN2BN4qotgGfwo2BF2YB+dLKrV65ihdeeKFY25szZ85w5HAcQUFBTJ/+WanMCkuqaYmLi2Pv3r3s3buX2JhD2O32vNUitFUIHbs8gsFgwGg03jRgkrMBcqbtOvCvvvoqKSkprF65CimlyMjMWtSpU6fXkpOTx8TExNyOQ9bncDomLEDfmizmMzeAaLKY/2vUG34lx2s4Zw9JSmLjxo1ERBSdFmn79u20Cg1h2rRpBAYGuuwJpJREbYlixhef3XAo2+7h9oT37kXHTo+UWhmQG6w9R+DPn9Fv0qRJpKens2VzjvIm4eo1PbCzU4eOl61W6xmrNeOaYy+KFnbNzgf0D+wvabyZUs7CKsWIOypOSVUKC4HyEhCNI+4ZwPy58+jZs2eePFeQjh8/zuzZs10auN1ms/HKK6/kco15VL9+fd6c8Bbt2pXdf/KnH6/H0qtaNb+SWlEUpk6dyiOPPMKX8+dx6uRp7HY7UsrqWkVT3Ul1/ZhU7B8cjTt6rEXzFq+XNhhDCWg6UFSm8rUmizkvREqhCb+MesMMnALUFsepJicnk5SU5PK8F2+99Rbfb9qcj8t9cdT/EBkZiVZb9iQCFpOJyMjBqKqKEAJvTy9WrVtD7dq1i1wNcpdfVVVZunRpPgbIqeV7Jovl3y6ahT2B4kKChZgs5oPXRZzC6W0KHFFt/X4LUVFRhcp/rgbwxIkTecsZQJUqVVi5ehXDhg0rF4CZmZlMmDghTz8rpSQ1PY3XXnutSLMU5/1z3759rFu7pqid9p2yBrEtAKAvML+YJmudASwSRJPFnATcYBs5+f0PuHI93kqF0ZIlS/JM7rVaLZ9/PoN77723/OvT9OmcOnnaibsTewGOHI4jctBAzsQXniMq5kAMEU9FyJEjnufYn385A3wJxCYgFpBS3HimWAb6GCc74AJ0Gm488iqSjTNZzN8B2/IJyklJTHrnnQoFMDk5mU0bNuZ979Kta6Fp8EpL+/btY9mSpc5y4CcqamdFlTMAeerkaZ4ZMFDu3nmjH8qn0z/l6NEjwum3WxRV0zbWbKphspgeNVnMLVVkB6BbOWdhN2BkMSJFf5PFnFBiEJ3UPfm0ynt/+ZUVK1aU+Uazjx7DunYT1rWbyNocRebOPdiPXY/1umP7D1it1rzvffuEuwTAV18e43SgLubEms0TLBZL1qE4yxgp6ALyVHJyshgzZjQjRozIZ67hFOv8shR0jjWbww/FHfot315rsfyqwR5eDgCbACuLUa+9YbKYfy90Ib+ZpYBRb2gJ7AXyPG08PDz4+ttvaNq0ack4zf0HyP7tANkHTahF7D2a2rXQde/EhB3b2L5zZ54M+Nu+38t1MLxl8xYmTZoos7OzRc4Ds8gUZxlR0ESiSZMmvm5atw8dZhY6gHr16tMqtBVxlsMOAyo5X4WXHR7ArhQnagL/pZC0vA5aZ7KYnyhS7i2JuYdRb4gkx8IqH0Pz5cIFxQJpv3CRjDmLsB8uWYB1Fehz4jApDgG8UaNGrFm3tsyDs2jRIvn59M+cnlF8Yz5sfra4kMyhjR+oZXNzf0lKIovYmxJALBUa8V5sbOwlFwDoA+wBWhXF5wGtHHxK2UF0dPY5OQH8SgSk/dx50iZ+gEwpuWt8bEYqL8VfP7zu2+9RJk8uvR76+PHjTJ48OSN6337P64pi+ZrJYvmyNNcJbhr8QLY2u4uQIghUT0CgKr9p3DU/usJB1Kg3aMlJV1RU1OIsoJ3JYj5Q3HVKw6+PBZo5b97Jyck8P3xEoUCmfzKzVAACrEm4ku97SZfrXEpMTGTGjBnWNatWu0kpcwHcKwVDzGbL8dIOsiPm6J9UHM0tBsBMByNz4GYXKXFUdpPFnE1OoPIdBbnJ54eP4MiRI/mYF7UUCasAzBmp7E7Jz3gFlzB5Snp6OnPnzrV169I1c/XKVR5SSgVIFII3mjRr2rEkUfJvsWJbGPWGD4HhRTRJBXqbLOYSaYFKnaLdqDd4AOspkPTSeWlNn70Q2849pbrui/F/cDjj+uFvrVq1iPph202F9+XLl8s5c+ZkpqemeVwfAPG5Rqf5xFU+8S4G0Bv4BiiKUbkG9DJZzCUOWVbq/Agmi9lKTqr1rYXNyB937UaWMofTxsRr+QAE6N4jrFi96ooVKwgLC7N9+vEnwgGgFeQ0rZuuoclimlRJAawL/FIMgBeAjqUBsEwz0emG3IE1wA2yUfh9jRiteOJ1k1QFKvDl5bN8dy1/ridFUVi1ZnWhVuiHDh5k/Pg35YULF3LlKZuiyoW4aT8oa4C7WwRgW2AdUKMYLrS7yWI+Udpri/JElDDqDW6OpaF/wbqaWjcm1KpHsGfhJhmpqsq7507yW/qNcuPT/SN4++0bT2F+3LWbsWPHqjZHdjXgrIp8whFwlkoM4BCHPrQogfewA8AyWcgJVwQaNOoNLwGfFLxJBXgIg8YpAAAD30lEQVQ6oDojg2rj5lBEnMiy8n3CZbYlXSOpEHEtMDCQDZs23nBGuGfPHka/9LKUUjpmoIiRQvYym81F+vo1aNDAw8fHx99ut3sAxMXFnb7F4GmAKRSih3YW5IERJov5Wln7Ea6KFulIEr0CuK9gnb/Q0MDTi8TsLE5lFW0/6+fnx4JFC2nSpEm+ciklPcN6JF+4cMHv+gsi+x2yWDbeIKyHhuqyrdYnVUQE0AunnMfAJRA/oTDVZDIdqGAAw8nxYGpWlEQEvOzQUZeLXJb4ySHPhJDju5ePkqSdQ+mpxQJYp04d5n05/wYAAXbt2oUzgADZkHLDwBmNnbKsmbEqYhk5xrYFbUqCQD6FKn8zGAzjKgi8YKPesJOcUJxFARgF6F0BYGmF/ZIAmQQ8XfjyWviM9/X1pf8zA3jhhReK1JGeP3++oF8DCmJ9i+YtRkiNNCv2bH9VaCeALIkr1yUQ04Skn16vX2+xWP5yIec5GYikaCV2CjDWZDF/6cpx11bE22iymGca9YZd5JyNFRlMvG7durzwwov07tO72MPexo0bF7Zi+EmhrkQFVWiKeklSHFxfLa5nGgiSUvqZD5s76PV6NxeA5we8BbxSyMzPx5cBz5os5lOuHm9R0RGUjXpDFweYRSl4CQoK4plBA3nqqacKNXrKzMyke9duMYmJiSU4WBS/K6izpUbzu8lk+lNKKSMiIjRH446OAfk+4AUkVK1eLcjhul3W56oNDHWAV72YpknAO8AXJou5QgZb3Iow2I7U7gMdy02R8Vs8PDx4uGMHWrduTevWrfNlIc3IyFjbpnXrZBCDcTLicqIjqGK0Kc60o6jrN2vW7B6d0HWRwt7KZLGMLcNzeDgUHc8C3W/CU1wEPgPmmCzmCg1JcktALKAgGE1Oar+bpjivEhhASEgIoaGhuaB2b9mypVmBAagYhcBbRSRLIaPc3d03RUdH2yrgnhsCXR2fHiW4778c/MBik8WceSvG9ZaC6DQw/uR4vQ4D2pT0d35+fhLYlZycvAn4nZzkJFdd9aY7XBmaOD5tHMCVNPJTDDAVWG2ymNVbOZ63BcQCA9fYAeZgirZ2vhnZgKvAFae/VwqUpZMTAs2bnKRmuZ9AoLHjUxafg93AVJPF/MPtGsPbDqITmAo5Z5VDHTJeZc1xZAV+csh6W00W89HbfUOVBsRC2PauwEOOZS2UAoEEbzEddYC2DdhjspgzKtN4VUoQCwFVAzR3AJoLbFNXapwKEQt25QJnsphPV+bxuSNALAJYX4fsWdOxlxX3CXTM5DSHAiDV8TfFwRwdd3CVxx2fCxUl01UE/R+4oNmVz83aAgAAAABJRU5ErkJggg==",ur=n(189),pr=n(6419);function dr(e){return e&&"object"===typeof e?"position"in e||"type"in e?fr(e.position):"start"in e||"end"in e?fr(e):"line"in e||"column"in e?hr(e):"":""}function hr(e){return mr(e&&e.line)+":"+mr(e&&e.column)}function fr(e){return hr(e&&e.start)+"-"+hr(e&&e.end)}function mr(e){return e&&"number"===typeof e?e:1}var Qr=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e,r,O){var i;(0,u.Z)(this,n);var o=[null,null],a={start:{line:null,column:null},end:{line:null,column:null}};if(i=t.call(this),"string"===typeof r&&(O=r,r=void 0),"string"===typeof O){var s=O.indexOf(":");-1===s?o[1]=O:(o[0]=O.slice(0,s),o[1]=O.slice(s+1))}return r&&("type"in r||"position"in r?r.position&&(a=r.position):"start"in r||"end"in r?a=r:("line"in r||"column"in r)&&(a.start=r)),i.name=dr(r)||"1:1",i.message="object"===typeof e?e.message:e,i.stack="","object"===typeof e&&e.stack&&(i.stack=e.stack),i.reason=i.message,i.fatal,i.line=a.start.line,i.column=a.start.column,i.position=a,i.source=o[0],i.ruleId=o[1],i.file,i.actual,i.expected,i.url,i.note,i}return(0,p.Z)(n)}($(Error));Qr.prototype.file="",Qr.prototype.name="",Qr.prototype.reason="",Qr.prototype.message="",Qr.prototype.stack="",Qr.prototype.fatal=null,Qr.prototype.column=null,Qr.prototype.line=null,Qr.prototype.source=null,Qr.prototype.ruleId=null,Qr.prototype.position=null;var gr={basename:function(e,t){if(void 0!==t&&"string"!==typeof t)throw new TypeError('"ext" argument must be a string');$r(e);var n,r=0,O=-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 O<0&&(n=!0,O=i+1);return O<0?"":e.slice(r,O)}if(t===e)return"";var o=-1,a=t.length-1;for(;i--;)if(47===e.charCodeAt(i)){if(n){r=i+1;break}}else o<0&&(n=!0,o=i+1),a>-1&&(e.charCodeAt(i)===t.charCodeAt(a--)?a<0&&(O=i):(a=-1,O=o));r===O?O=o:O<0&&(O=e.length);return e.slice(r,O)},dirname:function(e){if($r(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){$r(e);var t,n=e.length,r=-1,O=0,i=-1,o=0;for(;n--;){var a=e.charCodeAt(n);if(47!==a)r<0&&(t=!0,r=n+1),46===a?i<0?i=n:1!==o&&(o=1):i>-1&&(o=-1);else if(t){O=n+1;break}}if(i<0||r<0||0===o||1===o&&i===r-1&&i===O+1)return"";return e.slice(i,r)},join:function(){for(var e,t=-1,n=arguments.length,r=new Array(n),O=0;O2){if((r=O.lastIndexOf("/"))!==O.length-1){r<0?(O="",i=0):i=(O=O.slice(0,r)).length-1-O.lastIndexOf("/"),o=s,a=0;continue}}else if(O.length>0){O="",i=0,o=s,a=0;continue}t&&(O=O.length>0?O+"/..":"..",i=2)}else O.length>0?O+="/"+e.slice(o+1,s):O=e.slice(o+1,s),i=s-o-1;o=s,a=0}else 46===n&&a>-1?a++:a=-1}return O}(e,!t);0!==n.length||t||(n=".");n.length>0&&47===e.charCodeAt(e.length-1)&&(n+="/");return t?"/"+n:n}(e)},sep:"/"};function $r(e){if("string"!==typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}var Sr={cwd:function(){return"/"}};function Pr(e){return null!==e&&"object"===typeof e&&e.href&&e.origin}function yr(e){if("string"===typeof e)e=new URL(e);else if(!Pr(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(;++r1?s-1:0),c=1;cO.length;l&&O.push(i);try{s=e.apply(this,O)}catch(r){if(l&&n)throw r;return i(r)}l||(s instanceof Promise?s.then(o,i):s instanceof Error?i(s):o(s))}function i(e){if(!n){n=!0;for(var r=arguments.length,O=new Array(r>1?r-1:0),i=1;i1?n-1:0),a=1;ai?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)(O=Array.from(r)).unshift(t,n),[].splice.apply(e,O);else for(n&&[].splice.apply(e,[t,n]);o0?(Gr(e,e.length,0,t),e):t}var Ir={}.hasOwnProperty;function Fr(e){for(var t={},n=-1;++nr))return;for(var l,c,u=O.events.length,p=u;p--;)if("exit"===O.events[p][0]&&"chunkFlow"===O.events[p][1].type){if(l){c=O.events[p][1].end;break}l=!0}for(Q(o),s=u;st;){var r=i[n];O.containerState=r[1],r[0].exit.call(O,e)}i.length=t}function g(){t.write([null]),n=void 0,t=void 0,O.containerState._closeFlow=void 0}}},pO={tokenize:function(e,t,n){return lO(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}};var dO={tokenize:function(e,t,n){return lO(e,(function(e){return null===e||OO(e)?t(e):n(e)}),"linePrefix")},partial:!0};function hO(e){for(var t,n,r,O,i,o,a,s={},l=-1;++l=4?t(O):e.interrupt(r.parser.constructs.flow,n,t)(O)}},partial:!0};var gO={tokenize:function(e){var t=this,n=e.attempt(dO,(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,lO(e,e.attempt(this.parser.constructs.flow,r,e.attempt(mO,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 $O={resolveAll:vO()},SO=yO("string"),PO=yO("text");function yO(e){return{tokenize:function(t){var n=this,r=this.parser.constructs[e],O=t.attempt(r,i,o);return i;function i(e){return s(e)?O(e):o(e)}function o(e){if(null!==e)return t.enter("data"),t.consume(e),a;t.consume(e)}function a(e){return s(e)?(t.exit("data"),O(e)):(t.consume(e),a)}function s(e){if(null===e)return!0;var t=r[e],O=-1;if(t)for(;++O-1&&(n[0]=n[0].slice(O)),o>0&&n.push(e[i].slice(0,o)));return n}(o,e)}function d(){return Object.assign({},r)}function h(){for(var e;r._indexl?n(O):(e.consume(O),h):41===O?c--?(e.consume(O),h):(e.exit("chunkString"),e.exit(a),e.exit(o),e.exit(r),t(O)):null===O||rO(O)?c?n(O):(e.exit("chunkString"),e.exit(a),e.exit(o),e.exit(r),t(O)):nO(O)?n(O):(e.consume(O),92===O?f:h)}function f(t){return 40===t||41===t||92===t?(e.consume(t),h):h(t)}}function EO(e,t,n,r,O,i){var o,a=this,s=0;return function(t){return e.enter(r),e.enter(O),e.consume(t),e.exit(O),e.enter(i),l};function l(u){return null===u||91===u||93===u&&!o||94===u&&!s&&"_hiddenFootnoteSupport"in a.parser.constructs||s>999?n(u):93===u?(e.exit(i),e.enter(O),e.consume(u),e.exit(O),e.exit(r),t):OO(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),l):(e.enter("chunkString",{contentType:"string"}),c(u))}function c(t){return null===t||91===t||93===t||OO(t)||s++>999?(e.exit("chunkString"),l(t)):(e.consume(t),o=o||!iO(t),92===t?u:c)}function u(t){return 91===t||92===t||93===t?(e.consume(t),s++,c):c(t)}}function YO(e,t,n,r,O,i){var o;return function(t){return e.enter(r),e.enter(O),e.consume(t),e.exit(O),o=40===t?41:t,a};function a(n){return n===o?(e.enter(O),e.consume(n),e.exit(O),e.exit(r),t):(e.enter(i),s(n))}function s(t){return t===o?(e.exit(i),a(o)):null===t?n(t):OO(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),lO(e,s,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),l(t))}function l(t){return t===o||null===t||OO(t)?(e.exit("chunkString"),s(t)):(e.consume(t),92===t?c:l)}function c(t){return t===o||92===t?(e.consume(t),l):l(t)}}function UO(e,t){var n;return function r(O){if(OO(O))return e.enter("lineEnding"),e.consume(O),e.exit("lineEnding"),n=!0,r;if(iO(O))return lO(e,r,n?"linePrefix":"lineSuffix")(O);return t(O)}}function zO(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var qO={name:"definition",tokenize:function(e,t,n){var r,O=this;return function(t){return e.enter("definition"),EO.call(O,e,i,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(t)};function i(t){return r=zO(O.sliceSerialize(O.events[O.events.length-1][1]).slice(1,-1)),58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),UO(e,RO(e,e.attempt(CO,lO(e,o,"whitespace"),lO(e,o,"whitespace")),n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):n(t)}function o(i){return null===i||OO(i)?(e.exit("definition"),O.parser.defined.includes(r)||O.parser.defined.push(r),t(i)):n(i)}}},CO={tokenize:function(e,t,n){return function(t){return rO(t)?UO(e,r)(t):n(t)};function r(t){return 34===t||39===t||40===t?YO(e,lO(e,O,"whitespace"),n,"definitionTitle","definitionTitleMarker","definitionTitleString")(t):n(t)}function O(e){return null===e||OO(e)?t(e):n(e)}},partial:!0};var jO={name:"codeIndented",tokenize:function(e,t,n){var r=this;return function(t){return e.enter("codeIndented"),lO(e,O,"linePrefix",5)(t)};function O(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?a(t):OO(t)?e.attempt(VO,i,a)(t):(e.enter("codeFlowValue"),o(t))}function o(t){return null===t||OO(t)?(e.exit("codeFlowValue"),i(t)):(e.consume(t),o)}function a(n){return e.exit("codeIndented"),t(n)}}},VO={tokenize:function(e,t,n){var r=this;return O;function O(t){return r.parser.lazy[r.now().line]?n(t):OO(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),O):lO(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):OO(e)?O(e):n(e)}},partial:!0};var AO={name:"headingAtx",tokenize:function(e,t,n){var r=this,O=0;return function(t){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),i(t)};function i(a){return 35===a&&O++<6?(e.consume(a),i):null===a||rO(a)?(e.exit("atxHeadingSequence"),r.interrupt?t(a):o(a)):n(a)}function o(n){return 35===n?(e.enter("atxHeadingSequence"),a(n)):null===n||OO(n)?(e.exit("atxHeading"),t(n)):iO(n)?lO(e,o,"whitespace")(n):(e.enter("atxHeadingText"),s(n))}function a(t){return 35===t?(e.consume(t),a):(e.exit("atxHeadingSequence"),o(t))}function s(t){return null===t||35===t||rO(t)?(e.exit("atxHeadingText"),o(t)):(e.consume(t),s)}},resolve:function(e,t){var n,r,O=e.length-2,i=3;"whitespace"===e[i][1].type&&(i+=2);O-2>i&&"whitespace"===e[O][1].type&&(O-=2);"atxHeadingSequence"===e[O][1].type&&(i===O-1||O-4>i&&"whitespace"===e[O-2][1].type)&&(O-=i+1===O?2:4);O>i&&Gr(e,i,O-i+1,[["enter",n={type:"atxHeadingText",start:e[i][1].start,end:e[O][1].end},t],["enter",r={type:"chunkText",start:e[i][1].start,end:e[O][1].end,contentType:"text"},t],["exit",r,t],["exit",n,t]]);return e}};var NO={name:"setextUnderline",tokenize:function(e,t,n){var r,O,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){O="paragraph"===i.events[o][1].type;break}return function(t){if(!i.parser.lazy[i.now().line]&&(i.interrupt||O))return e.enter("setextHeadingLine"),e.enter("setextHeadingLineSequence"),r=t,a(t);return n(t)};function a(t){return t===r?(e.consume(t),a):(e.exit("setextHeadingLineSequence"),lO(e,s,"lineSuffix")(t))}function s(r){return null===r||OO(r)?(e.exit("setextHeadingLine"),t(r)):n(r)}},resolveTo:function(e,t){var n,r,O,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),O||"definition"!==e[i][1].type||(O=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",O?(e.splice(r,0,["enter",o,t]),e.splice(O+1,0,["exit",e[n][1],t]),e[n][1].end=Object.assign({},e[O][1].end)):e[n][1]=o;return e.push(["exit",o,t]),e}};var GO=["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"],DO=["pre","script","style","textarea"],IO={name:"htmlFlow",tokenize:function(e,t,n){var r,O,i,o,a,s=this;return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),l};function l(o){return 33===o?(e.consume(o),c):47===o?(e.consume(o),d):63===o?(e.consume(o),r=3,s.interrupt?t:E):Mr(o)?(e.consume(o),i=String.fromCharCode(o),O=!0,h):n(o)}function c(O){return 45===O?(e.consume(O),r=2,u):91===O?(e.consume(O),r=5,i="CDATA[",o=0,p):Mr(O)?(e.consume(O),r=4,s.interrupt?t:E):n(O)}function u(r){return 45===r?(e.consume(r),s.interrupt?t:E):n(r)}function p(r){return r===i.charCodeAt(o++)?(e.consume(r),o===i.length?s.interrupt?t:T:p):n(r)}function d(t){return Mr(t)?(e.consume(t),i=String.fromCharCode(t),h):n(t)}function h(o){return null===o||47===o||62===o||rO(o)?47!==o&&O&&DO.includes(i.toLowerCase())?(r=1,s.interrupt?t(o):T(o)):GO.includes(i.toLowerCase())?(r=6,47===o?(e.consume(o),f):s.interrupt?t(o):T(o)):(r=7,s.interrupt&&!s.parser.lazy[s.now().line]?n(o):O?Q(o):m(o)):45===o||Kr(o)?(e.consume(o),i+=String.fromCharCode(o),h):n(o)}function f(r){return 62===r?(e.consume(r),s.interrupt?t:T):n(r)}function m(t){return iO(t)?(e.consume(t),m):b(t)}function Q(t){return 47===t?(e.consume(t),b):58===t||95===t||Mr(t)?(e.consume(t),g):iO(t)?(e.consume(t),Q):b(t)}function g(t){return 45===t||46===t||58===t||95===t||Kr(t)?(e.consume(t),g):$(t)}function $(t){return 61===t?(e.consume(t),S):iO(t)?(e.consume(t),$):Q(t)}function S(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),a=t,P):iO(t)?(e.consume(t),S):(a=null,y(t))}function P(t){return null===t||OO(t)?n(t):t===a?(e.consume(t),v):(e.consume(t),P)}function y(t){return null===t||34===t||39===t||60===t||61===t||62===t||96===t||rO(t)?$(t):(e.consume(t),y)}function v(e){return 47===e||62===e||iO(e)?Q(e):n(e)}function b(t){return 62===t?(e.consume(t),x):n(t)}function x(t){return iO(t)?(e.consume(t),x):null===t||OO(t)?T(t):n(t)}function T(t){return 45===t&&2===r?(e.consume(t),_):60===t&&1===r?(e.consume(t),Z):62===t&&4===r?(e.consume(t),Y):63===t&&3===r?(e.consume(t),E):93===t&&5===r?(e.consume(t),R):!OO(t)||6!==r&&7!==r?null===t||OO(t)?X(t):(e.consume(t),T):e.check(FO,Y,X)(t)}function X(t){return e.exit("htmlFlowData"),w(t)}function w(t){return null===t?U(t):OO(t)?e.attempt({tokenize:k,partial:!0},w,U)(t):(e.enter("htmlFlowData"),T(t))}function k(e,t,n){return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),r};function r(e){return s.parser.lazy[s.now().line]?n(e):t(e)}}function _(t){return 45===t?(e.consume(t),E):T(t)}function Z(t){return 47===t?(e.consume(t),i="",W):T(t)}function W(t){return 62===t&&DO.includes(i.toLowerCase())?(e.consume(t),Y):Mr(t)&&i.length<8?(e.consume(t),i+=String.fromCharCode(t),W):T(t)}function R(t){return 93===t?(e.consume(t),E):T(t)}function E(t){return 62===t?(e.consume(t),Y):45===t&&2===r?(e.consume(t),E):T(t)}function Y(t){return null===t||OO(t)?(e.exit("htmlFlowData"),U(t)):(e.consume(t),Y)}function U(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},FO={tokenize:function(e,t,n){return function(r){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),e.attempt(dO,t,n)}},partial:!0};var LO={name:"codeFenced",tokenize:function(e,t,n){var r,O=this,i={tokenize:function(e,t,n){var O=0;return lO(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),O++,o):O1&&e[c][1].end.offset-e[c][1].start.offset>1?2:1;var u=Object.assign({},e[n][1].end),p=Object.assign({},e[c][1].start);oi(u,-a),oi(p,a),i={type:a>1?"strongSequence":"emphasisSequence",start:u,end:Object.assign({},e[n][1].end)},o={type:a>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[c][1].start),end:p},O={type:a>1?"strongText":"emphasisText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[c][1].start)},r={type:a>1?"strong":"emphasis",start:Object.assign({},i.start),end:Object.assign({},o.end)},e[n][1].end=Object.assign({},i.start),e[c][1].start=Object.assign({},o.end),s=[],e[n][1].end.offset-e[n][1].start.offset&&(s=Dr(s,[["enter",e[n][1],t],["exit",e[n][1],t]])),s=Dr(s,[["enter",r,t],["enter",i,t],["exit",i,t],["enter",O,t]]),s=Dr(s,xO(t.parser.constructs.insideSpan.null,e.slice(n+1,c),t)),s=Dr(s,[["exit",O,t],["enter",o,t],["exit",o,t],["exit",r,t]]),e[c][1].end.offset-e[c][1].start.offset?(l=2,s=Dr(s,[["enter",e[c][1],t],["exit",e[c][1],t]])):l=0,Gr(e,n-1,c-n+3,s),c=n+s.length-l-2;break}c=-1;for(;++c13&&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 wi=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function ki(e){return e.replace(wi,_i)}function _i(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){var r=n.charCodeAt(1),O=120===r||88===r;return Xi(n.slice(O?2:1),O?16:10)}return(0,JO.T)(n)||e}var Zi={}.hasOwnProperty,Wi=function(e,t,n){return"string"!==typeof t&&(n=t,t=void 0),function(e){var t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(ne),autolinkProtocol:X,autolinkEmail:X,atxHeading:a(H),blockQuote:a(F),characterEscape:X,characterReference:X,codeFenced:a(L),codeFencedFenceInfo:s,codeFencedFenceMeta:s,codeIndented:a(L,s),codeText:a(J,s),codeTextData:X,data:X,codeFlowValue:X,definition:a(M),definitionDestinationString:s,definitionLabelString:s,definitionTitleString:s,emphasis:a(B),hardBreakEscape:a(K),hardBreakTrailing:a(K),htmlFlow:a(ee,s),htmlFlowData:X,htmlText:a(ee,s),htmlTextData:X,image:a(te),label:s,link:a(ne),listItem:a(Oe),listItemValue:h,listOrdered:a(re,d),listUnordered:a(re),paragraph:a(ie),reference:V,referenceString:s,resourceDestinationString:s,resourceTitleString:s,setextHeading:a(H),strong:a(oe),thematicBreak:a(se)},exit:{atxHeading:c(),atxHeadingSequence:v,autolink:c(),autolinkEmail:I,autolinkProtocol:D,blockQuote:c(),characterEscapeValue:w,characterReferenceMarkerHexadecimal:N,characterReferenceMarkerNumeric:N,characterReferenceValue:G,codeFenced:c(g),codeFencedFence:Q,codeFencedFenceInfo:f,codeFencedFenceMeta:m,codeFlowValue:w,codeIndented:c($),codeText:c(R),codeTextData:w,data:w,definition:c(),definitionDestinationString:y,definitionLabelString:S,definitionTitleString:P,emphasis:c(),hardBreakEscape:c(_),hardBreakTrailing:c(_),htmlFlow:c(Z),htmlFlowData:w,htmlText:c(W),htmlTextData:w,image:c(Y),label:z,labelText:U,lineEnding:k,link:c(E),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:A,resourceDestinationString:q,resourceTitleString:C,resource:j,setextHeading:c(T),setextHeadingLineSequence:x,setextHeadingText:b,strong:c(),thematicBreak:c()}};Ei(t,(e||{}).mdastExtensions||[]);var n={};return r;function r(e){for(var n={type:"root",children:[]},r={stack:[n],tokenStack:[],config:t,enter:l,exit:u,buffer:s,resume:p,setData:i,getData:o},a=[],c=-1;++c0){var h=r.tokenStack[r.tokenStack.length-1];(h[1]||Ui).call(r,void 0,h[0])}for(n.position={start:Ri(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:Ri(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},c=-1;++c0&&void 0!==arguments[0]?arguments[0]:{}).extensions||[])),content:t(cO),document:t(uO),flow:t(gO),string:t(SO),text:t(PO)};return e;function t(t){return function(n){return TO(e,t,n)}}}(n).document().write(function(){var e,t=1,n="",r=!0;return function(O,i,o){var a,s,l,c,u,p=[];for(O=n+O.toString(i),l=0,n="",r&&(65279===O.charCodeAt(0)&&l++,r=void 0);l55295&&i<57344){var a=e.charCodeAt(n+1);i<56320&&a>56319&&a<57344?(o=String.fromCharCode(i,a),O=1):o="\ufffd"}else o=String.fromCharCode(i);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+O+1,o=""),O&&(n+=O,O=0)}return t.join("")+e.slice(r)}var Ci=function(e){if(void 0===e||null===e)return Ai;if("string"===typeof e)return function(e){return Vi(t);function t(t){return t&&t.type===e}}(e);if("object"===typeof e)return Array.isArray(e)?ji(e):function(e){return Vi(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 Vi(e);throw new Error("Expected function, string, or object as test")};function ji(e){for(var t=[],n=-1;++n1?n-1:0),O=1;O":"")+")"})}return u;function u(){var l,c,u,p=[];if((!t||O(o,a,s[s.length-1]||null))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[true,e];return[e]}(n(o,s)),p[0]===Ni))return p;if(o.children&&p[0]!==Gi)for(c=(r?o.children.length:-1)+i,u=s.concat(o);c>-1&&c-1?n.offset:null}}}var Mi={}.hasOwnProperty;function Bi(e){return String(e||"").toUpperCase()}function Hi(e,t){var n,r=String(t.identifier).toUpperCase(),O=qi(r.toLowerCase()),i=e.footnoteOrder.indexOf(r);-1===i?(e.footnoteOrder.push(r),e.footnoteCounts[r]=1,n=e.footnoteOrder.length):(e.footnoteCounts[r]++,n=i+1);var o=e.footnoteCounts[r],a={type:"element",tagName:"a",properties:{href:"#"+e.clobberPrefix+"fn-"+O,id:e.clobberPrefix+"fnref-"+O+(o>1?"-"+o:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(n)}]};e.patch(t,a);var s={type:"element",tagName:"sup",properties:{},children:[a]};return e.patch(t,s),e.applyData(t,s)}function Ki(e,t){var n=t.referenceType,r="]";if("collapsed"===n?r+="[]":"full"===n&&(r+="["+(t.label||t.identifier)+"]"),"imageReference"===t.type)return{type:"text",value:"!["+t.alt+r};var O=e.all(t),i=O[0];i&&"text"===i.type?i.value="["+i.value:O.unshift({type:"text",value:"["});var o=O[O.length-1];return o&&"text"===o.type?o.value+=r:O.push({type:"text",value:r}),O}function eo(e){var t=e.spread;return void 0===t||null===t?e.children.length>1:t}var to=9,no=32;function ro(e){for(var t=String(e),n=/\r?\n|\r/g,r=n.exec(t),O=0,i=[];r;)i.push(Oo(t.slice(O,r.index),O>0,!0),r[0]),O=r.index+r[0].length,r=n.exec(t);return i.push(Oo(t.slice(O),O>0,!1)),i.join("")}function Oo(e,t,n){var r=0,O=e.length;if(t)for(var i=e.codePointAt(r);i===to||i===no;)r++,i=e.codePointAt(r);if(n)for(var o=e.codePointAt(O-1);o===to||o===no;)O--,o=e.codePointAt(O-1);return O>r?e.slice(r,O):""}var io={blockquote:function(e,t){var n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)},break:function(e,t){var n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:"\n"}]},code:function(e,t){var n=t.value?t.value+"\n":"",r=t.lang?t.lang.match(/^[^ \t]+(?=[ \t]|$)/):null,O={};r&&(O.className=["language-"+r]);var i={type:"element",tagName:"code",properties:O,children:[{type:"text",value:n}]};return t.meta&&(i.data={meta:t.meta}),e.patch(t,i),i={type:"element",tagName:"pre",properties:{},children:[i=e.applyData(t,i)]},e.patch(t,i),i},delete:function(e,t){var n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},emphasis:function(e,t){var n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},footnoteReference:Hi,footnote:function(e,t){for(var n=e.footnoteById,r=1;r in n;)r++;var O=String(r);return n[O]={type:"footnoteDefinition",identifier:O,children:[{type:"paragraph",children:t.children}],position:t.position},Hi(e,{type:"footnoteReference",identifier:O,position:t.position})},heading:function(e,t){var n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},html:function(e,t){if(e.dangerous){var n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}return null},imageReference:function(e,t){var n=e.definition(t.identifier);if(!n)return Ki(e,t);var r={src:qi(n.url||""),alt:t.alt};null!==n.title&&void 0!==n.title&&(r.title=n.title);var O={type:"element",tagName:"img",properties:r,children:[]};return e.patch(t,O),e.applyData(t,O)},image:function(e,t){var n={src:qi(t.url)};null!==t.alt&&void 0!==t.alt&&(n.alt=t.alt),null!==t.title&&void 0!==t.title&&(n.title=t.title);var r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)},inlineCode:function(e,t){var n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);var r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)},linkReference:function(e,t){var n=e.definition(t.identifier);if(!n)return Ki(e,t);var r={href:qi(n.url||"")};null!==n.title&&void 0!==n.title&&(r.title=n.title);var O={type:"element",tagName:"a",properties:r,children:e.all(t)};return e.patch(t,O),e.applyData(t,O)},link:function(e,t){var n={href:qi(t.url)};null!==t.title&&void 0!==t.title&&(n.title=t.title);var r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},listItem:function(e,t,n){var r=e.all(t),O=n?function(e){var t=!1;if("list"===e.type){t=e.spread||!1;for(var n=e.children,r=-1;!t&&++r0&&a.children.unshift({type:"text",value:" "}),a.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),i.className=["task-list-item"]}for(var l=-1;++l0){var o={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},a=Fi(t.children[1]),s=Li(t.children[t.children.length-1]);a.line&&s.line&&(o.position={start:a,end:s}),O.push(o)}var l={type:"element",tagName:"table",properties:{},children:e.wrap(O,!0)};return e.patch(t,l),e.applyData(t,l)},tableCell:function(e,t){var n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},tableRow:function(e,t,n){for(var r=n?n.children:void 0,O=0===(r?r.indexOf(t):1)?"th":"td",i=n&&"table"===n.type?n.align:void 0,o=i?i.length:t.children.length,a=-1,s=[];++a0&&n.push({type:"text",value:"\n"}),n}function fo(e,t){var n=so(e,t),r=n.one(e,null),O=function(e){for(var t=[],n=-1;++n1?"-"+a:""),dataFootnoteBackref:!0,className:["data-footnote-backref"],ariaLabel:e.footnoteBackLabel},children:[{type:"text",value:"\u21a9"}]};a>1&&l.children.push({type:"element",tagName:"sup",children:[{type:"text",value:String(a)}]}),s.length>0&&s.push({type:"text",value:" "}),s.push(l)}var c=O[O.length-1];if(c&&"element"===c.type&&"p"===c.tagName){var u,p=c.children[c.children.length-1];p&&"text"===p.type?p.value+=" ":c.children.push({type:"text",value:" "}),(u=c.children).push.apply(u,s)}else O.push.apply(O,s);var d={type:"element",tagName:"li",properties:{id:e.clobberPrefix+"fn-"+o},children:e.wrap(O,!0)};e.patch(r,d),t.push(d)}}if(0!==t.length)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:e.footnoteLabelTagName,properties:(0,ur.Z)((0,ur.Z)({},JSON.parse(JSON.stringify(e.footnoteLabelProperties))),{},{id:"footnote-label"}),children:[{type:"text",value:e.footnoteLabel}]},{type:"text",value:"\n"},{type:"element",tagName:"ol",properties:{},children:e.wrap(t,!0)},{type:"text",value:"\n"}]}}(n);return O&&r.children.push({type:"text",value:"\n"},O),Array.isArray(r)?{type:"root",children:r}:r}var mo=function(e,t){return e&&"run"in e?function(e,t){return function(n,r,O){e.run(fo(n,t),r,(function(e){O(e)}))}}(e,t):function(e){return function(t){return fo(t,e)}}(e||t)};var Qo=n(1512),go=n(1165);function $o(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){Ii(t,"element",(function(t,n,r){var O,i=r;if(e.allowedElements?O=!e.allowedElements.includes(t.tagName):e.disallowedElements&&(O=e.disallowedElements.includes(t.tagName)),!O&&e.allowElement&&"number"===typeof n&&(O=!e.allowElement(t,n,i)),O&&"number"===typeof n){var o;if(e.unwrapDisallowed&&t.children)(o=i.children).splice.apply(o,[n,1].concat((0,c.Z)(t.children)));else i.children.splice(n,1);return n}}))}}var So=n(2268);function Po(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 yo=n(8231),vo={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"},bo=n(1361),xo=n(194),To=n(5011),Xo=["http","https","mailto","tel"];function wo(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 O=-1;++OO||-1!==(O=t.indexOf("#"))&&r>O?t:"javascript:void(0)"}var ko={}.hasOwnProperty,_o=new Set(["table","thead","tbody","tfoot","tr"]);function Zo(e,t){for(var n,r=[],O=-1;++O0?s.createElement(f,c,p):s.createElement(f,c)}function Ro(e,t){for(var n=-1,r=0;++n for more info)")),delete zo[t]}var r=Wr().use(zi).use(e.remarkPlugins||[]).use(mo,(0,ur.Z)((0,ur.Z)({},e.remarkRehypeOptions),{},{allowDangerousHtml:!0})).use(e.rehypePlugins||[]).use($o,e),O=new br;"string"===typeof e.children?O.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 i=r.runSync(r.parse(O),O);if("root"!==i.type)throw new TypeError("Expected a `root` node");var o=s.createElement(s.Fragment,{},Zo({options:e,schema:go.dy,listDepth:0},i));return e.className&&(o=s.createElement("div",{className:e.className},o)),o}qo.propTypes={children:Qo.string,className:Qo.string,allowElement:Qo.func,allowedElements:Qo.arrayOf(Qo.string),disallowedElements:Qo.arrayOf(Qo.string),unwrapDisallowed:Qo.bool,remarkPlugins:Qo.arrayOf(Qo.oneOfType([Qo.object,Qo.func,Qo.arrayOf(Qo.oneOfType([Qo.bool,Qo.string,Qo.object,Qo.func,Qo.arrayOf(Qo.any)]))])),rehypePlugins:Qo.arrayOf(Qo.oneOfType([Qo.object,Qo.func,Qo.arrayOf(Qo.oneOfType([Qo.bool,Qo.string,Qo.object,Qo.func,Qo.arrayOf(Qo.any)]))])),sourcePos:Qo.bool,rawSourcePos:Qo.bool,skipHtml:Qo.bool,includeElementIndex:Qo.bool,transformLinkUri:Qo.oneOfType([Qo.func,Qo.bool]),linkTarget:Qo.oneOfType([Qo.func,Qo.string]),transformImageUri:Qo.func,components:Qo.object};for(var Co={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(t){return 87===t||119===t?(e.consume(t),O):n(t)}function O(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||OO(e)?n(e):t(e)}},partial:!0},jo={tokenize:function(e,t,n){var r,O;return i;function i(t){return 38===t?e.check(No,a,o)(t):46===t||95===t?e.check(Ao,a,o)(t):null===t||nO(t)||oO(t)||45!==t&&aO(t)?a(t):(e.consume(t),i)}function o(t){return 46===t?(O=r,r=void 0,e.consume(t),i):(95===t&&(r=!0),e.consume(t),i)}function a(e){return O||r?n(e):t(e)}},partial:!0},Vo={tokenize:function(e,t){var n=0;return r;function r(o){return 38===o?e.check(No,t,O)(o):(40===o&&n++,41===o?e.check(Ao,i,O)(o):Bo(o)?t(o):Mo(o)?e.check(Ao,t,O)(o):(e.consume(o),r))}function O(t){return e.consume(t),r}function i(e){return--n<0?t(e):O(e)}},partial:!0},Ao={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(O){return Mo(O)?(e.consume(O),r):Bo(O)?t(O):n(O)}},partial:!0},No={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(t){return Mr(t)?(e.consume(t),r):59===t?(e.consume(t),O):n(t)}function O(e){return Bo(e)?t(e):n(e)}},partial:!0},Go={tokenize:function(e,t,n){var r=this;return function(t){if(87!==t&&119!==t||!Ko(r.previous)||na(r.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(Co,e.attempt(jo,e.attempt(Vo,O),n),n)(t)};function O(n){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(n)}},previous:Ko},Do={tokenize:function(e,t,n){var r=this;return function(t){if(72!==t&&104!==t||!ea(r.previous)||na(r.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),e.consume(t),O};function O(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),a):n(t)}function a(t){return 83===t||115===t?(e.consume(t),s):s(t)}function s(t){return 58===t?(e.consume(t),l):n(t)}function l(t){return 47===t?(e.consume(t),c):n(t)}function c(t){return 47===t?(e.consume(t),u):n(t)}function u(t){return null===t||nO(t)||oO(t)||aO(t)?n(t):e.attempt(jo,e.attempt(Vo,p),n)(t)}function p(n){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(n)}},previous:ea},Io={tokenize:function(e,t,n){var r,O,i=this;return function(t){if(!Ho(t)||!ta(i.previous)||na(i.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),o(t)};function o(t){return Ho(t)?(e.consume(t),o):64===t?(e.consume(t),a):n(t)}function a(t){return 46===t?e.check(Ao,u,s)(t):45===t||95===t?e.check(Ao,n,l)(t):Kr(t)?(!O&&Br(t)&&(O=!0),e.consume(t),a):u(t)}function s(t){return e.consume(t),r=!0,O=void 0,a}function l(t){return e.consume(t),c}function c(t){return 46===t?e.check(Ao,n,s)(t):a(t)}function u(i){return r&&!O?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(i)):n(i)}},previous:ta},Fo={},Lo={text:Fo},Jo=48;Jo<123;)Fo[Jo]=Io,58===++Jo?Jo=65:91===Jo&&(Jo=97);function Mo(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 Bo(e){return null===e||60===e||rO(e)}function Ho(e){return 43===e||45===e||46===e||95===e||Kr(e)}function Ko(e){return null===e||40===e||42===e||95===e||126===e||rO(e)}function ea(e){return null===e||!Mr(e)}function ta(e){return 47!==e&&ea(e)}function na(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}Fo[43]=Io,Fo[45]=Io,Fo[46]=Io,Fo[95]=Io,Fo[72]=[Io,Do],Fo[104]=[Io,Do],Fo[87]=[Io,Go],Fo[119]=[Io,Go];var ra={tokenize:function(e,t,n){var r=this;return lO(e,(function(e){var O=r.events[r.events.length-1];return O&&"gfmFootnoteDefinitionIndent"===O[1].type&&4===O[2].sliceSerialize(O[1],!0).length?t(e):n(e)}),"gfmFootnoteDefinitionIndent",5)},partial:!0};function Oa(){var e;return{document:(0,XO.Z)({},91,{tokenize:sa,continuation:{tokenize:la},exit:ca}),text:(e={},(0,XO.Z)(e,91,{tokenize:aa}),(0,XO.Z)(e,93,{add:"after",tokenize:ia,resolveTo:oa}),e)}}function ia(e,t,n){for(var r,O=this,i=O.events.length,o=O.parser.gfmFootnotes||(O.parser.gfmFootnotes=[]);i--;){var a=O.events[i][1];if("labelImage"===a.type){r=a;break}if("gfmFootnoteCall"===a.type||"labelLink"===a.type||"label"===a.type||"image"===a.type||"link"===a.type)break}return function(i){if(!r||!r._balanced)return n(i);var a=zO(O.sliceSerialize({start:r.end,end:O.now()}));if(94!==a.codePointAt(0)||!o.includes(a.slice(1)))return n(i);return e.enter("gfmFootnoteCallLabelMarker"),e.consume(i),e.exit("gfmFootnoteCallLabelMarker"),t(i)}}function oa(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)},O={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};O.end.column++,O.end.offset++,O.end._bufferIndex++;var i={type:"gfmFootnoteCallString",start:Object.assign({},O.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)},a=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",O,t],["exit",O,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(a)),e}function aa(e,t,n){var r,O=this,i=O.parser.gfmFootnotes||(O.parser.gfmFootnotes=[]),o=0;return function(t){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(t),e.exit("gfmFootnoteCallLabelMarker"),a};function a(t){return 94!==t?n(t):(e.enter("gfmFootnoteCallMarker"),e.consume(t),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",s)}function s(a){if(o>999||93===a&&!r||null===a||91===a||rO(a))return n(a);if(93===a){e.exit("chunkString");var c=e.exit("gfmFootnoteCallString");return i.includes(zO(O.sliceSerialize(c)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(a),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(a)}return rO(a)||(r=!0),o++,e.consume(a),92===a?l:s}function l(t){return 91===t||92===t||93===t?(e.consume(t),o++,s):s(t)}}function sa(e,t,n){var r,O,i=this,o=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]),a=0;return function(t){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),s};function s(t){return 94===t?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",l):n(t)}function l(t){if(a>999||93===t&&!O||null===t||91===t||rO(t))return n(t);if(93===t){e.exit("chunkString");var o=e.exit("gfmFootnoteDefinitionLabelString");return r=zO(i.sliceSerialize(o)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),u}return rO(t)||(O=!0),a++,e.consume(t),92===t?c:l}function c(t){return 91===t||92===t||93===t?(e.consume(t),a++,l):l(t)}function u(t){return 58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),o.includes(r)||o.push(r),lO(e,p,"gfmFootnoteDefinitionWhitespace")):n(t)}function p(e){return t(e)}}function la(e,t,n){return e.check(dO,t,e.attempt(ra,t,n))}function ca(e){e.exit("gfmFootnoteDefinition")}function ua(e){var t=(e||{}).singleTilde,n={tokenize:function(e,n,r){var O=this.previous,i=this.events,o=0;return function(t){if(126===O&&"characterEscape"!==i[i.length-1][1].type)return r(t);return e.enter("strikethroughSequenceTemporary"),a(t)};function a(i){var s=Oi(O);if(126===i)return o>1?r(i):(e.consume(i),o++,a);if(o<2&&!t)return r(i);var l=e.exit("strikethroughSequenceTemporary"),c=Oi(i);return l._open=!c||2===c&&Boolean(s),l._close=!s||2===s&&Boolean(c),n(i)}},resolveAll:function(e,t){var n=-1;for(;++n=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,O,i,o,a,s,l=-1;for(;++l0?{type:"text",value:f}:void 0),!1!==f){var m;if(i!==d&&u.push({type:"text",value:e.value.slice(i,d)}),Array.isArray(f))(m=u).push.apply(m,(0,c.Z)(f));else f&&u.push(f);i=d+p[0].length,l=!0}if(!r.global)break;p=r.exec(e.value)}if(l){var Q;i?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);var n=t[0],r=n.indexOf(")"),O=Qa(e,"("),i=Qa(e,")");for(;-1!==r&&O>i;)e+=n.slice(0,r+1),r=(n=n.slice(r+1)).indexOf(")"),i++;return[e,n]}(n+r);if(!o[0])return!1;var a={type:"link",title:null,url:i+t+o[0],children:[{type:"text",value:t+o[0]}]};return o[1]?[a,{type:"text",value:o[1]}]:a}function wa(e,t,n,r){return!(!ka(r,!0)||/[-\d_]$/.test(n))&&{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function ka(e,t){var n=e.input.charCodeAt(e.index-1);return(0===e.index||oO(n)||aO(n))&&(!t||47!==n)}function _a(e){return e.label||!e.identifier?e.label||"":ki(e.identifier)}function Za(e,t,n,r){for(var O=r.join.length;O--;){var i=r.join[O](e,t,n,r);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 Wa=/\r?\n|\r/g;function Ra(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 Ea(e,t){return Ya(e,t.inConstruct,!0)&&!Ya(e,t.notInConstruct,!1)}function Ya(e,t,n){if("string"===typeof t&&(t=[t]),!t||0===t.length)return n;for(var r=-1;++r=f||(m+10?" ":"")),O.shift(4),i+=O.move(function(e,t){for(var n,r=[],O=0,i=0;n=Wa.exec(e);)o(e.slice(O,n.index)),r.push(n[0]),O=n.index+n[0].length,i++;return o(e.slice(O)),r.join("");function o(e){r.push(t(e,i,!e))}}(function(e,t,n){var r=t.indexStack,O=e.children||[],i=t.createTracker(n),o=[],a=-1;for(r.push(-1);++a0&&("\r"===a||"\n"===a)&&"html"===l.type&&(i[i.length-1]=i[i.length-1].replace(/(\r?\n|\r)$/," "),a=" ",(s=t.createTracker(n)).move(i.join(""))),i.push(s.move(t.handle(l,e,t,(0,ur.Z)((0,ur.Z)({},s.current()),{},{before:a,after:c})))),a=i[i.length-1].slice(-1)}return r.pop(),i.join("")}La.peek=function(){return"["};es.peek=function(){return"~"};var Ha={canContainEols:["delete"],enter:{strikethrough:function(e){this.enter({type:"delete",children:[]},e)}},exit:{strikethrough:function(e){this.exit(e)}}},Ka={unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"]}],handlers:{delete:es}};function es(e,t,n,r){var O=Ca(r),i=n.enter("strikethrough"),o=O.move("~~");return o+=Ba(e,n,(0,ur.Z)((0,ur.Z)({},O.current()),{},{before:o,after:"~"})),o+=O.move("~~"),i(),o}function ts(e,t,n){for(var r=e.value||"",O="`",i=-1;new RegExp("(^|[^`])"+O+"([^`]|$)").test(r);)O+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++i1&&void 0!==arguments[1]?arguments[1]:{},r=(n.align||[]).concat(),O=n.stringLength||ns,i=[],o=[],a=[],s=[],l=0,c=-1;++cl&&(l=e[c].length);++ds[d])&&(s[d]=f)}u.push(h)}o[c]=u,a[c]=p}var m=-1;if("object"===typeof r&&"length"in r)for(;++ms[m]&&(s[m]=v),$[m]=v),g[m]=b}o.splice(1,0,g),a.splice(1,0,$),c=-1;for(var x=[];++c-1?t.start:1)+(!1===n.options.incrementListMarker?0:t.children.indexOf(e))+i);var o=i.length+1;("tab"===O||"mixed"===O&&(t&&"list"===t.type&&t.spread||e.spread))&&(o=4*Math.ceil(o/4));var a=n.createTracker(r);a.move(i+" ".repeat(o-i.length)),a.shift(o);var s=n.enter("listItem"),l=n.indentLines(n.containerFlow(e,a.current()),(function(e,t,n){if(t)return(n?"":" ".repeat(o))+e;return(n?i:i+" ".repeat(o-i.length))+e}));return s(),l}var cs={exit:{taskListCheckValueChecked:ps,taskListCheckValueUnchecked:ps,paragraph:function(e){var t=this.stack[this.stack.length-2];if(t&&"listItem"===t.type&&"boolean"===typeof t.checked){var n=this.stack[this.stack.length-1],r=n.children[0];if(r&&"text"===r.type){for(var O,i=t.children,o=-1;++o0&&void 0!==arguments[0]?arguments[0]:{},t=this.data();function n(e,n){(t[e]?t[e]:t[e]=[]).push(n)}n("micromarkExtensions",function(e){return Fr([Lo,Oa(),ua(e),pa,fa])}(e)),n("fromMarkdownExtensions",[ba,{enter:{gfmFootnoteDefinition:ja,gfmFootnoteDefinitionLabelString:Va,gfmFootnoteCall:Ga,gfmFootnoteCallString:Da},exit:{gfmFootnoteDefinition:Na,gfmFootnoteDefinitionLabelString:Aa,gfmFootnoteCall:Fa,gfmFootnoteCallString:Ia}},Ha,Os,cs]),n("toMarkdownExtensions",function(e){return{extensions:[xa,{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]}],handlers:{footnoteDefinition:Ja,footnoteReference:La}},Ka,ss(e),us]}}(e))}var hs=n(810),fs=(0,n(282).v)(go.YP,"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"]),ms=n(7611);var Qs={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/"},gs={}.hasOwnProperty,$s=Object.prototype;function Ss(e,t){var n;switch(t.nodeName){case"#comment":return ys(e,t,n={type:"comment",value:t.data}),n;case"#document":case"#document-fragment":var r=t,O="mode"in r&&("quirks"===r.mode||"limited-quirks"===r.mode);if(n={type:"root",children:Ps(e,t.childNodes),data:{quirksMode:O}},e.file&&e.location){var i=String(e.file),o=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("number"===typeof e&&e>-1&&ee)return{line:t+1,column:e-(t>0?n[t-1]:0)+1,offset:e};return{line:void 0,column:void 0,offset:void 0}},toOffset:function(e){var t=e&&e.line,r=e&&e.column;if("number"===typeof t&&"number"===typeof r&&!Number.isNaN(t)&&!Number.isNaN(r)&&t-1 in n){var O=(n[t-2]||0)+r-1||0;if(O>-1&&O1?a-1:0),l=1;l0&&void 0!==arguments[0]?arguments[0]:{};return function(t,n){return Ys(t,n,e)}}var Vs=/[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g,As=Object.hasOwnProperty;var Ns={}.hasOwnProperty;function Gs(e,t){var n="string"===typeof t&&function(e){return Boolean(e&&"object"===typeof e&&"type"in e)}(e)&&"element"===e.type&&e.properties&&Ns.call(e.properties,t)&&e.properties[t];return null!==n&&void 0!==n&&!1!==n}function Ds(e){var t=e&&"element"===e.type&&e.tagName.toLowerCase()||"",n=2===t.length&&104===t.charCodeAt(0)?t.charCodeAt(1):0;return n>48&&n<55?n-48:null}function Is(e){return"children"in e?Ls(e):"value"in e?e.value:""}function Fs(e){return"text"===e.type?e.value:"children"in e?Ls(e):""}function Ls(e){for(var t=-1,n=[];++t0&&void 0!==arguments[0]?arguments[0]:{}).prefix||"";return function(t){Js.reset(),Ii(t,"element",(function(t){Ds(t)&&t.properties&&!Gs(t,"id")&&(t.properties.id=e+Js.slug(Is(t)))}))}}var Bs=function(e){if(void 0===e||null===e)return el;if("string"===typeof e)return function(e){return t;function t(t){return el(t)&&t.tagName===e}}(e);if("object"===typeof e)return Hs(e);if("function"===typeof e)return Ks(e);throw new Error("Expected function, string, or array as test")};function Hs(e){for(var t=[],n=-1;++n1?n-1:0),O=1;O0&&void 0!==arguments[0]?arguments[0]:{},n=t.properties,r=t.behaviour||t.behavior||"prepend",O=t.content||tl,i=t.group,o=Bs(t.test);return"wrap"===r?e=function(e){return e.children=[l(e,kr(!0,{},n),e.children)],[Gi]}:"before"===r||"after"===r?e=function(e,t,o){var u;if("number"!==typeof t||!o)return;var p=l(e,kr(!0,{},n),a(O,e)),d="before"===r?[p,e]:[e,p];if(i){var h=s(i,e);h&&!Array.isArray(h)&&"element"===h.type&&(h.children=d,d=[h])}return(u=o.children).splice.apply(u,[t,1].concat((0,c.Z)(d))),[Gi,t+d.length]}:(n||(n={ariaHidden:"true",tabIndex:-1}),e=function(e){return e.children["prepend"===r?"unshift":"push"](l(e,kr(!0,{},n),a(O,e))),[Gi]}),function(t){Ii(t,"element",(function(t,n,r){if(Ds(t)&&Gs(t,"id")&&o(t,n,r))return e(t,n,r)}))};function a(e,t){var n=s(e,t);return Array.isArray(n)?n:[n]}function s(e,t){return"function"===typeof e?e(t):kr(!0,Array.isArray(e)?[]:{},e)}function l(e,t,n){return{type:"element",tagName:"a",properties:Object.assign({},t,{href:"#"+(e.properties||{}).id}),children:n}}}var rl=function e(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,O=arguments.length>1?arguments[1]:void 0;O/,"$2")||""))return;if(r){if(e(t,O,"pre",r))return;return o.value=(o.value||"").replace(/^(\n|\s)+/,""),o}return o.value=(o.value||"").replace(/^(\n|\s)+/,""),o}}},Ol=function(e){var t=e.value,n=function(){return((arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").match(/([^?=&]+)(=([^&]*))/g)||[]).reduce((function(e,t){return e[t.slice(0,t.indexOf("="))]=t.slice(t.indexOf("=")+1),e}),{})}((void 0===t?"":t).replace(/^/,"$1").replace(/^rehype:/,""));return Object.keys(n).forEach((function(e){"true"===n[e]&&(n[e]=!0),"false"===n[e]&&(n[e]=!1),"string"!==typeof n[e]||/^0/.test(n[e])||isNaN(+n[e])||(n[e]=+n[e])})),n},il=function(e,t,n){return"string"===n?(0,ur.Z)((0,ur.Z)({},e),{},{"data-config":JSON.stringify((0,ur.Z)((0,ur.Z)({},t),{},{rehyp:!0}))}):"attr"===n?(0,ur.Z)((0,ur.Z)({},e),t):(0,ur.Z)((0,ur.Z)({},e),{},{"data-config":(0,ur.Z)((0,ur.Z)({},t),{},{rehyp:!0})})},ol=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.properties,n=void 0===t?"data":t,r=e.codeBlockParames,O=void 0===r||r;return function(e){Ii(e,"element",(function(e,t,r){if(O&&"pre"===e.tagName&&e&&Array.isArray(e.children)&&r&&Array.isArray(r.children)&&r.children.length>1){var i=e.children[0];if(i&&"code"===i.tagName&&"number"===typeof t){var o=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;t>-1;){if(!e[--t])return;if(e[t]&&e[t].value&&""!==e[t].value.replace(/(\n|\s)/g,"")||"text"!==e[t].type){if(!/^rehype:/.test(e[t].value)||"comment"!==e[t].type)return;return e[t]}}}(r.children,t);if(o){var a=Ol(o);Object.keys(a).length>0&&(e.properties=(0,ur.Z)((0,ur.Z)({},e.properties),{"data-type":"rehyp"}),i.properties=il(i.properties,a,n))}}}if(/^(em|strong|b|a|i|p|pre|kbd|blockquote|h(1|2|3|4|5|6)|code|table|img|del|ul|ol)$/.test(e.tagName)&&r&&Array.isArray(r.children)&&"number"===typeof t){var s=rl(r.children,t,"",O);if(s){var l=Ol(s);Object.keys(l).length>0&&(e.properties=il(e.properties,l,n))}}}))}},al=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.openDelimiter,n=void 0===t?"rehype:ignore:start":t,r=e.closeDelimiter,O=void 0===r?"rehype:ignore:end":r;return function(e){Ii(e,(function(e,t,r){if("element"===e.type||"root"===e.type){var i=!1;e.children=e.children.filter((function(e){if("raw"===e.type||"comment"===e.type){var t=(e.value||"").trim();if((t=t.replace(/^/,"$1"))===n)return i=!0,!1;if(t===O)return i=!1,!1}return!i}))}}))}},sl={}.hasOwnProperty,ll=n(7278),cl=n(4571),ul=n(1060);function pl(){pl=function(e,t){return new n(e,void 0,t)};var e=RegExp.prototype,t=new WeakMap;function n(e,r,O){var i=new RegExp(e,r);return t.set(i,O||t.get(e)),dl(i,n.prototype)}function r(e,n){var r=t.get(n);return Object.keys(r).reduce((function(t,n){return t[n]=e[r[n]],t}),Object.create(null))}return 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&&dl(e,t)}(n,RegExp),n.prototype.exec=function(t){var n=e.exec.call(this,t);return n&&(n.groups=r(n,this)),n},n.prototype[Symbol.replace]=function(n,O){if("string"==typeof O){var i=t.get(this);return e[Symbol.replace].call(this,n,O.replace(/\$<([^>]+)>/g,(function(e,t){return"$"+i[t]})))}if("function"==typeof O){var o=this;return e[Symbol.replace].call(this,n,(function(){var e=arguments;return"object"!=typeof e[e.length-1]&&(e=[].slice.call(e)).push(r(e,o)),O.apply(this,e)}))}return e[Symbol.replace].call(this,n,O)},pl.apply(this,arguments)}function dl(e,t){return dl=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},dl(e,t)}function hl(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var ml=function(e){return function(t){return void 0===t&&(t={}),function(e){Ii(e,"element",n)};function n(n,r,O){var i,o;if(O&&"pre"===O.tagName&&"code"===n.tagName){var a=(null==n||null==(i=n.data)?void 0:i.meta)||(null==n||null==(o=n.properties)?void 0:o.metastring)||"";n.properties.className?"boolean"==typeof n.properties.className?n.properties.className=[]:Array.isArray(n.properties.className)||(n.properties.className=[n.properties.className]):n.properties.className=[],n.properties.className.push("code-highlight");var s,l,c=function(e){for(var t,n=fl(e.properties.className);!(t=n()).done;){var r=t.value;if("language-"===r.slice(0,9))return r.slice(9).toLowerCase()}return null}(n);if(c)try{var u;u=null!=c&&c.includes("diff-")?c.split("-")[1]:c,s=e.highlight(Is(n),u),O.properties.className=(O.properties.className||[]).concat("language-"+u)}catch($){if(!t.ignoreMissing||!/Unknown language/.test($.message))throw $;s=n}else s=n;s.children=(l=1,function e(t){return t.reduce((function(t,n){if("text"===n.type){var r=n.value,O=(r.match(/\n/g)||"").length;if(0===O)n.position={start:{line:l,column:1},end:{line:l,column:1}},t.push(n);else for(var i,o=r.split("\n"),a=fl(o.entries());!(i=a()).done;){var s=i.value,c=s[0],u=s[1];t.push({type:"text",value:c===o.length-1?u:u+"\n",position:{start:{line:l+c,column:1},end:{line:l+c,column:1}}})}return l+=O,t}if(Object.prototype.hasOwnProperty.call(n,"children")){var p=l;return n.children=e(n.children),t.push(n),n.position={start:{line:p,column:1},end:{line:l,column:1}},t}return t.push(n),t}),[])})(s.children),s.position=s.children.length>0?{start:{line:s.children[0].position.start.line,column:0},end:{line:s.children[s.children.length-1].position.end.line,column:0}}:{start:{line:0,column:0},end:{line:0,column:0}};for(var p,d=function(e){var t=/{([\d,-]+)}/,n=e.split(",").map((function(e){return e.trim()})).join();if(t.test(n)){var r=t.exec(n)[1],O=ll(r);return function(e){return O.includes(e+1)}}return function(){return!1}}(a),h=function(e){var t=pl(/showLineNumbers=([0-9]+)/i,{lines:1});if(t.test(e)){var n=t.exec(e);return Number(n.groups.lines)}return 1}(a),f=function(e){for(var t=new Array(e),n=0;n0&&0===o.length)return null}var l,c={};for(l in t)sl.call(t,l)&&(c[l]="children"===l?o:t[l]);return c}(e)}(s,(function(e){return e.position.start.line<=n+1&&e.position.end.line>=n+1}));r.children=O.children,!a.toLowerCase().includes("showLineNumbers".toLowerCase())&&!t.showLineNumbers||m.some((function(e){return a.toLowerCase().includes(e)}))||(r.properties.line=[(n+h).toString()],r.properties.className.push("line-number")),d(n)&&r.properties.className.push("highlight-line"),("diff"===c||null!=c&&c.includes("diff-"))&&"-"===Is(r).substring(0,1)?r.properties.className.push("deleted"):("diff"===c||null!=c&&c.includes("diff-"))&&"+"===Is(r).substring(0,1)&&r.properties.className.push("inserted")},g=fl(f.entries());!(p=g()).done;)Q();f.length>0&&""===Is(f[f.length-1]).trim()&&f.pop(),n.children=f}}}},Ql=(ml(cl.$),ml(ul.$)),gl="\u0591-\u07ff\ufb1d-\ufdfd\ufe70-\ufefc",$l="A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02b8\u0300-\u0590\u0800-\u1fff\u200e\u2c00-\ufb1c\ufe00-\ufe6f\ufefd-\uffff",Sl=new RegExp("^[^"+$l+"]*["+gl+"]"),Pl=new RegExp("^[^"+gl+"]*["+$l+"]");function yl(e){var t=function(e){var t=String(e||"");return Sl.test(t)?"rtl":Pl.test(t)?"ltr":"neutral"}(e);return"neutral"===t?void 0:t}function vl(e){var t="element"===e.type&&e.properties&&"string"===typeof e.properties.dir?e.properties.dir.toLowerCase():void 0;return"auto"===t||"ltr"===t||"rtl"===t?t:void 0}var bl=Ts("operator",{unknown:function(e){throw new Error("Unknown operator `"+e.operator+"`")},invalid:function(e,t,n){return Gs(t,n.property)},handlers:{"=":function(e,t,n){return Boolean(Gs(t,n.property)&&t.properties&&xl(t.properties[n.property],n)===e.value)},"~=":function(e,t,n){var r=t.properties&&t.properties[n.property];return!n.commaSeparated&&r&&"object"===typeof r&&e.value&&r.includes(e.value)||Gs(t,n.property)&&xl(r,n)===e.value},"|=":function(e,t,n){var r=xl(t.properties&&t.properties[n.property],n);return Boolean(Gs(t,n.property)&&e.value&&(r===e.value||r.slice(0,e.value.length)===e.value&&"-"===r.charAt(e.value.length)))},"^=":function(e,t,n){return Boolean(Gs(t,n.property)&&t.properties&&e.value&&xl(t.properties[n.property],n).slice(0,e.value.length)===e.value)},"$=":function(e,t,n){return Boolean(Gs(t,n.property)&&t.properties&&e.value&&xl(t.properties[n.property],n).slice(-e.value.length)===e.value)},"*=":function(e,t,n){return Boolean(Gs(t,n.property)&&t.properties&&e.value&&xl(t.properties[n.property],n).includes(e.value))}}});function xl(e,t){return"boolean"===typeof e?t.attribute:Array.isArray(e)?(t.commaSeparated?xo.P:bo.P)(e):String(e)}function Tl(e,t){return function(n,r){for(var O=wl(n,"tag"),i=wl(null===r||void 0===r?"*":r,"range"),o=[],a=-1;++a=n};var r=Math.abs(t),O=(n%r+r)%r;return t>1?function(e){return e>=n&&e%r===O}:function(e){return e<=n&&e%r===O}}(function(e){if("even"===(e=e.trim().toLowerCase()))return[2,0];if("odd"===e)return[2,1];var t=0,n=0,r=i(),O=o();if(t=_l&&e.charCodeAt(t)<=Zl;)r=10*r+(e.charCodeAt(t)-_l),t++;return t===n?null:r}function a(){for(;t0},lang:function(e,t,n,r,O){return""!==O.language&&void 0!==O.language&&Xl(O.language,(0,xo.Q)(e.value)).length>0},"last-child":function(e,t,n,r,O){return Al(O,e),Boolean(O.elementCount&&O.elementIndex===O.elementCount-1)},"last-of-type":function(e,t,n,r,O){return Al(O,e),"number"===typeof O.typeIndex&&"number"===typeof O.typeCount&&O.typeIndex===O.typeCount-1},matches:ql,not:function(e,t,n,r,O){return!ql(e,t,n,r,O)},"nth-child":function(e,t,n,r,O){var i=Nl(e);return Al(O,e),"number"===typeof O.elementIndex&&i(O.elementIndex)},"nth-last-child":function(e,t,n,r,O){var i=Nl(e);return Al(O,e),Boolean("number"===typeof O.elementCount&&"number"===typeof O.elementIndex&&i(O.elementCount-O.elementIndex-1))},"nth-of-type":function(e,t,n,r,O){var i=Nl(e);return Al(O,e),"number"===typeof O.typeIndex&&i(O.typeIndex)},"nth-last-of-type":function(e,t,n,r,O){var i=Nl(e);return Al(O,e),"number"===typeof O.typeCount&&"number"===typeof O.typeIndex&&i(O.typeCount-1-O.typeIndex)},"only-child":function(e,t,n,r,O){return Al(O,e),1===O.elementCount},"only-of-type":function(e,t,n,r,O){return Al(O,e),1===O.typeCount},optional:function(e,t){return!jl(e,t)},"read-only":function(e,t,n,r,O){return!Cl(e,t,n,r,O)},"read-write":Cl,required:jl,root:function(e,t,n,r,O){return Boolean((!r||"root"===r.type)&&O.schema&&("html"===O.schema.space||"svg"===O.schema.space)&&("html"===t.tagName||"svg"===t.tagName))},scope:function(e,t,n,r,O){return O.scopeElements.includes(t)}}});function Ul(e,t,n,r,O){for(var i=e.pseudos,o=-1;++o"===s.nestingOperator?"directChild":"descendant",l)}else e.found=!0,e.results.includes(n)||e.results.push(n)}null===a.rule.nestingOperator?Ml(i,"descendant",a):"~"===a.rule.nestingOperator&&Ml(i,"generalSibling",a)}return i}(e,Jl(t,e.rootQuery.selectors),n,r,O)),!("children"in n)||e.shallow||e.one&&e.found||function(e,t,n){var r,O=Jl(t.descendant,t.directChild),i=-1,o={count:0,types:new Map},a={count:0,types:new Map};for(;++i0&&t.length>0?[].concat((0,c.Z)(e),(0,c.Z)(t)):e&&e.length>0?e:t&&t.length>0?t:Dl}function Ml(e,t,n){var r=e[t];r?r.push(n):e[t]=[n]}function Bl(e,t){if("element"===t.type){var n=t.tagName.toUpperCase(),r=(e.types.get(n)||0)+1;e.count++,e.types.set(n,r)}}var Hl=new(n(861).N);function Kl(e){if("string"!==typeof e)throw new TypeError("Expected `string` as selector, not `"+e+"`");return Hl.parse(e)}function ec(e,t,n){return{rootQuery:Il(Kl(e)),results:[],scopeElements:t?"root"===t.type?t.children:[t]:[],one:!1,shallow:!1,found:!1,schema:"svg"===n?go.YP:go.dy,language:void 0,direction:"ltr",editableOrEditingHost:!1,typeIndex:void 0,elementIndex:void 0,typeCount:void 0,elementCount:void 0}}Hl.registerAttrEqualityMods("~","|","^","$","*"),Hl.registerSelectorPseudos("any","matches","not","has"),Hl.registerNestingOperators(">","+","~");var tc=function e(){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach((function(n){"text"===n.type?t+=n.value:"element"===n.type&&n.children&&Array.isArray(n.children)&&(t+=e(n.children))})),t},nc=function(e){var t=e||{},n=t.selector,r=t.rewrite;return function(e){if(r&&"function"===typeof r)if(n&&"string"===typeof n){var t=function(e,t,n){var r=ec(e,t,n);return Fl(r,t||void 0),r.results}(n,e);t&&t.length>0&&Ii(e,t,(function(e,t,n){r(e,t,n)}))}else Ii(e,(function(e,t,n){r(e,t,n)}))}},rc={type:"element",tagName:"svg",properties:{className:"octicon octicon-link",viewBox:"0 0 16 16",version:"1.1",width:"16",height:"16",ariaHidden:"true"},children:[{type:"element",tagName:"path",children:[],properties:{fillRule:"evenodd",d:"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"}}]};var Oc=n(8497),ic=n.n(Oc);var oc=function(e){return void 0===e&&(e={}),function(e){Ii(e,(function(e){"element"===e.type&&"code"===e.tagName&&e.data&&e.data.meta&&(e.properties=(0,En.Z)({},e.properties,{"data-meta":String(e.data.meta)}))}))}},ac=["prefixCls","className","source","style","disableCopy","skipHtml","onScroll","onMouseOver","pluginsFilter","rehypeRewrite","wrapperElement","warpperElement"],sc=s.forwardRef((function(e,t){var n=e.prefixCls,r=void 0===n?"wmde-markdown wmde-markdown-color":n,O=e.className,i=e.source,o=e.style,a=e.disableCopy,l=void 0!==a&&a,u=e.skipHtml,p=void 0===u||u,d=e.onScroll,h=e.onMouseOver,f=e.pluginsFilter,m=e.rehypeRewrite,Q=e.wrapperElement,g=void 0===Q?{}:Q,$=e.warpperElement,S=void 0===$?{}:$,P=(0,Yn.Z)(e,ac),y=s.useRef(null);(0,s.useImperativeHandle)(t,(function(){return(0,En.Z)({},e,{mdp:y})}),[y,e]);var v=(r||"")+" "+(O||"");!function(e){var t=(0,s.useCallback)((function(e){var t=e.currentTarget||e.target;t.classList.add("active"),ic()(t.dataset.code,(function(){setTimeout((function(){t.classList.remove("active")}),2e3)}))}),[]);(0,s.useEffect)((function(){var n,r=null==(n=e.current)?void 0:n.querySelectorAll("pre code + div.copied");return r&&Array.from(r).forEach((function(e){return e.addEventListener("click",t,!1)})),function(){r&&Array.from(r).forEach((function(e){return e.removeEventListener("click",t,!1)}))}}),[e])}(y);var b=[oc,[Ql,{ignoreMissing:!0}],Ms,nl,al,[nc,{rewrite:function(e,t,n){if("element"===e.type&&n&&"root"===n.type&&/h(1|2|3|4|5|6)/.test(e.tagName)){var r=e.children&&e.children[0];r&&r.properties&&"true"===r.properties.ariaHidden&&(r.properties=(0,En.Z)({class:"anchor"},r.properties),r.children=[rc])}if("element"===e.type&&"pre"===e.tagName&&!l){var O=tc(e.children);e.children.push((void 0===(i=O)&&(i=""),{type:"element",tagName:"div",properties:{class:"copied","data-code":i},children:[{type:"element",tagName:"svg",properties:{className:"octicon-copy",ariaHidden:"true",viewBox:"0 0 16 16",fill:"currentColor",height:12,width:12},children:[{type:"element",tagName:"path",properties:{fillRule:"evenodd",d:"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"},children:[]},{type:"element",tagName:"path",properties:{fillRule:"evenodd",d:"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"},children:[]}]},{type:"element",tagName:"svg",properties:{className:"octicon-check",ariaHidden:"true",viewBox:"0 0 16 16",fill:"currentColor",height:12,width:12},children:[{type:"element",tagName:"path",properties:{fillRule:"evenodd",d:"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"},children:[]}]}]}))}var i;m&&m(e,t,n)}}],[ol,{properties:"attr"}]].concat((0,c.Z)(P.rehypePlugins||[])),x={allowElement:function(e,t,n){return P.allowElement?P.allowElement(e,t,n):/^[A-Za-z0-9]+$/.test(e.tagName)}};p&&b.push(js);var T=[].concat((0,c.Z)(P.remarkPlugins||[]),[ds]),X=(0,En.Z)({},S,g);return(0,qn.jsx)("div",(0,En.Z)({ref:y,onScroll:d,onMouseOver:h},X,{className:v,style:o,children:(0,qn.jsx)(qo,(0,En.Z)({},x,P,{skipHtml:p,rehypePlugins:f?f("rehype",b):b,remarkPlugins:f?f("remark",T):T,children:i||""}))}))})),lc=n(6250),cc=n(9973),uc=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],pc=["#F0F8FF","#FAEBD7","#00FFFF","#7FFFD4","#F0FFFF","#F5F5DC","#FFE4C4","#000000","#FFEBCD","#0000FF","#8A2BE2","#A52A2A","#DEB887","#5F9EA0","#7FFF00","#D2691E","#FF7F50","#6495ED","#FFF8DC","#DC143C","#00FFFF","#00008B","#008B8B","#B8860B","#A9A9A9","#006400","#A9A9A9","#BDB76B","#8B008B","#556B2F","#FF8C00","#9932CC","#8B0000","#E9967A","#8FBC8F","#483D8B","#2F4F4F","#2F4F4F","#00CED1","#9400D3","#FF1493","#00BFFF","#696969","#696969","#1E90FF","#B22222","#FFFAF0","#228B22","#FF00FF","#DCDCDC","#F8F8FF","#FFD700","#DAA520","#808080","#008000","#ADFF2F","#808080","#F0FFF0","#FF69B4","#CD5C5C","#4B0082","#FFFFF0","#F0E68C","#E6E6FA","#FFF0F5","#7CFC00","#FFFACD","#ADD8E6","#F08080","#E0FFFF","#FAFAD2","#D3D3D3","#90EE90","#D3D3D3","#FFB6C1","#FFA07A","#20B2AA","#87CEFA","#778899","#778899","#B0C4DE","#FFFFE0","#00FF00","#32CD32","#FAF0E6","#FF00FF","#800000","#66CDAA","#0000CD","#BA55D3","#9370DB","#3CB371","#7B68EE","#00FA9A","#48D1CC","#C71585","#191970","#F5FFFA","#FFE4E1","#FFE4B5","#FFDEAD","#000080","#FDF5E6","#808000","#6B8E23","#FFA500","#FF4500","#DA70D6","#EEE8AA","#98FB98","#AFEEEE","#DB7093","#FFEFD5","#FFDAB9","#CD853F","#FFC0CB","#DDA0DD","#B0E0E6","#800080","#663399","#FF0000","#BC8F8F","#4169E1","#8B4513","#FA8072","#F4A460","#2E8B57","#FFF5EE","#A0522D","#C0C0C0","#87CEEB","#6A5ACD","#708090","#708090","#FFFAFA","#00FF7F","#4682B4","#D2B48C","#008080","#D8BFD8","#FF6347","#40E0D0","#EE82EE","#F5DEB3","#FFFFFF","#F5F5F5","#FFFF00","#9ACD32"],dc=/hsla?\(\s*(\+?-?\d*\.?\d*(?:e\+)?(?:\d*)?(?:deg|rad|grad|turn)?)\s*,\s*(\+?\-?\d*\.?\d*(?:e\+)?(?:\d*)?%)\s*,\s*(\+?\-?\d*\.?\d*(?:e\+)?(?:\d*)?%)\s*(,\s*\+?\-?\s*(?:\d*\.?\d*(?:E-\d*)?%?)?)?\s*\)/i,hc=/hsla?\(\s*(\+?-?\d*\.?\d*(?:e\+)?(?:\d*)?(?:deg|rad|grad|turn)?)\s*(\+?\-?\d*\.?\d*(?:e\+)?(?:\d*)?%)\s*(\+?\-?\d*\.?\d*(?:e\+)?(?:\d*)?%)\s*(\/\s*\+?\-?\s*(?:\d*\.?\d*(?:E-\d*)?%?)?)?\s*\)/i,fc=function(e){return e?e.replace(/^(,|\/)\s*/,"").trim():e};function mc(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=dc.exec(e)||hc.exec(e);if(t){var n=(0,a.Z)(t,5),r=(n[0],n[1]),O=n[2],i=n[3],o=n[4];if(o&&/^(:?(\/|,)\s*-?\+?)$/.test(o.trim()))return;return{h:r,s:O,l:i,a:fc(o)}}}function Qc(e){var t=mc(e);if(t){var n,r=t.h,O=t.s,i=t.l,o=t.a,a=0,s=0,l=0;/\s*\d*turn\s*$/.test(r)?a=360*Number(r.replace(/turn\s*$/i,"")):/\s*\d*grad\s*$/.test(r)?a=function(e){var t=Number(e);(t%=400)<0&&(t+=400);return t/400*360}(r.replace(/grad\s*$/i,"")):/\s*\d*rad\s*$/.test(r)&&(n=Number(r.replace(/rad\s*$/i,"")),a=Number((n*(180/Math.PI)).toFixed())),/^((-|\+)?\d*|(-|\+)?\d*?.\d*(e\+)?\d*?)$/.test(r.replace(/deg$/i,""))&&(a=Number(r.replace(/deg$/i,""))),a>360&&(a=360),a<0&&(a=0),/^((-|\+)?\d*|(-|\+)?\d*?.\d*(e\+)?\d*?)%$/.test(O)&&(s=Number(O.replace(/%$/,""))),s>100&&(s=100),s<0&&(s=0),/^((-|\+)?\d*|(-|\+)?\d*?.\d*(e\+)?\d*?)%$/.test(i)&&(l=Number(i.replace(/%$/,""))),l>100&&(l=100),l<0&&(l=0),l/=100;var c=function(e){return(e+a/30)%12},u=(s/=100)*Math.min(l,1-l),p=function(e){return l-u*Math.max(-1,Math.min(c(e)-3,Math.min(9-c(e),1)))},d=function(e){return Number(e.toFixed())};if(o&&/^\+?-?\d*(E-\d*|.\d*%?)?$/.test(o)){var h=/%/g.test(o)?Number(o.replace(/%/g,""))/100:Number(o);return{r:d(255*p(0)),g:d(255*p(8)),b:d(255*p(4)),a:h}}return{r:d(255*p(0)),g:d(255*p(8)),b:d(255*p(4))}}}function gc(e){return 4===e.length?["#"+e[1].repeat(2)+e[2].repeat(2)+e[3].repeat(2),""]:5===e.length?["#"+e[1].repeat(2)+e[2].repeat(2)+e[3].repeat(2),e[4].repeat(2)]:9===e.length?["#"+e.slice(1,-2),e.slice(-2)]:[e,""]}function $c(e,t,n){return"#"+((1<<24)+(e<<16)+(t<<8)+n).toString(16).slice(1)}function Sc(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}var Pc=["color","colorRaw"],yc=function(e){return e.rgb="RGB",e.hex="HEX",e.named="NAMED",e.hsl="HSL",e}({}),vc=new WeakMap;function bc(e){var t,n=[],r=(0,T.Z)(e.visibleRanges);try{for(r.s();!(t=r.n()).done;){var O=t.value;(0,cc.qz)(e.state).iterate({from:O.from,to:O.to,enter:function(t){var r=t.type,O=t.from,i=t.to,o=e.state.doc.sliceString(O,i);if("CallExpression"===r.name&&o.startsWith("rgb")){var s=/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,?\s*(\d{1,3})\s*(,\s*\d*\.\d*\s*)?\)/i.exec(o)||/rgba?\(\s*(\d{1,3})\s*(\d{1,3})\s*(\d{1,3})\s*(\/?\s*\d+%)?(\/\s*\d+\.\d\s*)?\)/i.exec(o);if(!s)return;var l=(0,a.Z)(s,5),c=(l[0],l[1]),u=l[2],p=l[3],d=l[4],h=$c(Number(c),Number(u),Number(p)),f=lc.p.widget({widget:new Tc({colorType:yc.rgb,color:h,colorRaw:o,from:O,to:i,alpha:d?d.replace(/(\/|,)/g,""):""}),side:0});n.push(f.range(O))}else if("CallExpression"===r.name&&mc(o)){var m=Qc(o);if(!m)return;var Q=m.r,g=m.g,$=m.b,S=$c(Number(Q),Number(g),Number($)),P=lc.p.widget({widget:new Tc({colorType:yc.hsl,color:S,colorRaw:o,from:O,to:i,alpha:m.a?m.a.toString():""}),side:0});n.push(P.range(O))}else if("ColorLiteral"===r.name){var y=gc(o),v=(0,a.Z)(y,2),b=v[0],x=v[1],T=lc.p.widget({widget:new Tc({colorType:yc.hex,color:b,colorRaw:o,from:O,to:i,alpha:x}),side:0});n.push(T.range(O))}else if("ValueName"===r.name){var X=o;if(uc.includes(X)){var w=lc.p.widget({widget:new Tc({colorType:yc.named,color:pc[uc.indexOf(X)],colorRaw:o,from:O,to:i,alpha:""}),side:0});n.push(w.range(O))}}}})}}catch(i){r.e(i)}finally{r.f()}return lc.p.set(n)}var xc,Tc=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;(0,u.Z)(this,n);var O=e.color,i=e.colorRaw,o=(0,Yn.Z)(e,Pc);return(r=t.call(this)).state=void 0,r.color=void 0,r.colorRaw=void 0,r.state=o,r.color=O,r.colorRaw=i,r}return(0,p.Z)(n,[{key:"eq",value:function(e){return e.state.colorType===this.state.colorType&&e.color===this.color&&e.state.from===this.state.from&&e.state.to===this.state.to&&e.state.alpha===this.state.alpha}},{key:"toDOM",value:function(){var e=document.createElement("input");vc.set(e,this.state),e.type="color",e.value=this.color,e.dataset.color=this.color,e.dataset.colorraw=this.colorRaw;var t=document.createElement("span");return t.appendChild(e),t.dataset.color=this.color,t.style.backgroundColor=this.colorRaw,t}},{key:"ignoreEvent",value:function(){return!1}}]),n}(lc.l9),Xc=lc.tk.baseTheme({"span[data-color]":{width:"12px",height:"12px",display:"inline-block",borderRadius:"2px",marginRight:"0.5ch",outline:"1px solid #00000040",overflow:"hidden",verticalAlign:"middle",marginTop:"-2px"},'span[data-color] input[type="color"]':{background:"transparent",display:"block",border:"none",outline:"0",paddingLeft:"24px",height:"12px"},'span[data-color] input[type="color"]::-webkit-color-swatch':{border:"none",paddingLeft:"24px"}}),wc=[(void 0===xc&&(xc=!0),lc.lg.fromClass(function(){function e(t){(0,u.Z)(this,e),this.decorations=void 0,this.decorations=bc(t)}return(0,p.Z)(e,[{key:"update",value:function(e){(e.docChanged||e.viewportChanged)&&(this.decorations=bc(e.view));var t="true"===e.view.contentDOM.ariaReadOnly,n="true"===e.view.contentDOM.contentEditable,r=!1===t&&n;this.changePicker(e.view,r)}},{key:"changePicker",value:function(e,t){e.contentDOM.querySelectorAll("input[type=color]").forEach((function(e){xc&&t?e.removeAttribute("disabled"):e.setAttribute("disabled","")}))}}]),e}(),{decorations:function(e){return e.decorations},eventHandlers:{change:function(e,t){var n=e.target;if("INPUT"!==n.nodeName||!n.parentElement||!n.dataset.color&&!n.dataset.colorraw)return!1;var r=vc.get(n),O=n.value,i=Sc(O),o=n.dataset.colorraw,a=(n.dataset.colorraw||"").indexOf("/")>4,s=(n.dataset.colorraw||"").indexOf(",")>4,l=n.value;if(r.colorType===yc.rgb){var c=null!=o&&o.match(/^(rgba?)/)?null==o?void 0:o.match(/^(rgba?)/)[0]:void 0;l=s?i?c+"("+i.r+", "+i.g+", "+i.b+(r.alpha?", "+r.alpha.trim():"")+")":O:a?i?c+"("+i.r+" "+i.g+" "+i.b+(r.alpha?" / "+r.alpha.trim():"")+")":O:i?c+"("+i.r+" "+i.g+" "+i.b+")":O}else if(r.colorType===yc.hsl){var u=Sc(O);if(u){var p=function(e,t,n){e/=255,t/=255,n/=255;var r,O=Math.max(e,t,n),i=Math.min(e,t,n),o=0,a=(O+i)/2;if(O==i)o=r=0;else{var s=O-i;switch(r=a>.5?s/(2-O-i):s/(O+i),O){case e:o=(t-n)/s+(t {\n console.log('value:', value);\n }, []);\n return (\n \n );\n}\nexport default App;"}},source:"

\n \n \"react-codemirror\n \n

\n\n# react-codemirror\n\n[![jsdelivr CDN](https://data.jsdelivr.com/v1/package/npm/@uiw/react-codemirror/badge?style=rounded)](https://www.jsdelivr.com/package/npm/@uiw/react-codemirror)\n[![NPM Downloads](https://img.shields.io/npm/dm/@uiw/react-codemirror.svg?style=flat)](https://www.npmjs.com/package/@uiw/react-codemirror)\n[![Build & Deploy](https://github.com/uiwjs/react-codemirror/workflows/Build%20&%20Deploy/badge.svg)](https://github.com/uiwjs/react-codemirror/actions)\n[![Open in unpkg](https://img.shields.io/badge/Open%20in-unpkg-blue)](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-codemirror/file/README.md)\n[![npm version](https://img.shields.io/npm/v/@uiw/react-codemirror.svg)](https://www.npmjs.com/package/@uiw/react-codemirror)\n[![Coverage Status](https://uiwjs.github.io/react-codemirror/coverage/badges.svg)](https://uiwjs.github.io/react-codemirror/coverage/lcov-report/)\n[![Open in Gitpod](https://shields.io/badge/Open%20in-Gitpod-green?logo=Gitpod)](https://gitpod.io/#https://github.com/uiwjs/react-codemirror)\n\nCodeMirror component for React. Demo Preview: [@uiwjs.github.io/react-codemirror](https://uiwjs.github.io/react-codemirror/)\n\n\x3c!--rehype:style=border-left: 8px solid #ffe564;background-color: #ffe56440;padding: 12px 16px;--\x3e\n\n**Features:**\n\n\ud83d\ude80 Quickly and easily configure the API. \n\ud83c\udf31 Versions after `@uiw/react-codemirror@v4`\x3c!--rehype:style=background-color: #ffe564; padding: 1px 4px;--\x3e use [codemirror 6](https://codemirror.net/). [#88](https://github.com/uiwjs/react-codemirror/issues/88#issuecomment-914185563). \n\u269b\ufe0f Support the features of React Hook(requires React 16.8+). \n\ud83d\udcda Use Typescript to write, better code hints. \n\ud83c\udf10 The bundled version supports use directly in the browser [#267](https://github.com/uiwjs/react-codemirror/issues/267#issuecomment-1041227592). \n\ud83c\udf0e There are better [sample previews](https://uiwjs.github.io/react-codemirror). \n\ud83c\udfa8 Support [theme](https://uiwjs.github.io/react-codemirror/#/theme/data/dracula) customization, provide theme [editor](https://uiwjs.github.io/react-codemirror/#/theme/editor).\n\n## Install\n\n**Not dependent on uiw.**\n\n```bash\nnpm install @uiw/react-codemirror --save\n```\n\n**All Packages**\n\n| Name | NPM Version | Website |\n| :------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |\n| `@uiw/react-codemirror` | [![npm version](https://img.shields.io/npm/v/@uiw/react-codemirror.svg)](https://www.npmjs.com/package/@uiw/react-codemirror) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/react-codemirror.svg?style=flat)](https://www.npmjs.com/package/@uiw/react-codemirror) | [`#preview`](https://uiwjs.github.io/react-codemirror/) |\n| `@uiw/codemirror-extensions-basic-setup` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-basic-setup.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-basic-setup) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-basic-setup.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-basic-setup) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/basic-setup) |\n| `@uiw/codemirror-extensions-color` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-color.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-color) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-color.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-color) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/color) |\n| `@uiw/codemirror-extensions-classname` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-classname.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-classname) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-classname.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-classname) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/classname) |\n| `@uiw/codemirror-extensions-events` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-events.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-events) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-events.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-events) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/events) |\n| `@uiw/codemirror-extensions-hyper-link` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-hyper-link.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-hyper-link) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-hyper-link.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-hyper-link) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/hyper-link) |\n| `@uiw/codemirror-extensions-langs` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-langs.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-langs) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-langs.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-langs) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/languages) |\n| `@uiw/codemirror-extensions-line-numbers-relative` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-line-numbers-relative.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-line-numbers-relative) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-line-numbers-relative.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-line-numbers-relative) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/line-numbers-relative) |\n| `@uiw/codemirror-extensions-mentions` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-mentions.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-mentions) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-mentions.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-mentions) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/mentions) |\n| `@uiw/codemirror-extensions-zebra-stripes` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-zebra-stripes.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-zebra-stripes) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-zebra-stripes.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-zebra-stripes) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/extensions/zebra-stripes) |\n| `@uiw/codemirror-themes` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-themes.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-themes) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/doc) |\n\n| Name | NPM Version | Website |\n| :---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |\n| `@uiw/codemirror-themes-all` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes-all.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes-all) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-themes-all.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-themes-all) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/all) |\n| `@uiw/codemirror-theme-abcdef` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abcdef.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-abcdef) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-abcdef.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-abcdef) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/abcdef) |\n| `@uiw/codemirror-theme-androidstudio` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-androidstudio.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-androidstudio.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/androidstudio) |\n| `@uiw/codemirror-theme-atomone` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-atomone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-atomone) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-atomone.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-atomone) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/atomone) |\n| `@uiw/codemirror-theme-aura` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-aura.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-aura) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-aura.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-aura) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/aura) |\n| `@uiw/codemirror-theme-bbedit` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bbedit.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bbedit) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-bbedit.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-bbedit) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/bbedit) |\n| `@uiw/codemirror-theme-bespin` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bespin.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bespin) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-bespin.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-bespin) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/bespin) |\n| `@uiw/codemirror-theme-duotone` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-duotone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-duotone) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-duotone.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-duotone) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/duotone/light) |\n| `@uiw/codemirror-theme-dracula` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-dracula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-dracula) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-dracula.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-dracula) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/dracula) |\n| `@uiw/codemirror-theme-darcula` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-darcula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-darcula) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-darcula.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-darcula) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/darcula) |\n| `@uiw/codemirror-theme-eclipse` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-eclipse.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-eclipse) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-eclipse.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-eclipse) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/eclipse) |\n| `@uiw/codemirror-theme-github` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-github.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-github) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-github.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-github) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/github) |\n| `@uiw/codemirror-theme-gruvbox-dark` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-gruvbox-dark.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-gruvbox-dark) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-gruvbox-dark.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-gruvbox-dark) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/gruvbox/dark) |\n| `@uiw/codemirror-theme-material` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-material.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-material) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-material.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-material) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/material/dark) |\n| `@uiw/codemirror-theme-noctis-lilac` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-noctis-lilac.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-noctis-lilac) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-noctis-lilac.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-noctis-lilac) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/noctis-lilac) |\n| `@uiw/codemirror-theme-nord` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-nord.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-nord) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-nord.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-nord) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/nord) |\n| `@uiw/codemirror-theme-okaidia` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-okaidia.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-okaidia) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-okaidia.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-okaidia) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/okaidia) |\n| `@uiw/codemirror-theme-solarized` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-solarized.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-solarized) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-solarized.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-solarized) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/solarized/dark) |\n| `@uiw/codemirror-theme-sublime` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-sublime.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-sublime) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-sublime.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-sublime) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/sublime) |\n| `@uiw/codemirror-theme-tokyo-night` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night) |\n| `@uiw/codemirror-theme-tokyo-night-storm` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-storm.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night-storm.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night-storm) |\n| `@uiw/codemirror-theme-tokyo-night-day` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-day.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night-day.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night-day) |\n| `@uiw/codemirror-theme-vscode` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-vscode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-vscode.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/vscode) |\n| `@uiw/codemirror-theme-xcode` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-xcode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-xcode.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/xcode) |\n\n\x3c!--rehype:style=width: 100%; display: inline-table;--\x3e\n\n## Usage\n\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-slvju?fontsize=14&hidenavigation=1&theme=dark)\n\n```jsx mdx:preview\nimport React from 'react';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n const onChange = React.useCallback((value, viewUpdate) => {\n console.log('value:', value);\n }, []);\n return (\n \n );\n}\nexport default App;\n```\n\n## Support Language\n\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-language-rz4rh?fontsize=14&hidenavigation=1&theme=dark)\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { StreamLanguage } from '@codemirror/language';\nimport { go } from '@codemirror/legacy-modes/mode/go';\n\nconst goLang = `package main\nimport \"fmt\"\n\nfunc main() {\n fmt.Println(\"Hello, \u4e16\u754c\")\n}`;\n\nexport default function App() {\n return ;\n}\n```\n\n- ~~`@codemirror/legacy-modes/mode/cpp`~~ => [`@codemirror/lang-cpp`](https://www.npmjs.com/package/@codemirror/lang-cpp)\n- ~~`@codemirror/legacy-modes/mode/css`~~ => [`@codemirror/lang-css`](https://www.npmjs.com/package/@codemirror/lang-css)\n- ~~`@codemirror/legacy-modes/mode/html`~~ => [`@codemirror/lang-html`](https://www.npmjs.com/package/@codemirror/lang-html)\n- ~~`@codemirror/legacy-modes/mode/java`~~ => [`@codemirror/lang-java`](https://www.npmjs.com/package/@codemirror/lang-java)\n- ~~`@codemirror/legacy-modes/mode/javascript`~~ => [`@codemirror/lang-javascript`](https://www.npmjs.com/package/@codemirror/lang-javascript)\n- ~~`@codemirror/legacy-modes/mode/json`~~ => [`@codemirror/lang-json`](https://www.npmjs.com/package/@codemirror/lang-json)\n- ~~`@codemirror/legacy-modes/mode/lezer`~~ => [`@codemirror/lang-lezer`](https://www.npmjs.com/package/@codemirror/lang-lezer)\n- ~~`@codemirror/legacy-modes/mode/markdown`~~ => [`@codemirror/lang-markdown`](https://www.npmjs.com/package/@codemirror/lang-markdown)\n- ~~`@codemirror/legacy-modes/mode/php`~~ => [`@codemirror/lang-php`](https://www.npmjs.com/package/@codemirror/lang-php)\n- ~~`@codemirror/legacy-modes/mode/python`~~ => [`@codemirror/lang-python`](https://www.npmjs.com/package/@codemirror/lang-python)\n- ~~`@codemirror/legacy-modes/mode/rust`~~ => [`@codemirror/lang-rust`](https://www.npmjs.com/package/@codemirror/lang-rust)\n- ~~`@codemirror/legacy-modes/mode/sql`~~ => [`@codemirror/lang-sql`](https://www.npmjs.com/package/@codemirror/lang-sql)\n- ~~`@codemirror/legacy-modes/mode/xml`~~ => [`@codemirror/lang-xml`](https://www.npmjs.com/package/@codemirror/lang-xml)\n- ~~`@codemirror/legacy-modes/mode/wast`~~ => [`@codemirror/lang-wast`](https://www.npmjs.com/package/@codemirror/lang-wast)\n\n### Markdown Example\n\nMarkdown language code is automatically highlighted.\n\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-markdown-auto-languages-iudnj?fontsize=14&hidenavigation=1&theme=dark)\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { markdown, markdownLanguage } from '@codemirror/lang-markdown';\nimport { languages } from '@codemirror/language-data';\n\nconst code = `## Title\n\n\\`\\`\\`jsx\nfunction Demo() {\n return
demo
\n}\n\\`\\`\\`\n\n\\`\\`\\`bash\n# Not dependent on uiw.\nnpm install @codemirror/lang-markdown --save\nnpm install @codemirror/language-data --save\n\\`\\`\\`\n\n[weisit ulr](https://uiwjs.github.io/react-codemirror/)\n\n\\`\\`\\`go\npackage main\nimport \"fmt\"\nfunc main() {\n fmt.Println(\"Hello, \u4e16\u754c\")\n}\n\\`\\`\\`\n`;\n\nexport default function App() {\n return ;\n}\n```\n\n## Codemirror Merge\n\n```jsx\nimport CodeMirrorMerge from 'react-codemirror-merge';\nimport { EditorView } from 'codemirror';\nimport { EditorState } from '@codemirror/state';\n\nconst Original = CodeMirrorMerge.Original;\nconst Modified = CodeMirrorMerge.Modified;\nlet doc = `one\ntwo\nthree\nfour\nfive`;\n\nexport const Example = () => {\n return (\n \n \n \n \n );\n};\n```\n\n## Support Hook\n\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-hook-yr4vg?fontsize=14&hidenavigation=1&theme=dark)\n\n```jsx\nimport { useEffect, useMemo, useRef } from 'react';\nimport { useCodeMirror } from '@uiw/react-codemirror';\nimport { javascript } from '@codemirror/lang-javascript';\n\nconst code = \"console.log('hello world!');\\n\\n\\n\";\n// Define the extensions outside the component for the best performance.\n// If you need dynamic extensions, use React.useMemo to minimize reference changes\n// which cause costly re-renders.\nconst extensions = [javascript()];\n\nexport default function App() {\n const editor = useRef();\n const { setContainer } = useCodeMirror({\n container: editor.current,\n extensions,\n value: code,\n });\n\n useEffect(() => {\n if (editor.current) {\n setContainer(editor.current);\n }\n }, [editor.current]);\n\n return
;\n}\n```\n\n## Using Theme\n\nWe have created a [`theme editor`](https://uiwjs.github.io/react-codemirror/#/theme/editor) where you can define your own theme. We have also defined [some themes](https://uiwjs.github.io/react-codemirror/#/theme/data/okaidia) ourselves, which can be installed and used directly. Below is a usage example:\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { okaidia } from '@uiw/codemirror-theme-okaidia';\n\nconst extensions = [javascript({ jsx: true })];\n\nexport default function App() {\n return (\n \n );\n}\n```\n\n## Using custom theme\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tags as t } from '@lezer/highlight';\n\nconst myTheme = createTheme({\n theme: 'light',\n settings: {\n background: '#ffffff',\n foreground: '#75baff',\n caret: '#5d00ff',\n selection: '#036dd626',\n selectionMatch: '#036dd626',\n lineHighlight: '#8a91991a',\n gutterBackground: '#fff',\n gutterForeground: '#8a919966',\n },\n styles: [\n { tag: t.comment, color: '#787b8099' },\n { tag: t.variableName, color: '#0080ff' },\n { tag: [t.string, t.special(t.brace)], color: '#5c6166' },\n { tag: t.number, color: '#5c6166' },\n { tag: t.bool, color: '#5c6166' },\n { tag: t.null, color: '#5c6166' },\n { tag: t.keyword, color: '#5c6166' },\n { tag: t.operator, color: '#5c6166' },\n { tag: t.className, color: '#5c6166' },\n { tag: t.definition(t.typeName), color: '#5c6166' },\n { tag: t.typeName, color: '#5c6166' },\n { tag: t.angleBracket, color: '#5c6166' },\n { tag: t.tagName, color: '#5c6166' },\n { tag: t.attributeName, color: '#5c6166' },\n ],\n});\nconst extensions = [javascript({ jsx: true })];\n\nexport default function App() {\n const onChange = React.useCallback((value, viewUpdate) => {\n console.log('value:', value);\n }, []);\n return (\n \n );\n}\n```\n\n## Use `initialState` to restore state from JSON-serialized representation\n\nCodeMirror allows to serialize editor state to JSON representation with [toJSON](https://codemirror.net/docs/ref/#state.EditorState.toJSON) function for persistency or other needs. This JSON representation can be later used to recreate ReactCodeMirror component with the same internal state.\n\nFor example, this is how undo history can be saved in the local storage, so that it remains after the page reloads\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { historyField } from '@codemirror/commands';\n\n// When custom fields should be serialized, you can pass them in as an object mapping property names to fields.\n// See [toJSON](https://codemirror.net/docs/ref/#state.EditorState.toJSON) documentation for more details\nconst stateFields = { history: historyField };\n\nexport function EditorWithInitialState() {\n const serializedState = localStorage.getItem('myEditorState');\n const value = localStorage.getItem('myValue') || '';\n\n return (\n {\n localStorage.setItem('myValue', value);\n\n const state = viewUpdate.state.toJSON(stateFields);\n localStorage.setItem('myEditorState', JSON.stringify(state));\n }}\n />\n );\n}\n```\n\n## Props\n\n\x3c!--rehype:style=background-color: #ffe564; display: inline-block; border-bottom: 0; padding: 3px 12px;--\x3e\n\n- `value?: string` value of the auto created model in the editor.\n- `width?: string` width of editor. Defaults to `auto`.\n- `height?: string` height of editor. Defaults to `auto`.\n- `theme?`: `'light'` / `'dark'` / `Extension` Defaults to `'light'`.\n\n```ts\nimport React from 'react';\nimport { EditorState, EditorStateConfig, Extension } from '@codemirror/state';\nimport { EditorView, ViewUpdate } from '@codemirror/view';\nexport * from '@codemirror/view';\nexport * from '@codemirror/basic-setup';\nexport * from '@codemirror/state';\nexport interface UseCodeMirror extends ReactCodeMirrorProps {\n container?: HTMLDivElement | null;\n}\nexport declare function useCodeMirror(props: UseCodeMirror): {\n state: EditorState | undefined;\n setState: import('react').Dispatch>;\n view: EditorView | undefined;\n setView: import('react').Dispatch>;\n container: HTMLDivElement | null | undefined;\n setContainer: import('react').Dispatch>;\n};\nexport interface ReactCodeMirrorProps\n extends Omit,\n Omit, 'onChange' | 'placeholder'> {\n /** value of the auto created model in the editor. */\n value?: string;\n height?: string;\n minHeight?: string;\n maxHeight?: string;\n width?: string;\n minWidth?: string;\n maxWidth?: string;\n /** focus on the editor. */\n autoFocus?: boolean;\n /** Enables a placeholder\u2014a piece of example content to show when the editor is empty. */\n placeholder?: string | HTMLElement;\n /**\n * `light` / `dark` / `Extension` Defaults to `light`.\n * @default light\n */\n theme?: 'light' | 'dark' | Extension;\n /**\n * Whether to optional basicSetup by default\n * @default true\n */\n basicSetup?: boolean | BasicSetupOptions;\n /**\n * This disables editing of the editor content by the user.\n * @default true\n */\n editable?: boolean;\n /**\n * This disables editing of the editor content by the user.\n * @default false\n */\n readOnly?: boolean;\n /**\n * Controls whether pressing the `Tab` key inserts a tab character and indents the text (`true`)\n * or behaves according to the browser's default behavior (`false`).\n * @default true\n */\n indentWithTab?: boolean;\n /** Fired whenever a change occurs to the document. */\n onChange?(value: string, viewUpdate: ViewUpdate): void;\n /** Some data on the statistics editor. */\n onStatistics?(data: Statistics): void;\n /** The first time the editor executes the event. */\n onCreateEditor?(view: EditorView, state: EditorState): void;\n /** Fired whenever any state change occurs within the editor, including non-document changes like lint results. */\n onUpdate?(viewUpdate: ViewUpdate): void;\n /**\n * Extension values can be [provided](https://codemirror.net/6/docs/ref/#state.EditorStateConfig.extensions) when creating a state to attach various kinds of configuration and behavior information.\n * They can either be built-in extension-providing objects,\n * such as [state fields](https://codemirror.net/6/docs/ref/#state.StateField) or [facet providers](https://codemirror.net/6/docs/ref/#state.Facet.of),\n * or objects with an extension in its `extension` property. Extensions can be nested in arrays arbitrarily deep\u2014they will be flattened when processed.\n */\n extensions?: Extension[];\n /**\n * If the view is going to be mounted in a shadow root or document other than the one held by the global variable document (the default), you should pass it here.\n * Originally from the [config of EditorView](https://codemirror.net/6/docs/ref/#view.EditorView.constructor%5Econfig.root)\n */\n root?: ShadowRoot | Document;\n /**\n * Create a state from its JSON representation serialized with [toJSON](https://codemirror.net/docs/ref/#state.EditorState.toJSON) function\n */\n initialState?: {\n json: any;\n fields?: Record<'string', StateField>;\n };\n}\nexport interface ReactCodeMirrorRef {\n editor?: HTMLDivElement | null;\n state?: EditorState;\n view?: EditorView;\n}\ndeclare const ReactCodeMirror: React.ForwardRefExoticComponent<\n ReactCodeMirrorProps & React.RefAttributes\n>;\nexport default ReactCodeMirror;\nexport interface BasicSetupOptions {\n lineNumbers?: boolean;\n highlightActiveLineGutter?: boolean;\n highlightSpecialChars?: boolean;\n history?: boolean;\n foldGutter?: boolean;\n drawSelection?: boolean;\n dropCursor?: boolean;\n allowMultipleSelections?: boolean;\n indentOnInput?: boolean;\n syntaxHighlighting?: boolean;\n bracketMatching?: boolean;\n closeBrackets?: boolean;\n autocompletion?: boolean;\n rectangularSelection?: boolean;\n crosshairCursor?: boolean;\n highlightActiveLine?: boolean;\n highlightSelectionMatches?: boolean;\n closeBracketsKeymap?: boolean;\n defaultKeymap?: boolean;\n searchKeymap?: boolean;\n historyKeymap?: boolean;\n foldKeymap?: boolean;\n completionKeymap?: boolean;\n lintKeymap?: boolean;\n}\n```\n\n```ts\nimport { EditorSelection, SelectionRange } from '@codemirror/state';\nimport { ViewUpdate } from '@codemirror/view';\nexport interface Statistics {\n /** Get the number of lines in the editor. */\n lineCount: number;\n /** total length of the document */\n length: number;\n /** Get the proper [line-break](https://codemirror.net/docs/ref/#state.EditorState^lineSeparator) string for this state. */\n lineBreak: string;\n /** Returns true when the editor is [configured](https://codemirror.net/6/docs/ref/#state.EditorState^readOnly) to be read-only. */\n readOnly: boolean;\n /** The size (in columns) of a tab in the document, determined by the [`tabSize`](https://codemirror.net/6/docs/ref/#state.EditorState^tabSize) facet. */\n tabSize: number;\n /** Cursor Position */\n selection: EditorSelection;\n /** Make sure the selection only has one range. */\n selectionAsSingle: SelectionRange;\n /** Retrieves a list of all current selections. */\n ranges: readonly SelectionRange[];\n /** Get the currently selected code. */\n selectionCode: string;\n /**\n * The length of the given array should be the same as the number of active selections.\n * Replaces the content of the selections with the strings in the array.\n */\n selections: string[];\n /** Return true if any text is selected. */\n selectedText: boolean;\n}\nexport declare const getStatistics: (view: ViewUpdate) => Statistics;\n```\n\n### Related\n\n- [@uiw/react-textarea-code-editor](https://github.com/uiwjs/react-textarea-code-editor): A simple code editor with syntax highlighting.\n- [@uiw/react-md-editor](https://github.com/uiwjs/react-md-editor): A simple markdown editor with preview, implemented with React.js and TypeScript.\n- [@uiw/react-monacoeditor](https://github.com/jaywcjlove/react-monacoeditor): Monaco Editor component for React.\n- [@uiw/react-markdown-editor](https://github.com/uiwjs/react-markdown-editor): A markdown editor with preview, implemented with React.js and TypeScript.\n- [@uiw/react-markdown-preview](https://github.com/uiwjs/react-markdown-preview): React component preview markdown text in web browser.\n- [Online JSON Viewer](https://github.com/uiwjs/json-viewer) Online JSON Viewer, JSON Beautifier to beautify and tree view of JSON data - It works as JSON Pretty Print to pretty print JSON data.\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n"},_c=n(8992),Zc=n(2029),Wc=function(e){var t=e.theme,n=e.settings,r=void 0===n?{}:n,O=e.styles,i=void 0===O?[]:O,o={".cm-gutters":{}},a={};r.background&&(a.backgroundColor=r.background),r.foreground&&(a.color=r.foreground),(r.background||r.foreground)&&(o["&"]=a),r.fontFamily&&(o["&.cm-editor .cm-scroller"]={fontFamily:r.fontFamily}),r.gutterBackground&&(o[".cm-gutters"].backgroundColor=r.gutterBackground),r.gutterForeground&&(o[".cm-gutters"].color=r.gutterForeground),r.gutterBorder&&(o[".cm-gutters"].borderRightColor=r.gutterBorder),r.caret&&(o[".cm-content"]={caretColor:r.caret},o[".cm-cursor, .cm-dropCursor"]={borderLeftColor:r.caret});var s={};r.gutterActiveForeground&&(s.color=r.gutterActiveForeground),r.lineHighlight&&(o[".cm-activeLine"]={backgroundColor:r.lineHighlight},s.backgroundColor=r.lineHighlight),o[".cm-activeLineGutter"]=s,r.selection&&(o["&.cm-focused .cm-selectionBackground, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection"]={backgroundColor:r.selection}),r.selectionMatch&&(o["& .cm-selectionMatch"]={backgroundColor:r.selectionMatch});var l=lc.tk.theme(o,{dark:"dark"===t}),c=cc.Qf.define(i);return[l,(0,cc.nF)(c)]},Rc=Wc,Ec={background:"#0f0f0f",foreground:"#defdef",caret:"#00FF00",selection:"#515151",selectionMatch:"#515151",gutterBackground:"#555",gutterForeground:"#FFFFFF",lineHighlight:"#314151"},Yc=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},Ec,i),styles:[{tag:Zc.pJ.keyword,color:"darkgoldenrod",fontWeight:"bold"},{tag:Zc.pJ.atom,color:"#77F"},{tag:Zc.pJ.comment,color:"#7a7b7c",fontStyle:"italic"},{tag:Zc.pJ.number,color:"violet"},{tag:Zc.pJ.definition(Zc.pJ.variableName),color:"#fffabc"},{tag:Zc.pJ.variableName,color:"#abcdef"},{tag:Zc.pJ.function(Zc.pJ.variableName),color:"#fffabc"},{tag:Zc.pJ.typeName,color:"#FFDD44"},{tag:Zc.pJ.tagName,color:"#def"},{tag:Zc.pJ.string,color:"#2b4"},{tag:Zc.pJ.meta,color:"#C9F"},{tag:Zc.pJ.bracket,color:"#8a8a8a"},{tag:Zc.pJ.attributeName,color:"#DDFF00"},{tag:Zc.pJ.heading,color:"aquamarine",fontWeight:"bold"},{tag:Zc.pJ.link,color:"blueviolet",fontWeight:"bold"}].concat((0,c.Z)(a))})},Uc=Yc(),zc={background:"#282b2e",foreground:"#a9b7c6",caret:"#00FF00",selection:"#343739",selectionMatch:"#343739",lineHighlight:"#343739"},qc=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},zc,i),styles:[{tag:[Zc.pJ.keyword,Zc.pJ.deleted,Zc.pJ.className],color:"#cc7832"},{tag:[Zc.pJ.number,Zc.pJ.literal,Zc.pJ.derefOperator],color:"#6897bb"},{tag:[Zc.pJ.link,Zc.pJ.variableName],color:"#629755"},{tag:[Zc.pJ.comment,Zc.pJ.quote],color:"grey"},{tag:[Zc.pJ.meta,Zc.pJ.documentMeta],color:"#bbb529"},{tag:[Zc.pJ.string,Zc.pJ.propertyName,Zc.pJ.attributeValue],color:"#6a8759"},{tag:[Zc.pJ.heading,Zc.pJ.typeName],color:"#ffc66d"},{tag:[Zc.pJ.attributeName],color:"#a9b7c6"},{tag:[Zc.pJ.emphasis],fontStyle:"italic"}].concat((0,c.Z)(a))})},Cc=qc(),jc={background:"#272C35",foreground:"#9d9b97",caret:"#797977",selection:"#ffffff30",selectionMatch:"#2B323D",gutterBackground:"#272C35",gutterForeground:"#465063",gutterBorder:"transparent",lineHighlight:"#2B323D"},Vc=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},jc,i),styles:[{tag:[Zc.pJ.function(Zc.pJ.variableName),Zc.pJ.function(Zc.pJ.propertyName),Zc.pJ.url,Zc.pJ.processingInstruction],color:"hsl(207, 82%, 66%)"},{tag:[Zc.pJ.tagName,Zc.pJ.heading],color:"#e06c75"},{tag:Zc.pJ.comment,color:"#54636D"},{tag:[Zc.pJ.propertyName],color:"hsl(220, 14%, 71%)"},{tag:[Zc.pJ.attributeName,Zc.pJ.number],color:"hsl( 29, 54%, 61%)"},{tag:Zc.pJ.className,color:"hsl( 39, 67%, 69%)"},{tag:Zc.pJ.keyword,color:"hsl(286, 60%, 67%)"},{tag:[Zc.pJ.string,Zc.pJ.regexp,Zc.pJ.special(Zc.pJ.propertyName)],color:"#98c379"}].concat((0,c.Z)(a))})},Ac=Vc(),Nc={background:"#21202e",foreground:"#edecee",caret:"#a277ff",selection:"#3d375e7f",selectionMatch:"#3d375e7f",gutterBackground:"#21202e",gutterForeground:"#edecee",gutterBorder:"transparent",lineHighlight:"#a394f033"},Gc=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},Nc,i),styles:[{tag:Zc.pJ.keyword,color:"#a277ff"},{tag:[Zc.pJ.name,Zc.pJ.deleted,Zc.pJ.character,Zc.pJ.macroName],color:"#edecee"},{tag:[Zc.pJ.propertyName],color:"#ffca85"},{tag:[Zc.pJ.processingInstruction,Zc.pJ.string,Zc.pJ.inserted,Zc.pJ.special(Zc.pJ.string)],color:"#61ffca"},{tag:[Zc.pJ.function(Zc.pJ.variableName),Zc.pJ.labelName],color:"#ffca85"},{tag:[Zc.pJ.color,Zc.pJ.constant(Zc.pJ.name),Zc.pJ.standard(Zc.pJ.name)],color:"#61ffca"},{tag:[Zc.pJ.definition(Zc.pJ.name),Zc.pJ.separator],color:"#edecee"},{tag:[Zc.pJ.className],color:"#82e2ff"},{tag:[Zc.pJ.number,Zc.pJ.changed,Zc.pJ.annotation,Zc.pJ.modifier,Zc.pJ.self,Zc.pJ.namespace],color:"#61ffca"},{tag:[Zc.pJ.typeName],color:"#82e2ff"},{tag:[Zc.pJ.operator,Zc.pJ.operatorKeyword],color:"#a277ff"},{tag:[Zc.pJ.url,Zc.pJ.escape,Zc.pJ.regexp,Zc.pJ.link],color:"#61ffca"},{tag:[Zc.pJ.meta,Zc.pJ.comment],color:"#6d6d6d"},{tag:Zc.pJ.strong,fontWeight:"bold"},{tag:Zc.pJ.emphasis,fontStyle:"italic"},{tag:Zc.pJ.link,textDecoration:"underline"},{tag:Zc.pJ.heading,fontWeight:"bold",color:"#a277ff"},{tag:[Zc.pJ.atom,Zc.pJ.bool,Zc.pJ.special(Zc.pJ.variableName)],color:"#edecee"},{tag:Zc.pJ.invalid,color:"#ff6767"},{tag:Zc.pJ.strikethrough,textDecoration:"line-through"}].concat((0,c.Z)(a))})},Dc=Gc(),Ic={background:"#FFFFFF",foreground:"#000000",caret:"#FBAC52",selection:"#FFD420",selectionMatch:"#FFD420",gutterBackground:"#f5f5f5",gutterForeground:"#4D4D4C",gutterBorder:"transparent",lineHighlight:"#00000012"},Fc=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},Ic,i),styles:[{tag:[Zc.pJ.meta,Zc.pJ.comment],color:"#804000"},{tag:[Zc.pJ.keyword,Zc.pJ.strong],color:"#0000FF"},{tag:[Zc.pJ.number],color:"#FF0080"},{tag:[Zc.pJ.string],color:"#FF0080"},{tag:[Zc.pJ.variableName],color:"#006600"},{tag:[Zc.pJ.escape],color:"#33CC33"},{tag:[Zc.pJ.tagName],color:"#1C02FF"},{tag:[Zc.pJ.heading],color:"#0C07FF"},{tag:[Zc.pJ.quote],color:"#000000"},{tag:[Zc.pJ.list],color:"#B90690"},{tag:[Zc.pJ.documentMeta],color:"#888888"},{tag:[Zc.pJ.function(Zc.pJ.variableName)],color:"#0000A2"},{tag:[Zc.pJ.definition(Zc.pJ.typeName),Zc.pJ.typeName],color:"#6D79DE"}].concat((0,c.Z)(a))})},Lc=Fc(),Jc={background:"#28211c",foreground:"#9d9b97",caret:"#797977",selection:"#36312e",selectionMatch:"#4f382b",gutterBackground:"#28211c",gutterForeground:"#666666",lineHighlight:"rgba(255, 255, 255, 0.1)"},Mc=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},Jc,i),styles:[{tag:[Zc.pJ.atom,Zc.pJ.number,Zc.pJ.link,Zc.pJ.bool],color:"#9b859d"},{tag:Zc.pJ.comment,color:"#937121"},{tag:[Zc.pJ.keyword,Zc.pJ.tagName],color:"#cf6a4c"},{tag:Zc.pJ.string,color:"#f9ee98"},{tag:Zc.pJ.bracket,color:"#9d9b97"},{tag:[Zc.pJ.variableName],color:"#5ea6ea"},{tag:Zc.pJ.definition(Zc.pJ.variableName),color:"#cf7d34"},{tag:[Zc.pJ.function(Zc.pJ.variableName),Zc.pJ.className],color:"#cf7d34"},{tag:[Zc.pJ.propertyName,Zc.pJ.attributeName],color:"#54be0d"}].concat((0,c.Z)(a))})},Bc=Mc(),Hc={background:"#2B2B2B",foreground:"#f8f8f2",caret:"#FFFFFF",selection:"rgba(255, 255, 255, 0.1)",selectionMatch:"rgba(255, 255, 255, 0.2)",gutterBackground:"rgba(255, 255, 255, 0.1)",gutterForeground:"#999",gutterBorder:"transparent",lineHighlight:"rgba(255, 255, 255, 0.1)"},Kc=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},Hc,i),styles:[{tag:[Zc.pJ.atom,Zc.pJ.number],color:"#bd93f9"},{tag:[Zc.pJ.comment],color:"#61A151"},{tag:[Zc.pJ.string],color:"#6A8759"},{tag:[Zc.pJ.variableName,Zc.pJ.operator],color:"#A9B7C6"},{tag:[Zc.pJ.meta,Zc.pJ.className],color:"#A9B7C6"},{tag:[Zc.pJ.propertyName],color:"#FFC66D"},{tag:[Zc.pJ.keyword],color:"#CC7832"},{tag:[Zc.pJ.tagName],color:"#ff79c6"},{tag:[Zc.pJ.typeName],color:"#ffb86c"}].concat((0,c.Z)(a))})},eu=Kc(),tu={background:"#282a36",foreground:"#f8f8f2",caret:"#f8f8f0",selection:"rgba(255, 255, 255, 0.1)",selectionMatch:"rgba(255, 255, 255, 0.2)",gutterBackground:"#282a36",gutterForeground:"#6D8A88",gutterBorder:"transparent",lineHighlight:"rgba(255, 255, 255, 0.1)"},nu=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},tu,i),styles:[{tag:Zc.pJ.comment,color:"#6272a4"},{tag:Zc.pJ.string,color:"#f1fa8c"},{tag:Zc.pJ.atom,color:"#bd93f9"},{tag:Zc.pJ.meta,color:"#f8f8f2"},{tag:[Zc.pJ.keyword,Zc.pJ.operator,Zc.pJ.tagName],color:"#ff79c6"},{tag:[Zc.pJ.function(Zc.pJ.propertyName),Zc.pJ.propertyName],color:"#66d9ef"},{tag:[Zc.pJ.definition(Zc.pJ.variableName),Zc.pJ.function(Zc.pJ.variableName),Zc.pJ.className,Zc.pJ.attributeName],color:"#50fa7b"},{tag:Zc.pJ.atom,color:"#bd93f9"}].concat((0,c.Z)(a))})},ru=nu(),Ou={background:"#faf8f5",foreground:"#b29762",caret:"#93abdc",selection:"#e3dcce",selectionMatch:"#e3dcce",gutterBackground:"#faf8f5",gutterForeground:"#cdc4b1",gutterBorder:"transparent",lineHighlight:"#EFEFEF"},iu=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},Ou,i),styles:[{tag:[Zc.pJ.comment,Zc.pJ.bracket],color:"#b6ad9a"},{tag:[Zc.pJ.atom,Zc.pJ.number,Zc.pJ.keyword,Zc.pJ.link,Zc.pJ.attributeName,Zc.pJ.quote],color:"#063289"},{tag:[Zc.pJ.emphasis,Zc.pJ.heading,Zc.pJ.tagName,Zc.pJ.propertyName,Zc.pJ.variableName],color:"#2d2006"},{tag:[Zc.pJ.typeName,Zc.pJ.url,Zc.pJ.string],color:"#896724"},{tag:[Zc.pJ.operator,Zc.pJ.string],color:"#1659df"},{tag:[Zc.pJ.propertyName],color:"#b29762"},{tag:[Zc.pJ.unit,Zc.pJ.punctuation],color:"#063289"}].concat((0,c.Z)(a))})},ou=iu(),au={background:"#2a2734",foreground:"#6c6783",caret:"#ffad5c",selection:"rgba(255, 255, 255, 0.1)",gutterBackground:"#2a2734",gutterForeground:"#545167",lineHighlight:"#36334280"},su=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},au,i),styles:[{tag:[Zc.pJ.comment,Zc.pJ.bracket],color:"#6c6783"},{tag:[Zc.pJ.atom,Zc.pJ.number,Zc.pJ.keyword,Zc.pJ.link,Zc.pJ.attributeName,Zc.pJ.quote],color:"#ffcc99"},{tag:[Zc.pJ.emphasis,Zc.pJ.heading,Zc.pJ.tagName,Zc.pJ.propertyName,Zc.pJ.className,Zc.pJ.variableName],color:"#eeebff"},{tag:[Zc.pJ.typeName,Zc.pJ.url],color:"#7a63ee"},{tag:Zc.pJ.operator,color:"#ffad5c"},{tag:Zc.pJ.string,color:"#ffb870"},{tag:[Zc.pJ.propertyName],color:"#9a86fd"},{tag:[Zc.pJ.unit,Zc.pJ.punctuation],color:"#e09142"}].concat((0,c.Z)(a))})},lu=su(),cu={background:"#fff",foreground:"#000",caret:"#FFFFFF",selection:"#d7d4f0",selectionMatch:"#d7d4f0",gutterBackground:"#f7f7f7",gutterForeground:"#999",lineHighlight:"#e8f2ff",gutterBorder:"transparent"},uu=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},cu,i),styles:[{tag:[Zc.pJ.comment],color:"#3F7F5F"},{tag:[Zc.pJ.documentMeta],color:"#FF1717"},{tag:Zc.pJ.keyword,color:"#7F0055",fontWeight:"bold"},{tag:Zc.pJ.atom,color:"#00f"},{tag:Zc.pJ.number,color:"#164"},{tag:Zc.pJ.propertyName,color:"#164"},{tag:[Zc.pJ.variableName,Zc.pJ.definition(Zc.pJ.variableName)],color:"#0000C0"},{tag:Zc.pJ.function(Zc.pJ.variableName),color:"#0000C0"},{tag:Zc.pJ.string,color:"#2A00FF"},{tag:Zc.pJ.operator,color:"black"},{tag:Zc.pJ.tagName,color:"#170"},{tag:Zc.pJ.attributeName,color:"#00c"},{tag:Zc.pJ.link,color:"#219"}].concat((0,c.Z)(a))})},pu=uu(),du={background:"#fff",foreground:"#24292e",selection:"#BBDFFF",selectionMatch:"#BBDFFF",gutterBackground:"#fff",gutterForeground:"#6e7781"},hu=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},du,i),styles:[{tag:[Zc.pJ.standard(Zc.pJ.tagName),Zc.pJ.tagName],color:"#116329"},{tag:[Zc.pJ.comment,Zc.pJ.bracket],color:"#6a737d"},{tag:[Zc.pJ.className,Zc.pJ.propertyName],color:"#6f42c1"},{tag:[Zc.pJ.variableName,Zc.pJ.attributeName,Zc.pJ.number,Zc.pJ.operator],color:"#005cc5"},{tag:[Zc.pJ.keyword,Zc.pJ.typeName,Zc.pJ.typeOperator,Zc.pJ.typeName],color:"#d73a49"},{tag:[Zc.pJ.string,Zc.pJ.meta,Zc.pJ.regexp],color:"#032f62"},{tag:[Zc.pJ.name,Zc.pJ.quote],color:"#22863a"},{tag:[Zc.pJ.heading],color:"#24292e",fontWeight:"bold"},{tag:[Zc.pJ.emphasis],color:"#24292e",fontStyle:"italic"},{tag:[Zc.pJ.deleted],color:"#b31d28",backgroundColor:"ffeef0"},{tag:[Zc.pJ.atom,Zc.pJ.bool,Zc.pJ.special(Zc.pJ.variableName)],color:"#e36209"},{tag:[Zc.pJ.url,Zc.pJ.escape,Zc.pJ.regexp,Zc.pJ.link],color:"#032f62"},{tag:Zc.pJ.link,textDecoration:"underline"},{tag:Zc.pJ.strikethrough,textDecoration:"line-through"},{tag:Zc.pJ.invalid,color:"#cb2431"}].concat((0,c.Z)(a))})},fu=hu(),mu={background:"#0d1117",foreground:"#c9d1d9",caret:"#c9d1d9",selection:"#003d73",selectionMatch:"#003d73",lineHighlight:"#36334280"},Qu=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},mu,i),styles:[{tag:[Zc.pJ.standard(Zc.pJ.tagName),Zc.pJ.tagName],color:"#7ee787"},{tag:[Zc.pJ.comment,Zc.pJ.bracket],color:"#8b949e"},{tag:[Zc.pJ.className,Zc.pJ.propertyName],color:"#d2a8ff"},{tag:[Zc.pJ.variableName,Zc.pJ.attributeName,Zc.pJ.number,Zc.pJ.operator],color:"#79c0ff"},{tag:[Zc.pJ.keyword,Zc.pJ.typeName,Zc.pJ.typeOperator,Zc.pJ.typeName],color:"#ff7b72"},{tag:[Zc.pJ.string,Zc.pJ.meta,Zc.pJ.regexp],color:"#a5d6ff"},{tag:[Zc.pJ.name,Zc.pJ.quote],color:"#7ee787"},{tag:[Zc.pJ.heading],color:"#d2a8ff",fontWeight:"bold"},{tag:[Zc.pJ.emphasis],color:"#d2a8ff",fontStyle:"italic"},{tag:[Zc.pJ.deleted],color:"#ffdcd7",backgroundColor:"ffeef0"},{tag:[Zc.pJ.atom,Zc.pJ.bool,Zc.pJ.special(Zc.pJ.variableName)],color:"#ffab70"},{tag:Zc.pJ.link,textDecoration:"underline"},{tag:Zc.pJ.strikethrough,textDecoration:"line-through"},{tag:Zc.pJ.invalid,color:"#f97583"}].concat((0,c.Z)(a))})},gu=Qu(),$u={background:"#282828",foreground:"#ebdbb2",caret:"#ebdbb2",selection:"#bdae93",selectionMatch:"#bdae93",lineHighlight:"#3c3836",gutterBackground:"#282828",gutterForeground:"#7c6f64"},Su=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},$u,i),styles:[{tag:Zc.pJ.keyword,color:"#fb4934"},{tag:[Zc.pJ.name,Zc.pJ.deleted,Zc.pJ.character,Zc.pJ.propertyName,Zc.pJ.macroName],color:"#8ec07c"},{tag:[Zc.pJ.variableName],color:"#83a598"},{tag:[Zc.pJ.function(Zc.pJ.variableName)],color:"#b8bb26",fontStyle:"bold"},{tag:[Zc.pJ.labelName],color:"#ebdbb2"},{tag:[Zc.pJ.color,Zc.pJ.constant(Zc.pJ.name),Zc.pJ.standard(Zc.pJ.name)],color:"#d3869b"},{tag:[Zc.pJ.definition(Zc.pJ.name),Zc.pJ.separator],color:"#ebdbb2"},{tag:[Zc.pJ.brace],color:"#ebdbb2"},{tag:[Zc.pJ.annotation],color:"#fb4934d"},{tag:[Zc.pJ.number,Zc.pJ.changed,Zc.pJ.annotation,Zc.pJ.modifier,Zc.pJ.self,Zc.pJ.namespace],color:"#d3869b"},{tag:[Zc.pJ.typeName,Zc.pJ.className],color:"#fabd2f"},{tag:[Zc.pJ.operator,Zc.pJ.operatorKeyword],color:"#fb4934"},{tag:[Zc.pJ.tagName],color:"#8ec07c",fontStyle:"bold"},{tag:[Zc.pJ.squareBracket],color:"#fe8019"},{tag:[Zc.pJ.angleBracket],color:"#83a598"},{tag:[Zc.pJ.attributeName],color:"#8ec07c"},{tag:[Zc.pJ.regexp],color:"#8ec07c"},{tag:[Zc.pJ.quote],color:"#928374"},{tag:[Zc.pJ.string],color:"#ebdbb2"},{tag:Zc.pJ.link,color:"#a89984",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[Zc.pJ.url,Zc.pJ.escape,Zc.pJ.special(Zc.pJ.string)],color:"#d3869b"},{tag:[Zc.pJ.meta],color:"#fabd2f"},{tag:[Zc.pJ.comment],color:"#928374",fontStyle:"italic"},{tag:Zc.pJ.strong,fontWeight:"bold",color:"#fe8019"},{tag:Zc.pJ.emphasis,fontStyle:"italic",color:"#b8bb26"},{tag:Zc.pJ.strikethrough,textDecoration:"line-through"},{tag:Zc.pJ.heading,fontWeight:"bold",color:"#b8bb26"},{tag:[Zc.pJ.heading1,Zc.pJ.heading2],fontWeight:"bold",color:"#b8bb26"},{tag:[Zc.pJ.heading3,Zc.pJ.heading4],fontWeight:"bold",color:"#fabd2f"},{tag:[Zc.pJ.heading5,Zc.pJ.heading6],color:"#fabd2f"},{tag:[Zc.pJ.atom,Zc.pJ.bool,Zc.pJ.special(Zc.pJ.variableName)],color:"#d3869b"},{tag:[Zc.pJ.processingInstruction,Zc.pJ.inserted],color:"#83a598"},{tag:[Zc.pJ.contentSeparator],color:"#fb4934"},{tag:Zc.pJ.invalid,color:"#fe8019",borderBottom:"1px dotted #fb4934d"}].concat((0,c.Z)(a))})},Pu=Su(),yu={background:"#fbf1c7",foreground:"#3c3836",caret:"#af3a03",selection:"#ebdbb2",selectionMatch:"#bdae93",lineHighlight:"#ebdbb2",gutterBackground:"#ebdbb2",gutterForeground:"#665c54",gutterBorder:"transparent"},vu=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},yu,i),styles:[{tag:Zc.pJ.keyword,color:"#9d0006"},{tag:[Zc.pJ.name,Zc.pJ.deleted,Zc.pJ.character,Zc.pJ.propertyName,Zc.pJ.macroName],color:"#427b58"},{tag:[Zc.pJ.variableName],color:"#076678"},{tag:[Zc.pJ.function(Zc.pJ.variableName)],color:"#79740e",fontStyle:"bold"},{tag:[Zc.pJ.labelName],color:"#3c3836"},{tag:[Zc.pJ.color,Zc.pJ.constant(Zc.pJ.name),Zc.pJ.standard(Zc.pJ.name)],color:"#8f3f71"},{tag:[Zc.pJ.definition(Zc.pJ.name),Zc.pJ.separator],color:"#3c3836"},{tag:[Zc.pJ.brace],color:"#3c3836"},{tag:[Zc.pJ.annotation],color:"#9d0006"},{tag:[Zc.pJ.number,Zc.pJ.changed,Zc.pJ.annotation,Zc.pJ.modifier,Zc.pJ.self,Zc.pJ.namespace],color:"#8f3f71"},{tag:[Zc.pJ.typeName,Zc.pJ.className],color:"#b57614"},{tag:[Zc.pJ.operator,Zc.pJ.operatorKeyword],color:"#9d0006"},{tag:[Zc.pJ.tagName],color:"#427b58",fontStyle:"bold"},{tag:[Zc.pJ.squareBracket],color:"#af3a03"},{tag:[Zc.pJ.angleBracket],color:"#076678"},{tag:[Zc.pJ.attributeName],color:"#427b58"},{tag:[Zc.pJ.regexp],color:"#427b58"},{tag:[Zc.pJ.quote],color:"#928374"},{tag:[Zc.pJ.string],color:"#3c3836"},{tag:Zc.pJ.link,color:"#7c6f64",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[Zc.pJ.url,Zc.pJ.escape,Zc.pJ.special(Zc.pJ.string)],color:"#8f3f71"},{tag:[Zc.pJ.meta],color:"#b57614"},{tag:[Zc.pJ.comment],color:"#928374",fontStyle:"italic"},{tag:Zc.pJ.strong,fontWeight:"bold",color:"#af3a03"},{tag:Zc.pJ.emphasis,fontStyle:"italic",color:"#79740e"},{tag:Zc.pJ.strikethrough,textDecoration:"line-through"},{tag:Zc.pJ.heading,fontWeight:"bold",color:"#79740e"},{tag:[Zc.pJ.heading1,Zc.pJ.heading2],fontWeight:"bold",color:"#79740e"},{tag:[Zc.pJ.heading3,Zc.pJ.heading4],fontWeight:"bold",color:"#b57614"},{tag:[Zc.pJ.heading5,Zc.pJ.heading6],color:"#b57614"},{tag:[Zc.pJ.atom,Zc.pJ.bool,Zc.pJ.special(Zc.pJ.variableName)],color:"#8f3f71"},{tag:[Zc.pJ.processingInstruction,Zc.pJ.inserted],color:"#076678"},{tag:[Zc.pJ.contentSeparator],color:"#9d0006"},{tag:Zc.pJ.invalid,color:"#af3a03",borderBottom:"1px dotted #9d0006"}].concat((0,c.Z)(a))})},bu=vu(),xu={background:"#2e3235",foreground:"#bdbdbd",caret:"#a0a4ae",selection:"#d7d4f0",selectionMatch:"#d7d4f0",gutterBackground:"#2e3235",gutterForeground:"#999",gutterActiveForeground:"#4f5b66",lineHighlight:"#545b61"},Tu=xu,Xu=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},xu,i),styles:[{tag:Zc.pJ.keyword,color:"#cf6edf"},{tag:[Zc.pJ.name,Zc.pJ.deleted,Zc.pJ.character,Zc.pJ.macroName],color:"#56c8d8"},{tag:[Zc.pJ.propertyName],color:"#facf4e"},{tag:[Zc.pJ.variableName],color:"#bdbdbd"},{tag:[Zc.pJ.function(Zc.pJ.variableName)],color:"#56c8d8"},{tag:[Zc.pJ.labelName],color:"#cf6edf"},{tag:[Zc.pJ.color,Zc.pJ.constant(Zc.pJ.name),Zc.pJ.standard(Zc.pJ.name)],color:"#facf4e"},{tag:[Zc.pJ.definition(Zc.pJ.name),Zc.pJ.separator],color:"#fa5788"},{tag:[Zc.pJ.brace],color:"#cf6edf"},{tag:[Zc.pJ.annotation],color:"#ff5f52"},{tag:[Zc.pJ.number,Zc.pJ.changed,Zc.pJ.annotation,Zc.pJ.modifier,Zc.pJ.self,Zc.pJ.namespace],color:"#ffad42"},{tag:[Zc.pJ.typeName,Zc.pJ.className],color:"#ffad42"},{tag:[Zc.pJ.operator,Zc.pJ.operatorKeyword],color:"#7186f0"},{tag:[Zc.pJ.tagName],color:"#99d066"},{tag:[Zc.pJ.squareBracket],color:"#ff5f52"},{tag:[Zc.pJ.angleBracket],color:"#606f7a"},{tag:[Zc.pJ.attributeName],color:"#bdbdbd"},{tag:[Zc.pJ.regexp],color:"#ff5f52"},{tag:[Zc.pJ.quote],color:"#6abf69"},{tag:[Zc.pJ.string],color:"#99d066"},{tag:Zc.pJ.link,color:"#56c8d8",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[Zc.pJ.url,Zc.pJ.escape,Zc.pJ.special(Zc.pJ.string)],color:"#facf4e"},{tag:[Zc.pJ.meta],color:"#707d8b"},{tag:[Zc.pJ.comment],color:"#707d8b",fontStyle:"italic"},{tag:Zc.pJ.monospace,color:"#bdbdbd"},{tag:Zc.pJ.strong,fontWeight:"bold",color:"#ff5f52"},{tag:Zc.pJ.emphasis,fontStyle:"italic",color:"#99d066"},{tag:Zc.pJ.strikethrough,textDecoration:"line-through"},{tag:Zc.pJ.heading,fontWeight:"bold",color:"#facf4e"},{tag:Zc.pJ.heading1,fontWeight:"bold",color:"#facf4e"},{tag:[Zc.pJ.heading2,Zc.pJ.heading3,Zc.pJ.heading4],fontWeight:"bold",color:"#facf4e"},{tag:[Zc.pJ.heading5,Zc.pJ.heading6],color:"#facf4e"},{tag:[Zc.pJ.atom,Zc.pJ.bool,Zc.pJ.special(Zc.pJ.variableName)],color:"#56c8d8"},{tag:[Zc.pJ.processingInstruction,Zc.pJ.inserted],color:"#ff5f52"},{tag:[Zc.pJ.contentSeparator],color:"#56c8d8"},{tag:Zc.pJ.invalid,color:"#606f7a",borderBottom:"1px dotted #ff5f52"}].concat((0,c.Z)(a))})},wu=Xu,ku=Xu(),_u=Xu(),Zu={background:"#FAFAFA",foreground:"#90A4AE",caret:"#272727",selection:"#80CBC440",selectionMatch:"#FAFAFA",gutterBackground:"#FAFAFA",gutterForeground:"#90A4AE",gutterBorder:"transparent",lineHighlight:"#CCD7DA50"},Wu=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},Zu,i),styles:[{tag:Zc.pJ.keyword,color:"#39ADB5"},{tag:[Zc.pJ.name,Zc.pJ.deleted,Zc.pJ.character,Zc.pJ.macroName],color:"#90A4AE"},{tag:[Zc.pJ.propertyName],color:"#6182B8"},{tag:[Zc.pJ.processingInstruction,Zc.pJ.string,Zc.pJ.inserted,Zc.pJ.special(Zc.pJ.string)],color:"#91B859"},{tag:[Zc.pJ.function(Zc.pJ.variableName),Zc.pJ.labelName],color:"#6182B8"},{tag:[Zc.pJ.color,Zc.pJ.constant(Zc.pJ.name),Zc.pJ.standard(Zc.pJ.name)],color:"#39ADB5"},{tag:[Zc.pJ.definition(Zc.pJ.name),Zc.pJ.separator],color:"#90A4AE"},{tag:[Zc.pJ.className],color:"#E2931D"},{tag:[Zc.pJ.number,Zc.pJ.changed,Zc.pJ.annotation,Zc.pJ.modifier,Zc.pJ.self,Zc.pJ.namespace],color:"#F76D47"},{tag:[Zc.pJ.typeName],color:"#E2931D",fontStyle:"#E2931D"},{tag:[Zc.pJ.operator,Zc.pJ.operatorKeyword],color:"#39ADB5"},{tag:[Zc.pJ.url,Zc.pJ.escape,Zc.pJ.regexp,Zc.pJ.link],color:"#91B859"},{tag:[Zc.pJ.meta,Zc.pJ.comment],color:"#90A4AE"},{tag:Zc.pJ.strong,fontWeight:"bold"},{tag:Zc.pJ.emphasis,fontStyle:"italic"},{tag:Zc.pJ.link,textDecoration:"underline"},{tag:Zc.pJ.heading,fontWeight:"bold",color:"#39ADB5"},{tag:[Zc.pJ.atom,Zc.pJ.bool,Zc.pJ.special(Zc.pJ.variableName)],color:"#90A4AE"},{tag:Zc.pJ.invalid,color:"#E5393570"},{tag:Zc.pJ.strikethrough,textDecoration:"line-through"}].concat((0,c.Z)(a))})},Ru=Wu(),Eu={background:"#f2f1f8",foreground:"#0c006b",caret:"#5c49e9",selection:"#d5d1f2",selectionMatch:"#d5d1f2",gutterBackground:"#f2f1f8",gutterForeground:"#0c006b70",lineHighlight:"#e1def3"},Yu=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},Eu,i),styles:[{tag:Zc.pJ.comment,color:"#9995b7"},{tag:Zc.pJ.keyword,color:"#ff5792",fontWeight:"bold"},{tag:[Zc.pJ.definitionKeyword,Zc.pJ.modifier],color:"#ff5792"},{tag:[Zc.pJ.className,Zc.pJ.tagName,Zc.pJ.definition(Zc.pJ.typeName)],color:"#0094f0"},{tag:[Zc.pJ.number,Zc.pJ.bool,Zc.pJ.null,Zc.pJ.special(Zc.pJ.brace)],color:"#5842ff"},{tag:[Zc.pJ.definition(Zc.pJ.propertyName),Zc.pJ.function(Zc.pJ.variableName)],color:"#0095a8"},{tag:Zc.pJ.typeName,color:"#b3694d"},{tag:[Zc.pJ.propertyName,Zc.pJ.variableName],color:"#fa8900"},{tag:Zc.pJ.operator,color:"#ff5792"},{tag:Zc.pJ.self,color:"#e64100"},{tag:[Zc.pJ.string,Zc.pJ.regexp],color:"#00b368"},{tag:[Zc.pJ.paren,Zc.pJ.bracket],color:"#0431fa"},{tag:Zc.pJ.labelName,color:"#00bdd6"},{tag:Zc.pJ.attributeName,color:"#e64100"},{tag:Zc.pJ.angleBracket,color:"#9995b7"}].concat((0,c.Z)(a))})},Uu=Yu(),zu={background:"#2e3440",foreground:"#FFFFFF",caret:"#FFFFFF",selection:"#3b4252",selectionMatch:"#e5e9f0",gutterBackground:"#2e3440",gutterForeground:"#4c566a",gutterActiveForeground:"#d8dee9",lineHighlight:"#4c566a"},qu=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},zu,i),styles:[{tag:Zc.pJ.keyword,color:"#5e81ac"},{tag:[Zc.pJ.name,Zc.pJ.deleted,Zc.pJ.character,Zc.pJ.propertyName,Zc.pJ.macroName],color:"#88c0d0"},{tag:[Zc.pJ.variableName],color:"#8fbcbb"},{tag:[Zc.pJ.function(Zc.pJ.variableName)],color:"#8fbcbb"},{tag:[Zc.pJ.labelName],color:"#81a1c1"},{tag:[Zc.pJ.color,Zc.pJ.constant(Zc.pJ.name),Zc.pJ.standard(Zc.pJ.name)],color:"#5e81ac"},{tag:[Zc.pJ.definition(Zc.pJ.name),Zc.pJ.separator],color:"#a3be8c"},{tag:[Zc.pJ.brace],color:"#8fbcbb"},{tag:[Zc.pJ.annotation],color:"#d30102"},{tag:[Zc.pJ.number,Zc.pJ.changed,Zc.pJ.annotation,Zc.pJ.modifier,Zc.pJ.self,Zc.pJ.namespace],color:"#b48ead"},{tag:[Zc.pJ.typeName,Zc.pJ.className],color:"#ebcb8b"},{tag:[Zc.pJ.operator,Zc.pJ.operatorKeyword],color:"#a3be8c"},{tag:[Zc.pJ.tagName],color:"#b48ead"},{tag:[Zc.pJ.squareBracket],color:"#bf616a"},{tag:[Zc.pJ.angleBracket],color:"#d08770"},{tag:[Zc.pJ.attributeName],color:"#ebcb8b"},{tag:[Zc.pJ.regexp],color:"#5e81ac"},{tag:[Zc.pJ.quote],color:"#b48ead"},{tag:[Zc.pJ.string],color:"#a3be8c"},{tag:Zc.pJ.link,color:"#a3be8c",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[Zc.pJ.url,Zc.pJ.escape,Zc.pJ.special(Zc.pJ.string)],color:"#8fbcbb"},{tag:[Zc.pJ.meta],color:"#88c0d0"},{tag:[Zc.pJ.monospace],color:"#d8dee9",fontStyle:"italic"},{tag:[Zc.pJ.comment],color:"#4c566a",fontStyle:"italic"},{tag:Zc.pJ.strong,fontWeight:"bold",color:"#5e81ac"},{tag:Zc.pJ.emphasis,fontStyle:"italic",color:"#5e81ac"},{tag:Zc.pJ.strikethrough,textDecoration:"line-through"},{tag:Zc.pJ.heading,fontWeight:"bold",color:"#5e81ac"},{tag:Zc.pJ.special(Zc.pJ.heading1),fontWeight:"bold",color:"#5e81ac"},{tag:Zc.pJ.heading1,fontWeight:"bold",color:"#5e81ac"},{tag:[Zc.pJ.heading2,Zc.pJ.heading3,Zc.pJ.heading4],fontWeight:"bold",color:"#5e81ac"},{tag:[Zc.pJ.heading5,Zc.pJ.heading6],color:"#5e81ac"},{tag:[Zc.pJ.atom,Zc.pJ.bool,Zc.pJ.special(Zc.pJ.variableName)],color:"#d08770"},{tag:[Zc.pJ.processingInstruction,Zc.pJ.inserted],color:"#8fbcbb"},{tag:[Zc.pJ.contentSeparator],color:"#ebcb8b"},{tag:Zc.pJ.invalid,color:"#434c5e",borderBottom:"1px dotted #d30102"}].concat((0,c.Z)(a))})},Cu=qu(),ju={background:"#272822",foreground:"#FFFFFF",caret:"#FFFFFF",selection:"#49483E",selectionMatch:"#49483E",gutterBackground:"#272822",gutterForeground:"#FFFFFF70",lineHighlight:"#00000059"},Vu=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},ju,i),styles:[{tag:[Zc.pJ.comment,Zc.pJ.documentMeta],color:"#8292a2"},{tag:[Zc.pJ.number,Zc.pJ.bool,Zc.pJ.null,Zc.pJ.atom],color:"#ae81ff"},{tag:[Zc.pJ.attributeValue,Zc.pJ.className,Zc.pJ.name],color:"#e6db74"},{tag:[Zc.pJ.propertyName,Zc.pJ.attributeName],color:"#a6e22e"},{tag:[Zc.pJ.variableName],color:"#9effff"},{tag:[Zc.pJ.squareBracket],color:"#bababa"},{tag:[Zc.pJ.string,Zc.pJ.special(Zc.pJ.brace)],color:"#e6db74"},{tag:[Zc.pJ.regexp,Zc.pJ.className,Zc.pJ.typeName,Zc.pJ.definition(Zc.pJ.typeName)],color:"#66d9ef"},{tag:[Zc.pJ.definition(Zc.pJ.variableName),Zc.pJ.definition(Zc.pJ.propertyName),Zc.pJ.function(Zc.pJ.variableName)],color:"#fd971f"},{tag:[Zc.pJ.keyword,Zc.pJ.definitionKeyword,Zc.pJ.modifier,Zc.pJ.tagName,Zc.pJ.angleBracket],color:"#f92672"}].concat((0,c.Z)(a))})},Au=Vu(),Nu={background:"#fdf6e3",foreground:"#657b83",caret:"#586e75",selection:"#dfd9c8",selectionMatch:"#dfd9c8",gutterBackground:"#00000010",gutterForeground:"#657b83",lineHighlight:"#dfd9c8"},Gu=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},Nu,i),styles:[{tag:Zc.pJ.keyword,color:"#859900"},{tag:[Zc.pJ.name,Zc.pJ.deleted,Zc.pJ.character,Zc.pJ.propertyName,Zc.pJ.macroName],color:"#2aa198"},{tag:[Zc.pJ.variableName],color:"#268bd2"},{tag:[Zc.pJ.function(Zc.pJ.variableName)],color:"#268bd2"},{tag:[Zc.pJ.labelName],color:"#d33682"},{tag:[Zc.pJ.color,Zc.pJ.constant(Zc.pJ.name),Zc.pJ.standard(Zc.pJ.name)],color:"#b58900"},{tag:[Zc.pJ.definition(Zc.pJ.name),Zc.pJ.separator],color:"#2aa198"},{tag:[Zc.pJ.brace],color:"#d33682"},{tag:[Zc.pJ.annotation],color:"#d30102"},{tag:[Zc.pJ.number,Zc.pJ.changed,Zc.pJ.annotation,Zc.pJ.modifier,Zc.pJ.self,Zc.pJ.namespace],color:"#d33682"},{tag:[Zc.pJ.typeName,Zc.pJ.className],color:"#cb4b16"},{tag:[Zc.pJ.operator,Zc.pJ.operatorKeyword],color:"#6c71c4"},{tag:[Zc.pJ.tagName],color:"#268bd2"},{tag:[Zc.pJ.squareBracket],color:"#dc322f"},{tag:[Zc.pJ.angleBracket],color:"#073642"},{tag:[Zc.pJ.attributeName],color:"#93a1a1"},{tag:[Zc.pJ.regexp],color:"#d30102"},{tag:[Zc.pJ.quote],color:"#859900"},{tag:[Zc.pJ.string],color:"#b58900"},{tag:Zc.pJ.link,color:"#2aa198",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[Zc.pJ.url,Zc.pJ.escape,Zc.pJ.special(Zc.pJ.string)],color:"#b58900"},{tag:[Zc.pJ.meta],color:"#dc322f"},{tag:[Zc.pJ.comment],color:"#586e75",fontStyle:"italic"},{tag:Zc.pJ.strong,fontWeight:"bold",color:"#586e75"},{tag:Zc.pJ.emphasis,fontStyle:"italic",color:"#859900"},{tag:Zc.pJ.strikethrough,textDecoration:"line-through"},{tag:Zc.pJ.heading,fontWeight:"bold",color:"#b58900"},{tag:Zc.pJ.heading1,fontWeight:"bold",color:"#002b36"},{tag:[Zc.pJ.heading2,Zc.pJ.heading3,Zc.pJ.heading4],fontWeight:"bold",color:"#002b36"},{tag:[Zc.pJ.heading5,Zc.pJ.heading6],color:"#002b36"},{tag:[Zc.pJ.atom,Zc.pJ.bool,Zc.pJ.special(Zc.pJ.variableName)],color:"#d33682"},{tag:[Zc.pJ.processingInstruction,Zc.pJ.inserted,Zc.pJ.contentSeparator],color:"#dc322f"},{tag:[Zc.pJ.contentSeparator],color:"#b58900"},{tag:Zc.pJ.invalid,color:"#073642",borderBottom:"1px dotted #dc322f"}].concat((0,c.Z)(a))})},Du=Gu(),Iu={background:"#002b36",foreground:"#93a1a1",caret:"#839496",selection:"#173541",selectionMatch:"#aafe661a",gutterBackground:"#00252f",gutterForeground:"#839496",lineHighlight:"#173541"},Fu=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},Iu,i),styles:[{tag:Zc.pJ.keyword,color:"#859900"},{tag:[Zc.pJ.name,Zc.pJ.deleted,Zc.pJ.character,Zc.pJ.propertyName,Zc.pJ.macroName],color:"#2aa198"},{tag:[Zc.pJ.variableName],color:"#93a1a1"},{tag:[Zc.pJ.function(Zc.pJ.variableName)],color:"#268bd2"},{tag:[Zc.pJ.labelName],color:"#d33682"},{tag:[Zc.pJ.color,Zc.pJ.constant(Zc.pJ.name),Zc.pJ.standard(Zc.pJ.name)],color:"#b58900"},{tag:[Zc.pJ.definition(Zc.pJ.name),Zc.pJ.separator],color:"#2aa198"},{tag:[Zc.pJ.brace],color:"#d33682"},{tag:[Zc.pJ.annotation],color:"#d30102"},{tag:[Zc.pJ.number,Zc.pJ.changed,Zc.pJ.annotation,Zc.pJ.modifier,Zc.pJ.self,Zc.pJ.namespace],color:"#d33682"},{tag:[Zc.pJ.typeName,Zc.pJ.className],color:"#cb4b16"},{tag:[Zc.pJ.operator,Zc.pJ.operatorKeyword],color:"#6c71c4"},{tag:[Zc.pJ.tagName],color:"#268bd2"},{tag:[Zc.pJ.squareBracket],color:"#dc322f"},{tag:[Zc.pJ.angleBracket],color:"#586e75"},{tag:[Zc.pJ.attributeName],color:"#93a1a1"},{tag:[Zc.pJ.regexp],color:"#d30102"},{tag:[Zc.pJ.quote],color:"#859900"},{tag:[Zc.pJ.string],color:"#b58900"},{tag:Zc.pJ.link,color:"#2aa198",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[Zc.pJ.url,Zc.pJ.escape,Zc.pJ.special(Zc.pJ.string)],color:"#b58900"},{tag:[Zc.pJ.meta],color:"#dc322f"},{tag:[Zc.pJ.comment],color:"#586e75",fontStyle:"italic"},{tag:Zc.pJ.strong,fontWeight:"bold",color:"#eee8d5"},{tag:Zc.pJ.emphasis,fontStyle:"italic",color:"#859900"},{tag:Zc.pJ.strikethrough,textDecoration:"line-through"},{tag:Zc.pJ.heading,fontWeight:"bold",color:"#b58900"},{tag:Zc.pJ.heading1,fontWeight:"bold",color:"#fdf6e3"},{tag:[Zc.pJ.heading2,Zc.pJ.heading3,Zc.pJ.heading4],fontWeight:"bold",color:"#eee8d5"},{tag:[Zc.pJ.heading5,Zc.pJ.heading6],color:"#eee8d5"},{tag:[Zc.pJ.atom,Zc.pJ.bool,Zc.pJ.special(Zc.pJ.variableName)],color:"#d33682"},{tag:[Zc.pJ.processingInstruction,Zc.pJ.inserted,Zc.pJ.contentSeparator],color:"#dc322f"},{tag:[Zc.pJ.contentSeparator],color:"#b58900"},{tag:Zc.pJ.invalid,color:"#586e75",borderBottom:"1px dotted #dc322f"}].concat((0,c.Z)(a))})},Lu=Fu(),Ju={background:"#303841",foreground:"#FFFFFF",caret:"#FBAC52",selection:"#4C5964",selectionMatch:"#3A546E",gutterBackground:"#303841",gutterForeground:"#FFFFFF70",lineHighlight:"#00000059"};function Mu(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},Ju,i),styles:[{tag:[Zc.pJ.meta,Zc.pJ.comment],color:"#A2A9B5"},{tag:[Zc.pJ.attributeName,Zc.pJ.keyword],color:"#B78FBA"},{tag:Zc.pJ.function(Zc.pJ.variableName),color:"#5AB0B0"},{tag:[Zc.pJ.string,Zc.pJ.regexp,Zc.pJ.attributeValue],color:"#99C592"},{tag:Zc.pJ.operator,color:"#f47954"},{tag:[Zc.pJ.tagName,Zc.pJ.modifier],color:"#E35F63"},{tag:[Zc.pJ.number,Zc.pJ.definition(Zc.pJ.tagName),Zc.pJ.className,Zc.pJ.definition(Zc.pJ.variableName)],color:"#fbac52"},{tag:[Zc.pJ.atom,Zc.pJ.bool,Zc.pJ.special(Zc.pJ.variableName)],color:"#E35F63"},{tag:Zc.pJ.variableName,color:"#539ac4"},{tag:[Zc.pJ.propertyName,Zc.pJ.typeName],color:"#629ccd"},{tag:Zc.pJ.propertyName,color:"#36b7b5"}].concat((0,c.Z)(a))})}var Bu=Mu(),Hu={background:"#1a1b26",foreground:"#787c99",caret:"#c0caf5",selection:"#515c7e40",selectionMatch:"#16161e",gutterBackground:"#1a1b26",gutterForeground:"#787c99",gutterBorder:"transparent",lineHighlight:"#1e202e"},Ku=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},Hu,i),styles:[{tag:Zc.pJ.keyword,color:"#bb9af7"},{tag:[Zc.pJ.name,Zc.pJ.deleted,Zc.pJ.character,Zc.pJ.macroName],color:"#c0caf5"},{tag:[Zc.pJ.propertyName],color:"#7aa2f7"},{tag:[Zc.pJ.processingInstruction,Zc.pJ.string,Zc.pJ.inserted,Zc.pJ.special(Zc.pJ.string)],color:"#9ece6a"},{tag:[Zc.pJ.function(Zc.pJ.variableName),Zc.pJ.labelName],color:"#7aa2f7"},{tag:[Zc.pJ.color,Zc.pJ.constant(Zc.pJ.name),Zc.pJ.standard(Zc.pJ.name)],color:"#bb9af7"},{tag:[Zc.pJ.definition(Zc.pJ.name),Zc.pJ.separator],color:"#c0caf5"},{tag:[Zc.pJ.className],color:"#c0caf5"},{tag:[Zc.pJ.number,Zc.pJ.changed,Zc.pJ.annotation,Zc.pJ.modifier,Zc.pJ.self,Zc.pJ.namespace],color:"#ff9e64"},{tag:[Zc.pJ.typeName],color:"#0db9d7"},{tag:[Zc.pJ.operator,Zc.pJ.operatorKeyword],color:"#bb9af7"},{tag:[Zc.pJ.url,Zc.pJ.escape,Zc.pJ.regexp,Zc.pJ.link],color:"#b4f9f8"},{tag:[Zc.pJ.meta,Zc.pJ.comment],color:"#444b6a"},{tag:Zc.pJ.strong,fontWeight:"bold"},{tag:Zc.pJ.emphasis,fontStyle:"italic"},{tag:Zc.pJ.link,textDecoration:"underline"},{tag:Zc.pJ.heading,fontWeight:"bold",color:"#89ddff"},{tag:[Zc.pJ.atom,Zc.pJ.bool,Zc.pJ.special(Zc.pJ.variableName)],color:"#c0caf5"},{tag:Zc.pJ.invalid,color:"#ff5370"},{tag:Zc.pJ.strikethrough,textDecoration:"line-through"}].concat((0,c.Z)(a))})},ep=Ku(),tp={background:"#24283b",foreground:"#7982a9",caret:"#c0caf5",selection:"#6f7bb630",selectionMatch:"#1f2335",gutterBackground:"#24283b",gutterForeground:"#7982a9",gutterBorder:"transparent",lineHighlight:"#292e42"},np=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},tp,i),styles:[{tag:Zc.pJ.keyword,color:"#bb9af7"},{tag:[Zc.pJ.name,Zc.pJ.deleted,Zc.pJ.character,Zc.pJ.macroName],color:"#c0caf5"},{tag:[Zc.pJ.propertyName],color:"#7aa2f7"},{tag:[Zc.pJ.processingInstruction,Zc.pJ.string,Zc.pJ.inserted,Zc.pJ.special(Zc.pJ.string)],color:"#9ece6a"},{tag:[Zc.pJ.function(Zc.pJ.variableName),Zc.pJ.labelName],color:"#7aa2f7"},{tag:[Zc.pJ.color,Zc.pJ.constant(Zc.pJ.name),Zc.pJ.standard(Zc.pJ.name)],color:"#bb9af7"},{tag:[Zc.pJ.definition(Zc.pJ.name),Zc.pJ.separator],color:"#c0caf5"},{tag:[Zc.pJ.className],color:"#c0caf5"},{tag:[Zc.pJ.number,Zc.pJ.changed,Zc.pJ.annotation,Zc.pJ.modifier,Zc.pJ.self,Zc.pJ.namespace],color:"#ff9e64"},{tag:[Zc.pJ.typeName],color:"#2ac3de",fontStyle:"#2ac3de"},{tag:[Zc.pJ.operator,Zc.pJ.operatorKeyword],color:"#bb9af7"},{tag:[Zc.pJ.url,Zc.pJ.escape,Zc.pJ.regexp,Zc.pJ.link],color:"#b4f9f8"},{tag:[Zc.pJ.meta,Zc.pJ.comment],color:"#565f89"},{tag:Zc.pJ.strong,fontWeight:"bold"},{tag:Zc.pJ.emphasis,fontStyle:"italic"},{tag:Zc.pJ.link,textDecoration:"underline"},{tag:Zc.pJ.heading,fontWeight:"bold",color:"#89ddff"},{tag:[Zc.pJ.atom,Zc.pJ.bool,Zc.pJ.special(Zc.pJ.variableName)],color:"#c0caf5"},{tag:Zc.pJ.invalid,color:"#ff5370"},{tag:Zc.pJ.strikethrough,textDecoration:"line-through"}].concat((0,c.Z)(a))})},rp=np(),Op={background:"#e1e2e7",foreground:"#3760bf",caret:"#3760bf",selection:"#99a7df",selectionMatch:"#99a7df",gutterBackground:"#e1e2e7",gutterForeground:"#3760bf",gutterBorder:"transparent",lineHighlight:"#5f5faf11"},ip=function(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},Op,i),styles:[{tag:Zc.pJ.keyword,color:"#007197"},{tag:[Zc.pJ.name,Zc.pJ.deleted,Zc.pJ.character,Zc.pJ.macroName],color:"#3760bf"},{tag:[Zc.pJ.propertyName],color:"#3760bf"},{tag:[Zc.pJ.processingInstruction,Zc.pJ.string,Zc.pJ.inserted,Zc.pJ.special(Zc.pJ.string)],color:"#587539"},{tag:[Zc.pJ.function(Zc.pJ.variableName),Zc.pJ.labelName],color:"#3760bf"},{tag:[Zc.pJ.color,Zc.pJ.constant(Zc.pJ.name),Zc.pJ.standard(Zc.pJ.name)],color:"#3760bf"},{tag:[Zc.pJ.definition(Zc.pJ.name),Zc.pJ.separator],color:"#3760bf"},{tag:[Zc.pJ.className],color:"#3760bf"},{tag:[Zc.pJ.number,Zc.pJ.changed,Zc.pJ.annotation,Zc.pJ.modifier,Zc.pJ.self,Zc.pJ.namespace],color:"#b15c00"},{tag:[Zc.pJ.typeName],color:"#007197",fontStyle:"#007197"},{tag:[Zc.pJ.operator,Zc.pJ.operatorKeyword],color:"#007197"},{tag:[Zc.pJ.url,Zc.pJ.escape,Zc.pJ.regexp,Zc.pJ.link],color:"#587539"},{tag:[Zc.pJ.meta,Zc.pJ.comment],color:"#848cb5"},{tag:Zc.pJ.strong,fontWeight:"bold"},{tag:Zc.pJ.emphasis,fontStyle:"italic"},{tag:Zc.pJ.link,textDecoration:"underline"},{tag:Zc.pJ.heading,fontWeight:"bold",color:"#b15c00"},{tag:[Zc.pJ.atom,Zc.pJ.bool,Zc.pJ.special(Zc.pJ.variableName)],color:"#3760bf"},{tag:Zc.pJ.invalid,color:"#f52a65"},{tag:Zc.pJ.strikethrough,textDecoration:"line-through"}].concat((0,c.Z)(a))})},op=ip(),ap={background:"#1e1e1e",foreground:"#9cdcfe",caret:"#c6c6c6",selection:"#6199ff2f",selectionMatch:"#72a1ff59",lineHighlight:"#ffffff0f",gutterBackground:"#1e1e1e",gutterForeground:"#838383",gutterActiveForeground:"#fff",fontFamily:'Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace'};function sp(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},ap,i),styles:[{tag:[Zc.pJ.keyword,Zc.pJ.operatorKeyword,Zc.pJ.modifier,Zc.pJ.color,Zc.pJ.constant(Zc.pJ.name),Zc.pJ.standard(Zc.pJ.name),Zc.pJ.standard(Zc.pJ.tagName),Zc.pJ.special(Zc.pJ.brace),Zc.pJ.atom,Zc.pJ.bool,Zc.pJ.special(Zc.pJ.variableName)],color:"#569cd6"},{tag:[Zc.pJ.controlKeyword,Zc.pJ.moduleKeyword],color:"#c586c0"},{tag:[Zc.pJ.name,Zc.pJ.deleted,Zc.pJ.character,Zc.pJ.macroName,Zc.pJ.propertyName,Zc.pJ.variableName,Zc.pJ.labelName,Zc.pJ.definition(Zc.pJ.name)],color:"#9cdcfe"},{tag:Zc.pJ.heading,fontWeight:"bold",color:"#9cdcfe"},{tag:[Zc.pJ.typeName,Zc.pJ.className,Zc.pJ.tagName,Zc.pJ.number,Zc.pJ.changed,Zc.pJ.annotation,Zc.pJ.self,Zc.pJ.namespace],color:"#4ec9b0"},{tag:[Zc.pJ.function(Zc.pJ.variableName),Zc.pJ.function(Zc.pJ.propertyName)],color:"#dcdcaa"},{tag:[Zc.pJ.number],color:"#b5cea8"},{tag:[Zc.pJ.operator,Zc.pJ.punctuation,Zc.pJ.separator,Zc.pJ.url,Zc.pJ.escape,Zc.pJ.regexp],color:"#d4d4d4"},{tag:[Zc.pJ.regexp],color:"#d16969"},{tag:[Zc.pJ.special(Zc.pJ.string),Zc.pJ.processingInstruction,Zc.pJ.string,Zc.pJ.inserted],color:"#ce9178"},{tag:[Zc.pJ.angleBracket],color:"#808080"},{tag:Zc.pJ.strong,fontWeight:"bold"},{tag:Zc.pJ.emphasis,fontStyle:"italic"},{tag:Zc.pJ.strikethrough,textDecoration:"line-through"},{tag:[Zc.pJ.meta,Zc.pJ.comment],color:"#6a9955"},{tag:Zc.pJ.link,color:"#6a9955",textDecoration:"underline"},{tag:Zc.pJ.invalid,color:"#ff0000"}].concat((0,c.Z)(a))})}var lp=sp(),cp={background:"#fff",foreground:"#3D3D3D",selection:"#BBDFFF",selectionMatch:"#BBDFFF",gutterBackground:"#fff",gutterForeground:"#AFAFAF",lineHighlight:"#EDF4FF"};function up(e){var t=e||{},n=t.theme,r=void 0===n?"light":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},cp,i),styles:[{tag:[Zc.pJ.comment,Zc.pJ.quote],color:"#707F8D"},{tag:[Zc.pJ.typeName,Zc.pJ.typeOperator],color:"#aa0d91"},{tag:[Zc.pJ.keyword],color:"#aa0d91",fontWeight:"bold"},{tag:[Zc.pJ.string,Zc.pJ.meta],color:"#D23423"},{tag:[Zc.pJ.name],color:"#032f62"},{tag:[Zc.pJ.typeName],color:"#522BB2"},{tag:[Zc.pJ.variableName],color:"#23575C"},{tag:[Zc.pJ.definition(Zc.pJ.variableName)],color:"#327A9E"},{tag:[Zc.pJ.regexp,Zc.pJ.link],color:"#0e0eff"}].concat((0,c.Z)(a))})}var pp=up(),dp={background:"#292A30",foreground:"#CECFD0",caret:"#fff",selection:"#727377",selectionMatch:"#727377",lineHighlight:"#2F3239"},hp=function(e){var t=e||{},n=t.theme,r=void 0===n?"dark":n,O=t.settings,i=void 0===O?{}:O,o=t.styles,a=void 0===o?[]:o;return Wc({theme:r,settings:(0,En.Z)({},dp,i),styles:[{tag:[Zc.pJ.comment,Zc.pJ.quote],color:"#7F8C98"},{tag:[Zc.pJ.keyword],color:"#FF7AB2",fontWeight:"bold"},{tag:[Zc.pJ.string,Zc.pJ.meta],color:"#FF8170"},{tag:[Zc.pJ.typeName],color:"#DABAFF"},{tag:[Zc.pJ.definition(Zc.pJ.variableName)],color:"#6BDFFF"},{tag:[Zc.pJ.name],color:"#6BAA9F"},{tag:[Zc.pJ.variableName],color:"#ACF2E4"},{tag:[Zc.pJ.regexp,Zc.pJ.link],color:"#FF8170"}].concat((0,c.Z)(a))})},fp=hp(),mp=n(72),Qp=n(8544),gp=n(4797),$p=n(8056),Sp=n(9486),Pp=n(2453),yp=n(3845),vp=n(5989),bp=n(4522),xp=n(6563),Tp=n(5990),Xp=n(2593),wp=n(3487),kp=n(4144),_p=n(3235),Zp=n(5758),Wp=n(7025),Rp=n(7826),Ep=n(7136),Yp=n(7279),Up=n(8158),zp=n(8785),qp=n(617),Cp=n(285),jp=n(3378),Vp=n(2369),Ap=n(9707),Np=n(7782),Gp=n(6145),Dp=n(546),Ip=n(6601),Fp=n(9428),Lp=n(8556),Jp=n(7791),Mp=n(8879),Bp=n(2307),Hp=n(8662),Kp=n(70),ed=n(4586),td=n(4964),nd=n(5194),rd=n(8935),Od=n(5374),id=n(6900),od=n(8846),ad=n(5905),sd=n(624),ld=n(5740),cd=n(4604),ud=n(8610),pd=n(5382),dd=n(4684),hd=n(3582),fd=n(7256),md=n(58),Qd=n(9235),gd=n(8140),$d=n(5541),Sd=n(8831),Pd=n(3510),yd=n(2321),vd=n(6105),bd=n(2399),xd=n(8641),Td=n(1527),Xd=n(7483),wd=n(7902),kd=n(3030),_d=n(2281),Zd=n(9158),Wd=n(9529),Rd=n(8802),Ed=n(732),Yd=n(5651),Ud=n(3467),zd=n(3850),qd=n(4017),Cd=n(4911),jd=n(7627),Vd=n(7234),Ad=n(2340),Nd=n(2534),Gd=n(2473),Dd=n(294),Id=n(9084),Fd=n(1620),Ld=n(9007),Jd=n(2410),Md=n(5537),Bd=n(1973),Hd=n(468),Kd=n(9021),eh=n(7792),th=n(4071),nh=n(2804),rh=n(5798),Oh=n(3083),ih=n(2489),oh=n(8066),ah=n(1875),sh=n(606),lh=n(9949),ch=n(2172),uh=n(2082),ph=n(2275),dh={apl:function(){return cc.il.define(Zp.apl)},asciiArmor:function(){return cc.il.define(Wp.asciiArmor)},asterisk:function(){return cc.il.define(Rp.asterisk)},c:function(){return cc.il.define(Yp.c)},csharp:function(){return cc.il.define(Yp.csharp)},scala:function(){return cc.il.define(Yp.scala)},kotlin:function(){return cc.il.define(Yp.kotlin)},shader:function(){return cc.il.define(Yp.shader)},nesC:function(){return cc.il.define(Yp.nesC)},objectiveC:function(){return cc.il.define(Yp.objectiveC)},objectiveCpp:function(){return cc.il.define(Yp.objectiveCpp)},squirrel:function(){return cc.il.define(Yp.squirrel)},ceylon:function(){return cc.il.define(Yp.ceylon)},dart:function(){return cc.il.define(Yp.dart)},cmake:function(){return cc.il.define(qp.cmake)},cobol:function(){return cc.il.define(Cp.cobol)},commonLisp:function(){return cc.il.define(Vp.commonLisp)},crystal:function(){return cc.il.define(Ap.crystal)},cypher:function(){return cc.il.define(Np.cypher)},d:function(){return cc.il.define(Gp.d)},diff:function(){return cc.il.define(Dp.diff)},dtd:function(){return cc.il.define(Fp.dtd)},dylan:function(){return cc.il.define(Lp.dylan)},ebnf:function(){return cc.il.define(Jp.ebnf)},ecl:function(){return cc.il.define(Mp.ecl)},eiffel:function(){return cc.il.define(Bp.eiffel)},elm:function(){return cc.il.define(Hp.elm)},factor:function(){return cc.il.define(ed.factor)},fcl:function(){return cc.il.define(td.fcl)},forth:function(){return cc.il.define(nd.forth)},fortran:function(){return cc.il.define(rd.fortran)},gas:function(){return cc.il.define(Od.gas)},gherkin:function(){return cc.il.define(id.gherkin)},groovy:function(){return cc.il.define(ad.groovy)},haskell:function(){return cc.il.define(sd.haskell)},haxe:function(){return cc.il.define(ld.haxe)},http:function(){return cc.il.define(cd.http)},idl:function(){return cc.il.define(ud.idl)},jinja2:function(){return cc.il.define(pd.jinja2)},mathematica:function(){return cc.il.define(md.mathematica)},mbox:function(){return cc.il.define(Qd.mbox)},mirc:function(){return cc.il.define(gd.mirc)},modelica:function(){return cc.il.define($d.modelica)},mscgen:function(){return cc.il.define(Sd.mscgen)},mumps:function(){return cc.il.define(Pd.mumps)},nsis:function(){return cc.il.define(vd.nsis)},ntriples:function(){return cc.il.define(bd.ntriples)},octave:function(){return cc.il.define(xd.octave)},oz:function(){return cc.il.define(Td.oz)},pig:function(){return cc.il.define(kd.pig)},properties:function(){return cc.il.define(Zd.properties)},protobuf:function(){return cc.il.define(Wd.protobuf)},puppet:function(){return cc.il.define(Rd.puppet)},q:function(){return cc.il.define(Ed.q)},sas:function(){return cc.il.define(zd.sas)},sass:function(){return cc.il.define(qd.sass)},sieve:function(){return cc.il.define(Vd.sieve)},smalltalk:function(){return cc.il.define(Ad.smalltalk)},solr:function(){return cc.il.define(Nd.solr)},sparql:function(){return cc.il.define(Gd.sparql)},spreadsheet:function(){return cc.il.define(Dd.spreadsheet)},stex:function(){return cc.il.define(Id.stex)},textile:function(){return cc.il.define(Md.textile)},tiddlyWiki:function(){return cc.il.define(Bd.tiddlyWiki)},tiki:function(){return cc.il.define(Hd.tiki)},troff:function(){return cc.il.define(eh.troff)},ttcn:function(){return cc.il.define(th.ttcn)},turtle:function(){return cc.il.define(nh.turtle)},velocity:function(){return cc.il.define(ih.velocity)},verilog:function(){return cc.il.define(oh.verilog)},vhdl:function(){return cc.il.define(ah.vhdl)},webIDL:function(){return cc.il.define(sh.webIDL)},xQuery:function(){return cc.il.define(lh.xQuery)},yacas:function(){return cc.il.define(ch.yacas)},z80:function(){return cc.il.define(ph.z80)},wast:_p.wast,javascript:gp.javascript,jsx:function(){return(0,gp.javascript)({jsx:!0})},typescript:function(){return(0,gp.javascript)({typescript:!0})},tsx:function(){return(0,gp.javascript)({jsx:!0,typescript:!0})},json:Pp.json,html:$p.html,css:Sp.css,python:yp.python,markdown:function(){return(0,Qp.markdown)({base:Qp.markdownLanguage,codeLanguages:mp.M})},xml:vp.xml,sql:bp.sql,mysql:function(){return(0,bp.sql)({dialect:bp.MySQL})},pgsql:function(){return(0,bp.sql)({dialect:bp.PostgreSQL})},java:xp.java,rust:Tp.rust,cpp:Xp.cpp,lezer:wp.h,php:kp.php,go:function(){return cc.il.define(od.go)},shell:function(){return cc.il.define(jd.shell)},lua:function(){return cc.il.define(fd.lua)},swift:function(){return cc.il.define(Ld.swift)},tcl:function(){return cc.il.define(Jd.tcl)},yaml:function(){return cc.il.define(uh.yaml)},vb:function(){return cc.il.define(rh.vb)},powershell:function(){return cc.il.define(_d.powerShell)},brainfuck:function(){return cc.il.define(Ep.brainfuck)},stylus:function(){return cc.il.define(Fd.stylus)},erlang:function(){return cc.il.define(Kp.erlang)},nginx:function(){return cc.il.define(yd.nginx)},perl:function(){return cc.il.define(wd.perl)},ruby:function(){return cc.il.define(Ud.ruby)},pascal:function(){return cc.il.define(Xd.pascal)},livescript:function(){return cc.il.define(hd.liveScript)},less:function(){return cc.il.define(zp.less)},scheme:function(){return cc.il.define(Cd.scheme)},toml:function(){return cc.il.define(Kd.toml)},vbscript:function(){return cc.il.define(Oh.vbScript)},clojure:function(){return cc.il.define(Up.clojure)},coffeescript:function(){return cc.il.define(jp.coffeeScript)},julia:function(){return cc.il.define(dd.julia)},dockerfile:function(){return cc.il.define(Ip.dockerFile)},r:function(){return cc.il.define(Yd.r)}},hh=Object.keys(dh);var fh=function(e){var t=e.label,n=void 0===t?"":t,r=e.value,O=e.options,i=void 0===O?[]:O,o=e.onChange;return(0,qn.jsxs)("label",{children:[n&&(0,qn.jsxs)("span",{children:[n,"\uff1a"]}),(0,qn.jsx)("select",{value:r,onChange:o,children:i.map((function(e,t){var n={};return r===e&&(n.value=e),(0,qn.jsx)("option",(0,ur.Z)((0,ur.Z)({},n),{},{children:e}),t)}))})]})};function mh(e,t){if(null==e)return{};var n,r,O=(0,Yn.Z)(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(O[n]=e[n])}return O}var Qh,gh,$h,Sh,Ph="\x3c!--rehype:ignore:start--\x3e\n\n# Basic Setup Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-basic-setup.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-basic-setup)\n\nBasic configuration for the CodeMirror6 code editor. This is the official [basic-setup](https://github.com/codemirror/basic-setup) package fork, making configuration optional.\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-basic-setup --save\n```\n\n## Usage\n\n\u26a0\ufe0f Integrated into [**@uiw/react-codemirror**](https://npmjs.com/@uiw/react-codemirror) package\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { basicSetup, minimalSetup } from '@uiw/codemirror-extensions-basic-setup';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [\n basicSetup({\n foldGutter: false,\n dropCursor: false,\n allowMultipleSelections: false,\n indentOnInput: false,\n }),\n ],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n```diff\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\n- import { basicSetup, minimalSetup } from 'codemirror';\n+ import { basicSetup, minimalSetup } from '@uiw/codemirror-extensions-basic-setup';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [\n- basicSetup\n+ basicSetup({\n+ foldGutter: false,\n+ dropCursor: false,\n+ })\n ],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## API\n\n```ts\nimport { Extension } from '@codemirror/state';\nexport interface BasicSetupOptions extends MinimalSetupOptions {\n lineNumbers?: boolean;\n highlightActiveLineGutter?: boolean;\n foldGutter?: boolean;\n dropCursor?: boolean;\n allowMultipleSelections?: boolean;\n indentOnInput?: boolean;\n bracketMatching?: boolean;\n closeBrackets?: boolean;\n autocompletion?: boolean;\n rectangularSelection?: boolean;\n crosshairCursor?: boolean;\n highlightActiveLine?: boolean;\n highlightSelectionMatches?: boolean;\n closeBracketsKeymap?: boolean;\n searchKeymap?: boolean;\n foldKeymap?: boolean;\n completionKeymap?: boolean;\n lintKeymap?: boolean;\n /**\n * Facet for overriding the unit by which indentation happens. Should be a string consisting either entirely of spaces or entirely of tabs. When not set, this defaults to 2 spaces\n * https://codemirror.net/docs/ref/#language.indentUnit\n * @default 2\n */\n tabSize?: number;\n}\n/**\nThis is an extension value that just pulls together a number of\nextensions that you might want in a basic editor. It is meant as a\nconvenient helper to quickly set up CodeMirror without installing\nand importing a lot of separate packages.\n\nSpecifically, it includes...\n\n- [the default command bindings](https://codemirror.net/6/docs/ref/#commands.defaultKeymap)\n- [line numbers](https://codemirror.net/6/docs/ref/#view.lineNumbers)\n- [special character highlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars)\n- [the undo history](https://codemirror.net/6/docs/ref/#commands.history)\n- [a fold gutter](https://codemirror.net/6/docs/ref/#language.foldGutter)\n- [custom selection drawing](https://codemirror.net/6/docs/ref/#view.drawSelection)\n- [drop cursor](https://codemirror.net/6/docs/ref/#view.dropCursor)\n- [multiple selections](https://codemirror.net/6/docs/ref/#state.EditorState^allowMultipleSelections)\n- [reindentation on input](https://codemirror.net/6/docs/ref/#language.indentOnInput)\n- [the default highlight style](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle) (as fallback)\n- [bracket matching](https://codemirror.net/6/docs/ref/#language.bracketMatching)\n- [bracket closing](https://codemirror.net/6/docs/ref/#autocomplete.closeBrackets)\n- [autocompletion](https://codemirror.net/6/docs/ref/#autocomplete.autocompletion)\n- [rectangular selection](https://codemirror.net/6/docs/ref/#view.rectangularSelection) and [crosshair cursor](https://codemirror.net/6/docs/ref/#view.crosshairCursor)\n- [active line highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLine)\n- [active line gutter highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLineGutter)\n- [selection match highlighting](https://codemirror.net/6/docs/ref/#search.highlightSelectionMatches)\n- [search](https://codemirror.net/6/docs/ref/#search.searchKeymap)\n- [linting](https://codemirror.net/6/docs/ref/#lint.lintKeymap)\n\n(You'll probably want to add some language package to your setup\ntoo.)\n\nThis extension does not allow customization. The idea is that,\nonce you decide you want to configure your editor more precisely,\nyou take this package's source (which is just a bunch of imports\nand an array literal), copy it into your own code, and adjust it\nas desired.\n*/\nexport declare const basicSetup: (options?: BasicSetupOptions) => Extension[];\nexport interface MinimalSetupOptions {\n highlightSpecialChars?: boolean;\n history?: boolean;\n drawSelection?: boolean;\n syntaxHighlighting?: boolean;\n defaultKeymap?: boolean;\n historyKeymap?: boolean;\n}\n/**\nA minimal set of extensions to create a functional editor. Only\nincludes [the default keymap](https://codemirror.net/6/docs/ref/#commands.defaultKeymap), [undo\nhistory](https://codemirror.net/6/docs/ref/#commands.history), [special character\nhighlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars), [custom selection\ndrawing](https://codemirror.net/6/docs/ref/#view.drawSelection), and [default highlight\nstyle](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle).\n*/\nexport declare const minimalSetup: (options?: MinimalSetupOptions) => Extension[];\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n";function yh(){var e=document.documentElement.getAttribute("data-color-mode"),t=(0,s.useState)("dark"===e?"dark":"light"),n=(0,a.Z)(t,2),r=n[0],O=n[1];return(0,s.useEffect)((function(){O("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(function(e){O(e.detail.colorScheme)}))}),[]),{theme:r,setTheme:O}}var vh,bh,xh,Th,Xh,wh,kh,_h,Zh,Wh,Rh,Eh,Yh,Uh,zh,qh,Ch,jh,Vh,Ah,Nh,Gh,Dh,Ih=Rn.div(Qh||(Qh=i(["\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 2px;\n & a {\n display: flex;\n align-items: center;\n }\n"]))),Fh=Qn(gh||(gh=i(["\n padding: 2px 5px;\n border-radius: 3px;\n text-decoration: none;\n color: var(--color-accent-emphasis);\n &.active {\n background-color: var(--color-neutral-muted);\n color: var(--color-fg-default);\n }\n"]))),Lh=Rn(Ke)($h||($h=i(["\n ","\n"])),Fh),Jh=Rn.a(Sh||(Sh=i(["\n ","\n"])),Fh),Mh=function(){return(0,qn.jsxs)(Ih,{children:[(0,qn.jsx)(Lh,{to:"/",children:"Home"}),(0,qn.jsx)(Lh,{to:"/extensions",children:"Extensions"}),(0,qn.jsx)(Lh,{to:"/merge/document",children:"Merge"}),(0,qn.jsx)(Lh,{to:"/theme",children:"Themes"}),(0,qn.jsx)(Lh,{to:"/editor/theme",children:"Themes Editor"}),(0,qn.jsx)(Lh,{to:"/theme/doc",children:"Theme Doc"}),(0,qn.jsx)(Jh,{href:"https://github.com/uiwjs/react-codemirror",target:"__blank",children:"Github"}),(0,qn.jsx)("dark-mode",{permanent:!0})]})},Bh=Rn.div(vh||(vh=i(["\n display: flex;\n flex-direction: column;\n"]))),Hh=Rn.div(bh||(bh=i(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 42px;\n padding-left: 10px;\n padding-right: 10px;\n border-bottom: 1px solid var(--color-border-default);\n position: sticky;\n top: 0;\n z-index: 9999;\n background-color: var(--color-canvas-subtle);\n"]))),Kh=Rn(Ke)(xh||(xh=i(["\n font-size: 14px;\n font-weight: bold;\n display: flex;\n align-items: center;\n gap: 10px;\n text-decoration: none;\n color: var(--color-fg-muted);\n > img {\n height: 21px;\n }\n"]))),ef=function(){return(0,qn.jsxs)(Hh,{children:[(0,qn.jsxs)(Kh,{to:"/",children:[(0,qn.jsx)("img",{src:cr,alt:"Logo"}),(0,qn.jsx)("span",{children:"CodeMirror Theme"})]}),(0,qn.jsx)(Mh,{})]})},tf=Rn.div(Th||(Th=i(["\n width: 100%;\n overflow: auto;\n display: flex;\n flex-direction: column;\n height: calc(100vh - 42px);\n"]))),nf=function(e){var t=(0,s.useRef)(null),n=(0,s.useState)(),r=(0,a.Z)(n,2),O=r[0],i=r[1];return(0,s.useEffect)((function(){return i(t.current)}),[]),(0,qn.jsxs)(tf,(0,ur.Z)((0,ur.Z)({ref:t},e),{},{children:[e.children,(0,qn.jsx)(lr,{element:O,style:{position:"fixed"},children:"Top"})]}))},rf=Rn.pre(Xh||(Xh=i(["\n border: 1px solid var(--color-border-default);\n background-color: var(--color-canvas-subtle);\n display: inline-block;\n padding: 10px 13px;\n border-radius: 5px;\n"]))),Of=Rn.span(wh||(wh=i(["\n ","\n ","\n"])),(function(e){return 0===e.number&&Qn(kh||(kh=i(["\n color: var(--color-accent-emphasis);\n "])))}),(function(e){return 2===e.number&&Qn(_h||(_h=i(["\n color: var(--color-danger-fg);\n "])))})),of=function(e){var t=e.value,n=void 0===t?"":t;return(0,qn.jsx)(rf,{children:n.split(" ").map((function(e,t){return(0,qn.jsxs)(Of,{number:t,children:[e," "]},t)}))})},af="\x3c!--rehype:ignore:start--\x3e\n\n# Duotone Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-duotone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-duotone)\n\n\n \"codemirror-theme-duotone\"\n\n\n\n \"codemirror-theme-duotone\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-duotone --save\n```\n\n```jsx\nimport { duotoneLight, duotoneLightInit, duotoneDark, duotoneDarkInit } from '@uiw/codemirror-theme-duotone';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsDuotoneLight: CreateThemeOptions['settings'];\nexport declare const duotoneLightInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const duotoneLight: import('@codemirror/state').Extension;\nexport declare const defaultSettingsDuotoneDark: CreateThemeOptions['settings'];\nexport declare const duotoneDarkInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const duotoneDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { duotoneLight, duotoneDark } from '@uiw/codemirror-theme-duotone';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { duotoneLight, duotoneDark } from '@uiw/codemirror-theme-duotone';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [duotoneDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n\nby Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes)\n",sf="\x3c!--rehype:ignore:start--\x3e\n\n# Github Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-github.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-github)\n\n\n \"codemirror-theme-github\n\n\n\n \"codemirror-theme-github\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-github --save\n```\n\n```jsx\nimport { githubLight, githubLightInit, githubDark, githubDarkInit } from '@uiw/codemirror-theme-github';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsGithubLight: CreateThemeOptions['settings'];\nexport declare const githubLightInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const githubLight: import('@codemirror/state').Extension;\nexport declare const defaultSettingsGithubDark: CreateThemeOptions['settings'];\nexport declare const githubDarkInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const githubDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { githubLight, githubDark } from '@uiw/codemirror-theme-github';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { githubLight, githubDark } from '@uiw/codemirror-theme-github';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [githubDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",lf="\x3c!--rehype:ignore:start--\x3e\n\n# Gruvbox Dark Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-gruvbox-dark.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-gruvbox-dark)\n\nThis package implements the [gruvbox](https://github.com/morhetz/gruvbox) light theme for the CodeMirror code editor.\n\n\n \"codemirror-theme-gruvbox-dark\"\n\n\n\n \"codemirror-theme-eclipse\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-gruvbox-dark --save\n```\n\n```jsx\nimport { gruvboxDark, gruvboxDarkInit, gruvboxLight, gruvboxLightInit } from '@uiw/codemirror-theme-nord';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsGruvboxDark: CreateThemeOptions['settings'];\nexport declare const gruvboxDarkInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const gruvboxDark: import('@codemirror/state').Extension;\nexport declare const defaultSettingsGruvboxLight: CreateThemeOptions['settings'];\nexport declare const gruvboxLightInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const gruvboxLight: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { gruvboxDark, gruvboxLight } from '@uiw/codemirror-theme-gruvbox-dark';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { gruvboxDark } from '@uiw/codemirror-theme-gruvbox-dark';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [gruvboxDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",cf="\x3c!--rehype:ignore:start--\x3e\n\n# Material Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-material.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-material)\n\nThis package implements the [Material](https://material.io/tools/color/) Dark theme for the CodeMirror code editor.\n\n\n \"codemirror-theme-material\"\n\n\n\n \"codemirror-theme-material\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-material --save\n```\n\n```jsx\nimport { materialDark, materialDarkInit, materialLight, materialLightInit } from '@uiw/codemirror-theme-material';\n\n// materialInit === materialDarkInit\n// material === materialDark\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsMaterial: CreateThemeOptions['settings'];\nexport declare const defaultSettingsMaterialDark: import('@uiw/codemirror-themes').Settings;\nexport declare const materialInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const materialDarkInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const materialDark: import('@codemirror/state').Extension;\nexport declare const material: import('@codemirror/state').Extension;\nexport declare const defaultSettingsMaterialLight: CreateThemeOptions['settings'];\nexport declare const materialLightInit: (\n options?: Partial,\n) => import('@codemirror/state').Extension;\nexport declare const materialLight: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { material } from '@uiw/codemirror-theme-material';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { material } from '@uiw/codemirror-theme-material';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [material, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",uf="\x3c!--rehype:ignore:start--\x3e\n\n# Solarized Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-solarized.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-solarized)\n\nThis package implements the [Solarized](https://ethanschoonover.com/solarized/) theme for the CodeMirror code editor.\n\n\n \"codemirror-theme-solarized\"\n\n\n\n \"codemirror-theme-solarized\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-solarized --save\n```\n\n```jsx\nimport { solarizedLight, solarizedLightInit, solarizedDark, solarizedDarkInit } from '@uiw/codemirror-theme-solarized';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsSolarizedLight: CreateThemeOptions['settings'];\nexport declare const solarizedLightInit: (\n options?: Partial,\n) => import('@codemirror/state').Extension;\nexport declare const solarizedLight: import('@codemirror/state').Extension;\nexport declare const defaultSettingsSolarizedDark: CreateThemeOptions['settings'];\nexport declare const solarizedDarkInit: (\n options?: Partial,\n) => import('@codemirror/state').Extension;\nexport declare const solarizedDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { solarizedLight, solarizedDark } from '@uiw/codemirror-theme-solarized';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { solarizedLight, solarizedDark } from '@uiw/codemirror-theme-solarized';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [solarizedLight, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",pf="\x3c!--rehype:ignore:start--\x3e\n\n# Xcode Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-xcode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode)\n\n\n \"codemirror-theme-xcode\n\n\n\n \"codemirror-theme-xcode\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-xcode --save\n```\n\n```jsx\nimport { xcodeLight, xcodeLightInit, xcodeDark, xcodeDarkInit } from '@uiw/codemirror-theme-xcode';\n\n\n\n```\n\n## API\n\n```ts\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsXcodeLight: CreateThemeOptions['settings'];\nexport declare function xcodeLightInit(options?: Partial): import('@codemirror/state').Extension;\nexport declare const xcodeLight: import('@codemirror/state').Extension;\nexport declare const defaultSettingsXcodeDark: CreateThemeOptions['settings'];\nexport declare const xcodeDarkInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const xcodeDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { xcodeLight, xcodeDark } from '@uiw/codemirror-theme-xcode';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { xcodeLight, xcodeDark } from '@uiw/codemirror-theme-xcode';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [xcodeDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",df={abcdef:"\x3c!--rehype:ignore:start--\x3e\n\n# Abcdef Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abcdef.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-abcdef)\n\n\n \"codemirror-theme-abcdef\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-abcdef --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { abcdef, abcdefInit } from '@uiw/codemirror-theme-abcdef';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsAbcdef: CreateThemeOptions['settings'];\nexport declare const abcdefInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const abcdef: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { abcdef } from '@uiw/codemirror-theme-abcdef';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { abcdef } from '@uiw/codemirror-theme-abcdef';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [abcdef, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",androidstudio:"\x3c!--rehype:ignore:start--\x3e\n\n# AndroidStudio Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-androidstudio.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio)\n\n\n \"codemirror-theme-androidstudio\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-androidstudio --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { androidstudio, androidstudioInit } from '@uiw/codemirror-theme-androidstudio';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsAndroidstudio: CreateThemeOptions['settings'];\nexport declare const androidstudioInit: (\n options?: Partial,\n) => import('@codemirror/state').Extension;\nexport declare const androidstudio: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { androidstudio } from '@uiw/codemirror-theme-androidstudio';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { androidstudio } from '@uiw/codemirror-theme-androidstudio';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [androidstudio, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",atomone:"\x3c!--rehype:ignore:start--\x3e\n\n# Atom One Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-atomone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-atomone)\n\n\n \"codemirror-theme-atomone\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-atomone --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { atomone, atomoneInit } from '@uiw/codemirror-theme-atomone';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsAtomone: CreateThemeOptions['settings'];\nexport declare const atomoneInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const atomone: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { atomone } from '@uiw/codemirror-theme-atomone';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { atomone } from '@uiw/codemirror-theme-atomone';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [atomone, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",aura:"\x3c!--rehype:ignore:start--\x3e\n\n# BBEdit Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-aura.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-aura)\n\n\n \"codemirror-theme-aura\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-aura --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { aura, auraInit } from '@uiw/codemirror-theme-aura';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsAura: CreateThemeOptions['settings'];\nexport declare const auraInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const aura: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { aura } from '@uiw/codemirror-theme-aura';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { aura } from '@uiw/codemirror-theme-aura';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [aura, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",bbedit:"\x3c!--rehype:ignore:start--\x3e\n\n# BBEdit Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bbedit.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bbedit)\n\n\n \"codemirror-theme-bbedit\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-bbedit --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { bbedit, bbeditInit } from '@uiw/codemirror-theme-bbedit';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsBbedit: CreateThemeOptions['settings'];\nexport declare const bbeditInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const bbedit: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { bbedit } from '@uiw/codemirror-theme-bbedit';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { bbedit } from '@uiw/codemirror-theme-bbedit';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [bbedit, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",bespin:"\x3c!--rehype:ignore:start--\x3e\n\n# Bespin Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bespin.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bespin)\n\n\n \"codemirror-theme-bespin\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-bespin --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { bespin, bespinInit } from '@uiw/codemirror-theme-bespin';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsBespin: CreateThemeOptions['settings'];\nexport declare const bespinInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const bespin: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { bespin } from '@uiw/codemirror-theme-bespin';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { bespin } from '@uiw/codemirror-theme-bespin';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [bespin, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",dracula:"\x3c!--rehype:ignore:start--\x3e\n\n# Dracula Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-dracula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-dracula)\n\n\n \"codemirror-theme-dracula\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-dracula --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { dracula, draculaInit } from '@uiw/codemirror-theme-dracula';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsDracula: CreateThemeOptions['settings'];\nexport declare const draculaInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const dracula: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { dracula } from '@uiw/codemirror-theme-dracula';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { dracula } from '@uiw/codemirror-theme-dracula';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [dracula, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",darcula:"\x3c!--rehype:ignore:start--\x3e\n\n# Darcula Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-darcula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-darcula)\n\n\n \"codemirror-theme-darcula\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-darcula --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { darcula, darculaInit } from '@uiw/codemirror-theme-darcula';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsDarcula: CreateThemeOptions['settings'];\nexport declare const darculaInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const darcula: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { darcula } from '@uiw/codemirror-theme-darcula';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { darcula } from '@uiw/codemirror-theme-darcula';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [darcula, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",duotoneLight:af,duotoneDark:af,eclipse:"\x3c!--rehype:ignore:start--\x3e\n\n# Eclipse Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-eclipse.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-eclipse)\n\n\n \"codemirror-theme-eclipse\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-eclipse --save\n```\n\n```jsx\nimport { eclipse, eclipseInit } from '@uiw/codemirror-theme-eclipse';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsEclipse: CreateThemeOptions['settings'];\nexport declare const eclipseInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const eclipse: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { eclipse } from '@uiw/codemirror-theme-eclipse';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { eclipse } from '@uiw/codemirror-theme-eclipse';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [eclipse, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",githubLight:sf,githubDark:sf,gruvboxDark:lf,gruvboxLight:lf,materialDark:cf,materialLight:cf,noctisLilac:"\x3c!--rehype:ignore:start--\x3e\n\n# NoctisLilac Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-noctis-lilac.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-noctis-lilac)\n\nThis package implements the noctis-lilac for the CodeMirror code editor.\n\n\n \"codemirror-theme-noctis-lilac\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-noctis-lilac --save\n```\n\n```jsx\nimport { noctisLilac, noctisLilacInit } from '@uiw/codemirror-theme-noctis-lilac';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsNoctisLilac: CreateThemeOptions['settings'];\nexport declare const noctisLilacInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const noctisLilac: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { noctisLilac } from '@uiw/codemirror-theme-noctis-lilac';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { noctisLilac } from '@uiw/codemirror-theme-noctis-lilac';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [noctisLilac, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",nord:"\x3c!--rehype:ignore:start--\x3e\n\n# Nord Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-nord.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-nord)\n\nThis package implements the [nord theme](https://www.nordtheme.com/) for the CodeMirror code editor.\n\n\n \"codemirror-theme-nord\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-nord --save\n```\n\n```jsx\nimport { nord, nordInit } from '@uiw/codemirror-theme-nord';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsNord: CreateThemeOptions['settings'];\nexport declare const nordInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const nord: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { nord } from '@uiw/codemirror-theme-nord';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { nord } from '@uiw/codemirror-theme-nord';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [nord, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",okaidia:"\x3c!--rehype:ignore:start--\x3e\n\n# Okaidia Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-okaidia.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-okaidia)\n\n\n \"codemirror-theme-okaidia\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-okaidia --save\n```\n\n```jsx\nimport { okaidia, okaidiaInit } from '@uiw/codemirror-theme-okaidia';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsOkaidia: CreateThemeOptions['settings'];\nexport declare const okaidiaInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const okaidia: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { okaidia } from '@uiw/codemirror-theme-okaidia';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { okaidia } from '@uiw/codemirror-theme-okaidia';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [okaidia, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",solarizedLight:uf,solarizedDark:uf,sublime:"\x3c!--rehype:ignore:start--\x3e\n\n# Sublime Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-sublime.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-sublime)\n\n\n \"codemirror-theme-sublime\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-sublime --save\n```\n\n```jsx\nimport { sublime, sublimeInit } from '@uiw/codemirror-theme-sublime';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsSublime: CreateThemeOptions['settings'];\nexport declare function sublimeInit(options?: Partial): import('@codemirror/state').Extension;\nexport declare const sublime: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { sublime } from '@uiw/codemirror-theme-sublime';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { sublime } from '@uiw/codemirror-theme-sublime';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [sublime, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",tokyoNight:"\x3c!--rehype:ignore:start--\x3e\n\n# TokyoNight Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night)\n\n\n \"codemirror-theme-tokyo-night\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-tokyo-night --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { tokyoNight, tokyoNightInit } from '@uiw/codemirror-theme-tokyo-night';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsTokyoNight: CreateThemeOptions['settings'];\nexport declare const tokyoNightInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const tokyoNight: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { tokyoNight } from '@uiw/codemirror-theme-tokyo-night';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tokyoNight } from '@uiw/codemirror-theme-tokyo-night';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [tokyoNight, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",tokyoNightStorm:"\x3c!--rehype:ignore:start--\x3e\n\n# TokyoNightStorm Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-storm.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm)\n\n\n \"codemirror-theme-tokyo-night-storm\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-tokyo-night-storm --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { tokyoNightStorm, tokyoNightStormInit } from '@uiw/codemirror-theme-tokyo-night-storm';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsTokyoNightStorm: CreateThemeOptions['settings'];\nexport declare const tokyoNightStormInit: (\n options?: Partial,\n) => import('@codemirror/state').Extension;\nexport declare const tokyoNightStorm: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { tokyoNightStorm } from '@uiw/codemirror-theme-tokyo-night-storm';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tokyoNightStorm } from '@uiw/codemirror-theme-tokyo-night-storm';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [tokyoNightStorm, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",tokyoNightDay:"\x3c!--rehype:ignore:start--\x3e\n\n# TokyoNightDay Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-day.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day)\n\n\n \"codemirror-theme-tokyo-night-day\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-tokyo-night-day --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { tokyoNightDay, tokyoNightDayInit } from '@uiw/codemirror-theme-tokyo-night-day';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsTokyoNightDay: CreateThemeOptions['settings'];\nexport declare const tokyoNightDayInit: (\n options?: Partial,\n) => import('@codemirror/state').Extension;\nexport declare const tokyoNightDay: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { tokyoNightDay } from '@uiw/codemirror-theme-tokyo-night-day';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tokyoNightDay } from '@uiw/codemirror-theme-tokyo-night-day';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [tokyoNightDay, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",vscodeDark:"\x3c!--rehype:ignore:start--\x3e\n\n# VSCode Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-vscode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode)\n\n\n \"codemirror-theme-vscode\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-vscode --save\n```\n\n```jsx\nimport { vscodeDark, vscodeDarkInit } from '@uiw/codemirror-theme-vscode';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsVscodeDark: CreateThemeOptions['settings'];\nexport declare function vscodeDarkInit(options?: Partial): import('@codemirror/state').Extension;\nexport declare const vscodeDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { vscodeDark } from '@uiw/codemirror-theme-vscode';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { vscodeDark } from '@uiw/codemirror-theme-vscode';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [vscodeDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",xcodeLight:pf,xcodeDark:pf},hf={abcdef:Uc,androidstudio:Cc,atomone:Ac,aura:Dc,bbedit:Lc,bespin:Bc,darcula:eu,dracula:ru,duotoneLight:ou,duotoneDark:lu,eclipse:pu,githubLight:fu,githubDark:gu,gruvboxDark:Pu,gruvboxLight:bu,materialLight:Ru,materialDark:ku,noctisLilac:Uu,nord:Cu,okaidia:Au,solarizedLight:Du,solarizedDark:Lu,sublime:Bu,tokyoNight:ep,tokyoNightStorm:rp,tokyoNightDay:op,vscodeDark:lp,xcodeLight:pp,xcodeDark:fp},ff=function(){var e;return null===(e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))||void 0===e?void 0:e.map((function(e){return e.toLowerCase()})).join(",").split(",")},mf=function(){var e;return null===(e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))||void 0===e?void 0:e.map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join(" ")},Qf=function(){var e,t=(null===(e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))||void 0===e?void 0:e.map((function(e){return e.slice(0,1).toUpperCase()+e.slice(1).toLowerCase()})).join(""))||"";return t.slice(0,1).toLowerCase()+t.slice(1)},gf=Rn.button(Zh||(Zh=i([""]))),$f=Rn.div(Wh||(Wh=i(["\n font-size: 24px;\n padding-bottom: 15px;\n text-transform: capitalize;\n font-weight: bold;\n"]))),Sf=Rn.div(Rh||(Rh=i(["\n padding: 26px 23px 22px 23px;\n border-bottom: 1px solid var(--color-border-default);\n "," {\n padding: 6px 0 12px 0;\n }\n "," {\n }\n"])),$f,gf),Pf=Rn.div(Eh||(Eh=i(["\n padding: 30px 38px 120px 38px;\n"]))),yf=function(e){var t=e.children,n=e.themeName,r=(0,s.useState)(!1),O=(0,a.Z)(r,2),i=O[0],o=O[1],l=(0,s.useState)(df.okaidia),c=(0,a.Z)(l,2),u=c[0],p=c[1],d=n;d=/(gruvbox)/i.test(n||"")?null===n||void 0===n?void 0:n.replace(/\s+?(dark|light)/gi," dark"):null===n||void 0===n?void 0:n.replace(/\s+?(dark|light)/gi,"");var h=ff(d||"")||[];return(0,s.useEffect)((function(){n&&p(df[Qf(n)])}),[n]),(0,qn.jsxs)(nf,{children:[(0,qn.jsxs)(Sf,{children:[(0,qn.jsxs)($f,{children:[n," Theme"]}),(0,qn.jsx)(of,{value:"npm install @uiw/codemirror-theme-".concat(h.join("-")," --save")}),(0,qn.jsx)("div",{children:(0,qn.jsx)(gf,{onClick:function(){return o(!i)},children:i?"Preview Theme":"Preview Document"})})]}),(0,qn.jsxs)(Pf,{children:[i&&(0,qn.jsx)(sc,{source:u,style:{width:980,padding:"10px 20px 150px 0"}}),!i&&t]})]})},vf=function(e){var t=e.children;e.name;return(0,qn.jsx)(nf,{children:(0,qn.jsx)(Pf,{children:t})})},bf={comment:"#787b80",lineComment:"",blockComment:"",docComment:"",name:"",typeDefinition:"#194a7b",typeName:"#194a7b",typeStandard:"",tagName:"#008a02",tagNameStandard:"",variableName:"#1a00db",variableNameDefinition:"",variableNameFunction:"",propertyName:"",propertyNameDefinition:"",propertyNameFunction:"",propertyNameSpecial:"",attributeName:"",attributeValue:"",className:"",classNameConstant:"",labelName:"",namespace:"",macroName:"",literal:"",string:"",stringSpecial:"",docString:"",character:"",number:"",integer:"",float:"",bool:"",regexp:"",escape:"",color:"",url:"",keyword:"",self:"",null:"",atom:"",unit:"",modifier:"",operatorKeyword:"",controlKeyword:"",definitionKeyword:"",moduleKeyword:"",operator:"",derefOperator:"",arithmeticOperator:"",logicOperator:"",bitwiseOperator:"",brace:"",angleBracket:"",compareOperator:"",updateOperator:"",definitionOperator:"",typeOperator:"",controlOperator:"",punctuation:"",separator:"",bracket:"",squareBracket:"",paren:"",content:"",heading:"",heading1:"",heading2:"",heading3:"",heading4:"",heading5:"",heading6:"",contentSeparator:"",list:"",quote:"",emphasis:"",strong:"",link:"",monospace:"",strikethrough:"",inserted:"",deleted:"",changed:"",invalid:"",meta:"",documentMeta:"",annotation:"",processingInstruction:""},xf=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[];return e.comment&&t.push("{ tag: t.comment, color: '".concat(e.comment,"' },")),e.lineComment&&t.push("{ tag: t.lineComment, color: '".concat(e.lineComment,"' },")),e.blockComment&&t.push("{ tag: t.blockComment, color: '".concat(e.blockComment,"' },")),e.docComment&&t.push("{ tag: t.docComment, color: '".concat(e.docComment,"' },")),e.name&&t.push("{ tag: t.name, color: '".concat(e.name,"' },")),e.typeDefinition&&t.push("{ tag: t.definition(t.typeName), color: '".concat(e.typeDefinition,"' },")),e.typeName&&t.push("{ tag: t.typeName, color: '".concat(e.typeName,"' },")),e.typeStandard&&t.push("{ tag: t.standard(t.typeName), color: '".concat(e.typeName,"' },")),e.tagName&&t.push("{ tag: t.tagName, color: '".concat(e.tagName,"' },")),e.tagNameStandard&&t.push("{ tag: t.standard(t.tagName), color: '".concat(e.tagNameStandard,"' },")),e.variableName&&t.push("{ tag: t.variableName, color: '".concat(e.variableName,"' },")),e.variableNameDefinition&&t.push("{ tag: t.definition(t.variableName), color: '".concat(e.variableNameDefinition,"' },")),e.variableNameFunction&&t.push("{ tag: t.function(t.variableName), color: '".concat(e.variableNameFunction,"' },")),e.propertyName&&t.push("{ tag: t.propertyName, color: '".concat(e.propertyName,"' },")),e.propertyNameFunction&&t.push("{ tag: t.function(t.propertyName), color: '".concat(e.propertyNameFunction,"' },")),e.propertyNameDefinition&&t.push("{ tag: t.definition(t.propertyName), color: '".concat(e.propertyNameDefinition,"' },")),e.propertyNameSpecial&&t.push("{ tag: t.special(t.propertyName), color: '".concat(e.propertyNameSpecial,"' },")),e.attributeName&&t.push("{ tag: t.attributeName, color: '".concat(e.attributeName,"' },")),e.className&&t.push("{ tag: t.className, color: '".concat(e.className,"' },")),e.classNameConstant&&t.push("{ tag: t.constant(t.className), color: '".concat(e.className,"' },")),e.labelName&&t.push("{ tag: t.labelName, color: '".concat(e.labelName,"' },")),e.namespace&&t.push("{ tag: t.namespace, color: '".concat(e.namespace,"' },")),e.macroName&&t.push("{ tag: t.macroName, color: '".concat(e.macroName,"' },")),e.literal&&t.push("{ tag: t.literal, color: '".concat(e.literal,"' },")),e.string&&t.push("{ tag: t.string, color: '".concat(e.string,"' },")),e.stringSpecial&&t.push("{ tag: t.special(t.string), color: '".concat(e.stringSpecial,"' },")),e.docString&&t.push("{ tag: t.docString, color: '".concat(e.docString,"' },")),e.character&&t.push("{ tag: t.character, color: '".concat(e.character,"' },")),e.attributeValue&&t.push("{ tag: t.attributeValue, color: '".concat(e.attributeValue,"' },")),e.number&&t.push("{ tag: t.number, color: '".concat(e.number,"' },")),e.integer&&t.push("{ tag: t.integer, color: '".concat(e.integer,"' },")),e.float&&t.push("{ tag: t.float, color: '".concat(e.float,"' },")),e.bool&&t.push("{ tag: t.bool, color: '".concat(e.bool,"' },")),e.regexp&&t.push("{ tag: t.regexp, color: '".concat(e.regexp,"' },")),e.escape&&t.push("{ tag: t.escape, color: '".concat(e.escape,"' },")),e.color&&t.push("{ tag: t.color, color: '".concat(e.color,"' },")),e.url&&t.push("{ tag: t.url, color: '".concat(e.url,"' },")),e.keyword&&t.push("{ tag: t.keyword, color: '".concat(e.keyword,"' },")),e.self&&t.push("{ tag: t.self, color: '".concat(e.self,"' },")),e.null&&t.push("{ tag: t.null, color: '".concat(e.null,"' },")),e.atom&&t.push("{ tag: t.atom, color: '".concat(e.atom,"' },")),e.unit&&t.push("{ tag: t.unit, color: '".concat(e.unit,"' },")),e.modifier&&t.push("{ tag: t.modifier, color: '".concat(e.modifier,"' },")),e.operatorKeyword&&t.push("{ tag: t.operatorKeyword, color: '".concat(e.operatorKeyword,"' },")),e.controlKeyword&&t.push("{ tag: t.controlKeyword, color: '".concat(e.controlKeyword,"' },")),e.definitionKeyword&&t.push("{ tag: t.definitionKeyword, color: '".concat(e.definitionKeyword,"' },")),e.moduleKeyword&&t.push("{ tag: t.moduleKeyword, color: '".concat(e.moduleKeyword,"' },")),e.operator&&t.push("{ tag: t.operator, color: '".concat(e.operator,"' },")),e.derefOperator&&t.push("{ tag: t.derefOperator, color: '".concat(e.derefOperator,"' },")),e.arithmeticOperator&&t.push("{ tag: t.arithmeticOperator, color: '".concat(e.arithmeticOperator,"' },")),e.logicOperator&&t.push("{ tag: t.logicOperator, color: '".concat(e.logicOperator,"' },")),e.logicOperator&&t.push("{ tag: t.bitwiseOperator, color: '".concat(e.logicOperator,"' },")),e.compareOperator&&t.push("{ tag: t.compareOperator, color: '".concat(e.compareOperator,"' },")),e.updateOperator&&t.push("{ tag: t.updateOperator, color: '".concat(e.updateOperator,"' },")),e.definitionOperator&&t.push("{ tag: t.definitionOperator, color: '".concat(e.definitionOperator,"' },")),e.typeOperator&&t.push("{ tag: t.typeOperator, color: '".concat(e.typeOperator,"' },")),e.controlOperator&&t.push("{ tag: t.controlOperator, color: '".concat(e.controlOperator,"' },")),e.punctuation&&t.push("{ tag: t.punctuation, color: '".concat(e.punctuation,"' },")),e.separator&&t.push("{ tag: t.separator, color: '".concat(e.separator,"' },")),e.bracket&&t.push("{ tag: t.bracket, color: '".concat(e.bracket,"' },")),e.angleBracket&&t.push("{ tag: t.angleBracket, color: '".concat(e.angleBracket,"' },")),e.squareBracket&&t.push("{ tag: t.squareBracket, color: '".concat(e.squareBracket,"' },")),e.paren&&t.push("{ tag: t.paren, color: '".concat(e.paren,"' },")),e.brace&&t.push("{ tag: t.brace, color: '".concat(e.brace,"' },")),e.content&&t.push("{ tag: t.content, color: '".concat(e.content,"' },")),e.heading&&t.push("{ tag: t.heading, color: '".concat(e.heading,"' },")),e.heading1&&t.push("{ tag: t.heading1, color: '".concat(e.heading1,"' },")),e.heading2&&t.push("{ tag: t.heading2, color: '".concat(e.heading2,"' },")),e.heading3&&t.push("{ tag: t.heading3, color: '".concat(e.heading3,"' },")),e.heading4&&t.push("{ tag: t.heading4, color: '".concat(e.heading4,"' },")),e.heading5&&t.push("{ tag: t.heading5, color: '".concat(e.heading5,"' },")),e.heading6&&t.push("{ tag: t.heading6, color: '".concat(e.heading6,"' },")),e.contentSeparator&&t.push("{ tag: t.contentSeparator, color: '".concat(e.contentSeparator,"' },")),e.list&&t.push("{ tag: t.list, color: '".concat(e.list,"' },")),e.quote&&t.push("{ tag: t.quote, color: '".concat(e.quote,"' },")),e.emphasis&&t.push("{ tag: t.emphasis, color: '".concat(e.emphasis,"' },")),e.strong&&t.push("{ tag: t.strong, color: '".concat(e.strong,"' },")),e.link&&t.push("{ tag: t.link, color: '".concat(e.link,"' },")),e.monospace&&t.push("{ tag: t.monospace, color: '".concat(e.monospace,"' },")),e.strikethrough&&t.push("{ tag: t.strikethrough, color: '".concat(e.strikethrough,"' },")),e.inserted&&t.push("{ tag: t.inserted, color: '".concat(e.inserted,"' },")),e.deleted&&t.push("{ tag: t.deleted, color: '".concat(e.deleted,"' },")),e.changed&&t.push("{ tag: t.changed, color: '".concat(e.changed,"' },")),e.invalid&&t.push("{ tag: t.invalid, color: '".concat(e.invalid,"' },")),e.meta&&t.push("{ tag: t.meta, color: '".concat(e.meta,"' },")),e.documentMeta&&t.push("{ tag: t.documentMeta, color: '".concat(e.documentMeta,"' },")),e.annotation&&t.push("{ tag: t.annotation, color: '".concat(e.annotation,"' },")),e.processingInstruction&&t.push("{ tag: t.processingInstruction, color: '".concat(e.processingInstruction,"' },")),"import CodeMirror from '@uiw/react-codemirror';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tags as t } from '@lezer/highlight';\n\nconst myTheme = createTheme({\n dark: '".concat(e.dark,"',\n settings: {\n background: '").concat(e.background,"',\n foreground: '").concat(e.foreground,"',\n caret: '").concat(e.caret,"',\n selection: '").concat(e.selection,"',\n selectionMatch: '").concat(e.selectionMatch,"',\n gutterBackground: '").concat(e.gutterBackground,"',\n gutterForeground: '").concat(e.gutterForeground,"',\n gutterBorder: '").concat(e.gutterBorder,"',\n gutterActiveForeground: '").concat(e.gutterActiveForeground,"',\n lineHighlight: '").concat(e.lineHighlight,"',\n },\n styles: [\n ").concat(t.join("\n "),"\n ],\n});\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;")},Tf=["children","onChange"],Xf=["color","children"],wf=Rn.div(Yh||(Yh=i(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n"]))),kf=Rn.div(Uh||(Uh=i(["\n /* font-weight: bold; */\n"]))),_f=Rn.div(zh||(zh=i(["\n width: 16px;\n height: 16px;\n overflow: hidden;\n border: 1px solid var(--color-border-default);\n border-radius: 3px;\n position: relative;\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cpattern id='a' width='12' height='12' patternUnits='userSpaceOnUse'%3E%3Cpath fill='rgba(0, 0, 0, 0.06)' d='M0 0h8v8H0zm8 8h8v8H8z'/%3E%3C/pattern%3E%3Crect fill='url(%23a)' width='100%25' height='100%25'/%3E%3C/svg%3E\");\n &::before {\n content: ' ';\n display: block;\n position: absolute;\n left: 1px;\n right: 1px;\n top: 1px;\n bottom: 1px;\n border-radius: 2px;\n ","\n }\n input {\n position: relative;\n z-index: 3;\n border: 0;\n background-color: transparent;\n padding-left: 16px;\n height: 16px;\n }\n"])),(function(e){return e.color&&Qn(qh||(qh=i(["\n background-color: ",";\n "])),e.color)})),Zf=function(e){e.children;var t=e.onChange,n=mh(e,Tf);return(0,qn.jsx)(_f,{color:n.value,children:(0,qn.jsx)("input",(0,ur.Z)((0,ur.Z)({type:"color"},n),{},{onChange:t}))})},Wf=function(e){var t=e.color,n=e.children,r=mh(e,Xf);return(0,qn.jsxs)(wf,{children:[(0,qn.jsx)(kf,{children:n}),(0,qn.jsx)(Zf,(0,ur.Z)({value:t},r))]})},Rf=function(e){var t=e.theme,n=e.onChange,r=function(e,t){n&&n(t)};return(0,qn.jsxs)("div",{children:[(0,qn.jsxs)("label",{children:[(0,qn.jsx)("input",{type:"radio",name:"theme",onChange:function(e){return r(0,"light")},checked:"light"===t})," ","light"]}),(0,qn.jsxs)("label",{children:[(0,qn.jsx)("input",{type:"radio",name:"theme",onChange:function(e){return r(0,"dark")},checked:"dark"===t})," ","dark"]})]})},Ef=["onChange","styles"],Yf=Rn.select(Ch||(Ch=i(["\n position: absolute;\n right: 10px;\n top: 10px;\n padding: 3px 6px;\n z-index: 9;\n"]))),Uf=Object.keys(dh),zf=function(e){var t=e.onChange,r=e.styles,O=mh(e,Ef),i=(0,s.useState)("code"),o=(0,a.Z)(i,2),l=o[0],c=o[1];return(0,s.useEffect)((function(){"code"===l&&t&&t(xf(r),"code",dh.jsx())}),[]),(0,qn.jsxs)(Yf,(0,ur.Z)((0,ur.Z)({value:l,onChange:function(e){var O=e.target.value;if(c(O),"code"!==O)try{n(620)("./sample.".concat(O.toLocaleLowerCase(),".txt")).then((function(e){var n=dh[O];t&&t(e.default,O,n?n():void 0)})).catch((function(e){t&&t("","",void 0)}))}catch(i){}else t&&t(xf(r),"code",dh.jsx())}},O),{},{children:[(0,qn.jsx)("option",{value:"code",children:"Sample Code"}),Uf.map((function(e,t){return(0,qn.jsx)("option",{value:e,children:e},t)}))]}))},qf=n(8530),Cf=n(3346),jf=n(8186),Vf=n(7587),Af=n(2877),Nf=n(7548),Gf=n(3356),Df=n(1957),If=n(1233),Ff=n(2085),Lf=n(7252),Jf=n(65),Mf=n(7475),Bf=n(6624),Hf=n(4775),Kf=n(8194),em=["theme"],tm=Rn.div(jh||(jh=i(["\n font-weight: bold;\n font-size: 16px;\n padding: 5px 0;\n"]))),nm=Rn.div(Vh||(Vh=i(["\n max-width: 980px;\n"]))),rm=function(e){var t=e.theme,n=mh(e,em);return(0,qn.jsxs)(nm,(0,ur.Z)((0,ur.Z)({},n),{},{children:[(0,qn.jsx)(tm,{children:"JavaScript"}),(0,qn.jsx)(_c.default,{value:qf.default,height:"300px",theme:t,extensions:[wc,dh.javascript()]}),(0,qn.jsx)(tm,{children:"JSX"}),(0,qn.jsx)(_c.default,{value:Cf.default,height:"300px",theme:t,extensions:[wc,dh.jsx()]}),(0,qn.jsx)(tm,{children:"TypeScript"}),(0,qn.jsx)(_c.default,{value:jf.default,height:"300px",theme:t,extensions:[wc,dh.typescript()]}),(0,qn.jsx)(tm,{children:"TSX"}),(0,qn.jsx)(_c.default,{value:Vf.default,height:"300px",theme:t,extensions:[wc,dh.tsx()]}),(0,qn.jsx)(tm,{children:"JSON"}),(0,qn.jsx)(_c.default,{value:Af.default,height:"300px",theme:t,extensions:[wc,dh.json()]}),(0,qn.jsx)(tm,{children:"HTML"}),(0,qn.jsx)(_c.default,{value:Nf.default,height:"300px",theme:t,extensions:[wc,dh.html()]}),(0,qn.jsx)(tm,{children:"Markdown"}),(0,qn.jsx)(_c.default,{value:Kf.default,height:"300px",theme:t,extensions:[wc,dh.markdown()]}),(0,qn.jsx)(tm,{children:"CSS"}),(0,qn.jsx)(_c.default,{value:Gf.default,height:"300px",theme:t,extensions:[wc,dh.css()]}),(0,qn.jsx)(tm,{children:"PHP"}),(0,qn.jsx)(_c.default,{value:Df.default,height:"300px",theme:t,extensions:[wc,dh.php()]}),(0,qn.jsx)(tm,{children:"JAVA"}),(0,qn.jsx)(_c.default,{value:Ff.default,height:"300px",theme:t,extensions:[wc,dh.java()]}),(0,qn.jsx)(tm,{children:"Rust"}),(0,qn.jsx)(_c.default,{value:If.default,height:"300px",theme:t,extensions:[wc,dh.rust()]}),(0,qn.jsx)(tm,{children:"Go"}),(0,qn.jsx)(_c.default,{value:Lf.default,height:"300px",theme:t,extensions:[wc,dh.go()]}),(0,qn.jsx)(tm,{children:"MySQL"}),(0,qn.jsx)(_c.default,{value:Jf.default,height:"300px",theme:t,extensions:[wc,dh.mysql()]}),(0,qn.jsx)(tm,{children:"Python"}),(0,qn.jsx)(_c.default,{value:Mf.default,height:"300px",theme:t,extensions:[wc,dh.python()]}),(0,qn.jsx)(tm,{children:"Shell"}),(0,qn.jsx)(_c.default,{value:Bf.default,height:"300px",theme:t,extensions:[wc,dh.shell()]}),(0,qn.jsx)(tm,{children:"Swift"}),(0,qn.jsx)(_c.default,{value:Hf.default,height:"300px",theme:t,extensions:[wc,dh.swift()]})]}))},Om=Rn.div(Ah||(Ah=i(["\n width: 220px;\n min-width: 220px;\n overflow: auto;\n height: calc(100vh - 42px);\n padding: 18px 16px 120px 16px;\n border-right: 1px solid var(--color-border-default);\n display: flex;\n flex-direction: column;\n gap: 5px;\n"]))),im=Rn.div(Nh||(Nh=i(["\n height: 100%;\n width: 100%;\n overflow: auto;\n display: flex;\n flex-direction: column;\n height: calc(100vh - 42px);\n position: relative;\n"]))),om=Rn.div(Gh||(Gh=i(["\n color: var(--color-fg-subtle);\n font-size: 12px;\n padding: 0 0;\n"])));function am(e,t){return e&&t?(t.color=e,[t]):[]}function sm(){var e=xe(),t=Xe().type,n=void 0===t?"light":t,r=(0,s.useState)((0,gp.javascript)({jsx:!0})),O=(0,a.Z)(r,2),i=O[0],o=O[1],l=(0,s.useState)(""),c=(0,a.Z)(l,2),u=c[0],p=c[1],d=(0,s.useState)("jsx"),h=(0,a.Z)(d,2),f=h[0],m=h[1],Q=(0,s.useState)("light"),g=(0,a.Z)(Q,2),$=g[0],S=g[1],P=(0,s.useState)({background:"#ffffff",foreground:"#4D4D4C",caret:"#AEAFAD",selection:"#D6D6D6",selectionMatch:"#D6D6D6",gutterBackground:"#FFFFFF",gutterForeground:"#4D4D4C",gutterBorder:"#ddd",gutterActiveForeground:"",lineHighlight:"#EFEFEF"}),y=(0,a.Z)(P,2),v=y[0],b=y[1],x=(0,s.useState)(bf),T=(0,a.Z)(x,2),X=T[0],w=T[1],k=Rc({theme:$,settings:(0,ur.Z)({},v),styles:[am(X.comment,{tag:Zc.pJ.comment}),am(X.lineComment,{tag:Zc.pJ.lineComment}),am(X.blockComment,{tag:Zc.pJ.blockComment}),am(X.docComment,{tag:Zc.pJ.docComment}),am(X.name,{tag:Zc.pJ.name}),am(X.typeDefinition,{tag:Zc.pJ.definition(Zc.pJ.typeName)}),am(X.typeStandard,{tag:Zc.pJ.standard(Zc.pJ.typeName)}),am(X.typeName,{tag:Zc.pJ.typeName}),am(X.tagNameStandard,{tag:Zc.pJ.standard(Zc.pJ.tagName)}),am(X.tagName,{tag:Zc.pJ.tagName}),am(X.variableName,{tag:Zc.pJ.variableName}),am(X.variableNameDefinition,{tag:Zc.pJ.definition(Zc.pJ.variableName)}),am(X.variableNameFunction,{tag:Zc.pJ.function(Zc.pJ.variableName)}),am(X.propertyName,{tag:Zc.pJ.propertyName}),am(X.propertyNameDefinition,{tag:Zc.pJ.definition(Zc.pJ.propertyName)}),am(X.propertyNameSpecial,{tag:Zc.pJ.special(Zc.pJ.propertyName)}),am(X.propertyNameFunction,{tag:Zc.pJ.function(Zc.pJ.propertyName)}),am(X.attributeName,{tag:Zc.pJ.attributeName}),am(X.attributeValue,{tag:Zc.pJ.attributeValue}),am(X.className,{tag:Zc.pJ.className}),am(X.classNameConstant,{tag:Zc.pJ.constant(Zc.pJ.className)}),am(X.labelName,{tag:Zc.pJ.labelName}),am(X.namespace,{tag:Zc.pJ.namespace}),am(X.macroName,{tag:Zc.pJ.macroName}),am(X.literal,{tag:Zc.pJ.literal}),am(X.string,{tag:Zc.pJ.string}),am(X.stringSpecial,{tag:Zc.pJ.special(Zc.pJ.string)}),am(X.docString,{tag:Zc.pJ.docString}),am(X.character,{tag:Zc.pJ.character}),am(X.number,{tag:Zc.pJ.number}),am(X.integer,{tag:Zc.pJ.integer}),am(X.float,{tag:Zc.pJ.float}),am(X.bool,{tag:Zc.pJ.bool}),am(X.regexp,{tag:Zc.pJ.regexp}),am(X.escape,{tag:Zc.pJ.escape}),am(X.color,{tag:Zc.pJ.color}),am(X.url,{tag:Zc.pJ.url}),am(X.keyword,{tag:Zc.pJ.keyword}),am(X.self,{tag:Zc.pJ.self}),am(X.null,{tag:Zc.pJ.null}),am(X.atom,{tag:Zc.pJ.atom}),am(X.unit,{tag:Zc.pJ.unit}),am(X.modifier,{tag:Zc.pJ.modifier}),am(X.operatorKeyword,{tag:Zc.pJ.operatorKeyword}),am(X.controlKeyword,{tag:Zc.pJ.controlKeyword}),am(X.definitionKeyword,{tag:Zc.pJ.definitionKeyword}),am(X.moduleKeyword,{tag:Zc.pJ.moduleKeyword}),am(X.operator,{tag:Zc.pJ.operator}),am(X.derefOperator,{tag:Zc.pJ.derefOperator}),am(X.arithmeticOperator,{tag:Zc.pJ.arithmeticOperator}),am(X.logicOperator,{tag:Zc.pJ.logicOperator}),am(X.bitwiseOperator,{tag:Zc.pJ.bitwiseOperator}),am(X.compareOperator,{tag:Zc.pJ.compareOperator}),am(X.updateOperator,{tag:Zc.pJ.updateOperator}),am(X.definitionOperator,{tag:Zc.pJ.definitionOperator}),am(X.typeOperator,{tag:Zc.pJ.typeOperator}),am(X.controlOperator,{tag:Zc.pJ.controlOperator}),am(X.punctuation,{tag:Zc.pJ.punctuation}),am(X.separator,{tag:Zc.pJ.separator}),am(X.bracket,{tag:Zc.pJ.bracket}),am(X.angleBracket,{tag:Zc.pJ.angleBracket}),am(X.squareBracket,{tag:Zc.pJ.squareBracket}),am(X.paren,{tag:Zc.pJ.paren}),am(X.brace,{tag:Zc.pJ.brace}),am(X.content,{tag:Zc.pJ.content}),am(X.heading,{tag:Zc.pJ.heading}),am(X.heading1,{tag:Zc.pJ.heading1}),am(X.heading2,{tag:Zc.pJ.heading2}),am(X.heading3,{tag:Zc.pJ.heading3}),am(X.heading4,{tag:Zc.pJ.heading4}),am(X.heading5,{tag:Zc.pJ.heading5}),am(X.heading6,{tag:Zc.pJ.heading6}),am(X.contentSeparator,{tag:Zc.pJ.contentSeparator}),am(X.list,{tag:Zc.pJ.list}),am(X.quote,{tag:Zc.pJ.quote}),am(X.emphasis,{tag:Zc.pJ.emphasis}),am(X.strong,{tag:Zc.pJ.strong}),am(X.link,{tag:Zc.pJ.link}),am(X.monospace,{tag:Zc.pJ.monospace}),am(X.strikethrough,{tag:Zc.pJ.strikethrough}),am(X.inserted,{tag:Zc.pJ.inserted}),am(X.deleted,{tag:Zc.pJ.deleted}),am(X.changed,{tag:Zc.pJ.changed}),am(X.invalid,{tag:Zc.pJ.invalid}),am(X.meta,{tag:Zc.pJ.meta}),am(X.documentMeta,{tag:Zc.pJ.documentMeta}),am(X.annotation,{tag:Zc.pJ.annotation}),am(X.processingInstruction,{tag:Zc.pJ.processingInstruction})].flat()});return(0,qn.jsxs)(s.Fragment,{children:[(0,qn.jsxs)(Om,{children:[(0,qn.jsx)(Rf,{theme:$,onChange:function(e){return S(e)}}),(0,qn.jsx)(om,{children:"Editor"}),Object.keys(v).map((function(e,t){return(0,qn.jsx)(Wf,{color:v[e],onChange:function(t){return b((0,ur.Z)((0,ur.Z)({},v),{},(0,XO.Z)({},e,t.target.value)))},children:e},t)})),(0,qn.jsx)(om,{children:"Syntax Highlighting"}),Object.keys(X).map((function(e,t){return(0,qn.jsx)(Wf,{color:X[e],onChange:function(t){return w((0,ur.Z)((0,ur.Z)({},X),{},(0,XO.Z)({},e,t.target.value)))},children:e},t)}))]}),(0,qn.jsxs)(im,{children:["single"===n&&(0,qn.jsx)(_c.default,{readOnly:"code"===f,theme:k,extensions:[i,wc],value:"code"===f?xf((0,ur.Z)((0,ur.Z)((0,ur.Z)({},v),X),{},{dark:$})):u,height:"100%",style:{minHeight:"100%"}}),(0,qn.jsxs)(Yf,{value:n,onChange:function(t){return e("/theme/editor/".concat(t.target.value))},children:[(0,qn.jsx)("option",{value:"single",children:"Single language"}),(0,qn.jsx)("option",{value:"multiple",children:"Multiple languages"})]}),"single"===n&&(0,qn.jsx)(zf,{style:{top:40},styles:(0,ur.Z)((0,ur.Z)((0,ur.Z)({},v),X),{},{dark:$}),onChange:function(e,t,n){m(t),p(e||""),o(n||[])}}),"multiple"===n&&(0,qn.jsx)(rm,{theme:k,style:{padding:"30px 30px",maxWidth:860}})]})]})}var lm,cm=Rn.div(Dh||(Dh=i(["\n display: flex;\n flex: 1;\n"])));function um(){var e=Xe(),t=e.name,n=void 0===t?"":t,r=e.lightOrDark,O=void 0===r?"":r;return(0,s.useEffect)((function(){var e="CodeMirror 6 themes";(n||O)&&(e="CodeMirror 6 ".concat(n," ").concat(O?" ".concat(O):""," theme")),document.title=e}),[n,O]),(0,qn.jsxs)(Bh,{children:[(0,qn.jsx)(ef,{}),(0,qn.jsx)(cm,{children:(0,qn.jsx)(Ce,{})})]})}var pm=Rn(Ke)(lm||(lm=i(["\n cursor: pointer;\n padding: 6px 8px;\n font-size: 16px;\n text-decoration: none;\n text-transform: capitalize;\n border-radius: 2px;\n transition: background-color 0.3s;\n color: var(--color-accent-emphasis);\n &.active {\n background-color: var(--color-neutral-muted);\n color: var(--color-theme-text);\n }\n &:hover {\n background-color: var(--color-neutral-muted);\n }\n"])));function dm(){return(0,qn.jsxs)(Om,{children:[(0,qn.jsx)(pm,{to:"/theme/home",children:"Home"}),Object.keys(hf).map((function(e,t){var n=b(ff(e)||[]),r=n[0],O=n[1],i=n.slice(2),o=[r,O].concat((0,c.Z)(i)).filter(Boolean).map((function(e){return(null===e||void 0===e?void 0:e.slice(0,1).toUpperCase())+(null===e||void 0===e?void 0:e.slice(1).toLowerCase())})).join(" "),a="/theme/data/".concat(r).concat(O?"/".concat(O):"").concat(i?"/".concat(i.join("/")):"");return(0,qn.jsx)(pm,{to:a.replace(/\/$/gi,""),children:o},t)}))]})}var hm,fm,mm,Qm,gm,$m,Sm,Pm,ym,vm,bm,xm,Tm,Xm,wm="\x3c!--rehype:ignore:start--\x3e\n\n# Events Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-events.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-events)\n\nEvents Extensions for CodeMirror6.\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-events --save\n```\n\n```js\nimport * as events from '@uiw/codemirror-extensions-events';\n\nconst extension1 = events.scroll({\n scroll: (evn) => {\n console.log(evn.target.scrollTop);\n },\n});\n\nconst extension2 = events.content({\n focus: (evn) => {\n console.log('focus');\n },\n blur: (evn) => {\n console.log('blur');\n },\n});\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { events } from '@uiw/codemirror-extensions-events';\n\nfunction App() {\n const [scrollTop, setScrollTop] = useState(0);\n\n const eventExt = events.scroll({\n scroll: (evn) => {\n setScrollTop(evn.target.scrollTop);\n },\n });\n\n const eventExt2 = events.content({\n focus: (evn) => {\n console.log('focus');\n },\n blur: (evn) => {\n console.log('blur');\n },\n });\n\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { events } from '@uiw/codemirror-extensions-events';\n\nconst eventExt = events.content({\n focus: (evn) => {\n console.log('focus');\n },\n blur: (evn) => {\n console.log('blur');\n },\n});\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [eventExt],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## API\n\n```ts\nimport { ViewPlugin, EditorView } from '@codemirror/view';\nexport declare type Events = Record<\n K,\n (this: HTMLElement, event: HTMLElementEventMap[K]) => void\n>;\n/**\n * The DOM element that can be styled to scroll.\n * (Note that it may not have been, so you can't assume this is scrollable.)\n */\nexport declare function dom(\n opts: Events,\n): ViewPlugin<{\n dom?: HTMLElement | undefined;\n view: EditorView;\n destroy(): void;\n}>;\n/**\n * The DOM element that wraps the entire editor view.\n */\nexport declare function scroll(\n opts: Events,\n): ViewPlugin<{\n dom?: HTMLElement | undefined;\n view: EditorView;\n destroy(): void;\n}>;\n/**\n * The editable DOM element holding the editor content.\n * You should not, usually, interact with this content directly though the DOM,\n * since the editor will immediately undo most of the changes you make.\n */\nexport declare function content(\n opts: Events,\n): ViewPlugin<{\n dom?: HTMLElement | undefined;\n view: EditorView;\n destroy(): void;\n}>;\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",km="\x3c!--rehype:ignore:start--\x3e\n\n# Color Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-color.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-color)\n\nColor Extensions for CodeMirror6.\n\n[![Codemirror Extensions Color](https://user-images.githubusercontent.com/1680273/178143104-26e0564b-bd3e-42cd-a8d4-b40edf9ec44d.png)](https://uiwjs.github.io/react-codemirror/#/extensions/color)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-color --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { color, colorView, colorTheme } from '@uiw/codemirror-extensions-color';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { color } from '@uiw/codemirror-extensions-color';\n\nconst state = EditorState.create({\n doc: 'body { color: #333; }',\n extensions: [color],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## API\n\n```ts\nimport { ViewPlugin, EditorView, ViewUpdate, DecorationSet } from '@codemirror/view';\nimport { Extension } from '@codemirror/state';\nexport declare enum ColorType {\n rgb = 'RGB',\n hex = 'HEX',\n named = 'NAMED',\n hsl = 'HSL',\n}\nexport interface ColorState {\n from: number;\n to: number;\n alpha: string;\n colorType: ColorType;\n}\nexport declare const colorView: (showPicker?: boolean) => ViewPlugin<{\n decorations: DecorationSet;\n update(update: ViewUpdate): void;\n changePicker(view: EditorView, canBeEdited: boolean): void;\n}>;\nexport declare const colorTheme: Extension;\nexport declare const color: Extension;\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",_m="\x3c!--rehype:ignore:start--\x3e\n\n# Add className Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-classname.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-classname)\n\nAdding a class for a specific line for CodeMirror6.\n\n[![Add className Extensions](https://user-images.githubusercontent.com/1680273/224198360-99bd605f-9845-440b-9dfc-f5d4f4d58396.png)](https://uiwjs.github.io/react-codemirror/#/extensions/classname)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-classname --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { classname } from '@uiw/codemirror-extensions-classname';\n\nconst themeDemo = EditorView.baseTheme({\n '&dark .first-line': { backgroundColor: 'red' },\n '&light .first-line': { backgroundColor: 'red' },\n '&dark .line-color': { backgroundColor: 'blue' },\n '&light .line-color': { backgroundColor: 'blue' },\n});\n\nfunction App() {\n const classnameExt = classname({\n add: (lineNumber) => {\n if (lineNumber === 1) {\n return 'first-line';\n }\n if (lineNumber === 5) {\n return 'line-color';\n }\n },\n });\n return ;\n}\n\nexport default App;\n```\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { classname } from '@uiw/codemirror-extensions-classname';\n\nfunction App() {\n const classnameExt = classname({\n add: (lineNumber) => {\n if (lineNumber === 1) {\n return 'first-line';\n }\n if (lineNumber === 5) {\n return 'line-color';\n }\n },\n });\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { classname } from '@uiw/codemirror-extensions-classname';\n\nconst classnameExt = classname({\n add: (lineNumber) => {\n if (lineNumber === 1) {\n return 'first-line';\n }\n if (lineNumber === 5) {\n return 'line-color';\n }\n },\n});\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [classnameExt],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## API\n\n```ts\nimport { Extension } from '@codemirror/state';\nexport declare type ClassnameOptions = {\n add?: (lineNumber: number) => string | undefined;\n};\nexport declare function classname(options?: ClassnameOptions): Extension;\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",Zm="\x3c!--rehype:ignore:start--\x3e\n\n# Relative Line Numbers Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-line-numbers-relative.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-line-numbers-relative)\n\nRelative line numbers Extensions for CodeMirror6.\n\n[![Relative line numbers Extensions](https://user-images.githubusercontent.com/1680273/178180348-c53b4b91-527c-4a90-9e60-20269ef9a598.png)](https://uiwjs.github.io/react-codemirror/#/extensions/line-numbers-relative)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-line-numbers-relative --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { lineNumbersRelative } from '@uiw/codemirror-extensions-line-numbers-relative';\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { lineNumbersRelative } from '@uiw/codemirror-extensions-line-numbers-relative';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [lineNumbersRelative],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",Wm="\x3c!--rehype:ignore:start--\x3e\n\n# Load languages Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-langs.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-langs)\n\nLoad languages Extensions for CodeMirror6.\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-langs --save\n```\n\n```jsx\nimport { loadLanguage, langNames, langs } from '@uiw/codemirror-extensions-langs';\n\nloadLanguage('tsx');\n\nlangs.tsx();\n\nconsole.log('langNames:', langNames); // => \"jsx\" | \"typescript\" | \"javascript\" | \"tsx\"\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { langs } from '@uiw/codemirror-extensions-langs';\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { loadLanguage } from '@uiw/codemirror-extensions-langs';\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { loadLanguage, langs } from '@uiw/codemirror-extensions-langs';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [langs.jsx()],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Support Language\n\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-language-rz4rh?fontsize=14&hidenavigation=1&theme=dark)\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { StreamLanguage } from '@codemirror/language';\nimport { go } from '@codemirror/legacy-modes/mode/go';\n\nconst goLang = `package main\nimport \"fmt\"\n\nfunc main() {\n fmt.Println(\"Hello, \u4e16\u754c\")\n}`;\n\nexport default function App() {\n return ;\n}\n```\n\n- ~~`@codemirror/legacy-modes/mode/cpp`~~ => [`@codemirror/lang-cpp`](https://www.npmjs.com/package/@codemirror/lang-cpp)\n- ~~`@codemirror/legacy-modes/mode/html`~~ => [`@codemirror/lang-html`](https://www.npmjs.com/package/@codemirror/lang-html)\n- ~~`@codemirror/legacy-modes/mode/java`~~ => [`@codemirror/lang-java`](https://www.npmjs.com/package/@codemirror/lang-java)\n- ~~`@codemirror/legacy-modes/mode/javascript`~~ => [`@codemirror/lang-javascript`](https://www.npmjs.com/package/@codemirror/lang-javascript)\n- ~~`@codemirror/legacy-modes/mode/json`~~ => [`@codemirror/lang-json`](https://www.npmjs.com/package/@codemirror/lang-json)\n- ~~`@codemirror/legacy-modes/mode/lezer`~~ => [`@codemirror/lang-lezer`](https://www.npmjs.com/package/@codemirror/lang-lezer)\n- ~~`@codemirror/legacy-modes/mode/markdown`~~ => [`@codemirror/lang-markdown`](https://www.npmjs.com/package/@codemirror/lang-markdown)\n- ~~`@codemirror/legacy-modes/mode/php`~~ => [`@codemirror/lang-php`](https://www.npmjs.com/package/@codemirror/lang-php)\n- ~~`@codemirror/legacy-modes/mode/python`~~ => [`@codemirror/lang-python`](https://www.npmjs.com/package/@codemirror/lang-python)\n- ~~`@codemirror/legacy-modes/mode/rust`~~ => [`@codemirror/lang-rust`](https://www.npmjs.com/package/@codemirror/lang-rust)\n- ~~`@codemirror/legacy-modes/mode/sql`~~ => [`@codemirror/lang-sql`](https://www.npmjs.com/package/@codemirror/lang-sql)\n- ~~`@codemirror/legacy-modes/mode/xml`~~ => [`@codemirror/lang-xml`](https://www.npmjs.com/package/@codemirror/lang-xml)\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",Rm="\x3c!--rehype:ignore:start--\x3e\n\n# Themes all for CodeMirror 6.\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes-all.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes-all)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-themes-all --save\n```\n\n```js\nimport * as themes from '@uiw/codemirror-themes-all';\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { abcdef } from '@uiw/codemirror-themes-all';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { abcdef } from '@uiw/codemirror-themes-all';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [abcdef, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## API\n\n```ts\nexport * from '@uiw/codemirror-theme-abcdef';\nexport * from '@uiw/codemirror-theme-androidstudio';\nexport * from '@uiw/codemirror-theme-atomone';\nexport * from '@uiw/codemirror-theme-aura';\nexport * from '@uiw/codemirror-theme-bbedit';\nexport * from '@uiw/codemirror-theme-bespin';\nexport * from '@uiw/codemirror-theme-darcula';\nexport * from '@uiw/codemirror-theme-dracula';\nexport * from '@uiw/codemirror-theme-duotone';\nexport * from '@uiw/codemirror-theme-eclipse';\nexport * from '@uiw/codemirror-theme-github';\nexport * from '@uiw/codemirror-theme-gruvbox-dark';\nexport * from '@uiw/codemirror-theme-material';\nexport * from '@uiw/codemirror-theme-noctis-lilac';\nexport * from '@uiw/codemirror-theme-nord';\nexport * from '@uiw/codemirror-theme-okaidia';\nexport * from '@uiw/codemirror-theme-solarized';\nexport * from '@uiw/codemirror-theme-sublime';\nexport * from '@uiw/codemirror-theme-tokyo-night';\nexport * from '@uiw/codemirror-theme-tokyo-night-storm';\nexport * from '@uiw/codemirror-theme-tokyo-night-day';\nexport * from '@uiw/codemirror-theme-vscode';\nexport * from '@uiw/codemirror-theme-xcode';\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",Em="\x3c!--rehype:ignore:start--\x3e\n\n# Hyper link Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-hyper-link.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-hyper-link)\n\nHyper link Extensions for CodeMirror6.\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-hyper-link --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { hyperLink } from '@uiw/codemirror-extensions-hyper-link';\n\nconst code = `https://uiwjs.github.io/react-codemirror`;\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { hyperLink } from '@uiw/codemirror-extensions-hyper-link';\n\nconst code = `https://uiwjs.github.io/react-codemirror`;\n\nconst state = EditorState.create({\n doc: code,\n extensions: [hyperLink],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",Ym="\x3c!--rehype:ignore:start--\x3e\n\n# Mentions Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-mentions.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-mentions)\n\nMentions Extensions for CodeMirror6.\n\n[![Mentions Extensions](https://user-images.githubusercontent.com/1680273/183007711-68109ca3-7140-411e-a747-53bcca0fa4c7.png)](https://uiwjs.github.io/react-codemirror/#/extensions/mentions)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-mentions --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { mentions } from '@uiw/codemirror-extensions-mentions';\n\nconst users = [\n { label: '@Walter White' },\n { label: '@\u76ae\u76ae\u9c81' },\n { label: '@\u9c81\u897f\u897f' },\n { label: '@\u4e2d\u672c\u806a' },\n { label: '@\u30b5\u30c8\u30b7\u30fb\u30ca\u30ab\u30e2\u30c8' },\n { label: '@\u91ce\u6bd4\u306e\u3073\u592a' },\n { label: '@\uc131\ub355\uc120' },\n];\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { mentions } from '@uiw/codemirror-extensions-mentions';\n\nconst users = [\n { label: '@Walter White' },\n { label: '@\u76ae\u76ae\u9c81' },\n { label: '@\u9c81\u897f\u897f' },\n { label: '@\u4e2d\u672c\u806a' },\n { label: '@\u30b5\u30c8\u30b7\u30fb\u30ca\u30ab\u30e2\u30c8' },\n { label: '@\u91ce\u6bd4\u306e\u3073\u592a' },\n { label: '@\uc131\ub355\uc120' },\n];\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [mentions(users)],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",Um="\x3c!--rehype:ignore:start--\x3e\n\n# Zebra Stripes Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-mentions.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-mentions)\n\nStyles alternating lines for CodeMirror6.\n\n[![Zebra Stripes Extensions](https://user-images.githubusercontent.com/1680273/205496628-e7e6f83f-18e9-4bff-8bc8-71a913c60687.png)](https://uiwjs.github.io/react-codemirror/#/extensions/mentions)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-zebra-stripes --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { zebraStripes } from '@uiw/codemirror-zebra-stripes';\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { zebraStripes } from '@uiw/codemirror-zebra-stripes';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { zebraStripes } from '@uiw/codemirror-zebra-stripes';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [zebraStripes({ step: 2 })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## API\n\n```ts\nimport { Extension } from '@codemirror/state';\nexport declare type ZebraStripesOptions = {\n step?: number | null;\n lightColor?: string;\n darkColor?: string;\n /**\n * @example `[1,[2,6], 10]`\n */\n lineNumber?: (number | number[])[] | null;\n /** @default `cm-zebra-stripe` */\n className?: string;\n};\nexport declare function zebraStripes(options?: ZebraStripesOptions): Extension;\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",zm={color:Ph,classname:_m,"basic-setup":km,events:wm,"themes-all":Rm,"line-numbers-relative":Zm,languages:Wm,"hyper-link":Em,mentions:Ym,"zebra-stripes":Um},qm=Rn.div(hm||(hm=i(["\n flex: 1;\n max-width: 980px;\n padding: 20px 20px 120px 20px;\n"]))),Cm=function(){var e=be();return(0,s.useEffect)((function(){document.title="".concat(e.pathname.split("/").join(" ")," for CodeMirror 6")}),[e]),(0,qn.jsxs)(Bh,{children:[(0,qn.jsx)(ef,{}),(0,qn.jsxs)(cm,{children:[(0,qn.jsx)(Om,{children:Object.keys(zm).map((function(e,t){return(0,qn.jsx)(pm,{to:"/extensions/".concat(e),children:e.split("-").join(" ")},t)}))}),(0,qn.jsx)(vf,{children:(0,qn.jsx)(Ce,{})})]})]})},jm=["children"],Vm=Rn.label(fm||(fm=i(["\n user-select: none;\n white-space: nowrap;\n"]))),Am=function(e){var t=e.children,n=mh(e,jm);return(0,qn.jsxs)(Vm,{children:[(0,qn.jsx)("input",(0,ur.Z)({type:"checkbox"},n)),(0,qn.jsx)("span",{children:t})]})},Nm=Rn.div(mm||(mm=i(["\n padding-bottom: 32px;\n"]))),Gm=function(){var e=yh().theme,t=(0,s.useState)({}),n=(0,a.Z)(t,2),r=n[0],O=n[1];return(0,qn.jsxs)(qm,{children:[(0,qn.jsx)(_c.default,{value:Ph,theme:e,basicSetup:r,height:"300px",style:{margin:"0 0 23px 0"},extensions:[dh.markdown()]}),(0,qn.jsxs)(Nm,{children:[(0,qn.jsxs)("select",{value:r.tabSize,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{tabSize:Number(e.target.value||"2")}))},children:[(0,qn.jsx)("option",{value:2,children:"TabSize: 2"}),(0,qn.jsx)("option",{value:4,children:"TabSize: 4"}),(0,qn.jsx)("option",{value:6,children:"TabSize: 6"}),(0,qn.jsx)("option",{value:8,children:"TabSize: 8"})]}),(0,qn.jsx)(Am,{checked:!1!==r.lineNumbers,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{lineNumbers:e.target.checked}))},children:"lineNumbers"}),(0,qn.jsx)(Am,{checked:!1!==r.foldGutter,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{foldGutter:e.target.checked}))},children:"foldGutter"}),(0,qn.jsx)(Am,{checked:!1!==r.highlightActiveLineGutter,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{highlightActiveLineGutter:e.target.checked}))},children:"highlightActiveLineGutter"}),(0,qn.jsx)(Am,{checked:!1!==r.highlightSpecialChars,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{highlightSpecialChars:e.target.checked}))},children:"highlightSpecialChars"}),(0,qn.jsx)(Am,{checked:!1!==r.history,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{history:e.target.checked}))},children:"history"}),(0,qn.jsx)(Am,{checked:!1!==r.drawSelection,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{drawSelection:e.target.checked}))},children:"drawSelection"}),(0,qn.jsx)(Am,{checked:!1!==r.dropCursor,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{dropCursor:e.target.checked}))},children:"dropCursor"}),(0,qn.jsx)(Am,{checked:!1!==r.allowMultipleSelections,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{allowMultipleSelections:e.target.checked}))},children:"allowMultipleSelections"}),(0,qn.jsx)(Am,{checked:!1!==r.indentOnInput,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{indentOnInput:e.target.checked}))},children:"indentOnInput"}),(0,qn.jsx)(Am,{checked:!1!==r.syntaxHighlighting,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{syntaxHighlighting:e.target.checked}))},children:"syntaxHighlighting"}),(0,qn.jsx)(Am,{checked:!1!==r.bracketMatching,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{bracketMatching:e.target.checked}))},children:"bracketMatching"}),(0,qn.jsx)(Am,{checked:!1!==r.closeBrackets,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{closeBrackets:e.target.checked}))},children:"closeBrackets"}),(0,qn.jsx)(Am,{checked:!1!==r.autocompletion,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{autocompletion:e.target.checked}))},children:"autocompletion"}),(0,qn.jsx)(Am,{checked:!1!==r.rectangularSelection,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{rectangularSelection:e.target.checked}))},children:"rectangularSelection"}),(0,qn.jsx)(Am,{checked:!1!==r.crosshairCursor,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{crosshairCursor:e.target.checked}))},children:"crosshairCursor"}),(0,qn.jsx)(Am,{checked:!1!==r.highlightActiveLine,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{highlightActiveLine:e.target.checked}))},children:"highlightActiveLine"}),(0,qn.jsx)(Am,{checked:!1!==r.highlightSelectionMatches,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{highlightSelectionMatches:e.target.checked}))},children:"highlightSelectionMatches"}),(0,qn.jsx)(Am,{checked:!1!==r.closeBracketsKeymap,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{closeBracketsKeymap:e.target.checked}))},children:"closeBracketsKeymap"}),(0,qn.jsx)(Am,{checked:!1!==r.defaultKeymap,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{defaultKeymap:e.target.checked}))},children:"defaultKeymap"}),(0,qn.jsx)(Am,{checked:!1!==r.searchKeymap,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{searchKeymap:e.target.checked}))},children:"searchKeymap"}),(0,qn.jsx)(Am,{checked:!1!==r.historyKeymap,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{historyKeymap:e.target.checked}))},children:"historyKeymap"}),(0,qn.jsx)(Am,{checked:!1!==r.foldKeymap,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{foldKeymap:e.target.checked}))},children:"foldKeymap"}),(0,qn.jsx)(Am,{checked:!1!==r.completionKeymap,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{completionKeymap:e.target.checked}))},children:"completionKeymap"}),(0,qn.jsx)(Am,{checked:!1!==r.lintKeymap,onChange:function(e){return O((0,ur.Z)((0,ur.Z)({},r),{},{lintKeymap:e.target.checked}))},children:"lintKeymap"})]}),(0,qn.jsx)(sc,{source:Ph})]})},Dm=["dark","light"].concat(Object.keys(O)).filter((function(e){return"function"!==typeof O[e]})).filter((function(e){return!/^(defaultSettings)/.test(e)})),Im=["auto","200px","300px","500px"],Fm=0,Lm=Rn.div(Qm||(Qm=i(["\n margin: 0 auto;\n text-align: left;\n max-width: 995px;\n overflow: auto;\n padding: 16px;\n border-radius: 5px;\n"]))),Jm=Rn.div(gm||(gm=i(["\n margin: 0 auto;\n max-width: 995px;\n padding: 15px 0 0 0;\n > label {\n margin-right: 15px;\n }\n"]))),Mm=Rn(_c.default)($m||($m=i(["\n box-shadow: 0 0 0 1px rgb(16 22 26 / 10%), 0 0 0 rgb(16 22 26 / 0%), 0 1px 1px rgb(16 22 26 / 20%);\n margin: 0 auto;\n text-align: left;\n max-width: 995px;\n overflow: auto;\n border-radius: 5px;\n"]))),Bm=Rn.div(Sm||(Sm=i(["\n padding-bottom: 18px;\n"])));function Hm(){var e=(0,s.useState)("javascript"),t=(0,a.Z)(e,2),r=t[0],i=t[1],o=(0,s.useState)("Please enter the code."),l=(0,a.Z)(o,2),c=l[0],u=l[1],p=(0,s.useState)(!1),d=(0,a.Z)(p,2),h=d[0],f=d[1],m=(0,s.useState)(!0),Q=(0,a.Z)(m,2),g=Q[0],$=Q[1],S=yh(),P=S.theme,y=S.setTheme,v=(0,s.useState)(""),b=(0,a.Z)(v,2),x=b[0],T=b[1],X=(0,s.useState)(),w=(0,a.Z)(X,2),k=w[0],_=w[1],Z=(0,s.useState)("500px"),W=(0,a.Z)(Z,2),R=W[0],E=W[1],Y=(0,s.useState)({}),U=(0,a.Z)(Y,2),z=U[0],q=U[1];function C(e){try{n(620)("./sample.".concat(e.toLocaleLowerCase(),".txt")).then((function(t){T(t.default),dh[e]&&_([wc,dh[e]()]),i(e)})).catch((function(t){dh[e]?_([wc,dh[e]()]):_([wc]),i(e),T("")}))}catch(t){}}return(0,s.useEffect)((function(){C("javascript")}),[]),(0,qn.jsxs)(Bm,{className:"wmde-markdown-var",children:[(0,qn.jsx)(Mm,{value:x,height:R,theme:O[P]||P,editable:g,extensions:k,autoFocus:h,basicSetup:z,placeholder:c,onChange:function(e){},style:{maxWidth:"995px",margin:"-18px auto 0 auto",position:"relative",zIndex:999}}),(0,qn.jsxs)(Lm,{children:[(0,qn.jsxs)(Jm,{children:[(0,qn.jsx)(fh,{label:"Lang",options:Object.keys(dh).sort(),value:r,onChange:function(e){return C(e.target.value)}}),(0,qn.jsx)(fh,{label:"Website Theme",options:["dark","light"],value:P,onChange:function(e){document.documentElement.setAttribute("data-color-mode","dark"===e.target.value?"dark":"light"),y(e.target.value)}}),(0,qn.jsx)(fh,{label:"Themes",options:Dm,value:P,onChange:function(e){/^(dark|light)$/.test(e.target.value)&&document.documentElement.setAttribute("data-color-mode",e.target.value),y(e.target.value)}})]}),(0,qn.jsxs)(Jm,{children:[(0,qn.jsx)(fh,{label:"Height",options:Im,value:R,onChange:function(e){return E(e.target.value)}}),(0,qn.jsx)("button",{onClick:function(){Fm++,T('console.log("Hello World! '.concat(Fm,'")'))},children:"change code"}),(0,qn.jsxs)("label",{children:[(0,qn.jsx)("input",{type:"checkbox",checked:h,onChange:function(e){return f(e.target.checked)}}),"autoFocus"]}),(0,qn.jsxs)("label",{children:[(0,qn.jsx)("input",{type:"checkbox",checked:g,onChange:function(e){return $(e.target.checked)}}),"editable"]}),(0,qn.jsxs)("label",{children:["placeholder:",(0,qn.jsx)("input",{type:"text",value:c,onChange:function(e){return u(e.target.value)}})]}),(0,qn.jsx)(Am,{checked:!1!==z.lineNumbers,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{lineNumbers:e.target.checked}))},children:"lineNumbers"}),(0,qn.jsx)(Am,{checked:!1!==z.foldGutter,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{foldGutter:e.target.checked}))},children:"foldGutter"}),(0,qn.jsx)(Am,{checked:!1!==z.highlightActiveLineGutter,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{highlightActiveLineGutter:e.target.checked}))},children:"highlightActiveLineGutter"}),(0,qn.jsx)(Am,{checked:!1!==z.highlightSpecialChars,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{highlightSpecialChars:e.target.checked}))},children:"highlightSpecialChars"}),(0,qn.jsx)(Am,{checked:!1!==z.history,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{history:e.target.checked}))},children:"history"}),(0,qn.jsx)(Am,{checked:!1!==z.drawSelection,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{drawSelection:e.target.checked}))},children:"drawSelection"}),(0,qn.jsx)(Am,{checked:!1!==z.dropCursor,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{dropCursor:e.target.checked}))},children:"dropCursor"}),(0,qn.jsx)(Am,{checked:!1!==z.allowMultipleSelections,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{allowMultipleSelections:e.target.checked}))},children:"allowMultipleSelections"}),(0,qn.jsx)(Am,{checked:!1!==z.indentOnInput,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{indentOnInput:e.target.checked}))},children:"indentOnInput"}),(0,qn.jsx)(Am,{checked:!1!==z.syntaxHighlighting,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{syntaxHighlighting:e.target.checked}))},children:"syntaxHighlighting"}),(0,qn.jsx)(Am,{checked:!1!==z.bracketMatching,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{bracketMatching:e.target.checked}))},children:"bracketMatching"}),(0,qn.jsx)(Am,{checked:!1!==z.closeBrackets,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{closeBrackets:e.target.checked}))},children:"closeBrackets"}),(0,qn.jsx)(Am,{checked:!1!==z.autocompletion,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{autocompletion:e.target.checked}))},children:"autocompletion"}),(0,qn.jsx)(Am,{checked:!1!==z.rectangularSelection,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{rectangularSelection:e.target.checked}))},children:"rectangularSelection"}),(0,qn.jsx)(Am,{checked:!1!==z.crosshairCursor,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{crosshairCursor:e.target.checked}))},children:"crosshairCursor"}),(0,qn.jsx)(Am,{checked:!1!==z.highlightActiveLine,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{highlightActiveLine:e.target.checked}))},children:"highlightActiveLine"}),(0,qn.jsx)(Am,{checked:!1!==z.highlightSelectionMatches,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{highlightSelectionMatches:e.target.checked}))},children:"highlightSelectionMatches"}),(0,qn.jsx)(Am,{checked:!1!==z.closeBracketsKeymap,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{closeBracketsKeymap:e.target.checked}))},children:"closeBracketsKeymap"}),(0,qn.jsx)(Am,{checked:!1!==z.defaultKeymap,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{defaultKeymap:e.target.checked}))},children:"defaultKeymap"}),(0,qn.jsx)(Am,{checked:!1!==z.searchKeymap,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{searchKeymap:e.target.checked}))},children:"searchKeymap"}),(0,qn.jsx)(Am,{checked:!1!==z.historyKeymap,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{historyKeymap:e.target.checked}))},children:"historyKeymap"}),(0,qn.jsx)(Am,{checked:!1!==z.foldKeymap,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{foldKeymap:e.target.checked}))},children:"foldKeymap"}),(0,qn.jsx)(Am,{checked:!1!==z.completionKeymap,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{completionKeymap:e.target.checked}))},children:"completionKeymap"}),(0,qn.jsx)(Am,{checked:!1!==z.lintKeymap,onChange:function(e){return q((0,ur.Z)((0,ur.Z)({},z),{},{lintKeymap:e.target.checked}))},children:"lintKeymap"})]}),(0,qn.jsx)(sc,{source:kc.source})]})]})}var Km,eQ,tQ,nQ,rQ=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r {\n const [value, setValue] = useState(0);\n\n return {value};\n};",height:"165px",theme:hf[e],extensions:[wc,dh.jsx()]})]})},t)}))})})]})}var QQ='# Custom Codemirror Themes\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes)\n\nThemes for CodeMirror.\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-themes --save\n```\n\n## Usage\n\n```js\nimport { EditorView } from \'@codemirror/view\';\nimport { EditorState } from \'@codemirror/state\';\nimport { createTheme } from \'@uiw/codemirror-themes\';\nimport { javascript } from \'@codemirror/lang-javascript\';\nimport { tags as t } from \'@lezer/highlight\';\n\nconst myTheme = createTheme({\n theme: \'light\',\n settings: {\n background: \'#ffffff\',\n foreground: \'#75baff\',\n caret: \'#5d00ff\',\n selection: \'#036dd626\',\n selectionMatch: \'#036dd626\',\n lineHighlight: \'#8a91991a\',\n gutterBackground: \'#fff\',\n gutterForeground: \'#8a919966\',\n },\n styles: [\n { tag: t.comment, color: \'#787b8099\' },\n { tag: t.variableName, color: \'#0080ff\' },\n { tag: [t.string, t.special(t.brace)], color: \'#5c6166\' },\n { tag: t.number, color: \'#5c6166\' },\n { tag: t.bool, color: \'#5c6166\' },\n { tag: t.null, color: \'#5c6166\' },\n { tag: t.keyword, color: \'#5c6166\' },\n { tag: t.operator, color: \'#5c6166\' },\n { tag: t.className, color: \'#5c6166\' },\n { tag: t.definition(t.typeName), color: \'#5c6166\' },\n { tag: t.typeName, color: \'#5c6166\' },\n { tag: t.angleBracket, color: \'#5c6166\' },\n { tag: t.tagName, color: \'#5c6166\' },\n { tag: t.attributeName, color: \'#5c6166\' },\n ],\n});\n\nconst state = EditorState.create({\n doc: \'my source code\',\n extensions: [myTheme, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector(\'#editor\'),\n state,\n});\n```\n\n```jsx\nimport CodeMirror from \'@uiw/react-codemirror\';\nimport { createTheme } from \'@uiw/codemirror-themes\';\nimport { javascript } from \'@codemirror/lang-javascript\';\nimport { tags as t } from \'@lezer/highlight\';\n\nconst myTheme = createTheme({\n theme: \'light\',\n settings: {\n background: \'#ffffff\',\n foreground: \'#75baff\',\n caret: \'#5d00ff\',\n selection: \'#036dd626\',\n selectionMatch: \'#036dd626\',\n lineHighlight: \'#8a91991a\',\n gutterBackground: \'#fff\',\n gutterForeground: \'#8a919966\',\n },\n styles: [\n { tag: t.comment, color: \'#787b8099\' },\n { tag: t.variableName, color: \'#0080ff\' },\n { tag: [t.string, t.special(t.brace)], color: \'#5c6166\' },\n { tag: t.number, color: \'#5c6166\' },\n { tag: t.bool, color: \'#5c6166\' },\n { tag: t.null, color: \'#5c6166\' },\n { tag: t.keyword, color: \'#5c6166\' },\n { tag: t.operator, color: \'#5c6166\' },\n { tag: t.className, color: \'#5c6166\' },\n { tag: t.definition(t.typeName), color: \'#5c6166\' },\n { tag: t.typeName, color: \'#5c6166\' },\n { tag: t.angleBracket, color: \'#5c6166\' },\n { tag: t.tagName, color: \'#5c6166\' },\n { tag: t.attributeName, color: \'#5c6166\' },\n ],\n});\n\nfunction App() {\n return (\n {\n console.log(\'value:\', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n## Themes\n\n**abcdef**\n\n\n codemirror-theme-abcdef\n\n\n**android studio**\n\n\n codemirror-theme-androidstudio\n\n\n**atom one**\n\n\n codemirror-theme-androidstudio\n\n\n**aura**\n\n\n codemirror-theme-aura\n\n\n**bbedit**\n\n\n codemirror-theme-bbedit\n\n\n**bespin**\n\n\n codemirror-theme-bespin\n\n\n**darcula**\n\n\n codemirror-theme-darcula\n\n\n**dracula**\n\n\n codemirror-theme-dracula\n\n\n**duotone**\n\n\n codemirror-theme-duotone dark\n\n\n\n codemirror-theme-duotone light\n\n\n**eclipse**\n\n\n codemirror-theme-eclipse\n\n\n**github**\n\n\n codemirror-theme-github dark\n\n\n\n codemirror-theme-github light\n\n\n**gruvbox**\n\n\n codemirror-theme-gruvbox-dark\n\n\n\n codemirror-theme-eclipse\n\n\n**material**\n\n\n codemirror-theme-material\n\n\n\n codemirror-theme-material\n\n\n**noctis-lilac**\n\n\n codemirror-theme-noctis-lilac\n\n\n**nord**\n\n\n codemirror-theme-nord\n\n\n**okaidia**\n\n\n codemirror-theme-okaidia\n\n\n**solarized**\n\n\n codemirror-theme-solarized\n\n\n\n codemirror-theme-solarized\n\n\n**sublime**\n\n\n codemirror-theme-sublime\n\n\n**tokyo-night**\n\n\n codemirror-theme-tokyo-night\n\n\n**tokyo-night-day**\n\n\n codemirror-theme-tokyo-night-day\n\n\n**tokyo-night-storm**\n\n\n codemirror-theme-tokyo-night-storm\n\n\n**vscode**\n\n\n codemirror-theme-vscode dark\n\n\n**xcode**\n\n\n codemirror-theme-xcode dark\n\n\n\n codemirror-theme-xcode light\n\n\n## Props\n\n```ts\nimport { Extension } from \'@codemirror/state\';\nimport { TagStyle } from \'@codemirror/language\';\nexport interface CreateThemeOptions {\n /**\n * Theme inheritance. Determines which styles CodeMirror will apply by default.\n */\n theme: Theme;\n /**\n * Settings to customize the look of the editor, like background, gutter, selection and others.\n */\n settings: Settings;\n /**\n * Syntax highlighting styles.\n */\n styles: TagStyle[];\n}\ndeclare type Theme = \'light\' | \'dark\';\nexport interface Settings {\n /** Editor background. */\n background: string;\n /** Default text color. */\n foreground: string;\n /** Caret color. */\n caret?: string;\n /** Selection background. */\n selection?: string;\n /** Selection match background. */\n selectionMatch?: string;\n /** Background of highlighted lines. */\n lineHighlight?: string;\n /** Gutter background. */\n gutterBackground?: string;\n /** Text color inside gutter. */\n gutterForeground?: string;\n /** Text active color inside gutter. */\n gutterActiveForeground?: string;\n /** Gutter right border color. */\n gutterBorder?: string;\n /** set editor font */\n fontFamily?: string;\n}\ndeclare const createTheme: ({ dark, settings, styles }: CreateThemeOptions) => Extension;\nexport default createTheme;\n```\n\n### Related\n\n- [@uiw/react-textarea-code-editor](https://github.com/uiwjs/react-textarea-code-editor): A simple code editor with syntax highlighting.\n- [@uiw/react-md-editor](https://github.com/uiwjs/react-md-editor): A simple markdown editor with preview, implemented with React.js and TypeScript.\n- [@uiw/react-monacoeditor](https://github.com/jaywcjlove/react-monacoeditor): Monaco Editor component for React.\n- [@uiw/react-markdown-editor](https://github.com/uiwjs/react-markdown-editor): A markdown editor with preview, implemented with React.js and TypeScript.\n- [@uiw/react-markdown-preview](https://github.com/uiwjs/react-markdown-preview): React component preview markdown text in web browser.\n- [Online JSON Viewer](https://github.com/uiwjs/json-viewer) Online JSON Viewer, JSON Beautifier to beautify and tree view of JSON data - It works as JSON Pretty Print to pretty print JSON data.\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n',gQ=function(){return(0,qn.jsxs)(s.Fragment,{children:[(0,qn.jsx)(sc,{source:QQ,style:{width:980,margin:"0 auto",padding:"50px 20px 150px 20px"}}),(0,qn.jsx)(lr,{children:"Top"})]})},$Q={modified:{doc:""},original:{doc:""}},SQ=(0,s.createContext)($Q);function PQ(e,t){return(0,En.Z)({},e,t,{modified:(0,En.Z)({},e.modified,t.modified),original:(0,En.Z)({},e.original,t.original)})}var yQ=function(){return(0,s.useContext)(SQ)},vQ=function(e){var t=e.children,n=(0,s.useReducer)(PQ,$Q),r=(0,a.Z)(n,2),O=r[0],i=r[1];return(0,qn.jsx)(SQ.Provider,{value:(0,En.Z)({},O,{dispatch:i}),children:t})},bQ=n(9109),xQ=s.forwardRef((function(e,t){var n=e.className,r=e.children,O=yQ(),i=O.modified,o=O.original,a=O.view,l=O.dispatch,c=(0,s.useRef)(null);(0,s.useEffect)((function(){if(!a&&c.current&&o&&i){var e=new bQ.QK({a:o,b:i,parent:c.current});l&&l({view:e})}}),[c.current,o,i,a]),(0,s.useEffect)((function(){return function(){a&&a.destroy()}}),[]);return(0,qn.jsx)("div",(0,En.Z)({ref:c,className:"cm-merge-theme"+(n?" "+n:"")},e,{children:r}))})),TQ=function(e,t){return(0,qn.jsx)(vQ,{children:(0,qn.jsx)(xQ,(0,En.Z)({},e,{ref:t}))})},XQ=s.forwardRef(TQ);XQ.Original=function(e){var t=e.extensions,n=void 0===t?[]:t,r=yQ(),O=r.original,i=r.view,o=r.dispatch,a=(0,_c.getDefaultExtensions)();return(0,s.useEffect)((function(){var t={extensions:[].concat((0,c.Z)(a),(0,c.Z)(n))};if((null==O?void 0:O.doc)!==e.value&&i){t.doc=e.value,o({original:(0,En.Z)({},O,t)});var r=null==i?void 0:i.a.state.doc.toString();r!==e.value&&(null==i||i.a.dispatch({changes:{from:0,to:(r||"").length,insert:e.value||""}}))}(null==O?void 0:O.selection)!==e.selection&&(t.selection=e.selection,o({original:(0,En.Z)({},O,t)}))}),[e.value,e.selection,i]),null},XQ.Modified=function(e){var t=e.extensions,n=void 0===t?[]:t,r=yQ(),O=r.modified,i=r.view,o=r.dispatch,a=(0,_c.getDefaultExtensions)();return(0,s.useEffect)((function(){var t={extensions:[].concat((0,c.Z)(a),(0,c.Z)(n))};if((null==O?void 0:O.doc)!==e.value&&i){t.doc=e.value,o({modified:(0,En.Z)({},O,t)});var r=null==i?void 0:i.b.state.doc.toString();r!==e.value&&i.b.dispatch({changes:{from:0,to:(r||"").length,insert:e.value||""}})}(null==O?void 0:O.selection)!==e.selection&&(t.selection=e.selection,o({modified:(0,En.Z)({},O,t)}))}),[e.value,e.selection,i]),null},XQ.displayName="CodeMirrorMerge";var wQ,kQ=XQ,_Q=n(7989),ZQ=kQ.Original,WQ=kQ.Modified,RQ="one\ntwo\nthree\nfour\nfive",EQ=function(){return(0,qn.jsxs)(kQ,{children:[(0,qn.jsx)(ZQ,{value:RQ}),(0,qn.jsx)(WQ,{value:RQ.replace(/t/g,"T")+"Six",extensions:[lc.tk.editable.of(!1),_Q.yy.readOnly.of(!0)]})]})},YQ={document:"\x3c!--rehype:ignore:start--\x3e\n\n# react-codemirror-merge\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/react-codemirror-merge.svg)](https://www.npmjs.com/package/react-codemirror-merge)\n\nCodeMirror merge view for React.\n\n## Install\n\n```bash\nnpm install react-codemirror-merge --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirrorMerge from 'react-codemirror-merge';\nimport { EditorView } from 'codemirror';\nimport { EditorState } from '@codemirror/state';\n\nconst Original = CodeMirrorMerge.Original;\nconst Modified = CodeMirrorMerge.Modified;\nlet doc = `one\ntwo\nthree\nfour\nfive`;\n\nexport const Example = () => {\n return (\n \n \n \n \n );\n};\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n"},UQ=function(){return(0,qn.jsxs)(qm,{children:[(0,qn.jsx)(EQ,{}),(0,qn.jsx)(sc,{source:YQ.document,style:{width:980,margin:"0 auto",padding:"50px 20px 150px 20px"}}),(0,qn.jsx)(lr,{children:"Top"})]})},zQ=function(){var e=be();return(0,s.useEffect)((function(){document.title="".concat(e.pathname.split("/").join(" ")," for CodeMirror 6")}),[e]),(0,qn.jsxs)(Bh,{children:[(0,qn.jsx)(ef,{}),(0,qn.jsxs)(cm,{children:[(0,qn.jsx)(Om,{children:Object.keys(YQ).map((function(e,t){return(0,qn.jsx)(pm,{to:"/merge/".concat(e),children:e.split("-").join(" ")},t)}))}),(0,qn.jsx)(vf,{children:(0,qn.jsx)(Ce,{})})]})]})},qQ=["name"],CQ=function(){var e=Xe(),t=e.name,n=((void 0===t?"":t)+"/"+(mh(e,qQ)["*"]||"")).split("/").filter(Boolean).map((function(e){return(null===e||void 0===e?void 0:e.slice(0,1).toUpperCase())+(null===e||void 0===e?void 0:e.slice(1).toLowerCase())})),r=hf[Qf(n.join(" "))];return(0,qn.jsxs)(s.Fragment,{children:[(0,qn.jsx)(dm,{}),(0,qn.jsx)(yf,{themeName:n.join(" "),children:(0,qn.jsx)(rm,{theme:r})})]})};function jQ(e){var t=e.type,n=void 0===t?"scroll":t,r=e.events;return lc.lg.fromClass(function(){function e(t){var O=this;(0,u.Z)(this,e),this.dom=void 0,this.view=void 0,this.view=t,this.dom="dom"===n?t.dom:"content"===n?t.contentDOM:t.scrollDOM,Object.keys(r||{}).forEach((function(e){r&&r[e]&&O.dom&&O.dom.addEventListener(e,r[e])}))}return(0,p.Z)(e,[{key:"destroy",value:function(){var e=this;Object.keys(r||{}).forEach((function(t){r&&r[t]&&e.dom&&e.dom.removeEventListener(t,r[t])}))}}]),e}())}function VQ(e){return jQ({type:"content",events:e})}var AQ=Rn.div(wQ||(wQ=i(["\n padding-bottom: 30px;\n"]))),NQ=function(){var e,t=(0,s.useState)(0),n=(0,a.Z)(t,2),r=n[0],O=n[1],i=(0,s.useState)(""),o=(0,a.Z)(i,2),l=o[0],c=o[1],u=yh().theme;return(0,qn.jsxs)(qm,{children:[(0,qn.jsx)(_c.default,{value:wm,theme:u,height:"200px",style:{margin:"0 0 23px 0"},extensions:[dh.markdown(),(e={scroll:function(e){e.target instanceof HTMLElement&&O(e.target.scrollTop)}},jQ({type:"scroll",events:e})),VQ({focus:function(e){c("focus")},blur:function(e){c("blur")}})]}),(0,qn.jsxs)(AQ,{children:[r," ",l]}),(0,qn.jsx)(sc,{source:wm})]})};var GQ,DQ=[(0,lc.Eu)({formatNumber:function(e,t){if(e>t.doc.lines)return"0";var n=t.doc.lineAt(t.selection.asSingle().ranges[0].to).number;return e===n?"0":Math.abs(n-e).toString()}})],IQ=function(){var e=yh().theme;return(0,qn.jsxs)(qm,{children:[(0,qn.jsx)(_c.default,{value:Zm,theme:e,height:"300px",style:{margin:"0 0 23px 0"},extensions:[dh.markdown(),DQ]}),(0,qn.jsx)(sc,{source:Zm})]})},FQ=Rn.div(GQ||(GQ=i(["\n padding-bottom: 32px;\n"]))),LQ=function(){var e,t=yh().theme,r=(0,s.useState)("markdown"),O=(0,a.Z)(r,2),i=O[0],o=O[1],l=(0,s.useState)(Wm),c=(0,a.Z)(l,2),u=c[0],p=c[1];return(0,s.useEffect)((function(){i&&n(620)("./sample.".concat(i.toLocaleLowerCase(),".txt")).then((function(e){p(e.default)})).catch((function(e){p("")}))}),[i]),(0,qn.jsxs)(qm,{children:[(0,qn.jsx)(_c.default,{value:u,theme:t,height:"300px",style:{margin:"0 0 23px 0"},extensions:[(e=i,dh[e]?dh[e]():null)].filter(Boolean)}),(0,qn.jsxs)(FQ,{children:[(0,qn.jsxs)("select",{value:i,onChange:function(e){return o(e.target.value)},children:[(0,qn.jsx)("option",{value:"good",children:"good"}),hh.sort().map((function(e,t){return(0,qn.jsx)("option",{value:e,children:e},t)}))]}),(0,qn.jsxs)("span",{children:["\xa0 Total: ",hh.length]})]}),(0,qn.jsx)(sc,{source:Wm})]})},JQ=function(e){(0,d.Z)(n,e);var t=(0,h.Z)(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this)).state=void 0,r.state=e,r}return(0,p.Z)(n,[{key:"eq",value:function(e){return this.state.url===e.state.url&&this.state.to===e.state.to&&this.state.from===e.state.from}},{key:"toDOM",value:function(){var e=document.createElement("a");return e.href=this.state.url,e.target="__blank",e.innerHTML='',e.className="cm-hyper-link-icon",e}},{key:"ignoreEvent",value:function(){return!1}}]),n}(lc.l9);function MQ(e){var t,n=[],r=(0,T.Z)(e.visibleRanges);try{for(r.s();!(t=r.n()).done;){var O=t.value;(0,cc.qz)(e.state).iterate({from:O.from,to:O.to,enter:function(t){var r=t.type,O=t.from,i=t.to,o=e.state.doc.sliceString(O,i);if("URL"===r.name){var a=lc.p.widget({widget:new JQ({from:O,to:i,url:o}),side:1});n.push(a.range(i))}}})}}catch(i){r.e(i)}finally{r.f()}return lc.p.set(n)}var BQ=lc.tk.baseTheme({".cm-hyper-link-icon":{display:"inline-block",verticalAlign:"middle",marginLeft:"0.2ch"},".cm-hyper-link-icon svg":{display:"block"}}),HQ=[lc.lg.fromClass(function(){function e(t){(0,u.Z)(this,e),this.decorations=void 0,this.decorations=MQ(t)}return(0,p.Z)(e,[{key:"update",value:function(e){(e.docChanged||e.viewportChanged)&&(this.decorations=MQ(e.view))}}]),e}(),{decorations:function(e){return e.decorations}}),BQ],KQ=function(){var e=yh().theme;return(0,qn.jsxs)(qm,{children:[(0,qn.jsx)(_c.default,{value:'Hyper Link\n====\n\n- https://www.npmjs.com/package/@uiw/react-codemirror this url\n\n[url 1](https://www.npmjs.com)\n[url 2](https://www.npmjs.com/package/@uiw/react-codemirror)\n\n```js\nconst str = "https://www.npmjs.com/package/@uiw/react-codemirror"\n```\n',theme:e,height:"300px",style:{margin:"0 0 23px 0"},extensions:[dh.markdown(),HQ]}),(0,qn.jsx)(sc,{source:Em})]})},eg=function(){var e=(0,s.useState)("readOnly"),t=(0,a.Z)(e,2),n=t[0],r=t[1],O=(0,s.useState)(!1),i=(0,a.Z)(O,2),o=i[0],l=i[1],c=yh().theme,u={};return"editable"===n&&(u.editable=o),"readOnly"===n&&(u.readOnly=o),(0,qn.jsxs)(qm,{children:[(0,qn.jsx)(_c.default,(0,ur.Z)((0,ur.Z)({value:"body {\n color: red;\n background-color: #333;\n}\n.header { color: purple; }\n.header { color: #ff4646; }\n.header { color: #167; }\n.header { color: rgb(0 133 160); }\n.header { color: rgb(0, 133, 160); }\n.header { color: rgba(0, 133, 160); }\n.header { color: rgba(0, 133, 160, .775); }\n.header { color: rgb(0 107 128 / 60%); }\n.header { color: hsl(190deg 100% 36% / 53%); }\n.good { color: hsl(240, 100% 50%); }\n.good { color: hsl(240, 100%, 50%); }\n.good { color: hsl(240, 100%, 50%, 0.1); }\n.good { color: hsl(240, 100%, 50%, 10%); }\n.good { color: hsl(240,100%,50%,0.1); }\n.good { color: hsl(180deg, 100%, 50%, 0.1); }\n.good { color: hsl(3.14rad, 100%, 50%, 0.1); }\n.good { color: hsl(200grad, 100%, 50%, 0.1); }\n.good { color: hsl(0.5turn, 100%, 50%, 0.1); }\n.good { color: hsl(-240, -100%, -50%, -0.1); }\n.good { color: hsl(+240, +100%, +50%, +0.1); }\n.good { color: hsl(240.5, 99.99%, 49.999%, 0.9999); }\n.good { color: hsl(.9, .99%, .999%, .9999); }\n.good { color: hsl(0240, 0100%, 0050%, 01); }\n.good { color: hsl(240.0, 100.00%, 50.000%, 1.0000); }\n.good { color: hsl(2400, 1000%, 1000%, 10); }\n.good { color: hsl(-2400.01deg, -1000.5%, -1000.05%, -100); }\n.good { color: hsl(2.40e+2, 1.00e+2%, 5.00e+1%, 1E-3); }\n.good { color: hsl(240 100% 50%); }\n.good { color: hsl(240 100% 50% / 0.1); }\n.good { color: hsla(240, 100%, 50%); }\n.good { color: hsla(240, 100%, 50%, 0.1); }\n.good { color: HSL(240Deg, 100%, 50%); }",theme:c,height:"400px"},u),{},{style:{margin:"0 0 23px 0"},extensions:[dh.css(),wc]})),(0,qn.jsxs)("div",{style:{marginBottom:23},children:[(0,qn.jsxs)("button",{type:"button",onClick:function(){return l(!o)},children:["\u7f16\u8f91\u5668 & ",String(o)]}),(0,qn.jsxs)("label",{children:[(0,qn.jsx)("input",{type:"radio",name:"mode",checked:"readOnly"===n,value:"readOnly",onChange:function(e){var t=e.target;return r(t.value)}})," ","readOnly"]}),(0,qn.jsxs)("label",{children:[(0,qn.jsx)("input",{type:"radio",name:"mode",checked:"editable"===n,value:"editable",onChange:function(e){var t=e.target;return r(t.value)}})," ","editable"]})]}),(0,qn.jsx)(sc,{source:km})]})};function tg(e,t){var n,r=new _Q.f_,O=(0,T.Z)(e.visibleRanges);try{for(O.s();!(n=O.n()).done;)for(var i=n.value,o=i.from,a=i.to,s=o;s<=a;){var l=e.state.doc.lineAt(s);if(t.add&&"function"===typeof t.add){var c=t.add(l.number);if(c&&"string"===typeof c){var u={class:c};r.add(l.from,l.from,lc.p.line({attributes:u}))}}s=l.to+1}}catch(p){O.e(p)}finally{O.f()}return r.finish()}var ng=function(){var e,t=yh().theme,n=lc.tk.baseTheme({"&dark .first-line":{backgroundColor:"red"},"&light .first-line":{backgroundColor:"red"},"&dark .line-color":{backgroundColor:"blue"},"&light .line-color":{backgroundColor:"blue"}});return(0,qn.jsx)(_c.default,{value:_m,theme:t,height:"300px",style:{margin:"0 0 23px 0"},extensions:[dh.markdown(),n,(e={add:function(e){return 3===e?"first-line":5===e?"line-color":void 0}},void 0===e&&(e={}),lc.lg.fromClass(function(){function t(n){(0,u.Z)(this,t),this.decorations=void 0,this.decorations=tg(n,e)}return(0,p.Z)(t,[{key:"update",value:function(t){(t.docChanged||t.viewportChanged)&&(this.decorations=tg(t.view,e))}}]),t}(),{decorations:function(e){return e.decorations}}))]})},rg=function(){return(0,qn.jsxs)(qm,{children:[(0,qn.jsx)(ng,{}),(0,qn.jsx)(sc,{source:_m})]})},Og=n(2027);function ig(e){return void 0===e&&(e=[]),(0,Og.ys)({override:[function(t){var n=t.matchBefore(/@(\w+)?/);return n?n&&n.from==n.to&&!t.explicit?null:{from:null==n?void 0:n.from,options:(0,c.Z)(e)}:null}]})}ig();var og,ag=[{label:"@Walter White"},{label:"@\u76ae\u76ae\u9c81"},{label:"@\u9c81\u897f\u897f"},{label:"@\u4e2d\u672c\u806a"},{label:"@\u30b5\u30c8\u30b7\u30fb\u30ca\u30ab\u30e2\u30c8"},{label:"@\u91ce\u6bd4\u306e\u3073\u592a"},{label:"@\uc131\ub355\uc120"},{label:"@Jesse Pinkman"},{label:'@Gustavo "Gus" Fring'},{label:"@Saul Goodman"},{label:"@Hank Schrader"},{label:"@Skyler White"},{label:"@Mike Ehrmantraut"},{label:"@Lyd\xec\xe3 R\xf4dart\xe9-Q\xfcayle"}],sg=function(){var e=yh().theme;return(0,qn.jsxs)(qm,{children:[(0,qn.jsx)(_c.default,{value:Ym,theme:e,height:"300px",style:{margin:"0 0 23px 0"},extensions:[dh.markdown(),ig(ag)]}),(0,qn.jsx)(sc,{source:Ym})]})},lg=Rn.div(og||(og=i(["\n padding: 0 0 23px 0;\n"]))),cg=function(){var e={};Object.keys(O).filter((function(e){return"function"!==typeof O[e]})).filter((function(e){return!/^(defaultSettings)/.test(e)})).forEach((function(t){e[t]=O[t]}));var t=(0,s.useState)(),n=(0,a.Z)(t,2),r=n[0],i=n[1],o=yh(),l=e[r]?e[r]:o.theme;return(0,qn.jsxs)(qm,{children:[(0,qn.jsx)(_c.default,{value:Rm,theme:l,height:"300px",style:{margin:"0 0 23px 0"},extensions:[dh.markdown()]}),(0,qn.jsxs)(lg,{children:["Select Theme:",(0,qn.jsxs)("select",{value:r,onChange:function(e){i(e.target.value)},children:[(0,qn.jsx)("option",{children:"Select Theme"}),Object.keys(e).map((function(e,t){return(0,qn.jsx)("option",{children:e},t)}))]})]}),(0,qn.jsx)(sc,{source:Rm})]})},ug=_Q.r$.define({combine:function(e){return e.length&&Array.isArray(e)?e.flat():[]}}),pg=_Q.r$.define({combine:function(e){return e.length&&Array.isArray(e)?Math.min.apply(Math,(0,c.Z)(e)):2}}),dg=lc.p.line({attributes:{class:"cm-zebra-stripe"}});function hg(e){var t,n=e.state.facet(pg),r=e.state.facet(ug),O=new _Q.f_,i=(0,T.Z)(e.visibleRanges);try{for(i.s();!(t=i.n()).done;)for(var o=t.value,a=o.from,s=o.to,l=a;l<=s;){var c=e.state.doc.lineAt(l);c.number%n===0&&0===r.length&&O.add(c.from,c.from,dg),r.length>0&&r.flat().includes(c.number)&&O.add(c.from,c.from,dg),l=c.to+1}}catch(u){i.e(u)}finally{i.f()}return O.finish()}var fg=lc.lg.fromClass(function(){function e(t){(0,u.Z)(this,e),this.decorations=void 0,this.decorations=hg(t)}return(0,p.Z)(e,[{key:"update",value:function(e){this.decorations=hg(e.view)}}]),e}(),{decorations:function(e){return e.decorations}});function mg(e){void 0===e&&(e={});var t=e.className,n=void 0===t?"cm-zebra-stripe":t;dg=lc.p.line({attributes:{class:n}}),e.lineNumber&&Array.isArray(e.lineNumber)?(e.step=null,e.lineNumber=e.lineNumber.map((function(e){return Array.isArray(e)&&"number"===typeof e[0]&&"number"===typeof e[1]?(t=e[0],n=e[1],r=1,Array.from({length:(n-t)/r+1},(function(e,n){return t+n*r}))):e;var t,n,r}))):e.lineNumber=null;var r=[null===e.lineNumber?[]:ug.of(e.lineNumber||[]),null===e.step?[]:pg.of(e.step||2),fg];if(n){var O=function(e){var t;return void 0===e&&(e={}),lc.tk.baseTheme((t={},(0,XO.Z)(t,"&light ."+e.className,{backgroundColor:e.lightColor||"#eef6ff"}),(0,XO.Z)(t,"&dark ."+e.className,{backgroundColor:e.darkColor||"#3a404d"}),t))}({lightColor:e.lightColor,darkColor:e.darkColor,className:n});r.push(O)}return r}var Qg,gg,$g=function(){var e=yh().theme;return(0,qn.jsx)(_c.default,{value:Um,theme:e,height:"300px",style:{margin:"0 0 23px 0"},extensions:[dh.markdown(),mg({lineNumber:[1,[3,6],10],lightColor:"#aca2ff33",darkColor:"#aca2ff40"})]})},Sg=Rn.div(Qg||(Qg=i(["\n padding-bottom: 24px;\n display: flex;\n gap: 18px;\n"]))),Pg=function(){var e=yh().theme,t=(0,s.useState)(2),n=(0,a.Z)(t,2),r=n[0],O=n[1],i=mg({step:r});return(0,qn.jsxs)(qm,{children:[(0,qn.jsx)(_c.default,{value:Um,theme:e,height:"300px",style:{margin:"0 0 23px 0"},extensions:[dh.markdown(),i]}),(0,qn.jsx)(Sg,{children:(0,qn.jsxs)("select",{value:r,onChange:function(e){return O(Number(e.target.value))},children:[(0,qn.jsx)("option",{value:1,children:"1"}),(0,qn.jsx)("option",{value:2,children:"2"}),(0,qn.jsx)("option",{value:3,children:"3"}),(0,qn.jsx)("option",{value:4,children:"4"}),(0,qn.jsx)("option",{value:5,children:"5"}),(0,qn.jsx)("option",{value:6,children:"6"})]})}),(0,qn.jsx)($g,{}),(0,qn.jsx)(sc,{source:Um})]})},yg=function(){return(0,qn.jsxs)(s.Fragment,{children:[(0,qn.jsx)("h1",{children:"How to remove all syntax highlighting?"}),(0,qn.jsx)(_c.default,{value:"console.log('hello')",theme:"none",height:"400px",style:{margin:"0 0 23px 0"},extensions:[dh.markdown()]})]})},vg=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r0&&document.getSelection().getRangeAt(0);n.select();var O=!1;try{O=!!document.execCommand("copy")}catch(i){O=!1}document.body.removeChild(n),r&&document.getSelection&&(document.getSelection().removeAllRanges(),document.getSelection().addRange(r)),t&&t(O)}return e}()},390:function(e,t,n){var r=n(8983).default,O=n(2081).default,i=n(7266).default,o=n(8724).default,a=n(670).default,s=n(9952).default,l=n(3231).default,c=document,u="_dark_mode_theme_",p="permanent",d="colorschemechange",h="light",f="dark",m=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;Object.defineProperty(e,n,{enumerable:!0,get:function(){var e=this.getAttribute(t);return null===e?"":e},set:function(e){this.setAttribute(t,e)}})},Q=function(e){"use strict";o(n,e);var t=a(n);function n(){var e;return r(this,n),e=t.call(this),l(i(e),"LOCAL_NANE",u),e.t(),e}return O(n,[{key:"connectedCallback",value:function(){var e=this;m(this,"mode"),m(this,f),m(this,h),function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;Object.defineProperty(e,n,{enumerable:!0,get:function(){return this.hasAttribute(t)},set:function(e){e?this.setAttribute(t,""):this.removeAttribute(t)}})}(this,p);var t=localStorage.getItem(u);t&&[h,f].includes(t)&&(this.mode=t,this.permanent=!0),this.permanent&&!t&&localStorage.setItem(u,this.mode);var n=[h,f].includes(t);this.permanent&&t?this.o():(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches&&(this.mode=f,this.o()),window.matchMedia&&window.matchMedia("(prefers-color-scheme: light)").matches&&(this.mode=h,this.o())),this.permanent||n||(window.matchMedia("(prefers-color-scheme: light)").onchange=function(t){e.mode=t.matches?h:f,e.o()},window.matchMedia("(prefers-color-scheme: dark)").onchange=function(t){e.mode=t.matches?f:h,e.o()}),new MutationObserver((function(t,r){e.mode=c.documentElement.dataset.colorMode,e.permanent&&n&&(localStorage.setItem(u,e.mode),e.i("permanentcolorscheme",{permanent:e.permanent})),e.h(),e.i(d,{colorScheme:e.mode})})).observe(c.documentElement,{attributes:!0}),this.i(d,{colorScheme:this.mode}),this.h()}},{key:"attributeChangedCallback",value:function(e,t,n){if("mode"===e&&t!==n&&[h,f].includes(n)){var r=localStorage.getItem(u);this.mode===r?(this.mode=n,this.h(),this.o()):this.mode&&this.mode!==r&&(this.h(),this.o())}else e!==h&&e!==f||t===n||this.h();"permanent"===e&&"boolean"===typeof this.permanent&&(this.permanent?localStorage.setItem(u,this.mode):localStorage.removeItem(u))}},{key:"o",value:function(){c.documentElement.setAttribute("data-color-mode",this.mode)}},{key:"h",value:function(){this.icon.textContent=this.mode===h?"\ud83c\udf12":"\ud83c\udf1e",this.text.textContent=this.mode===h?this.getAttribute(f):this.getAttribute(h),!this.text.textContent&&this.text.parentElement&&this.text&&this.text.parentElement.removeChild(this.text)}},{key:"t",value:function(){var e=this,t=this.attachShadow({mode:"open"});this.label=c.createElement("span"),this.label.setAttribute("class","wrapper"),this.label.onclick=function(){e.mode=e.mode===h?f:h,e.permanent&&localStorage.setItem(u,e.mode),e.o(),e.h()},t.appendChild(this.label),this.icon=c.createElement("span"),this.label.appendChild(this.icon),this.text=c.createElement("span"),this.label.appendChild(this.text);var n="_dark_mode_style_";if(!c.getElementById(n)){var r=c.createElement("style");r.id=n,r.textContent="\n[data-color-mode*='dark'], [data-color-mode*='dark'] body {\n color-scheme: dark;\n --color-theme-bg: #0d1117;\n --color-theme-text: #c9d1d9;\n background-color: var(--color-theme-bg);\n color: var(--color-theme-text);\n}\n\n[data-color-mode*='light'], [data-color-mode*='light'] body {\n color-scheme: light;\n --color-theme-bg: #fff;\n --color-theme-text: #24292f;\n background-color: var(--color-theme-bg);\n color: var(--color-theme-text);\n}",c.head.appendChild(r)}var O=c.createElement("style");O.textContent="\n .wrapper { cursor: pointer; user-select: none; position: relative; }\n .wrapper > span + span { margin-left: .4rem; }\n ",t.appendChild(O)}},{key:"i",value:function(e,t){this.dispatchEvent(new CustomEvent(e,{bubbles:!0,composed:!0,detail:t}))}}],[{key:"observedAttributes",get:function(){return["mode",h,f,p]}}]),n}(s(HTMLElement));customElements.define("dark-mode",Q)},1692:function(e){e.exports={trueFunc:function(){return!0},falseFunc:function(){return!1}}},861:function(e,t,n){"use strict";var r=n(7167),O=n(2174),i=function(){function e(){this.pseudos={},this.attrEqualityMods={},this.ruleNestingOperators={},this.substitutesEnabled=!1}return e.prototype.registerSelectorPseudos=function(){for(var e=[],t=0;t=a)throw Error("Expected symbol but end of file reached.");if(s=e.charAt(t),r.identSpecialChars[s])n+=s;else{if(r.isHex(s)){var O=s;for(t++,s=e.charAt(t);r.isHex(s);)O+=s,t++,s=e.charAt(t);" "===s&&(t++,s=e.charAt(t)),n+=String.fromCharCode(parseInt(O,16));continue}n+=s}}t++,s=e.charAt(t)}return n}function u(){s=e.charAt(t);for(var n=!1;" "===s||"\t"===s||"\n"===s||"\r"===s||"\f"===s;)n=!0,t++,s=e.charAt(t);return n}function p(){var n=d();if(!n)return null;var r=n;for(s=e.charAt(t);","===s;){if(t++,u(),"selectors"!==r.type&&(r={type:"selectors",selectors:[n]}),!(n=d()))throw Error('Rule expected after ",".');r.selectors.push(n)}return r}function d(){u();var n={type:"ruleSet"},r=h();if(!r)return null;for(var O=n;r&&(r.type="rule",O.rule=r,O=r,u(),s=e.charAt(t),!(t>=a||","===s||")"===s));)if(i[s]){var o=s;if(t++,u(),!(r=h()))throw Error('Rule expected after "'+o+'".');r.nestingOperator=o}else(r=h())&&(r.nestingOperator=null);return n}function h(){for(var i=null;t=a)throw Error('Expected "=" but end of file reached.');if("="!==s)throw Error('Expected "=" but "'+s+'" found.');d.operator=h+"=",t++,u();var f="";if(d.valueType="string",'"'===s)f=l('"',r.doubleQuotesEscapeChars);else if("'"===s)f=l("'",r.singleQuoteEscapeChars);else if(o&&"$"===s)t++,f=c(),d.valueType="substitute";else{for(;t=a)throw Error('Expected "]" but end of file reached.');if("]"!==s)throw Error('Expected "]" but "'+s+'" found.');t++,d.value=f}((i=i||{}).attrs=i.attrs||[]).push(d)}else{if(":"!==s)break;t++;var m=c(),Q={name:m};if("("===s){t++;var g="";if(u(),"selector"===n[m])Q.valueType="selector",g=p();else{if(Q.valueType=n[m]||"string",'"'===s)g=l('"',r.doubleQuotesEscapeChars);else if("'"===s)g=l("'",r.singleQuoteEscapeChars);else if(o&&"$"===s)t++,g=c(),Q.valueType="substitute";else{for(;t=a)throw Error('Expected ")" but end of file reached.');if(")"!==s)throw Error('Expected ")" but "'+s+'" found.');t++,Q.value=g}((i=i||{}).pseudos=i.pseudos||[]).push(Q)}return i}return function(){var n=p();if(t="a"&&e<="z"||e>="A"&&e<="Z"||"-"===e||"_"===e},t.isIdent=function(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||"-"===e||"_"===e},t.isHex=function(e){return e>="a"&&e<="f"||e>="A"&&e<="F"||e>="0"&&e<="9"},t.escapeIdentifier=function(e){for(var n=e.length,r="",O=0;O="A"&&i<="Z"||i>="a"&&i<="z"||0!==O&&i>="0"&&i<="9")r+=i;else{var o=i.charCodeAt(0);if(55296===(63488&o)){var a=e.charCodeAt(O++);if(55296!==(64512&o)||56320!==(64512&a))throw Error("UCS-2(decode): illegal sequence");o=((1023&o)<<10)+(1023&a)+65536}r+="\\"+o.toString(16)+" "}O++}return r},t.escapeStr=function(e){for(var n,r=e.length,O="",i=0;i":!0,"?":!0,"@":!0,"[":!0,"\\":!0,"]":!0,"^":!0,"`":!0,"{":!0,"|":!0,"}":!0,"~":!0},t.strReplacementsRev={"\n":"\\n","\r":"\\r","\t":"\\t","\f":"\\f","\v":"\\v"},t.singleQuoteEscapeChars={n:"\n",r:"\r",t:"\t",f:"\f","\\":"\\","'":"'"},t.doubleQuotesEscapeChars={n:"\n",r:"\r",t:"\t",f:"\f","\\":"\\",'"':'"'}},5134:function(e){"use strict";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=Object.defineProperty,O=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,O=t.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!O&&!i)return!1;for(r in e);return"undefined"===typeof r||t.call(e,r)},a=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},s=function(e,n){if("__proto__"===n){if(!t.call(e,n))return;if(O)return O(e,n).value}return e[n]};e.exports=function e(){var t,n,r,O,l,c,u=arguments[0],p=1,d=arguments.length,h=!1;for("boolean"===typeof u&&(h=u,u=arguments[1]||{},p=2),(null==u||"object"!==typeof u&&"function"!==typeof u)&&(u={});p-1)return r.QUIRKS;var c=null===t?o:i;if(u(n,c))return r.QUIRKS;if(u(n,c=null===t?s:l))return r.LIMITED_QUIRKS}return r.NO_QUIRKS},t.serializeContent=function(e,t,n){var r="!DOCTYPE ";return e&&(r+=e),t?r+=" PUBLIC "+c(t):n&&(r+=" SYSTEM"),null!==n&&(r+=" "+c(n)),r}},1965: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"}},5845:function(e,t,n){"use strict";var r,O=n(3231).default,i=n(7669),o=n(3359),a=o.TAG_NAMES,s=o.NAMESPACES,l=o.ATTRS,c="text/html",u="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"},d={"xlink:actuate":{prefix:"xlink",name:"actuate",namespace:s.XLINK},"xlink:arcrole":{prefix:"xlink",name:"arcrole",namespace:s.XLINK},"xlink:href":{prefix:"xlink",name:"href",namespace:s.XLINK},"xlink:role":{prefix:"xlink",name:"role",namespace:s.XLINK},"xlink:show":{prefix:"xlink",name:"show",namespace:s.XLINK},"xlink:title":{prefix:"xlink",name:"title",namespace:s.XLINK},"xlink:type":{prefix:"xlink",name:"type",namespace:s.XLINK},"xml:base":{prefix:"xml",name:"base",namespace:s.XML},"xml:lang":{prefix:"xml",name:"lang",namespace:s.XML},"xml:space":{prefix:"xml",name:"space",namespace:s.XML},xmlns:{prefix:"",name:"xmlns",namespace:s.XMLNS},"xmlns:xlink":{prefix:"xmlns",name:"xlink",namespace:s.XMLNS}},h=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"},f=(O(r={},a.B,!0),O(r,a.BIG,!0),O(r,a.BLOCKQUOTE,!0),O(r,a.BODY,!0),O(r,a.BR,!0),O(r,a.CENTER,!0),O(r,a.CODE,!0),O(r,a.DD,!0),O(r,a.DIV,!0),O(r,a.DL,!0),O(r,a.DT,!0),O(r,a.EM,!0),O(r,a.EMBED,!0),O(r,a.H1,!0),O(r,a.H2,!0),O(r,a.H3,!0),O(r,a.H4,!0),O(r,a.H5,!0),O(r,a.H6,!0),O(r,a.HEAD,!0),O(r,a.HR,!0),O(r,a.I,!0),O(r,a.IMG,!0),O(r,a.LI,!0),O(r,a.LISTING,!0),O(r,a.MENU,!0),O(r,a.META,!0),O(r,a.NOBR,!0),O(r,a.OL,!0),O(r,a.P,!0),O(r,a.PRE,!0),O(r,a.RUBY,!0),O(r,a.S,!0),O(r,a.SMALL,!0),O(r,a.SPAN,!0),O(r,a.STRONG,!0),O(r,a.STRIKE,!0),O(r,a.SUB,!0),O(r,a.SUP,!0),O(r,a.TABLE,!0),O(r,a.TT,!0),O(r,a.U,!0),O(r,a.UL,!0),O(r,a.VAR,!0),r);t.causesExit=function(e){var t=e.tagName;return!!(t===a.FONT&&(null!==i.getTokenAttr(e,l.COLOR)||null!==i.getTokenAttr(e,l.SIZE)||null!==i.getTokenAttr(e,l.FACE)))||f[t]},t.adjustTokenMathMLAttrs=function(e){for(var t=0;t=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}},9221:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(8724).default,o=n(670).default,a=function(e){i(n,e);var t=o(n);function n(e,O){var i;return r(this,n),(i=t.call(this,e)).posTracker=null,i.onParseError=O.onParseError,i}return O(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(3731));e.exports=a},1338:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(8724).default,o=n(670).default,a=n(9221),s=n(5602),l=n(2020),c=n(3731),u=function(e){i(n,e);var t=o(n);function n(e,O){var i;return r(this,n),(i=t.call(this,e,O)).opts=O,i.ctLoc=null,i.locBeforeToken=!1,i}return O(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),c.install(this.tokenizer,s,e.opts),c.install(this.tokenizer,l)},_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}(a);e.exports=u},369:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(1121).default,o=n(4910).default,a=n(8724).default,s=n(670).default,l=n(9221),c=n(7525),u=n(3731),p=function(e){a(n,e);var t=s(n);function n(e,O){var i;return r(this,n),(i=t.call(this,e,O)).posTracker=u.install(e,c),i.lastErrOffset=-1,i}return O(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}(l);e.exports=p},5602:function(e,t,n){"use strict";var r=n(2081).default,O=n(8983).default,i=n(8724).default,o=n(670).default,a=n(9221),s=n(369),l=n(3731),c=function(e){i(n,e);var t=o(n);function n(e,r){var i;O(this,n),i=t.call(this,e,r);var o=l.install(e.preprocessor,s,r);return i.posTracker=o.posTracker,i}return r(n)}(a);e.exports=c},8618:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(8724).default,o=n(670).default,a=function(e){i(n,e);var t=o(n);function n(e,O){var i;return r(this,n),(i=t.call(this,e)).onItemPop=O.onItemPop,i}return O(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(3731));e.exports=a},3720:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(8724).default,o=n(670).default,a=n(3731),s=n(7669),l=n(2020),c=n(8618),u=n(3359).TAG_NAMES,p=function(e){i(n,e);var t=o(n);function n(e){var O;return r(this,n),(O=t.call(this,e)).parser=e,O.treeAdapter=O.parser.treeAdapter,O.posTracker=null,O.lastStartTagToken=null,O.lastFosterParentingLocation=null,O.currentToken=null,O}return O(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),O={};t.type===s.END_TAG_TOKEN&&r===t.tagName?(O.endTag=Object.assign({},n),O.endLine=n.endLine,O.endCol=n.endCol,O.endOffset=n.endOffset):(O.endLine=n.startLine,O.endCol=n.startCol,O.endOffset=n.startOffset),this.treeAdapter.updateNodeSourceCodeLocation(e,O)}}},{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 O=a.install(this.tokenizer,l);e.posTracker=O.posTracker,a.install(this.openElements,c,{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===s.END_TAG_TOKEN&&(n.tagName===u.HTML||n.tagName===u.BODY&&this.openElements.hasInScope(u.BODY)))for(var r=this.openElements.stackTop;r>=0;r--){var O=this.openElements.items[r];if(this.treeAdapter.getTagName(O)===n.tagName){e._setEndLocation(O,n);break}}},_setDocumentType:function(e){t._setDocumentType.call(this,e);for(var n=this.treeAdapter.getChildNodes(this.document),r=n.length,O=0;O=3)for(var r=this.treeAdapter.getAttrList(t).length,O=this.treeAdapter.getTagName(t),i=this.treeAdapter.getNamespaceURI(t),o=this.length-1;o>=0;o--){var a=this.entries[o];if(a.type===e.MARKER_ENTRY)break;var s=a.element,l=this.treeAdapter.getAttrList(s);this.treeAdapter.getTagName(s)===O&&this.treeAdapter.getNamespaceURI(s)===i&&l.length===r&&n.push({idx:o,attrs:l})}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),O=r.length,i=Object.create(null),o=0;o=2;u--)this.entries.splice(t[u].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},810:function(e,t,n){"use strict";var r,O,i,o,a,s,l,c,u,p,d,h,f,m,Q,g,$,S,P,y,v,b,x,T,X,w,k=n(8983).default,_=n(2081).default,Z=n(3231).default,W=n(7669),R=n(4690),E=n(3958),Y=n(3720),U=n(1338),z=n(3731),q=n(8361),C=n(9072),j=n(4237),V=n(5845),A=n(1965),N=n(229),G=n(3359),D=G.TAG_NAMES,I=G.NAMESPACES,F=G.ATTRS,L={scriptingEnabled:!0,sourceCodeLocationInfo:!1,onParseError:null,treeAdapter:q},J="hidden",M=8,B=3,H="INITIAL_MODE",K="BEFORE_HTML_MODE",ee="BEFORE_HEAD_MODE",te="IN_HEAD_MODE",ne="IN_HEAD_NO_SCRIPT_MODE",re="AFTER_HEAD_MODE",Oe="IN_BODY_MODE",ie="TEXT_MODE",oe="IN_TABLE_MODE",ae="IN_TABLE_TEXT_MODE",se="IN_CAPTION_MODE",le="IN_COLUMN_GROUP_MODE",ce="IN_TABLE_BODY_MODE",ue="IN_ROW_MODE",pe="IN_CELL_MODE",de="IN_SELECT_MODE",he="IN_SELECT_IN_TABLE_MODE",fe="IN_TEMPLATE_MODE",me="AFTER_BODY_MODE",Qe="IN_FRAMESET_MODE",ge="AFTER_FRAMESET_MODE",$e="AFTER_AFTER_BODY_MODE",Se="AFTER_AFTER_FRAMESET_MODE",Pe=(Z(r={},D.TR,ue),Z(r,D.TBODY,ce),Z(r,D.THEAD,ce),Z(r,D.TFOOT,ce),Z(r,D.CAPTION,se),Z(r,D.COLGROUP,le),Z(r,D.TABLE,oe),Z(r,D.BODY,Oe),Z(r,D.FRAMESET,Qe),r),ye=(Z(O={},D.CAPTION,oe),Z(O,D.COLGROUP,oe),Z(O,D.TBODY,oe),Z(O,D.TFOOT,oe),Z(O,D.THEAD,oe),Z(O,D.COL,le),Z(O,D.TR,ce),Z(O,D.TD,ue),Z(O,D.TH,ue),O),ve=(Z(w={},H,(Z(i={},W.CHARACTER_TOKEN,qe),Z(i,W.NULL_CHARACTER_TOKEN,qe),Z(i,W.WHITESPACE_CHARACTER_TOKEN,We),Z(i,W.COMMENT_TOKEN,Ee),Z(i,W.DOCTYPE_TOKEN,(function(e,t){e._setDocumentType(t);var n=t.forceQuirks?G.DOCUMENT_MODE.QUIRKS:j.getDocumentMode(t);j.isConforming(t)||e._err(A.nonConformingDoctype);e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=K})),Z(i,W.START_TAG_TOKEN,qe),Z(i,W.END_TAG_TOKEN,qe),Z(i,W.EOF_TOKEN,qe),i)),Z(w,K,(Z(o={},W.CHARACTER_TOKEN,Ce),Z(o,W.NULL_CHARACTER_TOKEN,Ce),Z(o,W.WHITESPACE_CHARACTER_TOKEN,We),Z(o,W.COMMENT_TOKEN,Ee),Z(o,W.DOCTYPE_TOKEN,We),Z(o,W.START_TAG_TOKEN,(function(e,t){t.tagName===D.HTML?(e._insertElement(t,I.HTML),e.insertionMode=ee):Ce(e,t)})),Z(o,W.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n!==D.HTML&&n!==D.HEAD&&n!==D.BODY&&n!==D.BR||Ce(e,t)})),Z(o,W.EOF_TOKEN,Ce),o)),Z(w,ee,(Z(a={},W.CHARACTER_TOKEN,je),Z(a,W.NULL_CHARACTER_TOKEN,je),Z(a,W.WHITESPACE_CHARACTER_TOKEN,We),Z(a,W.COMMENT_TOKEN,Ee),Z(a,W.DOCTYPE_TOKEN,Re),Z(a,W.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.HTML?Ot(e,t):n===D.HEAD?(e._insertElement(t,I.HTML),e.headElement=e.openElements.current,e.insertionMode=te):je(e,t)})),Z(a,W.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.HEAD||n===D.BODY||n===D.HTML||n===D.BR?je(e,t):e._err(A.endTagWithoutMatchingOpenElement)})),Z(a,W.EOF_TOKEN,je),a)),Z(w,te,(Z(s={},W.CHARACTER_TOKEN,Ne),Z(s,W.NULL_CHARACTER_TOKEN,Ne),Z(s,W.WHITESPACE_CHARACTER_TOKEN,Ue),Z(s,W.COMMENT_TOKEN,Ee),Z(s,W.DOCTYPE_TOKEN,Re),Z(s,W.START_TAG_TOKEN,Ve),Z(s,W.END_TAG_TOKEN,Ae),Z(s,W.EOF_TOKEN,Ne),s)),Z(w,ne,(Z(l={},W.CHARACTER_TOKEN,Ge),Z(l,W.NULL_CHARACTER_TOKEN,Ge),Z(l,W.WHITESPACE_CHARACTER_TOKEN,Ue),Z(l,W.COMMENT_TOKEN,Ee),Z(l,W.DOCTYPE_TOKEN,Re),Z(l,W.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.HTML?Ot(e,t):n===D.BASEFONT||n===D.BGSOUND||n===D.HEAD||n===D.LINK||n===D.META||n===D.NOFRAMES||n===D.STYLE?Ve(e,t):n===D.NOSCRIPT?e._err(A.nestedNoscriptInHead):Ge(e,t)})),Z(l,W.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.NOSCRIPT?(e.openElements.pop(),e.insertionMode=te):n===D.BR?Ge(e,t):e._err(A.endTagWithoutMatchingOpenElement)})),Z(l,W.EOF_TOKEN,Ge),l)),Z(w,re,(Z(c={},W.CHARACTER_TOKEN,De),Z(c,W.NULL_CHARACTER_TOKEN,De),Z(c,W.WHITESPACE_CHARACTER_TOKEN,Ue),Z(c,W.COMMENT_TOKEN,Ee),Z(c,W.DOCTYPE_TOKEN,Re),Z(c,W.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.HTML?Ot(e,t):n===D.BODY?(e._insertElement(t,I.HTML),e.framesetOk=!1,e.insertionMode=Oe):n===D.FRAMESET?(e._insertElement(t,I.HTML),e.insertionMode=Qe):n===D.BASE||n===D.BASEFONT||n===D.BGSOUND||n===D.LINK||n===D.META||n===D.NOFRAMES||n===D.SCRIPT||n===D.STYLE||n===D.TEMPLATE||n===D.TITLE?(e._err(A.abandonedHeadElementChild),e.openElements.push(e.headElement),Ve(e,t),e.openElements.remove(e.headElement)):n===D.HEAD?e._err(A.misplacedStartTagForHeadElement):De(e,t)})),Z(c,W.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.BODY||n===D.HTML||n===D.BR?De(e,t):n===D.TEMPLATE?Ae(e,t):e._err(A.endTagWithoutMatchingOpenElement)})),Z(c,W.EOF_TOKEN,De),c)),Z(w,Oe,(Z(u={},W.CHARACTER_TOKEN,Fe),Z(u,W.NULL_CHARACTER_TOKEN,We),Z(u,W.WHITESPACE_CHARACTER_TOKEN,Ie),Z(u,W.COMMENT_TOKEN,Ee),Z(u,W.DOCTYPE_TOKEN,We),Z(u,W.START_TAG_TOKEN,Ot),Z(u,W.END_TAG_TOKEN,st),Z(u,W.EOF_TOKEN,lt),u)),Z(w,ie,(Z(p={},W.CHARACTER_TOKEN,Ue),Z(p,W.NULL_CHARACTER_TOKEN,Ue),Z(p,W.WHITESPACE_CHARACTER_TOKEN,Ue),Z(p,W.COMMENT_TOKEN,We),Z(p,W.DOCTYPE_TOKEN,We),Z(p,W.START_TAG_TOKEN,We),Z(p,W.END_TAG_TOKEN,(function(e,t){t.tagName===D.SCRIPT&&(e.pendingScript=e.openElements.current);e.openElements.pop(),e.insertionMode=e.originalInsertionMode})),Z(p,W.EOF_TOKEN,(function(e,t){e._err(A.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e._processToken(t)})),p)),Z(w,oe,(Z(d={},W.CHARACTER_TOKEN,ct),Z(d,W.NULL_CHARACTER_TOKEN,ct),Z(d,W.WHITESPACE_CHARACTER_TOKEN,ct),Z(d,W.COMMENT_TOKEN,Ee),Z(d,W.DOCTYPE_TOKEN,We),Z(d,W.START_TAG_TOKEN,ut),Z(d,W.END_TAG_TOKEN,pt),Z(d,W.EOF_TOKEN,lt),d)),Z(w,ae,(Z(h={},W.CHARACTER_TOKEN,(function(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0})),Z(h,W.NULL_CHARACTER_TOKEN,We),Z(h,W.WHITESPACE_CHARACTER_TOKEN,(function(e,t){e.pendingCharacterTokens.push(t)})),Z(h,W.COMMENT_TOKEN,ht),Z(h,W.DOCTYPE_TOKEN,ht),Z(h,W.START_TAG_TOKEN,ht),Z(h,W.END_TAG_TOKEN,ht),Z(h,W.EOF_TOKEN,ht),h)),Z(w,se,(Z(f={},W.CHARACTER_TOKEN,Fe),Z(f,W.NULL_CHARACTER_TOKEN,We),Z(f,W.WHITESPACE_CHARACTER_TOKEN,Ie),Z(f,W.COMMENT_TOKEN,Ee),Z(f,W.DOCTYPE_TOKEN,We),Z(f,W.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.CAPTION||n===D.COL||n===D.COLGROUP||n===D.TBODY||n===D.TD||n===D.TFOOT||n===D.TH||n===D.THEAD||n===D.TR?e.openElements.hasInTableScope(D.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(D.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=oe,e._processToken(t)):Ot(e,t)})),Z(f,W.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.CAPTION||n===D.TABLE?e.openElements.hasInTableScope(D.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(D.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=oe,n===D.TABLE&&e._processToken(t)):n!==D.BODY&&n!==D.COL&&n!==D.COLGROUP&&n!==D.HTML&&n!==D.TBODY&&n!==D.TD&&n!==D.TFOOT&&n!==D.TH&&n!==D.THEAD&&n!==D.TR&&st(e,t)})),Z(f,W.EOF_TOKEN,lt),f)),Z(w,le,(Z(m={},W.CHARACTER_TOKEN,ft),Z(m,W.NULL_CHARACTER_TOKEN,ft),Z(m,W.WHITESPACE_CHARACTER_TOKEN,Ue),Z(m,W.COMMENT_TOKEN,Ee),Z(m,W.DOCTYPE_TOKEN,We),Z(m,W.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.HTML?Ot(e,t):n===D.COL?(e._appendElement(t,I.HTML),t.ackSelfClosing=!0):n===D.TEMPLATE?Ve(e,t):ft(e,t)})),Z(m,W.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.COLGROUP?e.openElements.currentTagName===D.COLGROUP&&(e.openElements.pop(),e.insertionMode=oe):n===D.TEMPLATE?Ae(e,t):n!==D.COL&&ft(e,t)})),Z(m,W.EOF_TOKEN,lt),m)),Z(w,ce,(Z(Q={},W.CHARACTER_TOKEN,ct),Z(Q,W.NULL_CHARACTER_TOKEN,ct),Z(Q,W.WHITESPACE_CHARACTER_TOKEN,ct),Z(Q,W.COMMENT_TOKEN,Ee),Z(Q,W.DOCTYPE_TOKEN,We),Z(Q,W.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.TR?(e.openElements.clearBackToTableBodyContext(),e._insertElement(t,I.HTML),e.insertionMode=ue):n===D.TH||n===D.TD?(e.openElements.clearBackToTableBodyContext(),e._insertFakeElement(D.TR),e.insertionMode=ue,e._processToken(t)):n===D.CAPTION||n===D.COL||n===D.COLGROUP||n===D.TBODY||n===D.TFOOT||n===D.THEAD?e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=oe,e._processToken(t)):ut(e,t)})),Z(Q,W.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.TBODY||n===D.TFOOT||n===D.THEAD?e.openElements.hasInTableScope(n)&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=oe):n===D.TABLE?e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=oe,e._processToken(t)):(n!==D.BODY&&n!==D.CAPTION&&n!==D.COL&&n!==D.COLGROUP||n!==D.HTML&&n!==D.TD&&n!==D.TH&&n!==D.TR)&&pt(e,t)})),Z(Q,W.EOF_TOKEN,lt),Q)),Z(w,ue,(Z(g={},W.CHARACTER_TOKEN,ct),Z(g,W.NULL_CHARACTER_TOKEN,ct),Z(g,W.WHITESPACE_CHARACTER_TOKEN,ct),Z(g,W.COMMENT_TOKEN,Ee),Z(g,W.DOCTYPE_TOKEN,We),Z(g,W.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.TH||n===D.TD?(e.openElements.clearBackToTableRowContext(),e._insertElement(t,I.HTML),e.insertionMode=pe,e.activeFormattingElements.insertMarker()):n===D.CAPTION||n===D.COL||n===D.COLGROUP||n===D.TBODY||n===D.TFOOT||n===D.THEAD||n===D.TR?e.openElements.hasInTableScope(D.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=ce,e._processToken(t)):ut(e,t)})),Z(g,W.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.TR?e.openElements.hasInTableScope(D.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=ce):n===D.TABLE?e.openElements.hasInTableScope(D.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=ce,e._processToken(t)):n===D.TBODY||n===D.TFOOT||n===D.THEAD?(e.openElements.hasInTableScope(n)||e.openElements.hasInTableScope(D.TR))&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=ce,e._processToken(t)):(n!==D.BODY&&n!==D.CAPTION&&n!==D.COL&&n!==D.COLGROUP||n!==D.HTML&&n!==D.TD&&n!==D.TH)&&pt(e,t)})),Z(g,W.EOF_TOKEN,lt),g)),Z(w,pe,(Z($={},W.CHARACTER_TOKEN,Fe),Z($,W.NULL_CHARACTER_TOKEN,We),Z($,W.WHITESPACE_CHARACTER_TOKEN,Ie),Z($,W.COMMENT_TOKEN,Ee),Z($,W.DOCTYPE_TOKEN,We),Z($,W.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.CAPTION||n===D.COL||n===D.COLGROUP||n===D.TBODY||n===D.TD||n===D.TFOOT||n===D.TH||n===D.THEAD||n===D.TR?(e.openElements.hasInTableScope(D.TD)||e.openElements.hasInTableScope(D.TH))&&(e._closeTableCell(),e._processToken(t)):Ot(e,t)})),Z($,W.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.TD||n===D.TH?e.openElements.hasInTableScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=ue):n===D.TABLE||n===D.TBODY||n===D.TFOOT||n===D.THEAD||n===D.TR?e.openElements.hasInTableScope(n)&&(e._closeTableCell(),e._processToken(t)):n!==D.BODY&&n!==D.CAPTION&&n!==D.COL&&n!==D.COLGROUP&&n!==D.HTML&&st(e,t)})),Z($,W.EOF_TOKEN,lt),$)),Z(w,de,(Z(S={},W.CHARACTER_TOKEN,Ue),Z(S,W.NULL_CHARACTER_TOKEN,We),Z(S,W.WHITESPACE_CHARACTER_TOKEN,Ue),Z(S,W.COMMENT_TOKEN,Ee),Z(S,W.DOCTYPE_TOKEN,We),Z(S,W.START_TAG_TOKEN,mt),Z(S,W.END_TAG_TOKEN,Qt),Z(S,W.EOF_TOKEN,lt),S)),Z(w,he,(Z(P={},W.CHARACTER_TOKEN,Ue),Z(P,W.NULL_CHARACTER_TOKEN,We),Z(P,W.WHITESPACE_CHARACTER_TOKEN,Ue),Z(P,W.COMMENT_TOKEN,Ee),Z(P,W.DOCTYPE_TOKEN,We),Z(P,W.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.CAPTION||n===D.TABLE||n===D.TBODY||n===D.TFOOT||n===D.THEAD||n===D.TR||n===D.TD||n===D.TH?(e.openElements.popUntilTagNamePopped(D.SELECT),e._resetInsertionMode(),e._processToken(t)):mt(e,t)})),Z(P,W.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.CAPTION||n===D.TABLE||n===D.TBODY||n===D.TFOOT||n===D.THEAD||n===D.TR||n===D.TD||n===D.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(D.SELECT),e._resetInsertionMode(),e._processToken(t)):Qt(e,t)})),Z(P,W.EOF_TOKEN,lt),P)),Z(w,fe,(Z(y={},W.CHARACTER_TOKEN,Fe),Z(y,W.NULL_CHARACTER_TOKEN,We),Z(y,W.WHITESPACE_CHARACTER_TOKEN,Ie),Z(y,W.COMMENT_TOKEN,Ee),Z(y,W.DOCTYPE_TOKEN,We),Z(y,W.START_TAG_TOKEN,(function(e,t){var n=t.tagName;if(n===D.BASE||n===D.BASEFONT||n===D.BGSOUND||n===D.LINK||n===D.META||n===D.NOFRAMES||n===D.SCRIPT||n===D.STYLE||n===D.TEMPLATE||n===D.TITLE)Ve(e,t);else{var r=ye[n]||Oe;e._popTmplInsertionMode(),e._pushTmplInsertionMode(r),e.insertionMode=r,e._processToken(t)}})),Z(y,W.END_TAG_TOKEN,(function(e,t){t.tagName===D.TEMPLATE&&Ae(e,t)})),Z(y,W.EOF_TOKEN,gt),y)),Z(w,me,(Z(v={},W.CHARACTER_TOKEN,$t),Z(v,W.NULL_CHARACTER_TOKEN,$t),Z(v,W.WHITESPACE_CHARACTER_TOKEN,Ie),Z(v,W.COMMENT_TOKEN,(function(e,t){e._appendCommentNode(t,e.openElements.items[0])})),Z(v,W.DOCTYPE_TOKEN,We),Z(v,W.START_TAG_TOKEN,(function(e,t){t.tagName===D.HTML?Ot(e,t):$t(e,t)})),Z(v,W.END_TAG_TOKEN,(function(e,t){t.tagName===D.HTML?e.fragmentContext||(e.insertionMode=$e):$t(e,t)})),Z(v,W.EOF_TOKEN,ze),v)),Z(w,Qe,(Z(b={},W.CHARACTER_TOKEN,We),Z(b,W.NULL_CHARACTER_TOKEN,We),Z(b,W.WHITESPACE_CHARACTER_TOKEN,Ue),Z(b,W.COMMENT_TOKEN,Ee),Z(b,W.DOCTYPE_TOKEN,We),Z(b,W.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.HTML?Ot(e,t):n===D.FRAMESET?e._insertElement(t,I.HTML):n===D.FRAME?(e._appendElement(t,I.HTML),t.ackSelfClosing=!0):n===D.NOFRAMES&&Ve(e,t)})),Z(b,W.END_TAG_TOKEN,(function(e,t){t.tagName!==D.FRAMESET||e.openElements.isRootHtmlElementCurrent()||(e.openElements.pop(),e.fragmentContext||e.openElements.currentTagName===D.FRAMESET||(e.insertionMode=ge))})),Z(b,W.EOF_TOKEN,ze),b)),Z(w,ge,(Z(x={},W.CHARACTER_TOKEN,We),Z(x,W.NULL_CHARACTER_TOKEN,We),Z(x,W.WHITESPACE_CHARACTER_TOKEN,Ue),Z(x,W.COMMENT_TOKEN,Ee),Z(x,W.DOCTYPE_TOKEN,We),Z(x,W.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.HTML?Ot(e,t):n===D.NOFRAMES&&Ve(e,t)})),Z(x,W.END_TAG_TOKEN,(function(e,t){t.tagName===D.HTML&&(e.insertionMode=Se)})),Z(x,W.EOF_TOKEN,ze),x)),Z(w,$e,(Z(T={},W.CHARACTER_TOKEN,St),Z(T,W.NULL_CHARACTER_TOKEN,St),Z(T,W.WHITESPACE_CHARACTER_TOKEN,Ie),Z(T,W.COMMENT_TOKEN,Ye),Z(T,W.DOCTYPE_TOKEN,We),Z(T,W.START_TAG_TOKEN,(function(e,t){t.tagName===D.HTML?Ot(e,t):St(e,t)})),Z(T,W.END_TAG_TOKEN,St),Z(T,W.EOF_TOKEN,ze),T)),Z(w,Se,(Z(X={},W.CHARACTER_TOKEN,We),Z(X,W.NULL_CHARACTER_TOKEN,We),Z(X,W.WHITESPACE_CHARACTER_TOKEN,Ie),Z(X,W.COMMENT_TOKEN,Ye),Z(X,W.DOCTYPE_TOKEN,We),Z(X,W.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===D.HTML?Ot(e,t):n===D.NOFRAMES&&Ve(e,t)})),Z(X,W.END_TAG_TOKEN,We),Z(X,W.EOF_TOKEN,ze),X)),w),be=function(){function e(t){k(this,e),this.options=C(L,t),this.treeAdapter=this.options.treeAdapter,this.pendingScript=null,this.options.sourceCodeLocationInfo&&z.install(this,Y),this.options.onParseError&&z.install(this,U,{onParseError:this.options.onParseError})}return _(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(D.TEMPLATE,I.HTML,[]));var n=this.treeAdapter.createElement("documentmock",I.HTML,[]);this._bootstrap(n,t),this.treeAdapter.getTagName(t)===D.TEMPLATE&&this._pushTmplInsertionMode(fe),this._initTokenizerForFragmentParsing(),this._insertFakeRootElement(),this._resetInsertionMode(),this._findFormInFragmentContext(),this.tokenizer.write(e,!0),this._runParsingLoop(null);var r=this.treeAdapter.getFirstChild(n),O=this.treeAdapter.createDocumentFragment();return this._adoptNodes(r,O),O}},{key:"_bootstrap",value:function(e,t){this.tokenizer=new W(this.options),this.stopped=!1,this.insertionMode=H,this.originalInsertionMode="",this.document=e,this.fragmentContext=t,this.headElement=null,this.formElement=null,this.openElements=new R(this.document,this.treeAdapter),this.activeFormattingElements=new E(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===W.HIBERNATION_TOKEN)break;if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.type===W.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)!==I.HTML&&!this._isIntegrationPoint(e)}},{key:"_switchToTextParsing",value:function(e,t){this._insertElement(e,I.HTML),this.tokenizer.state=t,this.originalInsertionMode=this.insertionMode,this.insertionMode=ie}},{key:"switchToPlaintextParsing",value:function(){this.insertionMode=ie,this.originalInsertionMode=Oe,this.tokenizer.state=W.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)===D.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}while(e)}},{key:"_initTokenizerForFragmentParsing",value:function(){if(this.treeAdapter.getNamespaceURI(this.fragmentContext)===I.HTML){var e=this.treeAdapter.getTagName(this.fragmentContext);e===D.TITLE||e===D.TEXTAREA?this.tokenizer.state=W.MODE.RCDATA:e===D.STYLE||e===D.XMP||e===D.IFRAME||e===D.NOEMBED||e===D.NOFRAMES||e===D.NOSCRIPT?this.tokenizer.state=W.MODE.RAWTEXT:e===D.SCRIPT?this.tokenizer.state=W.MODE.SCRIPT_DATA:e===D.PLAINTEXT&&(this.tokenizer.state=W.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,I.HTML,[]);this._attachElementToTree(t),this.openElements.push(t)}},{key:"_insertTemplate",value:function(e){var t=this.treeAdapter.createElement(e.tagName,I.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(D.HTML,I.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===I.HTML)return!1;if(this.treeAdapter.getTagName(t)===D.ANNOTATION_XML&&n===I.MATHML&&e.type===W.START_TAG_TOKEN&&e.tagName===D.SVG)return!1;var r=e.type===W.CHARACTER_TOKEN||e.type===W.NULL_CHARACTER_TOKEN||e.type===W.WHITESPACE_CHARACTER_TOKEN;return(!(e.type===W.START_TAG_TOKEN&&e.tagName!==D.MGLYPH&&e.tagName!==D.MALIGNMARK)&&!r||!this._isIntegrationPoint(t,I.MATHML))&&((e.type!==W.START_TAG_TOKEN&&!r||!this._isIntegrationPoint(t,I.HTML))&&e.type!==W.EOF_TOKEN)}},{key:"_processToken",value:function(e){ve[this.insertionMode][e.type](this,e)}},{key:"_processTokenInBodyMode",value:function(e){ve[Oe][e.type](this,e)}},{key:"_processTokenInForeignContent",value:function(e){e.type===W.CHARACTER_TOKEN?function(e,t){e._insertCharacters(t),e.framesetOk=!1}(this,e):e.type===W.NULL_CHARACTER_TOKEN?function(e,t){t.chars=N.REPLACEMENT_CHARACTER,e._insertCharacters(t)}(this,e):e.type===W.WHITESPACE_CHARACTER_TOKEN?Ue(this,e):e.type===W.COMMENT_TOKEN?Ee(this,e):e.type===W.START_TAG_TOKEN?function(e,t){if(V.causesExit(t)&&!e.fragmentContext){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==I.HTML&&!e._isIntegrationPoint(e.openElements.current);)e.openElements.pop();e._processToken(t)}else{var n=e._getAdjustedCurrentElement(),r=e.treeAdapter.getNamespaceURI(n);r===I.MATHML?V.adjustTokenMathMLAttrs(t):r===I.SVG&&(V.adjustTokenSVGTagName(t),V.adjustTokenSVGAttrs(t)),V.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,r):e._insertElement(t,r),t.ackSelfClosing=!0}}(this,e):e.type===W.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)===I.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===W.START_TAG_TOKEN&&e.selfClosing&&!e.ackSelfClosing&&this._err(A.nonVoidHtmlElementStartTagWithTrailingSolidus)}},{key:"_isIntegrationPoint",value:function(e,t){var n=this.treeAdapter.getTagName(e),r=this.treeAdapter.getNamespaceURI(e),O=this.treeAdapter.getAttrList(e);return V.isIntegrationPoint(n,r,O,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===E.MARKER_ENTRY||this.openElements.contains(n.element)){t++;break}}while(t>0);for(var r=t;r=0;e--){var n=this.openElements.items[e];0===e&&(t=!0,this.fragmentContext&&(n=this.fragmentContext));var r=this.treeAdapter.getTagName(n),O=Pe[r];if(O){this.insertionMode=O;break}if(!(t||r!==D.TD&&r!==D.TH)){this.insertionMode=pe;break}if(!t&&r===D.HEAD){this.insertionMode=te;break}if(r===D.SELECT){this._resetInsertionModeForSelect(e);break}if(r===D.TEMPLATE){this.insertionMode=this.currentTmplInsertionMode;break}if(r===D.HTML){this.insertionMode=this.headElement?re:ee;break}if(t){this.insertionMode=Oe;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===D.TEMPLATE)break;if(r===D.TABLE)return void(this.insertionMode=he)}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===D.TABLE||t===D.TBODY||t===D.TFOOT||t===D.THEAD||t===D.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),O=this.treeAdapter.getNamespaceURI(n);if(r===D.TEMPLATE&&O===I.HTML){e.parent=this.treeAdapter.getTemplateContent(n);break}if(r===D.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 G.SPECIAL_ELEMENTS[n][t]}}]),e}();function xe(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):at(e,t),n}function Te(e,t){for(var n=null,r=e.openElements.stackTop;r>=0;r--){var O=e.openElements.items[r];if(O===t.element)break;e._isSpecialElement(O)&&(n=O)}return n||(e.openElements.popUntilElementPopped(t.element),e.activeFormattingElements.removeEntry(t)),n}function Xe(e,t,n){for(var r=t,O=e.openElements.getCommonAncestor(t),i=0,o=O;o!==n;i++,o=O){O=e.openElements.getCommonAncestor(o);var a=e.activeFormattingElements.getElementEntry(o),s=a&&i>=B;!a||s?(s&&e.activeFormattingElements.removeEntry(a),e.openElements.remove(o)):(o=we(e,a),r===t&&(e.activeFormattingElements.bookmark=a),e.treeAdapter.detachNode(r),e.treeAdapter.appendChild(o,r),r=o)}return r}function we(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 ke(e,t,n){if(e._isElementCausesFosterParenting(t))e._fosterParentElement(n);else{var r=e.treeAdapter.getTagName(t),O=e.treeAdapter.getNamespaceURI(t);r===D.TEMPLATE&&O===I.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function _e(e,t,n){var r=e.treeAdapter.getNamespaceURI(n.element),O=n.token,i=e.treeAdapter.createElement(O.tagName,r,O.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 Ze(e,t){for(var n,r=0;r0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagName!==D.TEMPLATE&&e._err(A.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(D.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode()):e._err(A.endTagWithoutMatchingOpenElement)}function Ne(e,t){e.openElements.pop(),e.insertionMode=re,e._processToken(t)}function Ge(e,t){var n=t.type===W.EOF_TOKEN?A.openElementsLeftAfterEof:A.disallowedContentInNoscriptInHead;e._err(n),e.openElements.pop(),e.insertionMode=te,e._processToken(t)}function De(e,t){e._insertFakeElement(D.BODY),e.insertionMode=Oe,e._processToken(t)}function Ie(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function Fe(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function Le(e,t){e.openElements.hasInButtonScope(D.P)&&e._closePElement(),e._insertElement(t,I.HTML)}function Je(e,t){e.openElements.hasInButtonScope(D.P)&&e._closePElement(),e._insertElement(t,I.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function Me(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,I.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function Be(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,I.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function He(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,I.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function Ke(e,t){e._appendElement(t,I.HTML),t.ackSelfClosing=!0}function et(e,t){e._switchToTextParsing(t,W.MODE.RAWTEXT)}function tt(e,t){e.openElements.currentTagName===D.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,I.HTML)}function nt(e,t){e.openElements.hasInScope(D.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,I.HTML)}function rt(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,I.HTML)}function Ot(e,t){var n=t.tagName;switch(n.length){case 1:n===D.I||n===D.S||n===D.B||n===D.U?Me(e,t):n===D.P?Le(e,t):n===D.A?function(e,t){var n=e.activeFormattingElements.getElementEntryInScopeWithTagName(D.A);n&&(Ze(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,I.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):rt(e,t);break;case 2:n===D.DL||n===D.OL||n===D.UL?Le(e,t):n===D.H1||n===D.H2||n===D.H3||n===D.H4||n===D.H5||n===D.H6?function(e,t){e.openElements.hasInButtonScope(D.P)&&e._closePElement();var n=e.openElements.currentTagName;n!==D.H1&&n!==D.H2&&n!==D.H3&&n!==D.H4&&n!==D.H5&&n!==D.H6||e.openElements.pop(),e._insertElement(t,I.HTML)}(e,t):n===D.LI||n===D.DD||n===D.DT?function(e,t){e.framesetOk=!1;for(var n=t.tagName,r=e.openElements.stackTop;r>=0;r--){var O=e.openElements.items[r],i=e.treeAdapter.getTagName(O),o=null;if(n===D.LI&&i===D.LI?o=D.LI:n!==D.DD&&n!==D.DT||i!==D.DD&&i!==D.DT||(o=i),o){e.openElements.generateImpliedEndTagsWithExclusion(o),e.openElements.popUntilTagNamePopped(o);break}if(i!==D.ADDRESS&&i!==D.DIV&&i!==D.P&&e._isSpecialElement(O))break}e.openElements.hasInButtonScope(D.P)&&e._closePElement(),e._insertElement(t,I.HTML)}(e,t):n===D.EM||n===D.TT?Me(e,t):n===D.BR?He(e,t):n===D.HR?function(e,t){e.openElements.hasInButtonScope(D.P)&&e._closePElement(),e._appendElement(t,I.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}(e,t):n===D.RB?nt(e,t):n===D.RT||n===D.RP?function(e,t){e.openElements.hasInScope(D.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(D.RTC),e._insertElement(t,I.HTML)}(e,t):n!==D.TH&&n!==D.TD&&n!==D.TR&&rt(e,t);break;case 3:n===D.DIV||n===D.DIR||n===D.NAV?Le(e,t):n===D.PRE?Je(e,t):n===D.BIG?Me(e,t):n===D.IMG||n===D.WBR?He(e,t):n===D.XMP?function(e,t){e.openElements.hasInButtonScope(D.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,W.MODE.RAWTEXT)}(e,t):n===D.SVG?function(e,t){e._reconstructActiveFormattingElements(),V.adjustTokenSVGAttrs(t),V.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,I.SVG):e._insertElement(t,I.SVG),t.ackSelfClosing=!0}(e,t):n===D.RTC?nt(e,t):n!==D.COL&&rt(e,t);break;case 4:n===D.HTML?function(e,t){0===e.openElements.tmplCount&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}(e,t):n===D.BASE||n===D.LINK||n===D.META?Ve(e,t):n===D.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===D.MAIN||n===D.MENU?Le(e,t):n===D.FORM?function(e,t){var n=e.openElements.tmplCount>0;e.formElement&&!n||(e.openElements.hasInButtonScope(D.P)&&e._closePElement(),e._insertElement(t,I.HTML),n||(e.formElement=e.openElements.current))}(e,t):n===D.CODE||n===D.FONT?Me(e,t):n===D.NOBR?function(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(D.NOBR)&&(Ze(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,I.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):n===D.AREA?He(e,t):n===D.MATH?function(e,t){e._reconstructActiveFormattingElements(),V.adjustTokenMathMLAttrs(t),V.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,I.MATHML):e._insertElement(t,I.MATHML),t.ackSelfClosing=!0}(e,t):n===D.MENU?function(e,t){e.openElements.hasInButtonScope(D.P)&&e._closePElement(),e._insertElement(t,I.HTML)}(e,t):n!==D.HEAD&&rt(e,t);break;case 5:n===D.STYLE||n===D.TITLE?Ve(e,t):n===D.ASIDE?Le(e,t):n===D.SMALL?Me(e,t):n===D.TABLE?function(e,t){e.treeAdapter.getDocumentMode(e.document)!==G.DOCUMENT_MODE.QUIRKS&&e.openElements.hasInButtonScope(D.P)&&e._closePElement(),e._insertElement(t,I.HTML),e.framesetOk=!1,e.insertionMode=oe}(e,t):n===D.EMBED?He(e,t):n===D.INPUT?function(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,I.HTML);var n=W.getTokenAttr(t,F.TYPE);n&&n.toLowerCase()===J||(e.framesetOk=!1),t.ackSelfClosing=!0}(e,t):n===D.PARAM||n===D.TRACK?Ke(e,t):n===D.IMAGE?function(e,t){t.tagName=D.IMG,He(e,t)}(e,t):n!==D.FRAME&&n!==D.TBODY&&n!==D.TFOOT&&n!==D.THEAD&&rt(e,t);break;case 6:n===D.SCRIPT?Ve(e,t):n===D.CENTER||n===D.FIGURE||n===D.FOOTER||n===D.HEADER||n===D.HGROUP||n===D.DIALOG?Le(e,t):n===D.BUTTON?function(e,t){e.openElements.hasInScope(D.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(D.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,I.HTML),e.framesetOk=!1}(e,t):n===D.STRIKE||n===D.STRONG?Me(e,t):n===D.APPLET||n===D.OBJECT?Be(e,t):n===D.KEYGEN?He(e,t):n===D.SOURCE?Ke(e,t):n===D.IFRAME?function(e,t){e.framesetOk=!1,e._switchToTextParsing(t,W.MODE.RAWTEXT)}(e,t):n===D.SELECT?function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,I.HTML),e.framesetOk=!1,e.insertionMode===oe||e.insertionMode===se||e.insertionMode===ce||e.insertionMode===ue||e.insertionMode===pe?e.insertionMode=he:e.insertionMode=de}(e,t):n===D.OPTION?tt(e,t):rt(e,t);break;case 7:n===D.BGSOUND?Ve(e,t):n===D.DETAILS||n===D.ADDRESS||n===D.ARTICLE||n===D.SECTION||n===D.SUMMARY?Le(e,t):n===D.LISTING?Je(e,t):n===D.MARQUEE?Be(e,t):n===D.NOEMBED?et(e,t):n!==D.CAPTION&&rt(e,t);break;case 8:n===D.BASEFONT?Ve(e,t):n===D.FRAMESET?function(e,t){var n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,I.HTML),e.insertionMode=Qe)}(e,t):n===D.FIELDSET?Le(e,t):n===D.TEXTAREA?function(e,t){e._insertElement(t,I.HTML),e.skipNextNewLine=!0,e.tokenizer.state=W.MODE.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=ie}(e,t):n===D.TEMPLATE?Ve(e,t):n===D.NOSCRIPT?e.options.scriptingEnabled?et(e,t):rt(e,t):n===D.OPTGROUP?tt(e,t):n!==D.COLGROUP&&rt(e,t);break;case 9:n===D.PLAINTEXT?function(e,t){e.openElements.hasInButtonScope(D.P)&&e._closePElement(),e._insertElement(t,I.HTML),e.tokenizer.state=W.MODE.PLAINTEXT}(e,t):rt(e,t);break;case 10:n===D.BLOCKQUOTE||n===D.FIGCAPTION?Le(e,t):rt(e,t);break;default:rt(e,t)}}function it(e,t){var n=t.tagName;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}function ot(e,t){var n=t.tagName;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}function at(e,t){for(var n=t.tagName,r=e.openElements.stackTop;r>0;r--){var O=e.openElements.items[r];if(e.treeAdapter.getTagName(O)===n){e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilElementPopped(O);break}if(e._isSpecialElement(O))break}}function st(e,t){var n=t.tagName;switch(n.length){case 1:n===D.A||n===D.B||n===D.I||n===D.S||n===D.U?Ze(e,t):n===D.P?function(e){e.openElements.hasInButtonScope(D.P)||e._insertFakeElement(D.P),e._closePElement()}(e):at(e,t);break;case 2:n===D.DL||n===D.UL||n===D.OL?it(e,t):n===D.LI?function(e){e.openElements.hasInListItemScope(D.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(D.LI),e.openElements.popUntilTagNamePopped(D.LI))}(e):n===D.DD||n===D.DT?function(e,t){var n=t.tagName;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}(e,t):n===D.H1||n===D.H2||n===D.H3||n===D.H4||n===D.H5||n===D.H6?function(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}(e):n===D.BR?function(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(D.BR),e.openElements.pop(),e.framesetOk=!1}(e):n===D.EM||n===D.TT?Ze(e,t):at(e,t);break;case 3:n===D.BIG?Ze(e,t):n===D.DIR||n===D.DIV||n===D.NAV||n===D.PRE?it(e,t):at(e,t);break;case 4:n===D.BODY?function(e){e.openElements.hasInScope(D.BODY)&&(e.insertionMode=me)}(e):n===D.HTML?function(e,t){e.openElements.hasInScope(D.BODY)&&(e.insertionMode=me,e._processToken(t))}(e,t):n===D.FORM?function(e){var t=e.openElements.tmplCount>0,n=e.formElement;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(D.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(D.FORM):e.openElements.remove(n))}(e):n===D.CODE||n===D.FONT||n===D.NOBR?Ze(e,t):n===D.MAIN||n===D.MENU?it(e,t):at(e,t);break;case 5:n===D.ASIDE?it(e,t):n===D.SMALL?Ze(e,t):at(e,t);break;case 6:n===D.CENTER||n===D.FIGURE||n===D.FOOTER||n===D.HEADER||n===D.HGROUP||n===D.DIALOG?it(e,t):n===D.APPLET||n===D.OBJECT?ot(e,t):n===D.STRIKE||n===D.STRONG?Ze(e,t):at(e,t);break;case 7:n===D.ADDRESS||n===D.ARTICLE||n===D.DETAILS||n===D.SECTION||n===D.SUMMARY||n===D.LISTING?it(e,t):n===D.MARQUEE?ot(e,t):at(e,t);break;case 8:n===D.FIELDSET?it(e,t):n===D.TEMPLATE?Ae(e,t):at(e,t);break;case 10:n===D.BLOCKQUOTE||n===D.FIGCAPTION?it(e,t):at(e,t);break;default:at(e,t)}}function lt(e,t){e.tmplInsertionModeStackTop>-1?gt(e,t):e.stopped=!0}function ct(e,t){var n=e.openElements.currentTagName;n===D.TABLE||n===D.TBODY||n===D.TFOOT||n===D.THEAD||n===D.TR?(e.pendingCharacterTokens=[],e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=ae,e._processToken(t)):dt(e,t)}function ut(e,t){var n=t.tagName;switch(n.length){case 2:n===D.TD||n===D.TH||n===D.TR?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(D.TBODY),e.insertionMode=ce,e._processToken(t)}(e,t):dt(e,t);break;case 3:n===D.COL?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(D.COLGROUP),e.insertionMode=le,e._processToken(t)}(e,t):dt(e,t);break;case 4:n===D.FORM?function(e,t){e.formElement||0!==e.openElements.tmplCount||(e._insertElement(t,I.HTML),e.formElement=e.openElements.current,e.openElements.pop())}(e,t):dt(e,t);break;case 5:n===D.TABLE?function(e,t){e.openElements.hasInTableScope(D.TABLE)&&(e.openElements.popUntilTagNamePopped(D.TABLE),e._resetInsertionMode(),e._processToken(t))}(e,t):n===D.STYLE?Ve(e,t):n===D.TBODY||n===D.TFOOT||n===D.THEAD?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,I.HTML),e.insertionMode=ce}(e,t):n===D.INPUT?function(e,t){var n=W.getTokenAttr(t,F.TYPE);n&&n.toLowerCase()===J?e._appendElement(t,I.HTML):dt(e,t),t.ackSelfClosing=!0}(e,t):dt(e,t);break;case 6:n===D.SCRIPT?Ve(e,t):dt(e,t);break;case 7:n===D.CAPTION?function(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,I.HTML),e.insertionMode=se}(e,t):dt(e,t);break;case 8:n===D.COLGROUP?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,I.HTML),e.insertionMode=le}(e,t):n===D.TEMPLATE?Ve(e,t):dt(e,t);break;default:dt(e,t)}}function pt(e,t){var n=t.tagName;n===D.TABLE?e.openElements.hasInTableScope(D.TABLE)&&(e.openElements.popUntilTagNamePopped(D.TABLE),e._resetInsertionMode()):n===D.TEMPLATE?Ae(e,t):n!==D.BODY&&n!==D.CAPTION&&n!==D.COL&&n!==D.COLGROUP&&n!==D.HTML&&n!==D.TBODY&&n!==D.TD&&n!==D.TFOOT&&n!==D.TH&&n!==D.THEAD&&n!==D.TR&&dt(e,t)}function dt(e,t){var n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,e._processTokenInBodyMode(t),e.fosterParentingEnabled=n}function ht(e,t){var n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n0?(e.openElements.popUntilTagNamePopped(D.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode(),e._processToken(t)):e.stopped=!0}function $t(e,t){e.insertionMode=Oe,e._processToken(t)}function St(e,t){e.insertionMode=Oe,e._processToken(t)}e.exports=be},4690:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(3359),o=i.TAG_NAMES,a=i.NAMESPACES;function s(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 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||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 c(e,t){switch(e.length){case 2:if(e===o.TD||e===o.TH)return t===a.HTML;if(e===o.MI||e===o.MO||e===o.MN||e===o.MS)return t===a.MATHML;break;case 4:if(e===o.HTML)return t===a.HTML;if(e===o.DESC)return t===a.SVG;break;case 5:if(e===o.TABLE)return t===a.HTML;if(e===o.MTEXT)return t===a.MATHML;if(e===o.TITLE)return t===a.SVG;break;case 6:return(e===o.APPLET||e===o.OBJECT)&&t===a.HTML;case 7:return(e===o.CAPTION||e===o.MARQUEE)&&t===a.HTML;case 8:return e===o.TEMPLATE&&t===a.HTML;case 13:return e===o.FOREIGN_OBJECT&&t===a.SVG;case 14:return e===o.ANNOTATION_XML&&t===a.MATHML}return!1}var u=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 O(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)===a.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===a.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===a.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===a.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)!==a.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)!==a.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)!==a.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===a.HTML)return!0;if(c(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===a.HTML)return!0;if(c(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===a.HTML)return!0;if((n===o.UL||n===o.OL)&&r===a.HTML||c(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===a.HTML)return!0;if(n===o.BUTTON&&r===a.HTML||c(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])===a.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])===a.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])===a.HTML){if(n===e)return!0;if(n!==o.OPTION&&n!==o.OPTGROUP)return!1}}return!0}},{key:"generateImpliedEndTags",value:function(){for(;s(this.currentTagName);)this.pop()}},{key:"generateImpliedEndTagsThoroughly",value:function(){for(;l(this.currentTagName);)this.pop()}},{key:"generateImpliedEndTagsWithExclusion",value:function(e){for(;s(this.currentTagName)&&this.currentTagName!==e;)this.pop()}}]),e}();e.exports=u},7669:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(8129),o=n(229),a=n(8858),s=n(1965),l=o.CODE_POINTS,c=o.CODE_POINT_SEQUENCES,u={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",d="RCDATA_STATE",h="RAWTEXT_STATE",f="SCRIPT_DATA_STATE",m="PLAINTEXT_STATE",Q="TAG_OPEN_STATE",g="END_TAG_OPEN_STATE",$="TAG_NAME_STATE",S="RCDATA_LESS_THAN_SIGN_STATE",P="RCDATA_END_TAG_OPEN_STATE",y="RCDATA_END_TAG_NAME_STATE",v="RAWTEXT_LESS_THAN_SIGN_STATE",b="RAWTEXT_END_TAG_OPEN_STATE",x="RAWTEXT_END_TAG_NAME_STATE",T="SCRIPT_DATA_LESS_THAN_SIGN_STATE",X="SCRIPT_DATA_END_TAG_OPEN_STATE",w="SCRIPT_DATA_END_TAG_NAME_STATE",k="SCRIPT_DATA_ESCAPE_START_STATE",_="SCRIPT_DATA_ESCAPE_START_DASH_STATE",Z="SCRIPT_DATA_ESCAPED_STATE",W="SCRIPT_DATA_ESCAPED_DASH_STATE",R="SCRIPT_DATA_ESCAPED_DASH_DASH_STATE",E="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE",Y="SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE",U="SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE",z="SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE",q="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",C="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE",j="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE",V="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE",A="SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE",N="BEFORE_ATTRIBUTE_NAME_STATE",G="ATTRIBUTE_NAME_STATE",D="AFTER_ATTRIBUTE_NAME_STATE",I="BEFORE_ATTRIBUTE_VALUE_STATE",F="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE",L="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE",J="ATTRIBUTE_VALUE_UNQUOTED_STATE",M="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE",B="SELF_CLOSING_START_TAG_STATE",H="BOGUS_COMMENT_STATE",K="MARKUP_DECLARATION_OPEN_STATE",ee="COMMENT_START_STATE",te="COMMENT_START_DASH_STATE",ne="COMMENT_STATE",re="COMMENT_LESS_THAN_SIGN_STATE",Oe="COMMENT_LESS_THAN_SIGN_BANG_STATE",ie="COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE",oe="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE",ae="COMMENT_END_DASH_STATE",se="COMMENT_END_STATE",le="COMMENT_END_BANG_STATE",ce="DOCTYPE_STATE",ue="BEFORE_DOCTYPE_NAME_STATE",pe="DOCTYPE_NAME_STATE",de="AFTER_DOCTYPE_NAME_STATE",he="AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE",fe="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE",me="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE",Qe="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE",ge="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE",$e="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE",Se="AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE",Pe="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE",ye="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE",ve="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE",be="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE",xe="BOGUS_DOCTYPE_STATE",Te="CDATA_SECTION_STATE",Xe="CDATA_SECTION_BRACKET_STATE",we="CDATA_SECTION_END_STATE",ke="CHARACTER_REFERENCE_STATE",_e="NAMED_CHARACTER_REFERENCE_STATE",Ze="AMBIGUOS_AMPERSAND_STATE",We="NUMERIC_CHARACTER_REFERENCE_STATE",Re="HEXADEMICAL_CHARACTER_REFERENCE_START_STATE",Ee="DECIMAL_CHARACTER_REFERENCE_START_STATE",Ye="HEXADEMICAL_CHARACTER_REFERENCE_STATE",Ue="DECIMAL_CHARACTER_REFERENCE_STATE",ze="NUMERIC_CHARACTER_REFERENCE_END_STATE";function qe(e){return e===l.SPACE||e===l.LINE_FEED||e===l.TABULATION||e===l.FORM_FEED}function Ce(e){return e>=l.DIGIT_0&&e<=l.DIGIT_9}function je(e){return e>=l.LATIN_CAPITAL_A&&e<=l.LATIN_CAPITAL_Z}function Ve(e){return e>=l.LATIN_SMALL_A&&e<=l.LATIN_SMALL_Z}function Ae(e){return Ve(e)||je(e)}function Ne(e){return Ae(e)||Ce(e)}function Ge(e){return e>=l.LATIN_CAPITAL_A&&e<=l.LATIN_CAPITAL_F}function De(e){return e>=l.LATIN_SMALL_A&&e<=l.LATIN_SMALL_F}function Ie(e){return e+32}function Fe(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(e>>>10&1023|55296)+String.fromCharCode(56320|1023&e))}function Le(e){return String.fromCharCode(Ie(e))}function Je(e,t){for(var n=a[++e],r=++e,O=r+n-1;r<=O;){var i=r+O>>>1,o=a[i];if(ot))return a[i+n];O=i-1}}return-1}var Me=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 O(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,O=!0,i=e.length,o=0,a=t,s=void 0;o0&&(a=this._consume(),r++),a===l.EOF){O=!1;break}if(a!==(s=e[o])&&(n||a!==Ie(s))){O=!1;break}}if(!O)for(;r--;)this._unconsume();return O}},{key:"_isTempBufferEqualToScriptString",value:function(){if(this.tempBuff.length!==c.SCRIPT_STRING.length)return!1;for(var e=0;e0&&this._err(s.endTagWithAttributes),t.selfClosing&&this._err(s.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;qe(t)?n=e.WHITESPACE_CHARACTER_TOKEN:t===l.NULL&&(n=e.NULL_CHARACTER_TOKEN),this._appendCharToCurrentCharacterToken(n,Fe(t))}},{key:"_emitSeveralCodePoints",value:function(e){for(var t=0;t-1;){var O=a[r],i=O<7;i&&1&O&&(t=2&O?[a[++r],a[++r]]:[a[++r]],n=0);var o=this._consume();if(this.tempBuff.push(o),n++,o===l.EOF)break;r=i?4&O?Je(r,o):-1:o===O?++r:-1}for(;n--;)this.tempBuff.pop(),this._unconsume();return t}},{key:"_isCharacterReferenceInAttribute",value:function(){return this.returnState===F||this.returnState===L||this.returnState===J}},{key:"_isCharacterReferenceAttributeQuirk",value:function(e){if(!e&&this._isCharacterReferenceInAttribute()){var t=this._consume();return this._unconsume(),t===l.EQUALS_SIGN||Ne(t)}return!1}},{key:"_flushCodePointsConsumedAsCharacterReference",value:function(){if(this._isCharacterReferenceInAttribute())for(var e=0;e")):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.state=Z,this._emitChars(o.REPLACEMENT_CHARACTER)):e===l.EOF?(this._err(s.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=Z,this._emitCodePoint(e))}},{key:E,value:function(e){e===l.SOLIDUS?(this.tempBuff=[],this.state=Y):Ae(e)?(this.tempBuff=[],this._emitChars("<"),this._reconsumeInState(z)):(this._emitChars("<"),this._reconsumeInState(Z))}},{key:Y,value:function(e){Ae(e)?(this._createEndTagToken(),this._reconsumeInState(U)):(this._emitChars("")):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.state=q,this._emitChars(o.REPLACEMENT_CHARACTER)):e===l.EOF?(this._err(s.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=q,this._emitCodePoint(e))}},{key:V,value:function(e){e===l.SOLIDUS?(this.tempBuff=[],this.state=A,this._emitChars("/")):this._reconsumeInState(q)}},{key:A,value:function(e){qe(e)||e===l.SOLIDUS||e===l.GREATER_THAN_SIGN?(this.state=this._isTempBufferEqualToScriptString()?Z:q,this._emitCodePoint(e)):je(e)?(this.tempBuff.push(Ie(e)),this._emitCodePoint(e)):Ve(e)?(this.tempBuff.push(e),this._emitCodePoint(e)):this._reconsumeInState(q)}},{key:N,value:function(e){qe(e)||(e===l.SOLIDUS||e===l.GREATER_THAN_SIGN||e===l.EOF?this._reconsumeInState(D):e===l.EQUALS_SIGN?(this._err(s.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=G):(this._createAttr(""),this._reconsumeInState(G)))}},{key:G,value:function(e){qe(e)||e===l.SOLIDUS||e===l.GREATER_THAN_SIGN||e===l.EOF?(this._leaveAttrName(D),this._unconsume()):e===l.EQUALS_SIGN?this._leaveAttrName(I):je(e)?this.currentAttr.name+=Le(e):e===l.QUOTATION_MARK||e===l.APOSTROPHE||e===l.LESS_THAN_SIGN?(this._err(s.unexpectedCharacterInAttributeName),this.currentAttr.name+=Fe(e)):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentAttr.name+=o.REPLACEMENT_CHARACTER):this.currentAttr.name+=Fe(e)}},{key:D,value:function(e){qe(e)||(e===l.SOLIDUS?this.state=B:e===l.EQUALS_SIGN?this.state=I:e===l.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInTag),this._emitEOFToken()):(this._createAttr(""),this._reconsumeInState(G)))}},{key:I,value:function(e){qe(e)||(e===l.QUOTATION_MARK?this.state=F:e===l.APOSTROPHE?this.state=L:e===l.GREATER_THAN_SIGN?(this._err(s.missingAttributeValue),this.state=p,this._emitCurrentToken()):this._reconsumeInState(J))}},{key:F,value:function(e){e===l.QUOTATION_MARK?this.state=M:e===l.AMPERSAND?(this.returnState=F,this.state=ke):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentAttr.value+=o.REPLACEMENT_CHARACTER):e===l.EOF?(this._err(s.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Fe(e)}},{key:L,value:function(e){e===l.APOSTROPHE?this.state=M:e===l.AMPERSAND?(this.returnState=L,this.state=ke):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentAttr.value+=o.REPLACEMENT_CHARACTER):e===l.EOF?(this._err(s.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Fe(e)}},{key:J,value:function(e){qe(e)?this._leaveAttrValue(N):e===l.AMPERSAND?(this.returnState=J,this.state=ke):e===l.GREATER_THAN_SIGN?(this._leaveAttrValue(p),this._emitCurrentToken()):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentAttr.value+=o.REPLACEMENT_CHARACTER):e===l.QUOTATION_MARK||e===l.APOSTROPHE||e===l.LESS_THAN_SIGN||e===l.EQUALS_SIGN||e===l.GRAVE_ACCENT?(this._err(s.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=Fe(e)):e===l.EOF?(this._err(s.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Fe(e)}},{key:M,value:function(e){qe(e)?this._leaveAttrValue(N):e===l.SOLIDUS?this._leaveAttrValue(B):e===l.GREATER_THAN_SIGN?(this._leaveAttrValue(p),this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInTag),this._emitEOFToken()):(this._err(s.missingWhitespaceBetweenAttributes),this._reconsumeInState(N))}},{key:B,value:function(e){e===l.GREATER_THAN_SIGN?(this.currentToken.selfClosing=!0,this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInTag),this._emitEOFToken()):(this._err(s.unexpectedSolidusInTag),this._reconsumeInState(N))}},{key:H,value:function(e){e===l.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===l.EOF?(this._emitCurrentToken(),this._emitEOFToken()):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.data+=o.REPLACEMENT_CHARACTER):this.currentToken.data+=Fe(e)}},{key:K,value:function(e){this._consumeSequenceIfMatch(c.DASH_DASH_STRING,e,!0)?(this._createCommentToken(),this.state=ee):this._consumeSequenceIfMatch(c.DOCTYPE_STRING,e,!1)?this.state=ce:this._consumeSequenceIfMatch(c.CDATA_START_STRING,e,!0)?this.allowCDATA?this.state=Te:(this._err(s.cdataInHtmlContent),this._createCommentToken(),this.currentToken.data="[CDATA[",this.state=H):this._ensureHibernation()||(this._err(s.incorrectlyOpenedComment),this._createCommentToken(),this._reconsumeInState(H))}},{key:ee,value:function(e){e===l.HYPHEN_MINUS?this.state=te:e===l.GREATER_THAN_SIGN?(this._err(s.abruptClosingOfEmptyComment),this.state=p,this._emitCurrentToken()):this._reconsumeInState(ne)}},{key:te,value:function(e){e===l.HYPHEN_MINUS?this.state=se:e===l.GREATER_THAN_SIGN?(this._err(s.abruptClosingOfEmptyComment),this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState(ne))}},{key:ne,value:function(e){e===l.HYPHEN_MINUS?this.state=ae:e===l.LESS_THAN_SIGN?(this.currentToken.data+="<",this.state=re):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.data+=o.REPLACEMENT_CHARACTER):e===l.EOF?(this._err(s.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.data+=Fe(e)}},{key:re,value:function(e){e===l.EXCLAMATION_MARK?(this.currentToken.data+="!",this.state=Oe):e===l.LESS_THAN_SIGN?this.currentToken.data+="!":this._reconsumeInState(ne)}},{key:Oe,value:function(e){e===l.HYPHEN_MINUS?this.state=ie:this._reconsumeInState(ne)}},{key:ie,value:function(e){e===l.HYPHEN_MINUS?this.state=oe:this._reconsumeInState(ae)}},{key:oe,value:function(e){e!==l.GREATER_THAN_SIGN&&e!==l.EOF&&this._err(s.nestedComment),this._reconsumeInState(se)}},{key:ae,value:function(e){e===l.HYPHEN_MINUS?this.state=se:e===l.EOF?(this._err(s.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState(ne))}},{key:se,value:function(e){e===l.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===l.EXCLAMATION_MARK?this.state=le:e===l.HYPHEN_MINUS?this.currentToken.data+="-":e===l.EOF?(this._err(s.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--",this._reconsumeInState(ne))}},{key:le,value:function(e){e===l.HYPHEN_MINUS?(this.currentToken.data+="--!",this.state=ae):e===l.GREATER_THAN_SIGN?(this._err(s.incorrectlyClosedComment),this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--!",this._reconsumeInState(ne))}},{key:ce,value:function(e){qe(e)?this.state=ue:e===l.GREATER_THAN_SIGN?this._reconsumeInState(ue):e===l.EOF?(this._err(s.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingWhitespaceBeforeDoctypeName),this._reconsumeInState(ue))}},{key:ue,value:function(e){qe(e)||(je(e)?(this._createDoctypeToken(Le(e)),this.state=pe):e===l.NULL?(this._err(s.unexpectedNullCharacter),this._createDoctypeToken(o.REPLACEMENT_CHARACTER),this.state=pe):e===l.GREATER_THAN_SIGN?(this._err(s.missingDoctypeName),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===l.EOF?(this._err(s.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._createDoctypeToken(Fe(e)),this.state=pe))}},{key:pe,value:function(e){qe(e)?this.state=de:e===l.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):je(e)?this.currentToken.name+=Le(e):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.name+=o.REPLACEMENT_CHARACTER):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.name+=Fe(e)}},{key:de,value:function(e){qe(e)||(e===l.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this._consumeSequenceIfMatch(c.PUBLIC_STRING,e,!1)?this.state=he:this._consumeSequenceIfMatch(c.SYSTEM_STRING,e,!1)?this.state=Se:this._ensureHibernation()||(this._err(s.invalidCharacterSequenceAfterDoctypeName),this.currentToken.forceQuirks=!0,this._reconsumeInState(xe)))}},{key:he,value:function(e){qe(e)?this.state=fe:e===l.QUOTATION_MARK?(this._err(s.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state=me):e===l.APOSTROPHE?(this._err(s.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state=Qe):e===l.GREATER_THAN_SIGN?(this._err(s.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(xe))}},{key:fe,value:function(e){qe(e)||(e===l.QUOTATION_MARK?(this.currentToken.publicId="",this.state=me):e===l.APOSTROPHE?(this.currentToken.publicId="",this.state=Qe):e===l.GREATER_THAN_SIGN?(this._err(s.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(xe)))}},{key:me,value:function(e){e===l.QUOTATION_MARK?this.state=ge:e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.publicId+=o.REPLACEMENT_CHARACTER):e===l.GREATER_THAN_SIGN?(this._err(s.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=Fe(e)}},{key:Qe,value:function(e){e===l.APOSTROPHE?this.state=ge:e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.publicId+=o.REPLACEMENT_CHARACTER):e===l.GREATER_THAN_SIGN?(this._err(s.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=Fe(e)}},{key:ge,value:function(e){qe(e)?this.state=$e:e===l.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===l.QUOTATION_MARK?(this._err(s.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state=ye):e===l.APOSTROPHE?(this._err(s.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state=ve):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(xe))}},{key:$e,value:function(e){qe(e)||(e===l.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=p):e===l.QUOTATION_MARK?(this.currentToken.systemId="",this.state=ye):e===l.APOSTROPHE?(this.currentToken.systemId="",this.state=ve):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(xe)))}},{key:Se,value:function(e){qe(e)?this.state=Pe:e===l.QUOTATION_MARK?(this._err(s.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state=ye):e===l.APOSTROPHE?(this._err(s.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state=ve):e===l.GREATER_THAN_SIGN?(this._err(s.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(xe))}},{key:Pe,value:function(e){qe(e)||(e===l.QUOTATION_MARK?(this.currentToken.systemId="",this.state=ye):e===l.APOSTROPHE?(this.currentToken.systemId="",this.state=ve):e===l.GREATER_THAN_SIGN?(this._err(s.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(xe)))}},{key:ye,value:function(e){e===l.QUOTATION_MARK?this.state=be:e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.systemId+=o.REPLACEMENT_CHARACTER):e===l.GREATER_THAN_SIGN?(this._err(s.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=Fe(e)}},{key:ve,value:function(e){e===l.APOSTROPHE?this.state=be:e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.systemId+=o.REPLACEMENT_CHARACTER):e===l.GREATER_THAN_SIGN?(this._err(s.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=Fe(e)}},{key:be,value:function(e){qe(e)||(e===l.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=p):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.unexpectedCharacterAfterDoctypeSystemIdentifier),this._reconsumeInState(xe)))}},{key:xe,value:function(e){e===l.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=p):e===l.NULL?this._err(s.unexpectedNullCharacter):e===l.EOF&&(this._emitCurrentToken(),this._emitEOFToken())}},{key:Te,value:function(e){e===l.RIGHT_SQUARE_BRACKET?this.state=Xe:e===l.EOF?(this._err(s.eofInCdata),this._emitEOFToken()):this._emitCodePoint(e)}},{key:Xe,value:function(e){e===l.RIGHT_SQUARE_BRACKET?this.state=we:(this._emitChars("]"),this._reconsumeInState(Te))}},{key:we,value:function(e){e===l.GREATER_THAN_SIGN?this.state=p:e===l.RIGHT_SQUARE_BRACKET?this._emitChars("]"):(this._emitChars("]]"),this._reconsumeInState(Te))}},{key:ke,value:function(e){this.tempBuff=[l.AMPERSAND],e===l.NUMBER_SIGN?(this.tempBuff.push(e),this.state=We):Ne(e)?this._reconsumeInState(_e):(this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}},{key:_e,value:function(e){var t=this._matchNamedCharacterReference(e);if(this._ensureHibernation())this.tempBuff=[l.AMPERSAND];else if(t){var n=this.tempBuff[this.tempBuff.length-1]===l.SEMICOLON;this._isCharacterReferenceAttributeQuirk(n)||(n||this._errOnNextCodePoint(s.missingSemicolonAfterCharacterReference),this.tempBuff=t),this._flushCodePointsConsumedAsCharacterReference(),this.state=this.returnState}else this._flushCodePointsConsumedAsCharacterReference(),this.state=Ze}},{key:Ze,value:function(e){Ne(e)?this._isCharacterReferenceInAttribute()?this.currentAttr.value+=Fe(e):this._emitCodePoint(e):(e===l.SEMICOLON&&this._err(s.unknownNamedCharacterReference),this._reconsumeInState(this.returnState))}},{key:We,value:function(e){this.charRefCode=0,e===l.LATIN_SMALL_X||e===l.LATIN_CAPITAL_X?(this.tempBuff.push(e),this.state=Re):this._reconsumeInState(Ee)}},{key:Re,value:function(e){!function(e){return Ce(e)||Ge(e)||De(e)}(e)?(this._err(s.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)):this._reconsumeInState(Ye)}},{key:Ee,value:function(e){Ce(e)?this._reconsumeInState(Ue):(this._err(s.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}},{key:Ye,value:function(e){Ge(e)?this.charRefCode=16*this.charRefCode+e-55:De(e)?this.charRefCode=16*this.charRefCode+e-87:Ce(e)?this.charRefCode=16*this.charRefCode+e-48:e===l.SEMICOLON?this.state=ze:(this._err(s.missingSemicolonAfterCharacterReference),this._reconsumeInState(ze))}},{key:Ue,value:function(e){Ce(e)?this.charRefCode=10*this.charRefCode+e-48:e===l.SEMICOLON?this.state=ze:(this._err(s.missingSemicolonAfterCharacterReference),this._reconsumeInState(ze))}},{key:ze,value:function(){if(this.charRefCode===l.NULL)this._err(s.nullCharacterReference),this.charRefCode=l.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(s.characterReferenceOutsideUnicodeRange),this.charRefCode=l.REPLACEMENT_CHARACTER;else if(o.isSurrogate(this.charRefCode))this._err(s.surrogateCharacterReference),this.charRefCode=l.REPLACEMENT_CHARACTER;else if(o.isUndefinedCodePoint(this.charRefCode))this._err(s.noncharacterCharacterReference);else if(o.isControlCodePoint(this.charRefCode)||this.charRefCode===l.CARRIAGE_RETURN){this._err(s.controlCharacterReference);var e=u[this.charRefCode];e&&(this.charRefCode=e)}this.tempBuff=[this.charRefCode],this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)}}]),e}();Me.CHARACTER_TOKEN="CHARACTER_TOKEN",Me.NULL_CHARACTER_TOKEN="NULL_CHARACTER_TOKEN",Me.WHITESPACE_CHARACTER_TOKEN="WHITESPACE_CHARACTER_TOKEN",Me.START_TAG_TOKEN="START_TAG_TOKEN",Me.END_TAG_TOKEN="END_TAG_TOKEN",Me.COMMENT_TOKEN="COMMENT_TOKEN",Me.DOCTYPE_TOKEN="DOCTYPE_TOKEN",Me.EOF_TOKEN="EOF_TOKEN",Me.HIBERNATION_TOKEN="HIBERNATION_TOKEN",Me.MODE={DATA:p,RCDATA:d,RAWTEXT:h,SCRIPT_DATA:f,PLAINTEXT:m},Me.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=Me},8858: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])},8129:function(e,t,n){"use strict";var r=n(8983).default,O=n(2081).default,i=n(229),o=n(1965),a=i.CODE_POINTS,s=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 O(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,a.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,a.EOF;var e=this.html.charCodeAt(this.pos);return this.skipNextNewLine&&e===a.LINE_FEED?(this.skipNextNewLine=!1,this._addGap(),this.advance()):e===a.CARRIAGE_RETURN?(this.skipNextNewLine=!0,a.LINE_FEED):(this.skipNextNewLine=!1,i.isSurrogate(e)&&(e=this._processSurrogate(e)),e>31&&e<127||e===a.LINE_FEED||e===a.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=s},8361:function(e,t,n){"use strict";var r=n(3359).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 O=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 O=null,o=0;o>>1,O=e[r];if(!(0>>1;ri(s,n))li(c,s)?(e[r]=c,e[l]=n,r=l):(e[r]=s,e[a]=n,r=a);else{if(!(li(c,n)))break e;e[r]=c,e[l]=n,r=l}}}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 a=Date,s=a.now();t.unstable_now=function(){return a.now()-s}}var l=[],c=[],u=1,p=null,d=3,h=!1,f=!1,m=!1,Q="function"===typeof setTimeout?setTimeout:null,g="function"===typeof clearTimeout?clearTimeout:null,$="undefined"!==typeof setImmediate?setImmediate:null;function S(e){for(var t=r(c);null!==t;){if(null===t.callback)O(c);else{if(!(t.startTime<=e))break;O(c),t.sortIndex=t.expirationTime,n(l,t)}t=r(c)}}function P(e){if(m=!1,S(e),!f)if(null!==r(l))f=!0,R(y);else{var t=r(c);null!==t&&E(P,t.startTime-e)}}function y(e,n){f=!1,m&&(m=!1,g(T),T=-1),h=!0;var i=d;try{for(S(n),p=r(l);null!==p&&(!(p.expirationTime>n)||e&&!k());){var o=p.callback;if("function"===typeof o){p.callback=null,d=p.priorityLevel;var a=o(p.expirationTime<=n);n=t.unstable_now(),"function"===typeof a?p.callback=a:p===r(l)&&O(l),S(n)}else O(l);p=r(l)}if(null!==p)var s=!0;else{var u=r(c);null!==u&&E(P,u.startTime-n),s=!1}return s}finally{p=null,d=i,h=!1}}"undefined"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var v,b=!1,x=null,T=-1,X=5,w=-1;function k(){return!(t.unstable_now()-we||125o?(e.sortIndex=i,n(c,e),null===r(l)&&e===r(c)&&(m?(g(T),T=-1):m=!0,E(P,i-o))):(e.sortIndex=a,n(l,e),f||h||(f=!0,R(y))),e},t.unstable_shouldYield=k,t.unstable_wrapCallback=function(e){var t=d;return function(){var n=d;d=t;try{return e.apply(this,arguments)}finally{d=n}}}},1544:function(e,t,n){"use strict";e.exports=n(5936)},7361:function(e){e.exports=function(e,t,n,r){var O=n?n.call(r,e,t):void 0;if(void 0!==O)return!!O;if(e===t)return!0;if("object"!==typeof e||!e||"object"!==typeof t||!t)return!1;var i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),s=0;s= 0\n}\n\n// Returns `true` if one of the strings in the slice\n// satisfies the predicate `f`.\nfunc Any(vs []string, f func(string) bool) bool {\n for _, v := range vs {\n if f(v) {\n return true\n }\n }\n return false\n}\n\n// Returns `true` if all of the strings in the slice\n// satisfy the predicate `f`.\nfunc All(vs []string, f func(string) bool) bool {\n for _, v := range vs {\n if !f(v) {\n return false\n }\n }\n return true\n}\n\n// Returns a new slice containing all strings in the\n// slice that satisfy the predicate `f`.\nfunc Filter(vs []string, f func(string) bool) []string {\n vsf := make([]string, 0)\n for _, v := range vs {\n if f(v) {\n vsf = append(vsf, v)\n }\n }\n return vsf\n}\n\n// Returns a new slice containing the results of applying\n// the function `f` to each string in the original slice.\nfunc Map(vs []string, f func(string) string) []string {\n vsm := make([]string, len(vs))\n for i, v := range vs {\n vsm[i] = f(v)\n }\n return vsm\n}\n\nfunc main() {\n\n // Here we try out our various collection functions.\n var strs = []string{"peach", "apple", "pear", "plum"}\n\n fmt.Println(Index(strs, "pear"))\n\n fmt.Println(Include(strs, "grape"))\n\n fmt.Println(Any(strs, func(v string) bool {\n return strings.HasPrefix(v, "p")\n }))\n\n fmt.Println(All(strs, func(v string) bool {\n return strings.HasPrefix(v, "p")\n }))\n\n fmt.Println(Filter(strs, func(v string) bool {\n return strings.Contains(v, "e")\n }))\n\n // The above examples all used anonymous functions,\n // but you can also use named functions of the correct\n // type.\n fmt.Println(Map(strs, strings.ToUpper))\n\n}\n'},7548:function(e,t,n){"use strict";n.r(t),t.default='\n\x3c!--Example of comments in HTML--\x3e\n\n\n \x3c!--This is the head section--\x3e\n HTML Sample\n \n\n \x3c!--This is the style tag to set style on elements--\x3e\n \n\n \x3c!--This is the script tag--\x3e\n \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {HastNodes | null | undefined}\n * hast tree.\n */\n// To do: next major: always return a single `root`.\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, null)\n const foot = footer(state)\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({type: 'text', value: '\\n'}, foot)\n }\n\n // To do: next major: always return root?\n return Array.isArray(node) ? {type: 'root', children: node} : node\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('./state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Generate a hast footer for called footnote definitions.\n *\n * @param {State} state\n * Info passed around.\n * @returns {Element | undefined}\n * `section` element or `undefined`.\n */\nexport function footer(state) {\n /** @type {Array} */\n const listItems = []\n let index = -1\n\n while (++index < state.footnoteOrder.length) {\n const def = state.footnoteById[state.footnoteOrder[index]]\n\n if (!def) {\n continue\n }\n\n const content = state.all(def)\n const id = String(def.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n let referenceIndex = 0\n /** @type {Array} */\n const backReferences = []\n\n while (++referenceIndex <= state.footnoteCounts[id]) {\n /** @type {Element} */\n const backReference = {\n type: 'element',\n tagName: 'a',\n properties: {\n href:\n '#' +\n state.clobberPrefix +\n 'fnref-' +\n safeId +\n (referenceIndex > 1 ? '-' + referenceIndex : ''),\n dataFootnoteBackref: true,\n className: ['data-footnote-backref'],\n ariaLabel: state.footnoteBackLabel\n },\n children: [{type: 'text', value: '↩'}]\n }\n\n if (referenceIndex > 1) {\n backReference.children.push({\n type: 'element',\n tagName: 'sup',\n children: [{type: 'text', value: String(referenceIndex)}]\n })\n }\n\n if (backReferences.length > 0) {\n backReferences.push({type: 'text', value: ' '})\n }\n\n backReferences.push(backReference)\n }\n\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'element' && tail.tagName === 'p') {\n const tailTail = tail.children[tail.children.length - 1]\n if (tailTail && tailTail.type === 'text') {\n tailTail.value += ' '\n } else {\n tail.children.push({type: 'text', value: ' '})\n }\n\n tail.children.push(...backReferences)\n } else {\n content.push(...backReferences)\n }\n\n /** @type {Element} */\n const listItem = {\n type: 'element',\n tagName: 'li',\n properties: {id: state.clobberPrefix + 'fn-' + safeId},\n children: state.wrap(content, true)\n }\n\n state.patch(def, listItem)\n\n listItems.push(listItem)\n }\n\n if (listItems.length === 0) {\n return\n }\n\n return {\n type: 'element',\n tagName: 'section',\n properties: {dataFootnotes: true, className: ['footnotes']},\n children: [\n {\n type: 'element',\n tagName: state.footnoteLabelTagName,\n properties: {\n // To do: use structured clone.\n ...JSON.parse(JSON.stringify(state.footnoteLabelProperties)),\n id: 'footnote-label'\n },\n children: [{type: 'text', value: state.footnoteLabel}]\n },\n {type: 'text', value: '\\n'},\n {\n type: 'element',\n tagName: 'ol',\n properties: {},\n children: state.wrap(listItems, true)\n },\n {type: 'text', value: '\\n'}\n ]\n }\n}\n","/**\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} Processor\n *\n * @typedef {import('mdast-util-to-hast')} DoNotTouchAsThisImportIncludesRawInTree\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n// Note: the `` overload doesn’t seem to work :'(\n\n/**\n * Plugin that turns markdown into HTML to support rehype.\n *\n * * If a destination processor is given, that processor runs with a new HTML\n * (hast) tree (bridge-mode).\n * As the given processor runs with a hast tree, and rehype plugins support\n * hast, that means rehype plugins can be used with the given processor.\n * The hast tree is discarded in the end.\n * It’s highly unlikely that you want to do this.\n * * The common case is to not pass a destination processor, in which case the\n * current processor continues running with a new HTML (hast) tree\n * (mutate-mode).\n * As the current processor continues with a hast tree, and rehype plugins\n * support hast, that means rehype plugins can be used after\n * `remark-rehype`.\n * It’s likely that this is what you want to do.\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?]|[null|undefined, Options?]|[Options]|[], MdastRoot>)} */\n (\n function (destination, options) {\n return destination && 'run' in destination\n ? bridge(destination, options)\n : mutate(destination || options)\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 plugins run on the hast 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 by `toHast`.\n return (node) => toHast(node, options)\n}\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} [allowedElements]\n * @property {Array} [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","/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {unknown} thing\n * Thing to check (typically `Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`).\n * If a node is passed it must be a `Text` node, whose `value` field is\n * checked.\n */\nexport function whitespace(thing) {\n /** @type {string} */\n const value =\n // @ts-expect-error looks like a node.\n thing && typeof thing === 'object' && thing.type === 'text'\n ? // @ts-expect-error looks like a text.\n thing.value || ''\n : thing\n\n // HTML whitespace expression.\n // See .\n return typeof value === 'string' && value.replace(/[ \\t\\n\\f\\r]/g, '') === ''\n}\n","/**\n * `hast` is close to `React`, but differs in a couple of cases.\n *\n * To get a React property from a hast property, check if it is in\n * `hastToReact`, if it is, then use the corresponding value,\n * otherwise, use the hast property.\n *\n * @type {Record}\n */\nexport 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","import StyleToObject from './index.js';\n\nexport default StyleToObject;\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 * @template T\n * @typedef {import('react').ComponentType} ComponentType\n */\n\n/**\n * @template {import('react').ElementType} T\n * @typedef {import('react').ComponentPropsWithoutRef} ComponentPropsWithoutRef\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.js').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} 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} 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<'td'> & ReactMarkdownProps & {style?: Record, isHeader: false}} TableDataCellProps\n * @typedef {ComponentPropsWithoutRef<'th'> & ReactMarkdownProps & {style?: Record, isHeader: true}} TableHeaderCellProps\n * @typedef {ComponentPropsWithoutRef<'tr'> & ReactMarkdownProps & {isHeader: boolean}} TableRowProps\n * @typedef {ComponentPropsWithoutRef<'ul'> & ReactMarkdownProps & {depth: number, ordered: false}} UnorderedListProps\n *\n * @typedef {ComponentType} CodeComponent\n * @typedef {ComponentType} HeadingComponent\n * @typedef {ComponentType} LiComponent\n * @typedef {ComponentType} OrderedListComponent\n * @typedef {ComponentType} TableDataCellComponent\n * @typedef {ComponentType} TableHeaderCellComponent\n * @typedef {ComponentType} TableRowComponent\n * @typedef {ComponentType} 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 {TableDataCellComponent|ReactMarkdownNames} td\n * @property {TableHeaderCellComponent|ReactMarkdownNames} th\n * @property {TableRowComponent|ReactMarkdownNames} tr\n * @property {UnorderedListComponent|ReactMarkdownNames} ul\n *\n * @typedef {Partial & 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'\nimport {uriTransformer} from './uri-transformer.js'\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} */\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: .\n // See: .\n // See: .\n // See: .\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 transform =\n options.transformLinkUri === undefined\n ? uriTransformer\n : options.transformLinkUri\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} */\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' && transform) {\n properties.href = transform(\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} 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}\n */\nfunction parseStyle(value) {\n /** @type {Record} */\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(String)\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} [remarkPlugins=[]]\n * @property {PluggableList} [rehypePlugins=[]]\n * @property {import('remark-rehype').Options | undefined} [remarkRehypeOptions={}]\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 {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} */\nconst deprecated = {\n plugins: {to: 'remarkPlugins', id: 'change-plugins-to-remarkplugins'},\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 .use(options.remarkPlugins || [])\n .use(remarkRehype, {\n ...options.remarkRehypeOptions,\n allowDangerousHtml: true\n })\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.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(\n PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(\n // prettier-ignore\n // type-coverage:ignore-next-line\n PropTypes.any\n )\n ])\n )\n ])\n ),\n rehypePlugins: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(\n // prettier-ignore\n // type-coverage:ignore-next-line\n PropTypes.any\n )\n ])\n )\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","/**\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} 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","/**\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').Extension} Extension\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').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {blankLine} from 'micromark-core-commonmark'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEndingOrSpace} from 'micromark-util-character'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n}\n\n// To do: micromark should support a `_hiddenGfmFootnoteSupport`, which only\n// affects label start (image).\n// That will let us drop `tokenizePotentialGfmFootnote*`.\n// It currently has a `_hiddenFootnoteSupport`, which affects that and more.\n// That can be removed when `micromark-extension-footnote` is archived.\n\n/**\n * Create an extension for `micromark` to enable GFM footnote syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to\n * enable GFM footnote syntax.\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\n// To do: remove after micromark update.\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizePotentialGfmFootnoteCall(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Array} */\n // @ts-expect-error It’s fine!\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n /** @type {Token} */\n let labelStart\n\n // Find an opening.\n while (index--) {\n const token = self.events[index][1]\n if (token.type === 'labelImage') {\n labelStart = token\n break\n }\n\n // Exit if we’ve walked far enough.\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 return start\n\n /**\n * @type {State}\n */\n function start(code) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code)\n }\n const id = normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n if (id.codePointAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code)\n }\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n return ok(code)\n }\n}\n\n// To do: remove after micromark update.\n/** @type {Resolver} */\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length\n /** @type {Token | undefined} */\n let labelStart\n\n // Find an opening.\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 // Change the `labelImageMarker` to a `data`.\n events[index + 1][1].type = 'data'\n events[index + 3][1].type = 'gfmFootnoteCallLabelMarker'\n\n // The whole (without `!`):\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 }\n // The `^` marker\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 }\n // Increment the end 1 character.\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\n /** @type {Array} */\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1],\n events[index + 2],\n ['enter', call, context],\n // The `[`\n events[index + 3],\n events[index + 4],\n // The `^`.\n ['enter', marker, context],\n ['exit', marker, context],\n // Everything in between.\n ['enter', string, context],\n ['enter', chunk, context],\n ['exit', chunk, context],\n ['exit', string, context],\n // 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\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeGfmFootnoteCall(effects, ok, nok) {\n const self = this\n /** @type {Array} */\n // @ts-expect-error It’s fine!\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n let size = 0\n /** @type {boolean} */\n let data\n\n // Note: the implementation of `markdown-rs` is different, because it houses\n // core *and* extensions in one project.\n // Therefore, it can include footnote logic inside `label-end`.\n // We can’t do that, but luckily, we can parse footnotes in a simpler way than\n // needed for labels.\n return start\n\n /**\n * Start of footnote label.\n *\n * ```markdown\n * > | a [^b] c\n * ^\n * ```\n *\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\n /**\n * After `[`, at `^`.\n *\n * ```markdown\n * > | a [^b] c\n * ^\n * ```\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\n /**\n * In label.\n *\n * ```markdown\n * > | a [^b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function callData(code) {\n if (\n // Too long.\n size > 999 ||\n // Closing brace with nothing.\n (code === 93 && !data) ||\n // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code === null ||\n code === 91 ||\n markdownLineEndingOrSpace(code)\n ) {\n return nok(code)\n }\n if (code === 93) {\n effects.exit('chunkString')\n const token = effects.exit('gfmFootnoteCallString')\n if (!defined.includes(normalizeIdentifier(self.sliceSerialize(token)))) {\n return nok(code)\n }\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n effects.exit('gfmFootnoteCall')\n return ok\n }\n if (!markdownLineEndingOrSpace(code)) {\n data = true\n }\n size++\n effects.consume(code)\n return code === 92 ? callEscape : callData\n }\n\n /**\n * On character after escape.\n *\n * ```markdown\n * > | a [^b\\c] d\n * ^\n * ```\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 return callData(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeDefinitionStart(effects, ok, nok) {\n const self = this\n /** @type {Array} */\n // @ts-expect-error It’s fine!\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n /** @type {string} */\n let identifier\n let size = 0\n /** @type {boolean | undefined} */\n let data\n return start\n\n /**\n * Start of GFM footnote definition.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\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 labelAtMarker\n }\n\n /**\n * In label, at caret.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelAtMarker(code) {\n if (code === 94) {\n effects.enter('gfmFootnoteDefinitionMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionMarker')\n effects.enter('gfmFootnoteDefinitionLabelString')\n effects.enter('chunkString').contentType = 'string'\n return labelInside\n }\n return nok(code)\n }\n\n /**\n * In label.\n *\n * > 👉 **Note**: `cmark-gfm` prevents whitespace from occurring in footnote\n * > definition labels.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelInside(code) {\n if (\n // Too long.\n size > 999 ||\n // Closing brace with nothing.\n (code === 93 && !data) ||\n // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code === null ||\n code === 91 ||\n markdownLineEndingOrSpace(code)\n ) {\n return nok(code)\n }\n if (code === 93) {\n effects.exit('chunkString')\n const 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 if (!markdownLineEndingOrSpace(code)) {\n data = true\n }\n size++\n effects.consume(code)\n return code === 92 ? labelEscape : labelInside\n }\n\n /**\n * After `\\`, at a special character.\n *\n * > 👉 **Note**: `cmark-gfm` currently does not support escaped brackets:\n * > \n *\n * ```markdown\n * > | [^a\\*b]: c\n * ^\n * ```\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 labelInside\n }\n return labelInside(code)\n }\n\n /**\n * After definition label.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\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')\n if (!defined.includes(identifier)) {\n defined.push(identifier)\n }\n\n // 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 return factorySpace(\n effects,\n whitespaceAfter,\n 'gfmFootnoteDefinitionWhitespace'\n )\n }\n return nok(code)\n }\n\n /**\n * After definition prefix.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function whitespaceAfter(code) {\n // `markdown-rs` has a wrapping token for the prefix that is closed here.\n return ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeDefinitionContinuation(effects, ok, nok) {\n /// Start of footnote definition continuation.\n ///\n /// ```markdown\n /// | [^a]: b\n /// > | c\n /// ^\n /// ```\n //\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\n/** @type {Exiter} */\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit('gfmFootnoteDefinition')\n}\n\n/**\n * @this {TokenizeContext}\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\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').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean} [singleTilde=true]\n * Whether to support strikethrough with a single tilde.\n *\n * Single tildes work on github.com, but are technically prohibited by the\n * GFM spec.\n */\n\nimport {splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n/**\n * Create an extension for `micromark` to enable GFM strikethrough syntax.\n *\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions`, to\n * enable GFM strikethrough syntax.\n */\nexport function gfmStrikethrough(options) {\n const options_ = options || {}\n let single = options_.singleTilde\n const tokenizer = {\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n }\n if (single === null || single === undefined) {\n single = true\n }\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n }\n\n /**\n * Take events and resolve strikethrough.\n *\n * @type {Resolver}\n */\n function resolveAllStrikethrough(events, context) {\n let index = -1\n\n // Walk through all events.\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\n\n // Now walk back to find an opener.\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 &&\n // 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 }\n\n // Opening.\n const nextEvents = [\n ['enter', strikethrough, context],\n ['enter', events[open][1], context],\n ['exit', events[open][1], context],\n ['enter', text, context]\n ]\n const insideSpan = context.parser.constructs.insideSpan.null\n if (insideSpan) {\n // Between.\n splice(\n nextEvents,\n nextEvents.length,\n 0,\n // @ts-expect-error: to do: update `mdast-util-types` to allow explicit `undefined`s.\n resolveAll(insideSpan, events.slice(open + 1, index), context)\n )\n }\n\n // Closing.\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 index = -1\n while (++index < events.length) {\n if (events[index][1].type === 'strikethroughSequenceTemporary') {\n events[index][1].type = 'data'\n }\n }\n return events\n }\n\n /**\n * @this {TokenizeContext}\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\n /** @type {State} */\n function start(code) {\n if (\n previous === 126 &&\n events[events.length - 1][1].type !== 'characterEscape'\n ) {\n return nok(code)\n }\n effects.enter('strikethroughSequenceTemporary')\n return more(code)\n }\n\n /** @type {State} */\n function more(code) {\n const before = classifyCharacter(previous)\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 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} */\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').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEndingOrSpace,\n markdownLineEnding,\n markdownSpace\n} from 'micromark-util-character'\nconst tasklistCheck = {\n tokenize: tokenizeTasklistCheck\n}\n\n// To do: next major: expose function to make extension.\n\n/**\n * Extension for `micromark` that can be passed in `extensions`, to\n * enable GFM task list items syntax.\n *\n * @type {Extension}\n */\nexport const gfmTaskListItem = {\n text: {\n [91]: tasklistCheck\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeTasklistCheck(effects, ok, nok) {\n const self = this\n return open\n\n /**\n * At start of task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (\n // Exit if there’s stuff before.\n self.previous !== null ||\n // 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 effects.enter('taskListCheck')\n effects.enter('taskListCheckMarker')\n effects.consume(code)\n effects.exit('taskListCheckMarker')\n return inside\n }\n\n /**\n * In task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n // Currently we match how GH works in files.\n // To match how GH works in comments, use `markdownSpace` (`[\\t ]`) instead\n // of `markdownLineEndingOrSpace` (`[\\t\\n\\r ]`).\n if (markdownLineEndingOrSpace(code)) {\n effects.enter('taskListCheckValueUnchecked')\n effects.consume(code)\n effects.exit('taskListCheckValueUnchecked')\n return close\n }\n if (code === 88 || code === 120) {\n effects.enter('taskListCheckValueChecked')\n effects.consume(code)\n effects.exit('taskListCheckValueChecked')\n return close\n }\n return nok(code)\n }\n\n /**\n * At close of task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\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 after\n }\n return nok(code)\n }\n\n /**\n * @type {State}\n */\n function after(code) {\n // EOL in paragraph means there must be something else after it.\n if (markdownLineEnding(code)) {\n return ok(code)\n }\n\n // Space or tab?\n // Check what comes after.\n if (markdownSpace(code)) {\n return effects.check(\n {\n tokenize: spaceThenNonSpace\n },\n ok,\n nok\n )(code)\n }\n\n // EOF, or non-whitespace, both wrong.\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction spaceThenNonSpace(effects, ok, nok) {\n return factorySpace(effects, after, 'whitespace')\n\n /**\n * After whitespace, after task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // EOF means there was nothing, so bad.\n // EOL means there’s content after it, so good.\n // Impossible to have more spaces.\n // Anything else is good.\n return code === null ? nok(code) : ok(code)\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 {import('mdast').Parent} MdastParent\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 {import('unist-util-visit-parents').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n */\n\n/**\n * @typedef {Content | Root} Node\n * @typedef {Extract} Parent\n * @typedef {Exclude} ContentParent\n *\n * @typedef RegExpMatchObject\n * Info on the match.\n * @property {number} index\n * The index of the search at which the result was found.\n * @property {string} input\n * A copy of the search string in the text node.\n * @property {[Root, ...Array, Text]} stack\n * All ancestors of the text node, where the last node is the text itself.\n *\n * @callback ReplaceFunction\n * Callback called when a search matches.\n * @param {...any} parameters\n * The parameters are the result of corresponding search expression:\n *\n * * `value` (`string`) — whole match\n * * `...capture` (`Array`) — matches from regex capture groups\n * * `match` (`RegExpMatchObject`) — info on the match\n * @returns {Array | PhrasingContent | string | false | undefined | null}\n * Thing to replace with.\n *\n * * when `null`, `undefined`, `''`, remove the match\n * * …or when `false`, do not replace at all\n * * …or when `string`, replace with a text node of that value\n * * …or when `Node` or `Array`, replace with those nodes\n *\n * @typedef {string | RegExp} Find\n * Pattern to find.\n *\n * Strings are escaped and then turned into global expressions.\n *\n * @typedef {Array} FindAndReplaceList\n * Several find and replaces, in array form.\n * @typedef {Record} FindAndReplaceSchema\n * Several find and replaces, in object form.\n * @typedef {[Find, Replace]} FindAndReplaceTuple\n * Find and replace in tuple form.\n * @typedef {string | ReplaceFunction} Replace\n * Thing to replace with.\n * @typedef {[RegExp, ReplaceFunction]} Pair\n * Normalized find and replace.\n * @typedef {Array} Pairs\n * All find and replaced.\n *\n * @typedef Options\n * Configuration.\n * @property {Test | null | undefined} [ignore]\n * Test for which nodes to ignore.\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 * Find patterns in a tree and replace them.\n *\n * The algorithm searches the tree in *preorder* for complete values in `Text`\n * nodes.\n * Partial matches are not supported.\n *\n * @param tree\n * Tree to change.\n * @param find\n * Patterns to find.\n * @param replace\n * Things to replace with (when `find` is `Find`) or configuration.\n * @param options\n * Configuration (when `find` is not `Find`).\n * @returns\n * Given, modified, tree.\n */\n// To do: next major: remove `find` & `replace` combo, remove schema.\nexport const findAndReplace =\n /**\n * @type {(\n * ((tree: Tree, find: Find, replace?: Replace | null | undefined, options?: Options | null | undefined) => Tree) &\n * ((tree: Tree, schema: FindAndReplaceSchema | FindAndReplaceList, options?: Options | null | undefined) => Tree)\n * )}\n **/\n (\n /**\n * @template {Node} Tree\n * @param {Tree} tree\n * @param {Find | FindAndReplaceSchema | FindAndReplaceList} find\n * @param {Replace | Options | null | undefined} [replace]\n * @param {Options | null | undefined} [options]\n * @returns {Tree}\n */\n function (tree, find, replace, options) {\n /** @type {Options | null | 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 // To do next major: don’t return the given tree.\n return tree\n\n /** @type {import('unist-util-visit-parents/complex-types.js').BuildVisitor} */\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 = parents[index]\n\n if (\n ignored(\n parent,\n // @ts-expect-error: TS doesn’t understand but it’s perfect.\n grandparent ? grandparent.children.indexOf(parent) : undefined,\n grandparent\n )\n ) {\n return\n }\n\n grandparent = parent\n }\n\n if (grandparent) {\n return handler(node, parents)\n }\n }\n\n /**\n * Handle a text node which is not in an ignored parent.\n *\n * @param {Text} node\n * Text node.\n * @param {Array} parents\n * Parents.\n * @returns {VisitorResult}\n * Result.\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} */\n let nodes = []\n\n find.lastIndex = 0\n\n let match = find.exec(node.value)\n\n while (match) {\n const position = match.index\n /** @type {RegExpMatchObject} */\n const matchObject = {\n index: match.index,\n input: match.input,\n // @ts-expect-error: stack is fine.\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 // It wasn’t a match after all.\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 * Turn a schema into pairs.\n *\n * @param {FindAndReplaceSchema | FindAndReplaceList} schema\n * Schema.\n * @returns {Pairs}\n * Clean 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 * Turn a find into an expression.\n *\n * @param {Find} find\n * Find.\n * @returns {RegExp}\n * Expression.\n */\nfunction toExpression(find) {\n return typeof find === 'string' ? new RegExp(escape(find), 'g') : find\n}\n\n/**\n * Turn a replace into a function.\n *\n * @param {Replace} replace\n * Replace.\n * @returns {ReplaceFunction}\n * Function.\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').PhrasingContent} PhrasingContent\n *\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-from-markdown').Transform} FromMarkdownTransform\n *\n * @typedef {import('mdast-util-to-markdown').ConstructName} ConstructName\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n *\n * @typedef {import('mdast-util-find-and-replace').ReplaceFunction} ReplaceFunction\n * @typedef {import('mdast-util-find-and-replace').RegExpMatchObject} RegExpMatchObject\n */\n\nimport {ccount} from 'ccount'\nimport {findAndReplace} from 'mdast-util-find-and-replace'\nimport {unicodePunctuation, unicodeWhitespace} from 'micromark-util-character'\n\n/** @type {ConstructName} */\nconst inConstruct = 'phrasing'\n/** @type {Array} */\nconst notInConstruct = ['autolink', 'link', 'image', 'label']\n\n// To do: next major: expose functions instead of extensions.\n\n/**\n * Extension for `mdast-util-from-markdown` to enable GFM autolink literals.\n *\n * @type {FromMarkdownExtension}\n */\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/**\n * Extension for `mdast-util-to-markdown` to enable GFM autolink literals.\n *\n * @type {ToMarkdownExtension}\n */\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/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterLiteralAutolink(token) {\n this.enter({type: 'link', title: null, url: '', children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\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/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\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 * @returns {Link | Array | false}\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 {Link} */\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 * @returns {Link | false}\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\n if (!trailExec) {\n return [url, undefined]\n }\n\n url = url.slice(0, trailExec.index)\n\n let trail = trailExec[0]\n let closingParenIndex = trail.indexOf(')')\n const openingParens = ccount(url, '(')\n let 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 return [url, trail]\n}\n\n/**\n * @param {RegExpMatchObject} match\n * @param {boolean | null | undefined} [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('../types.js').AssociationId} AssociationId\n */\n\nimport {decodeString} from 'micromark-util-decode-string'\n\n/**\n * Get an identifier from an association to match it to others.\n *\n * Associations are nodes that match to something else through an ID:\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:\n * controversially, character escapes and references don’t work in this\n * matching: `©` does not match `©`, and `\\+` does not match `+`.\n *\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\n * escapes and all character references.\n *\n * @type {AssociationId}\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('../types.js').FlowContent} FlowContent\n * @typedef {import('../types.js').Node} Node\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').State} State\n * @typedef {import('../types.js').TrackFields} TrackFields\n */\n\n/**\n * @param {Parent & {children: Array}} parent\n * Parent of flow nodes.\n * @param {State} state\n * Info passed around about the current state.\n * @param {TrackFields} info\n * Info on where we are in the document we are generating.\n * @returns {string}\n * Serialized children, joined by (blank) lines.\n */\nexport function containerFlow(parent, state, info) {\n const indexStack = state.indexStack\n const children = parent.children || []\n const tracker = state.createTracker(info)\n /** @type {Array} */\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 state.handle(child, parent, state, {\n before: '\\n',\n after: '\\n',\n ...tracker.current()\n })\n )\n )\n\n if (child.type !== 'list') {\n state.bulletLastUsed = undefined\n }\n\n if (index < children.length - 1) {\n results.push(\n tracker.move(between(child, children[index + 1], parent, state))\n )\n }\n }\n\n indexStack.pop()\n\n return results.join('')\n}\n\n/**\n * @param {Node} left\n * @param {Node} right\n * @param {Parent} parent\n * @param {State} state\n * @returns {string}\n */\nfunction between(left, right, parent, state) {\n let index = state.join.length\n\n while (index--) {\n const result = state.join[index](left, right, parent, state)\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 * @typedef {import('../types.js').IndentLines} IndentLines\n */\n\nconst eol = /\\r?\\n|\\r/g\n\n/**\n * @type {IndentLines}\n */\nexport function indentLines(value, map) {\n /** @type {Array} */\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 * @typedef {import('../types.js').ConstructName} ConstructName\n */\n\n/**\n * @param {Array} 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} stack\n * @param {Unsafe['inConstruct']} list\n * @param {boolean} none\n * @returns {boolean}\n */\nfunction listInScope(stack, list, none) {\n if (typeof list === 'string') {\n list = [list]\n }\n\n if (!list || list.length === 0) {\n return none\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').State} State\n * @typedef {import('../types.js').SafeConfig} SafeConfig\n */\n\nimport {patternCompile} from './pattern-compile.js'\nimport {patternInScope} from './pattern-in-scope.js'\n\n/**\n * Make a string safe for embedding in markdown constructs.\n *\n * In markdown, almost all punctuation characters can, in certain cases,\n * result in something.\n * Whether they do is highly subjective to where they happen and in what\n * they happen.\n *\n * To solve this, `mdast-util-to-markdown` tracks:\n *\n * * Characters before and after something;\n * * What “constructs” we are in.\n *\n * This information is then used by this function to escape or encode\n * special characters.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {string | null | undefined} input\n * Raw value to make safe.\n * @param {SafeConfig} config\n * Configuration.\n * @returns {string}\n * Serialized markdown safe for embedding.\n */\nexport function safe(state, input, config) {\n const value = (config.before || '') + (input || '') + (config.after || '')\n /** @type {Array} */\n const positions = []\n /** @type {Array} */\n const result = []\n /** @type {Record} */\n const infos = {}\n let index = -1\n\n while (++index < state.unsafe.length) {\n const pattern = state.unsafe[index]\n\n if (!patternInScope(state.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} */\n const positions = []\n /** @type {Array} */\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('../types.js').CreateTracker} CreateTracker\n * @typedef {import('../types.js').TrackCurrent} TrackCurrent\n * @typedef {import('../types.js').TrackMove} TrackMove\n * @typedef {import('../types.js').TrackShift} TrackShift\n */\n\n/**\n * Track positional info in the output.\n *\n * @type {CreateTracker}\n */\nexport function track(config) {\n // Defaults are used to prevent crashes when older utilities somehow activate\n // this code.\n /* c8 ignore next 5 */\n const options = config || {}\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 * @type {TrackCurrent}\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 * @type {TrackShift}\n */\n function shift(value) {\n lineShift += value\n }\n\n /**\n * Move past some generated markdown.\n *\n * @type {TrackMove}\n */\n function move(input) {\n // eslint-disable-next-line unicorn/prefer-default-parameters\n const value = input || ''\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('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('mdast').FootnoteDefinition} FootnoteDefinition\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\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\nfootnoteReference.peek = footnoteReferencePeek\n\n// To do: next major: rename `context` -> `state`, `safeOptions` to `info`, use\n// utilities on `state`.\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM footnotes\n * in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown`.\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\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM footnotes\n * in markdown.\n *\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown`.\n */\nexport function gfmFootnoteToMarkdown() {\n return {\n // This is on by default already.\n unsafe: [{character: '[', inConstruct: ['phrasing', 'label', 'reference']}],\n handlers: {footnoteDefinition, footnoteReference}\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteDefinition(token) {\n this.enter(\n {type: 'footnoteDefinition', identifier: '', label: '', children: []},\n token\n )\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteDefinitionLabelString() {\n this.buffer()\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction 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/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteDefinition(token) {\n this.exit(token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteCall(token) {\n this.enter({type: 'footnoteReference', identifier: '', label: ''}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteCallString() {\n this.buffer()\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction 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/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteCall(token) {\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {FootnoteReference} node\n */\nfunction 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} */\nfunction footnoteReferencePeek() {\n return '['\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {FootnoteDefinition} node\n */\nfunction 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\n/** @type {Map} */\nfunction map(line, index, blank) {\n if (index === 0) {\n return line\n }\n\n return (blank ? '' : ' ') + line\n}\n","/**\n * @typedef {import('../types.js').Handle} Handle\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').PhrasingContent} PhrasingContent\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * Serialize the children of a parent that contains phrasing children.\n *\n * These children will be joined flush together.\n *\n * @param {Parent & {children: Array}} parent\n * Parent of flow nodes.\n * @param {State} state\n * Info passed around about the current state.\n * @param {Info} info\n * Info on where we are in the document we are generating.\n * @returns {string}\n * Serialized children, joined together.\n */\nexport function containerPhrasing(parent, state, info) {\n const indexStack = state.indexStack\n const children = parent.children || []\n /** @type {Array} */\n const results = []\n let index = -1\n let before = info.before\n\n indexStack.push(-1)\n let tracker = state.createTracker(info)\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 /** @type {Handle} */\n // @ts-expect-error: hush, it’s actually a `zwitch`.\n let handle = state.handle.handlers[children[index + 1].type]\n /** @type {Handle} */\n // @ts-expect-error: hush, it’s actually a `zwitch`.\n if (handle && handle.peek) handle = handle.peek\n after = handle\n ? handle(children[index + 1], parent, state, {\n before: '',\n after: '',\n ...tracker.current()\n }).charAt(0)\n : ''\n } else {\n after = info.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: \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 = state.createTracker(info)\n tracker.move(results.join(''))\n }\n\n results.push(\n tracker.move(\n state.handle(child, parent, state, {\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 *\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n *\n * @typedef {import('mdast-util-to-markdown').ConstructName} ConstructName\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// To do: next major: expose functions.\n// To do: next major: use `state`, state utilities.\n\n/**\n * List of constructs that occur in phrasing (paragraphs, headings), but cannot\n * contain strikethrough.\n * So they sort of cancel each other out.\n * Note: could use a better name.\n *\n * Note: keep in sync with: \n *\n * @type {Array}\n */\nconst constructsWithoutStrikethrough = [\n 'autolink',\n 'destinationLiteral',\n 'destinationRaw',\n 'reference',\n 'titleQuote',\n 'titleApostrophe'\n]\n\nhandleDelete.peek = peekDelete\n\n/**\n * Extension for `mdast-util-from-markdown` to enable GFM strikethrough.\n *\n * @type {FromMarkdownExtension}\n */\nexport const gfmStrikethroughFromMarkdown = {\n canContainEols: ['delete'],\n enter: {strikethrough: enterStrikethrough},\n exit: {strikethrough: exitStrikethrough}\n}\n\n/**\n * Extension for `mdast-util-to-markdown` to enable GFM strikethrough.\n *\n * @type {ToMarkdownExtension}\n */\nexport const gfmStrikethroughToMarkdown = {\n unsafe: [\n {\n character: '~',\n inConstruct: 'phrasing',\n notInConstruct: constructsWithoutStrikethrough\n }\n ],\n handlers: {delete: handleDelete}\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterStrikethrough(token) {\n this.enter({type: 'delete', children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\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('strikethrough')\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').Parent} Parent\n * @typedef {import('../types.js').State} State\n */\n\nimport {patternCompile} from '../util/pattern-compile.js'\n\ninlineCode.peek = inlineCodePeek\n\n/**\n * @param {InlineCode} node\n * @param {Parent | undefined} _\n * @param {State} state\n * @returns {string}\n */\nexport function inlineCode(node, _, state) {\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 < state.unsafe.length) {\n const pattern = state.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 * @returns {string}\n */\nfunction inlineCodePeek() {\n return '`'\n}\n","/**\n * @typedef Options\n * Configuration (optional).\n * @property {string|null|ReadonlyArray} [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 {ReadonlyArray>} 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} Character codes as symbols for alignment per column. */\n const alignments = []\n /** @type {Array>} Cells per row. */\n const cellMatrix = []\n /** @type {Array>} Sizes of each cell per row. */\n const sizeMatrix = []\n /** @type {Array} */\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} */\n const row = []\n /** @type {Array} */\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} */\n const row = []\n /** @type {Array} */\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} */\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} */\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').Table} Table\n * @typedef {import('mdast').TableRow} TableRow\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('mdast').InlineCode} InlineCode\n *\n * @typedef {import('markdown-table').MarkdownTableOptions} MarkdownTableOptions\n *\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n *\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\n/**\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [tableCellPadding=true]\n * Whether to add a space of padding between delimiters and cells.\n * @property {boolean | null | undefined} [tablePipeAlign=true]\n * Whether to align the delimiters.\n * @property {MarkdownTableOptions['stringLength'] | null | undefined} [stringLength]\n * Function to detect the length of table cell content, used when aligning\n * the delimiters between cells\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// To do: next major: use `state` and `state` utilities from `mdast-util-to-markdown`.\n// To do: next major: use `defaultHandlers.inlineCode`.\n// To do: next major: expose functions.\n\n/**\n * Extension for `mdast-util-from-markdown` to enable GFM tables.\n *\n * @type {FromMarkdownExtension}\n */\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/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\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/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitTable(token) {\n this.exit(token)\n this.setData('inTable')\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterRow(token) {\n this.enter({type: 'tableRow', children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exit(token) {\n this.exit(token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\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/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\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 * Create an extension for `mdast-util-to-markdown` to enable GFM tables in\n * markdown.\n *\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM tables.\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 // \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 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 const value = serializeData([row])\n // `markdown-table` will always add an align 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>} matrix\n * @param {Array | null | undefined} [align]\n */\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n // @ts-expect-error: `markdown-table` types should support `null`.\n alignDelimiters,\n // @ts-expect-error: `markdown-table` types should support `null`.\n padding,\n // @ts-expect-error: `markdown-table` types should support `null`.\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>} */\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} */\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('../types.js').Map} Map\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').State} State\n * @typedef {import('../types.js').Info} Info\n */\n\nimport {checkBullet} from '../util/check-bullet.js'\nimport {checkListItemIndent} from '../util/check-list-item-indent.js'\n\n/**\n * @param {ListItem} node\n * @param {Parent | undefined} parent\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function listItem(node, parent, state, info) {\n const listItemIndent = checkListItemIndent(state)\n let bullet = state.bulletCurrent || checkBullet(state)\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 (state.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 = state.createTracker(info)\n tracker.move(bullet + ' '.repeat(size - bullet.length))\n tracker.shift(size)\n const exit = state.enter('listItem')\n const value = state.indentLines(\n state.containerFlow(node, 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').State} State\n * @typedef {import('../types.js').Options} Options\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkListItemIndent(state) {\n const style = state.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').State} State\n * @typedef {import('../types.js').Options} Options\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkBullet(state) {\n const marker = state.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 {import('mdast').Content} Content\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\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\n/**\n * @typedef {Extract} Parents\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// To do: next major: rename `context` -> `state`, `safeOptions` -> `info`, use\n// `track` from `state`.\n// To do: next major: replace exports with functions.\n// To do: next major: use `defaulthandlers.listItem`.\n\n/**\n * Extension for `mdast-util-from-markdown` to enable GFM task list items.\n *\n * @type {FromMarkdownExtension}\n */\nexport const gfmTaskListItemFromMarkdown = {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n}\n\n/**\n * Extension for `mdast-util-to-markdown` to enable GFM task list items.\n *\n * @type {ToMarkdownExtension}\n */\nexport const gfmTaskListItemToMarkdown = {\n unsafe: [{atBreak: true, character: '-', after: '[:|-]'}],\n handlers: {listItem: listItemWithTaskListItem}\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\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/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitParagraphWithTaskListItem(token) {\n const parent = /** @type {Parents} */ (this.stack[this.stack.length - 2])\n\n if (\n parent &&\n parent.type === 'listItem' &&\n typeof parent.checked === 'boolean'\n ) {\n const node = /** @type {Paragraph} */ (this.stack[this.stack.length - 1])\n const head = node.children[0]\n\n if (head && head.type === 'text') {\n const siblings = parent.children\n let index = -1\n /** @type {Paragraph | undefined} */\n let firstParaghraph\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\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').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('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 * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n */\n\n/**\n * @typedef {import('mdast-util-gfm-table').Options} Options\n * Configuration.\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 * Create an extension for `mdast-util-from-markdown` to enable GFM (autolink\n * literals, footnotes, strikethrough, tables, tasklists).\n *\n * @returns {Array}\n * Extension for `mdast-util-from-markdown` to enable GFM (autolink literals,\n * footnotes, strikethrough, tables, tasklists).\n */\nexport function gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown,\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown,\n gfmTableFromMarkdown,\n gfmTaskListItemFromMarkdown\n ]\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM (autolink\n * literals, footnotes, strikethrough, tables, tasklists).\n *\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM (autolink literals,\n * footnotes, strikethrough, tables, tasklists).\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('./core.js').HChild} Child\n * Acceptable child value.\n * @typedef {import('./core.js').HProperties} Properties\n * Acceptable value for element properties.\n * @typedef {import('./core.js').HResult} Result\n * Result from a `h` (or `s`) call.\n *\n * @typedef {import('./jsx-classic.js').Element} s.JSX.Element\n * @typedef {import('./jsx-classic.js').IntrinsicAttributes} s.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic.js').IntrinsicElements} s.JSX.IntrinsicElements\n * @typedef {import('./jsx-classic.js').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","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 * Map of web namespaces.\n *\n * @type {Record}\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').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Content} Content\n * @typedef {import('parse5').DefaultTreeAdapterMap} DefaultTreeAdapterMap\n * @typedef {import('parse5').Token.ElementLocation} P5ElementLocation\n * @typedef {import('parse5').Token.Location} P5Location\n */\n\n/**\n * @typedef {Content | Root} Node\n * @typedef {DefaultTreeAdapterMap['document']} P5Document\n * @typedef {DefaultTreeAdapterMap['documentFragment']} P5DocumentFragment\n * @typedef {DefaultTreeAdapterMap['documentType']} P5DocumentType\n * @typedef {DefaultTreeAdapterMap['commentNode']} P5Comment\n * @typedef {DefaultTreeAdapterMap['textNode']} P5Text\n * @typedef {DefaultTreeAdapterMap['element']} P5Element\n * @typedef {DefaultTreeAdapterMap['node']} P5Node\n * @typedef {DefaultTreeAdapterMap['template']} P5Template\n *\n * @typedef {'html' | 'svg'} Space\n * Namespace.\n *\n * @typedef Options\n * Configuration.\n * @property {Space | null | undefined} [space='html']\n * Which space the document is in.\n *\n * When an `` element is found in the HTML space, this package already\n * automatically switches to and from the SVG space when entering and exiting\n * it.\n * @property {VFile | null | undefined} [file]\n * File used to add positional info to nodes.\n *\n * If given, the file should represent the original HTML source.\n * @property {boolean} [verbose=false]\n * Whether to add extra positional info about starting tags, closing tags,\n * and attributes to elements.\n *\n * > 👉 **Note**: only used when `file` is given.\n *\n * @typedef State\n * Info passed around about the current state.\n * @property {Schema} schema\n * Current schema.\n * @property {VFile | undefined} file\n * Corresponding file.\n * @property {boolean | undefined} verbose\n * Add extra positional info.\n * @property {boolean} location\n * Whether location info was found.\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/** @type {unknown} */\n// type-coverage:ignore-next-line\nconst proto = Object.prototype\n\n/**\n * Transform a `parse5` AST to hast.\n *\n * @param {P5Node} tree\n * `parse5` tree to transform.\n * @param {Options | VFile | null | undefined} [options]\n * Configuration.\n * @returns {Node}\n * hast tree.\n */\nexport function fromParse5(tree, options) {\n const options_ = 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 || undefined\n settings = options_\n }\n\n return one(\n {\n schema: settings.space === 'svg' ? svg : html,\n file,\n verbose: settings.verbose,\n location: false\n },\n tree\n )\n}\n\n/**\n * Transform a node.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {P5Node} node\n * p5 node.\n * @returns {Node}\n * hast node.\n */\nfunction one(state, node) {\n /** @type {Node} */\n let result\n\n switch (node.nodeName) {\n case '#comment': {\n const reference = /** @type {P5Comment} */ (node)\n result = {type: 'comment', value: reference.data}\n patch(state, reference, result)\n return result\n }\n\n case '#document':\n case '#document-fragment': {\n const reference = /** @type {P5Document | P5DocumentFragment} */ (node)\n const quirksMode =\n 'mode' in reference\n ? reference.mode === 'quirks' || reference.mode === 'limited-quirks'\n : false\n\n result = {\n type: 'root',\n children: all(state, node.childNodes),\n data: {quirksMode}\n }\n\n if (state.file && state.location) {\n const doc = String(state.file)\n const loc = location(doc)\n const start = loc.toPoint(0)\n const end = loc.toPoint(doc.length)\n // @ts-expect-error: always defined as we give valid input.\n result.position = {start, end}\n }\n\n return result\n }\n\n case '#documentType': {\n const reference = /** @type {P5DocumentType} */ (node)\n // @ts-expect-error Types are out of date.\n result = {type: 'doctype'}\n patch(state, reference, result)\n return result\n }\n\n case '#text': {\n const reference = /** @type {P5Text} */ (node)\n result = {type: 'text', value: reference.value}\n patch(state, reference, result)\n return result\n }\n\n // Element.\n default: {\n const reference = /** @type {P5Element} */ (node)\n result = element(state, reference)\n return result\n }\n }\n}\n\n/**\n * Transform children.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {Array} nodes\n * Nodes.\n * @returns {Array}\n * hast nodes.\n */\nfunction all(state, nodes) {\n let index = -1\n /** @type {Array} */\n const result = []\n\n while (++index < nodes.length) {\n // @ts-expect-error Assume no roots in `nodes`.\n result[index] = one(state, nodes[index])\n }\n\n return result\n}\n\n/**\n * Transform an element.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {P5Element} node\n * `parse5` node to transform.\n * @returns {Element}\n * hast node.\n */\nfunction element(state, node) {\n const schema = state.schema\n\n state.schema = node.namespaceURI === webNamespaces.svg ? svg : html\n\n // Props.\n let index = -1\n /** @type {Record} */\n const props = {}\n\n while (++index < node.attrs.length) {\n const attribute = node.attrs[index]\n const name =\n (attribute.prefix ? attribute.prefix + ':' : '') + attribute.name\n if (!own.call(proto, name)) {\n props[name] = attribute.value\n }\n }\n\n // Build.\n const fn = state.schema.space === 'svg' ? s : h\n const result = fn(node.tagName, props, all(state, node.childNodes))\n patch(state, node, result)\n\n // Switch content.\n if (result.tagName === 'template') {\n const reference = /** @type {P5Template} */ (node)\n const pos = reference.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 = one(state, reference.content)\n\n if (startTag && endTag && state.file) {\n content.position = {start: startTag.end, end: endTag.start}\n }\n\n result.content = content\n }\n\n state.schema = schema\n\n return result\n}\n\n/**\n * Patch positional info from `from` onto `to`.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {P5Node} from\n * p5 node.\n * @param {Node} to\n * hast node.\n * @returns {void}\n * Nothing.\n */\nfunction patch(state, from, to) {\n if ('sourceCodeLocation' in from && from.sourceCodeLocation && state.file) {\n const position = createLocation(state, to, from.sourceCodeLocation)\n\n if (position) {\n state.location = true\n to.position = position\n }\n }\n}\n\n/**\n * Create clean positional information.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {Node} node\n * hast node.\n * @param {P5ElementLocation} location\n * p5 location info.\n * @returns {Position | undefined}\n * Position, or nothing.\n */\nfunction createLocation(state, 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: .\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 (state.verbose) {\n /** @type {Record} */\n const props = {}\n /** @type {string} */\n let key\n\n if (location.attrs) {\n for (key in location.attrs) {\n if (own.call(location.attrs, key)) {\n props[find(state.schema, key).property] = position(\n location.attrs[key]\n )\n }\n }\n }\n\n node.data = {\n position: {\n // @ts-expect-error: assume not `undefined`.\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 * Turn a p5 location into a position.\n *\n * @param {P5Location} loc\n * Location.\n * @returns {Position | undefined}\n * Position or nothing.\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 `undefined` is fine.\n return start || end ? {start, end} : undefined\n}\n\n/**\n * Filter out invalid points.\n *\n * @param {Point} point\n * Point with potentially `undefined` values.\n * @returns {Point | undefined}\n * Point or nothing.\n */\nfunction point(point) {\n return point.line && point.column ? point : undefined\n}\n\n/**\n * Check if something is a file.\n *\n * @param {VFile | Options} value\n * File or options.\n * @returns {value is VFile}\n * Whether `value` is a file.\n */\nfunction isFile(value) {\n return 'messages' in value\n}\n","/**\n * @typedef {import('vfile').VFile} VFile\n * @typedef {import('vfile').Value} Value\n */\n\n/**\n * @typedef Point\n * unist point, where `line` and `column` can be `undefined`.\n * @property {number | undefined} line\n * Line.\n * @property {number | undefined} column\n * Column.\n * @property {number | undefined} [offset]\n * Offset.\n *\n * @typedef PointLike\n * unist point, allowed as input.\n * @property {number | null | undefined} [line]\n * Line.\n * @property {number | null | undefined} [column]\n * Column.\n * @property {number | null | undefined} [offset]\n * Offset.\n *\n * @callback ToPoint\n * Get a line/column-based `point` from `offset`.\n * @param {number | null | undefined} [offset]\n * Something that should be an `offset.\n * @returns {Point}\n * Point, line/column are undefined for invalid or out of bounds input.\n *\n * @callback ToOffset\n * Get an offset from a line/column-based `point`.\n * @param {Point | null | undefined} [point]\n * Something that should be a `point.\n * @returns {number}\n * Offset or `-1` for invalid or out of bounds input.\n *\n * @typedef Location\n * Accessors for index.\n * @property {ToPoint} toPoint\n * Get a line/column-based `point` from `offset`.\n * @property {ToOffset} toOffset\n * Get an offset from a line/column-based `point`.\n */\n\n/**\n * Index the given document so you can translate between line/column and offset\n * based positional info.\n *\n * @param {VFile | Value} file\n * File to index.\n * @returns {Location}\n * Accessors for index.\n */\nexport function location(file) {\n const value = String(file)\n /** @type {Array} */\n const indices = []\n const 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 /** @type {ToPoint} */\n function toPoint(offset) {\n let index = -1\n\n if (\n typeof offset === 'number' &&\n offset > -1 &&\n offset < indices[indices.length - 1]\n ) {\n while (++index < indices.length) {\n if (indices[index] > offset) {\n return {\n line: index + 1,\n column: offset - (index > 0 ? indices[index - 1] : 0) + 1,\n offset\n }\n }\n }\n }\n\n return {line: undefined, column: undefined, offset: undefined}\n }\n\n /** @type {ToOffset} */\n function toOffset(point) {\n const line = point && point.line\n const column = point && point.column\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 const offset = (indices[line - 2] || 0) + column - 1 || 0\n\n if (offset > -1 && offset < indices[indices.length - 1]) {\n return offset\n }\n }\n\n return -1\n }\n}\n","/**\n * @callback Handler\n * Handle a value, with a certain ID field set to a certain value.\n * The ID field is passed to `zwitch`, and it’s value is this function’s\n * place on the `handlers` record.\n * @param {...any} parameters\n * Arbitrary parameters passed to the zwitch.\n * The first will be an object with a certain ID field set to a certain value.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback UnknownHandler\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @param {unknown} value\n * An object with a certain ID field set to an unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback InvalidHandler\n * Handle values that do not have a certain ID field.\n * @param {unknown} value\n * Any unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {void|null|undefined|never}\n * This should crash or return nothing.\n */\n\n/**\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record} [Handlers=Record]\n * @typedef Options\n * Configuration (required).\n * @property {Invalid} [invalid]\n * Handler to use for invalid values.\n * @property {Unknown} [unknown]\n * Handler to use for unknown values.\n * @property {Handlers} [handlers]\n * Handlers to use.\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Handle values based on a field.\n *\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record} [Handlers=Record]\n * @param {string} key\n * Field to switch on.\n * @param {Options} [options]\n * Configuration (required).\n * @returns {{unknown: Unknown, invalid: Invalid, handlers: Handlers, (...parameters: Parameters): ReturnType, (...parameters: Parameters): ReturnType}}\n */\nexport function zwitch(key, options) {\n const settings = options || {}\n\n /**\n * Handle one value.\n *\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 * @this {unknown}\n * Any context object.\n * @param {unknown} [value]\n * Any value.\n * @param {...unknown} parameters\n * Arbitrary parameters passed to the zwitch.\n * @property {Handler} invalid\n * Handle for values that do not have a certain ID field.\n * @property {Handler} unknown\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @property {Handlers} handlers\n * Record of handlers.\n * @returns {unknown}\n * Anything.\n */\n function one(value, ...parameters) {\n /** @type {Handler|undefined} */\n let fn = one.invalid\n const handlers = one.handlers\n\n if (value && own.call(value, key)) {\n // @ts-expect-error Indexable.\n const id = String(value[key])\n // @ts-expect-error Indexable.\n fn = own.call(handlers, id) ? handlers[id] : one.unknown\n }\n\n if (fn) {\n return fn.call(this, value, ...parameters)\n }\n }\n\n one.handlers = settings.handlers || {}\n one.invalid = settings.invalid\n one.unknown = settings.unknown\n\n // @ts-expect-error: matches!\n return one\n}\n","/**\n * @typedef {import('parse5').DefaultTreeAdapterMap} DefaultTreeAdapterMap\n * @typedef {DefaultTreeAdapterMap['document']} P5Document\n * @typedef {DefaultTreeAdapterMap['documentFragment']} P5Fragment\n * @typedef {DefaultTreeAdapterMap['element']} P5Element\n * @typedef {DefaultTreeAdapterMap['node']} P5Node\n * @typedef {DefaultTreeAdapterMap['documentType']} P5Doctype\n * @typedef {DefaultTreeAdapterMap['commentNode']} P5Comment\n * @typedef {DefaultTreeAdapterMap['textNode']} P5Text\n * @typedef {DefaultTreeAdapterMap['parentNode']} P5Parent\n * @typedef {import('parse5').Token.Attribute} P5Attribute\n * @typedef {Exclude} P5Child\n * @typedef {import('property-information').Schema} Schema\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 */\n\n/**\n * @typedef {Content | Root} Node\n * @typedef {'html' | 'svg'} Space\n *\n * @typedef Options\n * Configuration.\n * @property {Space | null | undefined} [space='html']\n * Which space the document is in.\n *\n * When an `` element is found in the HTML space, this package already\n * automatically switches to and from the SVG space when entering and exiting\n * it.\n */\n\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {html, svg, find} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {webNamespaces} from 'web-namespaces'\nimport {zwitch} from 'zwitch'\n\nconst own = {}.hasOwnProperty\n\n/** @type {(from: Node, schema: Schema) => P5Node} */\nconst one = zwitch('type', {handlers: {root, element, text, comment, doctype}})\n\n/**\n * Transform a hast tree to Parse5’s AST.\n *\n * @param {Node} tree\n * Tree to transform.\n * @param {Options | Space | null | undefined} [options]\n * Configuration.\n * @returns {P5Node}\n * `parse5` node.\n */\nexport function toParse5(tree, options) {\n const space = options && typeof options === 'object' ? options.space : options\n return one(tree, space === 'svg' ? svg : html)\n}\n\n/**\n * @param {Root} node\n * @param {Schema} schema\n * Current schema.\n * @returns {P5Document}\n */\nfunction root(node, schema) {\n /** @type {P5Document} */\n const result = {\n nodeName: '#document',\n // @ts-expect-error: `parse5` uses enums, which are actually strings.\n mode: (node.data || {}).quirksMode ? 'quirks' : 'no-quirks',\n childNodes: []\n }\n result.childNodes = all(node.children, result, schema)\n patch(node, result)\n return result\n}\n\n/**\n * @param {Root} node\n * @param {Schema} schema\n * Current schema.\n * @returns {P5Fragment}\n */\nfunction fragment(node, schema) {\n /** @type {P5Fragment} */\n const result = {nodeName: '#document-fragment', childNodes: []}\n result.childNodes = all(node.children, result, schema)\n patch(node, result)\n return result\n}\n\n/**\n * @param {Doctype} node\n * @returns {P5Doctype}\n */\nfunction doctype(node) {\n /** @type {P5Doctype} */\n const result = {\n nodeName: '#documentType',\n name: 'html',\n publicId: '',\n systemId: '',\n // @ts-expect-error: change to `null` in a major?\n parentNode: undefined\n }\n\n patch(node, result)\n return result\n}\n\n/**\n * @param {Text} node\n * @returns {P5Text}\n */\nfunction text(node) {\n /** @type {P5Text} */\n const result = {\n nodeName: '#text',\n value: node.value,\n // @ts-expect-error: no `parentNode`\n parentNode: undefined\n }\n patch(node, result)\n return result\n}\n\n/**\n * @param {Comment} node\n * @returns {P5Comment}\n */\nfunction comment(node) {\n /** @type {P5Comment} */\n const result = {\n nodeName: '#comment',\n data: node.value,\n // @ts-expect-error: no `parentNode`\n parentNode: undefined\n }\n\n patch(node, result)\n\n return result\n}\n\n/**\n * @param {Element} node\n * @param {Schema} schema\n * Current schema.\n * @returns {P5Element}\n * `parse5` node.\n */\nfunction element(node, schema) {\n const parentSchema = schema\n let currentSchema = parentSchema\n\n if (\n node.type === 'element' &&\n node.tagName.toLowerCase() === 'svg' &&\n parentSchema.space === 'html'\n ) {\n currentSchema = svg\n }\n\n /** @type {Array} */\n const attrs = []\n /** @type {string} */\n let prop\n\n if (node.properties) {\n for (prop in node.properties) {\n if (prop !== 'children' && own.call(node.properties, prop)) {\n const result = createProperty(\n currentSchema,\n prop,\n node.properties[prop]\n )\n\n if (result) {\n attrs.push(result)\n }\n }\n }\n }\n\n /** @type {P5Element} */\n const result = {\n nodeName: node.tagName,\n tagName: node.tagName,\n attrs,\n // @ts-expect-error: html and svg both have a space.\n namespaceURI: webNamespaces[currentSchema.space],\n childNodes: [],\n // @ts-expect-error: no `parentNode`\n parentNode: undefined\n }\n result.childNodes = all(node.children, result, currentSchema)\n patch(node, result)\n\n if (node.tagName === 'template' && node.content) {\n // @ts-expect-error: `parse5` types are wrong.\n result.content = fragment(node.content, currentSchema)\n }\n\n return result\n}\n\n/**\n * Handle a property.\n *\n * @param {Schema} schema\n * Current schema.\n * @param {string} prop\n * Key.\n * @param {Array | string | number | boolean | null | undefined} value\n * hast property value.\n * @returns {P5Attribute | void}\n * Field for runtime, optional.\n */\nfunction createProperty(schema, prop, value) {\n const info = find(schema, prop)\n\n // Ignore nullish and `NaN` values.\n if (\n value === undefined ||\n value === null ||\n value === false ||\n (typeof value === 'number' && Number.isNaN(value)) ||\n (!value && info.boolean)\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 /** @type {P5Attribute} */\n const attribute = {\n name: info.attribute,\n value: value === true ? '' : String(value)\n }\n\n if (info.space && info.space !== 'html' && info.space !== 'svg') {\n const index = attribute.name.indexOf(':')\n\n if (index < 0) {\n attribute.prefix = ''\n } else {\n attribute.name = attribute.name.slice(index + 1)\n attribute.prefix = info.attribute.slice(0, index)\n }\n\n attribute.namespace = webNamespaces[info.space]\n }\n\n return attribute\n}\n\n/**\n * Transform all hast nodes.\n *\n * @param {Array} children\n * List of children.\n * @param {P5Parent} parentNode\n * `parse5` parent node.\n * @param {Schema} schema\n * Current schema.\n * @returns {Array}\n * Transformed children.\n */\nfunction all(children, parentNode, schema) {\n let index = -1\n /** @type {Array} */\n const results = []\n\n if (children) {\n while (++index < children.length) {\n /** @type {P5Child} */\n // @ts-expect-error assume no document.\n const child = one(children[index], schema)\n\n child.parentNode = parentNode\n\n results.push(child)\n }\n }\n\n return results\n}\n\n/**\n * Add position info from `from` to `to`.\n *\n * @param {Node} from\n * hast node.\n * @param {P5Node} to\n * `parse5` node.\n * @returns {void}\n * Nothing.\n */\nfunction patch(from, to) {\n const position = from.position\n\n if (position && position.start && position.end) {\n to.sourceCodeLocation = {\n startLine: position.start.line,\n startCol: position.start.column,\n // @ts-expect-error assume this is set.\n startOffset: position.start.offset,\n endLine: position.end.line,\n endCol: position.end.column,\n // @ts-expect-error assume this is set.\n endOffset: position.end.offset\n }\n }\n}\n","/**\n * List of HTML void tag names.\n *\n * @type {Array}\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} P5Element\n * @typedef {import('parse5').Attribute} P5Attribute\n * @typedef {Omit & {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 & {value: {stitch: Node}}} Stitch\n *\n * @typedef Options\n * @property {Array} [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} __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} tokenQueue\n * @property {string} state\n * @property {string} returnState\n * @property {number} charRefCode\n * @property {Array} 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 & {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} 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 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} 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._processInputToken(startTag(node))\n\n all(node.children)\n\n if (!htmlVoidElements.includes(node.tagName)) {\n resetTokenizer()\n parser._processInputToken(endTag(node))\n }\n }\n\n /**\n * @param {Text} node\n * @returns {void}\n */\n function text(node) {\n resetTokenizer()\n parser._processInputToken({\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._processInputToken({\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._processInputToken({\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: .\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: .\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: .\n locationTracker.currentAttrLocation = undefined\n locationTracker.ctLoc = createParse5Location(node)\n\n // See the code for `parse` and `parseFragment`:\n // See: .\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 `[]` (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: .\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._processInputToken(token)\n }\n\n // Reset tokenizer:\n // See: .\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}\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, 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","// This module is generated by `script/`.\n/* eslint-disable no-control-regex, no-misleading-character-class, no-useless-escape */\nexport const regex = /[\\0-\\x1F!-,\\.\\/:-@\\[-\\^`\\{-\\xA9\\xAB-\\xB4\\xB6-\\xB9\\xBB-\\xBF\\xD7\\xF7\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u02FF\\u0375\\u0378\\u0379\\u037E\\u0380-\\u0385\\u0387\\u038B\\u038D\\u03A2\\u03F6\\u0482\\u0530\\u0557\\u0558\\u055A-\\u055F\\u0589-\\u0590\\u05BE\\u05C0\\u05C3\\u05C6\\u05C8-\\u05CF\\u05EB-\\u05EE\\u05F3-\\u060F\\u061B-\\u061F\\u066A-\\u066D\\u06D4\\u06DD\\u06DE\\u06E9\\u06FD\\u06FE\\u0700-\\u070F\\u074B\\u074C\\u07B2-\\u07BF\\u07F6-\\u07F9\\u07FB\\u07FC\\u07FE\\u07FF\\u082E-\\u083F\\u085C-\\u085F\\u086B-\\u089F\\u08B5\\u08C8-\\u08D2\\u08E2\\u0964\\u0965\\u0970\\u0984\\u098D\\u098E\\u0991\\u0992\\u09A9\\u09B1\\u09B3-\\u09B5\\u09BA\\u09BB\\u09C5\\u09C6\\u09C9\\u09CA\\u09CF-\\u09D6\\u09D8-\\u09DB\\u09DE\\u09E4\\u09E5\\u09F2-\\u09FB\\u09FD\\u09FF\\u0A00\\u0A04\\u0A0B-\\u0A0E\\u0A11\\u0A12\\u0A29\\u0A31\\u0A34\\u0A37\\u0A3A\\u0A3B\\u0A3D\\u0A43-\\u0A46\\u0A49\\u0A4A\\u0A4E-\\u0A50\\u0A52-\\u0A58\\u0A5D\\u0A5F-\\u0A65\\u0A76-\\u0A80\\u0A84\\u0A8E\\u0A92\\u0AA9\\u0AB1\\u0AB4\\u0ABA\\u0ABB\\u0AC6\\u0ACA\\u0ACE\\u0ACF\\u0AD1-\\u0ADF\\u0AE4\\u0AE5\\u0AF0-\\u0AF8\\u0B00\\u0B04\\u0B0D\\u0B0E\\u0B11\\u0B12\\u0B29\\u0B31\\u0B34\\u0B3A\\u0B3B\\u0B45\\u0B46\\u0B49\\u0B4A\\u0B4E-\\u0B54\\u0B58-\\u0B5B\\u0B5E\\u0B64\\u0B65\\u0B70\\u0B72-\\u0B81\\u0B84\\u0B8B-\\u0B8D\\u0B91\\u0B96-\\u0B98\\u0B9B\\u0B9D\\u0BA0-\\u0BA2\\u0BA5-\\u0BA7\\u0BAB-\\u0BAD\\u0BBA-\\u0BBD\\u0BC3-\\u0BC5\\u0BC9\\u0BCE\\u0BCF\\u0BD1-\\u0BD6\\u0BD8-\\u0BE5\\u0BF0-\\u0BFF\\u0C0D\\u0C11\\u0C29\\u0C3A-\\u0C3C\\u0C45\\u0C49\\u0C4E-\\u0C54\\u0C57\\u0C5B-\\u0C5F\\u0C64\\u0C65\\u0C70-\\u0C7F\\u0C84\\u0C8D\\u0C91\\u0CA9\\u0CB4\\u0CBA\\u0CBB\\u0CC5\\u0CC9\\u0CCE-\\u0CD4\\u0CD7-\\u0CDD\\u0CDF\\u0CE4\\u0CE5\\u0CF0\\u0CF3-\\u0CFF\\u0D0D\\u0D11\\u0D45\\u0D49\\u0D4F-\\u0D53\\u0D58-\\u0D5E\\u0D64\\u0D65\\u0D70-\\u0D79\\u0D80\\u0D84\\u0D97-\\u0D99\\u0DB2\\u0DBC\\u0DBE\\u0DBF\\u0DC7-\\u0DC9\\u0DCB-\\u0DCE\\u0DD5\\u0DD7\\u0DE0-\\u0DE5\\u0DF0\\u0DF1\\u0DF4-\\u0E00\\u0E3B-\\u0E3F\\u0E4F\\u0E5A-\\u0E80\\u0E83\\u0E85\\u0E8B\\u0EA4\\u0EA6\\u0EBE\\u0EBF\\u0EC5\\u0EC7\\u0ECE\\u0ECF\\u0EDA\\u0EDB\\u0EE0-\\u0EFF\\u0F01-\\u0F17\\u0F1A-\\u0F1F\\u0F2A-\\u0F34\\u0F36\\u0F38\\u0F3A-\\u0F3D\\u0F48\\u0F6D-\\u0F70\\u0F85\\u0F98\\u0FBD-\\u0FC5\\u0FC7-\\u0FFF\\u104A-\\u104F\\u109E\\u109F\\u10C6\\u10C8-\\u10CC\\u10CE\\u10CF\\u10FB\\u1249\\u124E\\u124F\\u1257\\u1259\\u125E\\u125F\\u1289\\u128E\\u128F\\u12B1\\u12B6\\u12B7\\u12BF\\u12C1\\u12C6\\u12C7\\u12D7\\u1311\\u1316\\u1317\\u135B\\u135C\\u1360-\\u137F\\u1390-\\u139F\\u13F6\\u13F7\\u13FE-\\u1400\\u166D\\u166E\\u1680\\u169B-\\u169F\\u16EB-\\u16ED\\u16F9-\\u16FF\\u170D\\u1715-\\u171F\\u1735-\\u173F\\u1754-\\u175F\\u176D\\u1771\\u1774-\\u177F\\u17D4-\\u17D6\\u17D8-\\u17DB\\u17DE\\u17DF\\u17EA-\\u180A\\u180E\\u180F\\u181A-\\u181F\\u1879-\\u187F\\u18AB-\\u18AF\\u18F6-\\u18FF\\u191F\\u192C-\\u192F\\u193C-\\u1945\\u196E\\u196F\\u1975-\\u197F\\u19AC-\\u19AF\\u19CA-\\u19CF\\u19DA-\\u19FF\\u1A1C-\\u1A1F\\u1A5F\\u1A7D\\u1A7E\\u1A8A-\\u1A8F\\u1A9A-\\u1AA6\\u1AA8-\\u1AAF\\u1AC1-\\u1AFF\\u1B4C-\\u1B4F\\u1B5A-\\u1B6A\\u1B74-\\u1B7F\\u1BF4-\\u1BFF\\u1C38-\\u1C3F\\u1C4A-\\u1C4C\\u1C7E\\u1C7F\\u1C89-\\u1C8F\\u1CBB\\u1CBC\\u1CC0-\\u1CCF\\u1CD3\\u1CFB-\\u1CFF\\u1DFA\\u1F16\\u1F17\\u1F1E\\u1F1F\\u1F46\\u1F47\\u1F4E\\u1F4F\\u1F58\\u1F5A\\u1F5C\\u1F5E\\u1F7E\\u1F7F\\u1FB5\\u1FBD\\u1FBF-\\u1FC1\\u1FC5\\u1FCD-\\u1FCF\\u1FD4\\u1FD5\\u1FDC-\\u1FDF\\u1FED-\\u1FF1\\u1FF5\\u1FFD-\\u203E\\u2041-\\u2053\\u2055-\\u2070\\u2072-\\u207E\\u2080-\\u208F\\u209D-\\u20CF\\u20F1-\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u214F-\\u215F\\u2189-\\u24B5\\u24EA-\\u2BFF\\u2C2F\\u2C5F\\u2CE5-\\u2CEA\\u2CF4-\\u2CFF\\u2D26\\u2D28-\\u2D2C\\u2D2E\\u2D2F\\u2D68-\\u2D6E\\u2D70-\\u2D7E\\u2D97-\\u2D9F\\u2DA7\\u2DAF\\u2DB7\\u2DBF\\u2DC7\\u2DCF\\u2DD7\\u2DDF\\u2E00-\\u2E2E\\u2E30-\\u3004\\u3008-\\u3020\\u3030\\u3036\\u3037\\u303D-\\u3040\\u3097\\u3098\\u309B\\u309C\\u30A0\\u30FB\\u3100-\\u3104\\u3130\\u318F-\\u319F\\u31C0-\\u31EF\\u3200-\\u33FF\\u4DC0-\\u4DFF\\u9FFD-\\u9FFF\\uA48D-\\uA4CF\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA62C-\\uA63F\\uA673\\uA67E\\uA6F2-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uA7C0\\uA7C1\\uA7CB-\\uA7F4\\uA828-\\uA82B\\uA82D-\\uA83F\\uA874-\\uA87F\\uA8C6-\\uA8CF\\uA8DA-\\uA8DF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA954-\\uA95F\\uA97D-\\uA97F\\uA9C1-\\uA9CE\\uA9DA-\\uA9DF\\uA9FF\\uAA37-\\uAA3F\\uAA4E\\uAA4F\\uAA5A-\\uAA5F\\uAA77-\\uAA79\\uAAC3-\\uAADA\\uAADE\\uAADF\\uAAF0\\uAAF1\\uAAF7-\\uAB00\\uAB07\\uAB08\\uAB0F\\uAB10\\uAB17-\\uAB1F\\uAB27\\uAB2F\\uAB5B\\uAB6A-\\uAB6F\\uABEB\\uABEE\\uABEF\\uABFA-\\uABFF\\uD7A4-\\uD7AF\\uD7C7-\\uD7CA\\uD7FC-\\uD7FF\\uE000-\\uF8FF\\uFA6E\\uFA6F\\uFADA-\\uFAFF\\uFB07-\\uFB12\\uFB18-\\uFB1C\\uFB29\\uFB37\\uFB3D\\uFB3F\\uFB42\\uFB45\\uFBB2-\\uFBD2\\uFD3E-\\uFD4F\\uFD90\\uFD91\\uFDC8-\\uFDEF\\uFDFC-\\uFDFF\\uFE10-\\uFE1F\\uFE30-\\uFE32\\uFE35-\\uFE4C\\uFE50-\\uFE6F\\uFE75\\uFEFD-\\uFF0F\\uFF1A-\\uFF20\\uFF3B-\\uFF3E\\uFF40\\uFF5B-\\uFF65\\uFFBF-\\uFFC1\\uFFC8\\uFFC9\\uFFD0\\uFFD1\\uFFD8\\uFFD9\\uFFDD-\\uFFFF]|\\uD800[\\uDC0C\\uDC27\\uDC3B\\uDC3E\\uDC4E\\uDC4F\\uDC5E-\\uDC7F\\uDCFB-\\uDD3F\\uDD75-\\uDDFC\\uDDFE-\\uDE7F\\uDE9D-\\uDE9F\\uDED1-\\uDEDF\\uDEE1-\\uDEFF\\uDF20-\\uDF2C\\uDF4B-\\uDF4F\\uDF7B-\\uDF7F\\uDF9E\\uDF9F\\uDFC4-\\uDFC7\\uDFD0\\uDFD6-\\uDFFF]|\\uD801[\\uDC9E\\uDC9F\\uDCAA-\\uDCAF\\uDCD4-\\uDCD7\\uDCFC-\\uDCFF\\uDD28-\\uDD2F\\uDD64-\\uDDFF\\uDF37-\\uDF3F\\uDF56-\\uDF5F\\uDF68-\\uDFFF]|\\uD802[\\uDC06\\uDC07\\uDC09\\uDC36\\uDC39-\\uDC3B\\uDC3D\\uDC3E\\uDC56-\\uDC5F\\uDC77-\\uDC7F\\uDC9F-\\uDCDF\\uDCF3\\uDCF6-\\uDCFF\\uDD16-\\uDD1F\\uDD3A-\\uDD7F\\uDDB8-\\uDDBD\\uDDC0-\\uDDFF\\uDE04\\uDE07-\\uDE0B\\uDE14\\uDE18\\uDE36\\uDE37\\uDE3B-\\uDE3E\\uDE40-\\uDE5F\\uDE7D-\\uDE7F\\uDE9D-\\uDEBF\\uDEC8\\uDEE7-\\uDEFF\\uDF36-\\uDF3F\\uDF56-\\uDF5F\\uDF73-\\uDF7F\\uDF92-\\uDFFF]|\\uD803[\\uDC49-\\uDC7F\\uDCB3-\\uDCBF\\uDCF3-\\uDCFF\\uDD28-\\uDD2F\\uDD3A-\\uDE7F\\uDEAA\\uDEAD-\\uDEAF\\uDEB2-\\uDEFF\\uDF1D-\\uDF26\\uDF28-\\uDF2F\\uDF51-\\uDFAF\\uDFC5-\\uDFDF\\uDFF7-\\uDFFF]|\\uD804[\\uDC47-\\uDC65\\uDC70-\\uDC7E\\uDCBB-\\uDCCF\\uDCE9-\\uDCEF\\uDCFA-\\uDCFF\\uDD35\\uDD40-\\uDD43\\uDD48-\\uDD4F\\uDD74\\uDD75\\uDD77-\\uDD7F\\uDDC5-\\uDDC8\\uDDCD\\uDDDB\\uDDDD-\\uDDFF\\uDE12\\uDE38-\\uDE3D\\uDE3F-\\uDE7F\\uDE87\\uDE89\\uDE8E\\uDE9E\\uDEA9-\\uDEAF\\uDEEB-\\uDEEF\\uDEFA-\\uDEFF\\uDF04\\uDF0D\\uDF0E\\uDF11\\uDF12\\uDF29\\uDF31\\uDF34\\uDF3A\\uDF45\\uDF46\\uDF49\\uDF4A\\uDF4E\\uDF4F\\uDF51-\\uDF56\\uDF58-\\uDF5C\\uDF64\\uDF65\\uDF6D-\\uDF6F\\uDF75-\\uDFFF]|\\uD805[\\uDC4B-\\uDC4F\\uDC5A-\\uDC5D\\uDC62-\\uDC7F\\uDCC6\\uDCC8-\\uDCCF\\uDCDA-\\uDD7F\\uDDB6\\uDDB7\\uDDC1-\\uDDD7\\uDDDE-\\uDDFF\\uDE41-\\uDE43\\uDE45-\\uDE4F\\uDE5A-\\uDE7F\\uDEB9-\\uDEBF\\uDECA-\\uDEFF\\uDF1B\\uDF1C\\uDF2C-\\uDF2F\\uDF3A-\\uDFFF]|\\uD806[\\uDC3B-\\uDC9F\\uDCEA-\\uDCFE\\uDD07\\uDD08\\uDD0A\\uDD0B\\uDD14\\uDD17\\uDD36\\uDD39\\uDD3A\\uDD44-\\uDD4F\\uDD5A-\\uDD9F\\uDDA8\\uDDA9\\uDDD8\\uDDD9\\uDDE2\\uDDE5-\\uDDFF\\uDE3F-\\uDE46\\uDE48-\\uDE4F\\uDE9A-\\uDE9C\\uDE9E-\\uDEBF\\uDEF9-\\uDFFF]|\\uD807[\\uDC09\\uDC37\\uDC41-\\uDC4F\\uDC5A-\\uDC71\\uDC90\\uDC91\\uDCA8\\uDCB7-\\uDCFF\\uDD07\\uDD0A\\uDD37-\\uDD39\\uDD3B\\uDD3E\\uDD48-\\uDD4F\\uDD5A-\\uDD5F\\uDD66\\uDD69\\uDD8F\\uDD92\\uDD99-\\uDD9F\\uDDAA-\\uDEDF\\uDEF7-\\uDFAF\\uDFB1-\\uDFFF]|\\uD808[\\uDF9A-\\uDFFF]|\\uD809[\\uDC6F-\\uDC7F\\uDD44-\\uDFFF]|[\\uD80A\\uD80B\\uD80E-\\uD810\\uD812-\\uD819\\uD824-\\uD82B\\uD82D\\uD82E\\uD830-\\uD833\\uD837\\uD839\\uD83D\\uD83F\\uD87B-\\uD87D\\uD87F\\uD885-\\uDB3F\\uDB41-\\uDBFF][\\uDC00-\\uDFFF]|\\uD80D[\\uDC2F-\\uDFFF]|\\uD811[\\uDE47-\\uDFFF]|\\uD81A[\\uDE39-\\uDE3F\\uDE5F\\uDE6A-\\uDECF\\uDEEE\\uDEEF\\uDEF5-\\uDEFF\\uDF37-\\uDF3F\\uDF44-\\uDF4F\\uDF5A-\\uDF62\\uDF78-\\uDF7C\\uDF90-\\uDFFF]|\\uD81B[\\uDC00-\\uDE3F\\uDE80-\\uDEFF\\uDF4B-\\uDF4E\\uDF88-\\uDF8E\\uDFA0-\\uDFDF\\uDFE2\\uDFE5-\\uDFEF\\uDFF2-\\uDFFF]|\\uD821[\\uDFF8-\\uDFFF]|\\uD823[\\uDCD6-\\uDCFF\\uDD09-\\uDFFF]|\\uD82C[\\uDD1F-\\uDD4F\\uDD53-\\uDD63\\uDD68-\\uDD6F\\uDEFC-\\uDFFF]|\\uD82F[\\uDC6B-\\uDC6F\\uDC7D-\\uDC7F\\uDC89-\\uDC8F\\uDC9A-\\uDC9C\\uDC9F-\\uDFFF]|\\uD834[\\uDC00-\\uDD64\\uDD6A-\\uDD6C\\uDD73-\\uDD7A\\uDD83\\uDD84\\uDD8C-\\uDDA9\\uDDAE-\\uDE41\\uDE45-\\uDFFF]|\\uD835[\\uDC55\\uDC9D\\uDCA0\\uDCA1\\uDCA3\\uDCA4\\uDCA7\\uDCA8\\uDCAD\\uDCBA\\uDCBC\\uDCC4\\uDD06\\uDD0B\\uDD0C\\uDD15\\uDD1D\\uDD3A\\uDD3F\\uDD45\\uDD47-\\uDD49\\uDD51\\uDEA6\\uDEA7\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3\\uDFCC\\uDFCD]|\\uD836[\\uDC00-\\uDDFF\\uDE37-\\uDE3A\\uDE6D-\\uDE74\\uDE76-\\uDE83\\uDE85-\\uDE9A\\uDEA0\\uDEB0-\\uDFFF]|\\uD838[\\uDC07\\uDC19\\uDC1A\\uDC22\\uDC25\\uDC2B-\\uDCFF\\uDD2D-\\uDD2F\\uDD3E\\uDD3F\\uDD4A-\\uDD4D\\uDD4F-\\uDEBF\\uDEFA-\\uDFFF]|\\uD83A[\\uDCC5-\\uDCCF\\uDCD7-\\uDCFF\\uDD4C-\\uDD4F\\uDD5A-\\uDFFF]|\\uD83B[\\uDC00-\\uDDFF\\uDE04\\uDE20\\uDE23\\uDE25\\uDE26\\uDE28\\uDE33\\uDE38\\uDE3A\\uDE3C-\\uDE41\\uDE43-\\uDE46\\uDE48\\uDE4A\\uDE4C\\uDE50\\uDE53\\uDE55\\uDE56\\uDE58\\uDE5A\\uDE5C\\uDE5E\\uDE60\\uDE63\\uDE65\\uDE66\\uDE6B\\uDE73\\uDE78\\uDE7D\\uDE7F\\uDE8A\\uDE9C-\\uDEA0\\uDEA4\\uDEAA\\uDEBC-\\uDFFF]|\\uD83C[\\uDC00-\\uDD2F\\uDD4A-\\uDD4F\\uDD6A-\\uDD6F\\uDD8A-\\uDFFF]|\\uD83E[\\uDC00-\\uDFEF\\uDFFA-\\uDFFF]|\\uD869[\\uDEDE-\\uDEFF]|\\uD86D[\\uDF35-\\uDF3F]|\\uD86E[\\uDC1E\\uDC1F]|\\uD873[\\uDEA2-\\uDEAF]|\\uD87A[\\uDFE1-\\uDFFF]|\\uD87E[\\uDE1E-\\uDFFF]|\\uD884[\\uDF4B-\\uDFFF]|\\uDB40[\\uDC00-\\uDCFF\\uDDF0-\\uDFFF]/g\n","import { regex } from './regex.js'\n\nconst own = Object.hasOwnProperty\n\n/**\n * Slugger.\n */\nexport default class BananaSlug {\n /**\n * Create a new slug class.\n */\n constructor () {\n /** @type {Record} */\n // eslint-disable-next-line no-unused-expressions\n this.occurrences\n\n this.reset()\n }\n\n /**\n * Generate a unique slug.\n *\n * Tracks previously generated slugs: repeated calls with the same value\n * will result in different slugs.\n * Use the `slug` function to get same slugs.\n *\n * @param {string} value\n * String of text to slugify\n * @param {boolean} [maintainCase=false]\n * Keep the current case, otherwise make all lowercase\n * @return {string}\n * A unique slug string\n */\n slug (value, maintainCase) {\n const self = this\n let result = slug(value, maintainCase === true)\n const originalSlug = result\n\n while (own.call(self.occurrences, result)) {\n self.occurrences[originalSlug]++\n result = originalSlug + '-' + self.occurrences[originalSlug]\n }\n\n self.occurrences[result] = 0\n\n return result\n }\n\n /**\n * Reset - Forget all previous slugs\n *\n * @return void\n */\n reset () {\n this.occurrences = Object.create(null)\n }\n}\n\n/**\n * Generate a slug.\n *\n * Does not track previously generated slugs: repeated calls with the same value\n * will result in the exact same slug.\n * Use the `GithubSlugger` class to get unique slugs.\n *\n * @param {string} value\n * String of text to slugify\n * @param {boolean} [maintainCase=false]\n * Keep the current case, otherwise make all lowercase\n * @return {string}\n * A unique slug string\n */\nexport function slug (value, maintainCase) {\n if (typeof value !== 'string') return ''\n if (!maintainCase) value = value.toLowerCase()\n return value.replace(regex, '').replace(/ /g, '-')\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Content} Content\n */\n\n/**\n * @typedef {Root | Content} Node\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Check if `node`is an element and has a `field` property.\n *\n * @param {unknown} node\n * Thing to check (typically `Element`).\n * @param {unknown} field\n * Field name to check (typically `string`).\n * @returns {boolean}\n * Whether `node` is an element that has a `field` property.\n */\nexport function hasProperty(node, field) {\n const value =\n typeof field === 'string' &&\n isNode(node) &&\n node.type === 'element' &&\n node.properties &&\n own.call(node.properties, field) &&\n node.properties[field]\n\n return value !== null && value !== undefined && value !== false\n}\n\n/**\n * @param {unknown} value\n * @returns {value is Node}\n */\nfunction isNode(value) {\n return Boolean(value && typeof value === 'object' && 'type' in value)\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Content} Content\n */\n\n/**\n * @typedef {Root | Content} Node\n */\n\n// To do next major: return `undefined`.\n/**\n * Get the rank (`1` to `6`) of headings (`h1` to `h6`).\n *\n * @param {Node} node\n * Node to check.\n * @returns {number | null}\n * Rank of the heading or `null` if not a heading.\n */\nexport function headingRank(node) {\n const name =\n (node && node.type === 'element' && node.tagName.toLowerCase()) || ''\n const code =\n name.length === 2 && name.charCodeAt(0) === 104 /* `h` */\n ? name.charCodeAt(1)\n : 0\n return code > 48 /* `0` */ && code < 55 /* `7` */ ? code - 48 /* `0` */ : null\n}\n","/**\n * @fileoverview\n * Get the plain-text value of a hast node.\n * @longdescription\n * ## Use\n *\n * ```js\n * import {h} from 'hastscript'\n * import {toString} from 'hast-util-to-string'\n *\n * toString(h('p', 'Alpha'))\n * //=> 'Alpha'\n * toString(h('div', [h('b', 'Bold'), ' and ', h('i', 'italic'), '.']))\n * //=> 'Bold and italic.'\n * ```\n *\n * ## API\n *\n * ### `toString(node)`\n *\n * Transform a node to a string.\n */\n\n/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Element} Element\n * @typedef {Root|Root['children'][number]} Node\n */\n\n/**\n * Get the plain-text value of a hast node.\n *\n * @param {Node} node\n * @returns {string}\n */\nexport function toString(node) {\n // “The concatenation of data of all the Text node descendants of the context\n // object, in tree order.”\n if ('children' in node) {\n return all(node)\n }\n\n // “Context object’s data.”\n return 'value' in node ? node.value : ''\n}\n\n/**\n * @param {Node} node\n * @returns {string}\n */\nfunction one(node) {\n if (node.type === 'text') {\n return node.value\n }\n\n return 'children' in node ? all(node) : ''\n}\n\n/**\n * @param {Root|Element} node\n * @returns {string}\n */\nfunction all(node) {\n let index = -1\n /** @type {string[]} */\n const result = []\n\n while (++index < node.children.length) {\n result[index] = one(node.children[index])\n }\n\n return result.join('')\n}\n","/**\n * @typedef {import('hast').Root} Root\n */\n\n/**\n * @typedef Options\n * Configuration (optional).\n * @property {string} [prefix='']\n * Prefix to add in front of `id`s.\n */\n\nimport Slugger from 'github-slugger'\nimport {hasProperty} from 'hast-util-has-property'\nimport {headingRank} from 'hast-util-heading-rank'\nimport {toString} from 'hast-util-to-string'\nimport {visit} from 'unist-util-visit'\n\nconst slugs = new Slugger()\n\n/**\n * Plugin to add `id`s to headings.\n *\n * @type {import('unified').Plugin<[Options?]|Array, Root>}\n */\nexport default function rehypeSlug(options = {}) {\n const prefix = options.prefix || ''\n\n return (tree) => {\n slugs.reset()\n\n visit(tree, 'element', (node) => {\n if (headingRank(node) && node.properties && !hasProperty(node, 'id')) {\n node.properties.id = prefix + slugs.slug(toString(node))\n }\n })\n }\n}\n","/**\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('hast').Element} Element\n */\n\n/**\n * @typedef {null | undefined | string | TestFunctionAnything | Array} Test\n * Check for an arbitrary element, unaware of TypeScript inferral.\n *\n * @callback TestFunctionAnything\n * Check if an element passes a test, unaware of TypeScript inferral.\n * @param {Element} element\n * An element.\n * @param {number | null | undefined} [index]\n * The element’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The element’s parent.\n * @returns {boolean | void}\n * Whether this element passes the test.\n */\n\n/**\n * @template {Element} T\n * Element type.\n * @typedef {T['tagName'] | TestFunctionPredicate | Array>} PredicateTest\n * Check for an element that can be inferred by TypeScript.\n */\n\n/**\n * Check if an element passes a certain node test.\n *\n * @template {Element} T\n * Element type.\n * @callback TestFunctionPredicate\n * Complex test function for an element that can be inferred by TypeScript.\n * @param {Element} element\n * An element.\n * @param {number | null | undefined} [index]\n * The element’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The element’s parent.\n * @returns {element is T}\n * Whether this element passes the test.\n */\n\n/**\n * @callback AssertAnything\n * Check that an arbitrary value is an element, unaware of TypeScript inferral.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean}\n * Whether this is an element and passes a test.\n */\n\n/**\n * Check if a node is an element and passes a certain node test\n *\n * @template {Element} T\n * Element type.\n * @callback AssertPredicate\n * Check that an arbitrary value is a specific element, aware of TypeScript.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {node is T}\n * Whether this is an element and passes a test.\n */\n\n/**\n * Check if `node` is an `Element` and whether it passes the given test.\n *\n * @param node\n * Thing to check, typically `Node`.\n * @param test\n * A check for a specific element.\n * @param index\n * The node’s position in its parent.\n * @param parent\n * The node’s parent.\n * @returns\n * Whether `node` is an element and passes a test.\n */\nexport const isElement =\n /**\n * @type {(\n * (() => false) &\n * ((node: unknown, test?: PredicateTest, index?: number, parent?: Parent, context?: unknown) => node is T) &\n * ((node: unknown, test: Test, index?: number, parent?: Parent, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [node]\n * @param {Test | undefined} [test]\n * @param {number | null | undefined} [index]\n * @param {Parent | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function (node, test, index, parent, context) {\n const check = convertElement(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 for child node')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!parent.type || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n // @ts-expect-error Looks like a node.\n if (!node || !node.type || typeof node.type !== 'string') {\n return false\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 return check.call(context, node, index, parent)\n }\n )\n\n/**\n * Generate an assertion from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * a `node`, `index`, and `parent`.\n *\n * @param test\n * * When nullish, checks if `node` is an `Element`.\n * * When `string`, works like passing `(element) => element.tagName === test`.\n * * When `function` checks if function passed the element is true.\n * * When `array`, checks any one of the subtests pass.\n * @returns\n * An assertion.\n */\nexport const convertElement =\n /**\n * @type {(\n * ((test: T['tagName'] | TestFunctionPredicate) => AssertPredicate) &\n * ((test?: Test) => AssertAnything)\n * )}\n */\n (\n /**\n * @param {Test | null | undefined} [test]\n * @returns {AssertAnything}\n */\n function (test) {\n if (test === undefined || test === null) {\n return element\n }\n\n if (typeof test === 'string') {\n return tagNameFactory(test)\n }\n\n if (typeof test === 'object') {\n return anyFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or array as test')\n }\n )\n\n/**\n * Handle multiple tests.\n *\n * @param {Array} tests\n * @returns {AssertAnything}\n */\nfunction anyFactory(tests) {\n /** @type {Array} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convertElement(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @param {Array} 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)) {\n return true\n }\n }\n\n return false\n }\n}\n\n/**\n * Turn a string into a test for an element with a certain tag name.\n *\n * @param {string} check\n * @returns {AssertAnything}\n */\nfunction tagNameFactory(check) {\n return tagName\n\n /**\n * @param {unknown} node\n * @returns {boolean}\n */\n function tagName(node) {\n return element(node) && node.tagName === check\n }\n}\n\n/**\n * Turn a custom test into a test for an element that passes that test.\n *\n * @param {TestFunctionAnything} check\n * @returns {AssertAnything}\n */\nfunction castFactory(check) {\n return assertion\n\n /**\n * @this {unknown}\n * @param {unknown} node\n * @param {Array} parameters\n * @returns {boolean}\n */\n function assertion(node, ...parameters) {\n // @ts-expect-error: fine.\n return element(node) && Boolean(check.call(this, node, ...parameters))\n }\n}\n\n/**\n * Make sure something is an element.\n *\n * @param {unknown} node\n * @returns {node is Element}\n */\nfunction element(node) {\n return Boolean(\n node &&\n typeof node === 'object' &&\n // @ts-expect-error Looks like a node.\n node.type === 'element' &&\n // @ts-expect-error Looks like an element.\n typeof node.tagName === 'string'\n )\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Parent} Parent\n * @typedef {import('hast').Element} Element\n * @typedef {Element['children'][number]} ElementChild\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast-util-is-element').Test} Test\n *\n * @typedef {'prepend'|'append'|'wrap'|'before'|'after'} Behavior\n *\n * @callback Build\n * @param {Element} node\n * @returns {ElementChild|ElementChild[]}\n *\n * @typedef Options\n * Configuration.\n * @property {Behavior} [behavior='prepend']\n * How to create links.\n * @property {Behavior} [behaviour]\n * Please use `behavior` instead\n * @property {Properties} [properties]\n * Extra properties to set on the link when injecting.\n * Defaults to `{ariaHidden: true, tabIndex: -1}` when `'prepend'` or\n * `'append'`.\n * @property {ElementChild|ElementChild[]|Build} [content={type: 'element', tagName: 'span', properties: {className: ['icon', 'icon-link']}, children: []}]\n * hast nodes to insert in the link.\n * @property {ElementChild|ElementChild[]|Build} [group]\n * hast node to wrap the heading and link with, if `behavior` is `'before'` or\n * `'after'`.\n * There is no default.\n * @property {Test} [test]\n * Test to define which heading elements are linked.\n * Any test that can be given to `hast-util-is-element` is supported.\n * The default (no test) is to link all headings.\n * Can be used to link only h1-h3, or for example all except h1.\n */\n\nimport extend from 'extend'\nimport {hasProperty} from 'hast-util-has-property'\nimport {headingRank} from 'hast-util-heading-rank'\nimport {convertElement} from 'hast-util-is-element'\nimport {visit, SKIP} from 'unist-util-visit'\n\n/** @type {Element} */\nconst contentDefaults = {\n type: 'element',\n tagName: 'span',\n properties: {className: ['icon', 'icon-link']},\n children: []\n}\n\n/**\n * Plugin to automatically add links to headings (h1-h6).\n *\n * @type {import('unified').Plugin<[Options?]|void[], Root>}\n */\nexport default function rehypeAutolinkHeadings(options = {}) {\n let props = options.properties\n const behavior = options.behaviour || options.behavior || 'prepend'\n const content = options.content || contentDefaults\n const group = options.group\n const is = convertElement(options.test)\n\n /** @type {import('unist-util-visit/complex-types').Visitor} */\n let method\n\n if (behavior === 'wrap') {\n method = wrap\n } else if (behavior === 'before' || behavior === 'after') {\n method = around\n } else {\n if (!props) {\n props = {ariaHidden: 'true', tabIndex: -1}\n }\n\n method = inject\n }\n\n return (tree) => {\n visit(tree, 'element', (node, index, parent) => {\n if (\n headingRank(node) &&\n hasProperty(node, 'id') &&\n is(node, index, parent)\n ) {\n return method(node, index, parent)\n }\n })\n }\n\n /** @type {import('unist-util-visit/complex-types').Visitor} */\n function inject(node) {\n node.children[behavior === 'prepend' ? 'unshift' : 'push'](\n create(node, extend(true, {}, props), toChildren(content, node))\n )\n\n return [SKIP]\n }\n\n /** @type {import('unist-util-visit/complex-types').Visitor} */\n function around(node, index, parent) {\n // Uncommon.\n /* c8 ignore next */\n if (typeof index !== 'number' || !parent) return\n\n const link = create(\n node,\n extend(true, {}, props),\n toChildren(content, node)\n )\n let nodes = behavior === 'before' ? [link, node] : [node, link]\n\n if (group) {\n const grouping = toNode(group, node)\n\n if (grouping && !Array.isArray(grouping) && grouping.type === 'element') {\n grouping.children = nodes\n nodes = [grouping]\n }\n }\n\n parent.children.splice(index, 1, ...nodes)\n\n return [SKIP, index + nodes.length]\n }\n\n /** @type {import('unist-util-visit/complex-types').Visitor} */\n function wrap(node) {\n node.children = [create(node, extend(true, {}, props), node.children)]\n return [SKIP]\n }\n\n /**\n * @param {ElementChild|ElementChild[]|Build} value\n * @param {Element} node\n * @returns {ElementChild[]}\n */\n function toChildren(value, node) {\n const result = toNode(value, node)\n return Array.isArray(result) ? result : [result]\n }\n\n /**\n * @param {ElementChild|ElementChild[]|Build} value\n * @param {Element} node\n * @returns {ElementChild|ElementChild[]}\n */\n function toNode(value, node) {\n if (typeof value === 'function') return value(node)\n return extend(true, Array.isArray(value) ? [] : {}, value)\n }\n\n /**\n * @param {Element} node\n * @param {Properties} props\n * @param {ElementChild[]} children\n * @returns {Element}\n */\n function create(node, props, children) {\n return {\n type: 'element',\n tagName: 'a',\n properties: Object.assign({}, props, {\n // Fix hast types and make them required.\n /* c8 ignore next */\n href: '#' + (node.properties || {}).id\n }),\n children\n }\n }\n}\n","import { Element, Comment, Literal, ElementContent, RootContent, Properties } from 'hast';\nimport { RehypeAttrsOptions } from './';\n\nexport const getURLParameters = (url: string = '') =>\n ((url.match(/([^?=&]+)(=([^&]*))/g) || []) as string[]).reduce(\n (a: Record, v: string) => (\n (a[v.slice(0, v.indexOf('=')) as keyof typeof a] = v.slice(v.indexOf('=') + 1)), a\n ),\n {}\n )\n\nexport const prevChild = (data: Literal[] = [], index: number): Comment | undefined => {\n let i = index;\n while (i > -1) {\n i--;\n if (!data[i]) return\n if ((data[i] && data[i].value && (data[i].value as string).replace(/(\\n|\\s)/g, '') !== '') || data[i].type !== 'text') {\n if (!/^rehype:/.test(data[i].value as string) || (data[i].type as string) !== 'comment') return;\n return data[i] as unknown as Comment;\n }\n }\n return;\n}\n\nexport const nextChild = (data: RootContent[] | ElementContent[] = [], index: number, tagName?: string, codeBlockParames?: boolean): ElementContent | undefined => {\n let i = index;\n while (i < data.length) {\n i++;\n if (tagName) {\n const element = data[i] as Literal & Element;\n if (element && element.value && (element.value as string).replace(/(\\n|\\s)/g, '') !== '' || data[i] && (data[i].type as string) === 'element') {\n return element.tagName === tagName ? element : undefined\n }\n } else {\n const element = data[i] as ElementContent & Literal;\n if (!element || element.type === 'element') return;\n if (element.type === 'text' && element.value.replace(/(\\n|\\s)/g, '') !== '') return;\n if (element.type && /^(comment|raw)$/ig.test(element.type)) {\n if (element.value && !/^rehype:/.test(element.value.replace(/^(\\s+)?/, '$2') || '')) {\n return\n };\n if (codeBlockParames) {\n const nextNode = nextChild(data, i, 'pre', codeBlockParames)\n if (nextNode) return;\n element.value = (element.value || '').replace(/^(\\n|\\s)+/, '')\n return element;\n } else {\n element.value = (element.value || '').replace(/^(\\n|\\s)+/, '')\n return element;\n }\n }\n }\n }\n return\n}\n\n/**\n * 获取代码注视的位置\n * @param data 数据\n * @param index 当前数据所在的位置\n * @returns 返回 当前参数数据 Object,`{}`\n */\nexport const getCommentObject = ({ value = '' }: Comment): Properties => {\n const param = getURLParameters(value.replace(/^/, '$1').replace(/^rehype:/, ''));\n Object.keys(param).forEach((keyName: string) => {\n if (param[keyName] === 'true') {\n param[keyName] = true;\n }\n if (param[keyName] === 'false') {\n param[keyName] = false;\n }\n if (typeof param[keyName] === 'string' && !/^0/.test(param[keyName] as string) && !isNaN(+param[keyName])) {\n param[keyName] = +param[keyName];\n }\n })\n return param;\n}\n\nexport type DataConfig = {\n 'data-config': Properties\n}\n\nexport const propertiesHandle = (defaultAttrs?: Properties | null, attrs?: Properties, type?: RehypeAttrsOptions['properties']): Properties | DataConfig => {\n if (type === 'string') {\n return { ...defaultAttrs, 'data-config': JSON.stringify({ ...attrs, rehyp: true })}\n } else if (type === 'attr') {\n return { ...defaultAttrs, ...attrs}\n }\n return { ...defaultAttrs, 'data-config': { ...attrs, rehyp: true }}\n}","import { Plugin } from 'unified';\nimport { Root, Element, Comment, Properties, Literal } from 'hast';\nimport { visit } from 'unist-util-visit';\nimport { propertiesHandle, nextChild, prevChild, getCommentObject } from './utils';\n\nexport type RehypeAttrsOptions = {\n /**\n * ## `data`\n * \n * ```markdown\n * text\n * \n * ```\n * 👇👇👇👇👇\n * ```html\n *

text

\n * ```\n * \n * ## `string`\n * \n * ```markdown\n * text\n * \n * ```\n * \n * 👇👇👇👇👇\n * \n * ```html\n *

text

\n * ```\n * \n * ## attr\n * \n * ```markdown\n * text\n * \n * ```\n * 👇👇👇👇👇\n * ```html\n *

text

\n * ```\n * @default `data`\n */\n properties?: 'data' | 'string' | 'attr';\n /**\n * Code block passing parameters\n */\n codeBlockParames?: boolean;\n}\n\nconst rehypeAttrs: Plugin<[RehypeAttrsOptions?], Root> = (options = {}) => {\n const { properties = 'data', codeBlockParames = true } = options;\n return (tree) => {\n visit(tree, 'element', (node, index, parent) => {\n if (codeBlockParames && node.tagName === 'pre' && node && Array.isArray(node.children) && parent && Array.isArray(parent.children) && parent.children.length > 1) {\n const firstChild = node.children[0] as Element;\n if (firstChild && firstChild.tagName === 'code' && typeof index === 'number') {\n const child = prevChild(parent.children as Literal[], index);\n if (child) {\n const attr = getCommentObject(child);\n if (Object.keys(attr).length > 0) {\n node.properties = { ...node.properties, ...{ 'data-type': 'rehyp' } }\n firstChild.properties = propertiesHandle(firstChild.properties, attr, properties) as Properties\n }\n }\n }\n }\n\n if (/^(em|strong|b|a|i|p|pre|kbd|blockquote|h(1|2|3|4|5|6)|code|table|img|del|ul|ol)$/.test(node.tagName) && parent && Array.isArray(parent.children) && typeof index === 'number') {\n const child = nextChild(parent.children, index, '', codeBlockParames)\n if (child) {\n const attr = getCommentObject(child as Comment)\n if (Object.keys(attr).length > 0) {\n node.properties = propertiesHandle(node.properties, attr, properties) as Properties\n }\n }\n }\n });\n }\n}\n\n\nexport default rehypeAttrs\n","import type { Plugin } from 'unified';\nimport type { Root, RootContent, Literal } from 'hast';\nimport { visit } from 'unist-util-visit';\n\n/**\n * Raw string of HTML embedded into HTML AST.\n */\nexport interface Raw extends Literal {\n /**\n * Node type.\n */\n type: 'raw'\n}\n\n// Register nodes in content.\ndeclare module 'hast' {\n interface RootContentMap {\n /**\n * Raw string of HTML embedded into HTML AST.\n */\n raw: Raw\n }\n interface ElementContentMap {\n /**\n * Raw string of HTML embedded into HTML AST.\n */\n raw: Raw\n }\n}\n\n\nexport type RehypeIgnoreOptions = {\n /**\n * Character to use for opening delimiter, by default `rehype:ignore:start`\n */\n openDelimiter?: string;\n /**\n * Character to use for closing delimiter, by default `rehype:ignore:end`\n */\n closeDelimiter?: string;\n}\n\nconst rehypeIgnore: Plugin<[RehypeIgnoreOptions?], Root> = (options = {}) => {\n const { openDelimiter = 'rehype:ignore:start', closeDelimiter = 'rehype:ignore:end' } = options;\n return (tree) => {\n visit(tree, (node: Root | RootContent, index, parent) => {\n if (node.type === 'element' || node.type === 'root') {\n // const start = node.children.findIndex((item) => item.type === 'comment' && item.value === openDelimiter);\n // const end = node.children.findIndex((item) => item.type === 'comment' && item.value === closeDelimiter);\n // if (start > -1 && end > -1) {\n // node.children = node.children.filter((_, idx) => idx < start || idx > end);\n // }\n let start = false;\n node.children = node.children.filter((item) => {\n if (item.type === 'raw' || item.type === 'comment') {\n let str = (item.value || '').trim();\n str = str.replace(/^/, '$1')\n if (str === openDelimiter) {\n start = true;\n return false;\n }\n if (str === closeDelimiter) {\n start = false;\n return false;\n }\n }\n \n return !start;\n })\n }\n });\n }\n}\n\nexport default rehypeIgnore;\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [cascade=true]\n * Whether to drop parent nodes if they had children, but all their children\n * were filtered out.\n */\n\nimport {convert} from 'unist-util-is'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Create a new `tree` of copies of all nodes that pass `test`.\n *\n * The tree is walked in *preorder* (NLR), visiting the node itself, then its\n * head, etc.\n *\n * @param tree\n * Tree to filter.\n * @param options\n * Configuration (optional).\n * @param test\n * `unist-util-is` compatible test.\n * @returns\n * New filtered tree.\n *\n * `null` is returned if `tree` itself didn’t pass the test, or is cascaded\n * away.\n */\nexport const filter =\n /**\n * @type {(\n * ((node: Tree, options: Options | null | undefined, test: Check | null | undefined) => import('./complex-types.js').Matches) &\n * ((node: Tree, test: Check) => import('./complex-types.js').Matches) &\n * ((node: Tree, options?: Options | null | undefined) => Tree)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Options | Test | null | undefined} [options]\n * @param {Test | null | undefined} [test]\n * @returns {Node | null}\n */\n function (tree, options, test) {\n const is = convert(test || options)\n /** @type {boolean | null | undefined} */\n const cascadeRaw =\n options && typeof options === 'object' && 'cascade' in options\n ? /** @type {boolean | null | undefined} */ (options.cascade)\n : undefined\n const cascade =\n cascadeRaw === undefined || cascadeRaw === null ? true : cascadeRaw\n\n return preorder(tree)\n\n /**\n * @param {Node} node\n * Current node.\n * @param {number | undefined} [index]\n * Index of `node` in `parent`.\n * @param {Parent | undefined} [parent]\n * Parent node.\n * @returns {Node | null}\n * Shallow copy of `node`.\n */\n function preorder(node, index, parent) {\n /** @type {Array} */\n const children = []\n\n if (!is(node, index, parent)) return null\n\n // @ts-expect-error: Looks like a parent.\n if (node.children) {\n let childIndex = -1\n\n // @ts-expect-error Looks like a parent.\n while (++childIndex < node.children.length) {\n // @ts-expect-error Looks like a parent.\n const result = preorder(node.children[childIndex], childIndex, node)\n\n if (result) {\n children.push(result)\n }\n }\n\n // @ts-expect-error Looks like a parent.\n if (cascade && node.children.length > 0 && children.length === 0)\n return null\n }\n\n // Create a shallow clone, using the new children.\n /** @type {typeof node} */\n // @ts-expect-error all the fields will be copied over.\n const next = {}\n /** @type {string} */\n let key\n\n for (key in node) {\n if (own.call(node, key)) {\n // @ts-expect-error: Looks like a record.\n next[key] = key === 'children' ? children : node[key]\n }\n }\n\n return next\n }\n }\n )\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef Options options\n * Configuration.\n * @property {boolean} [showLineNumbers]\n * Set `showLineNumbers` to `true` to always display line number\n * @property {boolean} [ignoreMissing]\n * Set `ignoreMissing` to `true` to ignore unsupported languages and line highlighting when no language is specified\n */\n\nimport { visit } from 'unist-util-visit'\nimport { toString } from 'hast-util-to-string'\nimport { filter } from 'unist-util-filter'\nimport rangeParser from 'parse-numeric-range'\n\n/**\n * @param {Element} node\n * @return {string|null}\n */\nconst getLanguage = (node) => {\n const className = node.properties.className\n //@ts-ignore\n for (const classListItem of className) {\n if (classListItem.slice(0, 9) === 'language-') {\n return classListItem.slice(9).toLowerCase()\n }\n }\n return null\n}\n\n/**\n * Create a closure that determines if we have to highlight the given index\n *\n * @param {string} meta\n * @return { (index:number) => boolean }\n */\nconst calculateLinesToHighlight = (meta) => {\n const RE = /{([\\d,-]+)}/\n // Remove space between {} e.g. {1, 3}\n const parsedMeta = meta\n .split(',')\n .map((str) => str.trim())\n .join()\n if (RE.test(parsedMeta)) {\n const strlineNumbers = RE.exec(parsedMeta)[1]\n const lineNumbers = rangeParser(strlineNumbers)\n return (index) => lineNumbers.includes(index + 1)\n } else {\n return () => false\n }\n}\n\n/**\n * Check if we want to start the line numbering from a given number or 1\n * showLineNumbers=5, will start the numbering from 5\n * @param {string} meta\n * @returns {number}\n */\nconst calculateStartingLine = (meta) => {\n const RE = /showLineNumbers=(?\\d+)/i\n // pick the line number after = using a named capturing group\n if (RE.test(meta)) {\n const {\n groups: { lines },\n } = RE.exec(meta)\n return Number(lines)\n }\n return 1\n}\n\n/**\n * Create container AST for node lines\n *\n * @param {number} number\n * @return {Element[]}\n */\nconst createLineNodes = (number) => {\n const a = new Array(number)\n for (let i = 0; i < number; i++) {\n a[i] = {\n type: 'element',\n tagName: 'span',\n properties: { className: [] },\n children: [],\n }\n }\n return a\n}\n\n/**\n * Split multiline text nodes into individual nodes with positioning\n * Add a node start and end line position information for each text node\n *\n * @return { (ast:Element['children']) => Element['children'] }\n *\n */\nconst addNodePositionClosure = () => {\n let startLineNum = 1\n /**\n * @param {Element['children']} ast\n * @return {Element['children']}\n */\n const addNodePosition = (ast) => {\n return ast.reduce((result, node) => {\n if (node.type === 'text') {\n const value = /** @type {string} */ (node.value)\n const numLines = (value.match(/\\n/g) || '').length\n if (numLines === 0) {\n node.position = {\n // column: 1 is needed to avoid error with @next/mdx\n // https://github.com/timlrx/rehype-prism-plus/issues/44\n start: { line: startLineNum, column: 1 },\n end: { line: startLineNum, column: 1 },\n }\n result.push(node)\n } else {\n const lines = value.split('\\n')\n for (const [i, line] of lines.entries()) {\n result.push({\n type: 'text',\n value: i === lines.length - 1 ? line : line + '\\n',\n position: {\n start: { line: startLineNum + i, column: 1 },\n end: { line: startLineNum + i, column: 1 },\n },\n })\n }\n }\n startLineNum = startLineNum + numLines\n\n return result\n }\n\n if (Object.prototype.hasOwnProperty.call(node, 'children')) {\n const initialLineNum = startLineNum\n // @ts-ignore\n node.children = addNodePosition(node.children, startLineNum)\n result.push(node)\n node.position = {\n start: { line: initialLineNum, column: 1 },\n end: { line: startLineNum, column: 1 },\n }\n return result\n }\n\n result.push(node)\n return result\n }, [])\n }\n return addNodePosition\n}\n\n/**\n * Rehype prism plugin generator that highlights code blocks with refractor (prismjs)\n *\n * Pass in your own refractor object with the required languages registered:\n * https://github.com/wooorm/refractor#refractorregistersyntax\n *\n * @param {import('refractor/lib/core').Refractor} refractor\n * @return {import('unified').Plugin<[Options?], Root>}\n */\nconst rehypePrismGenerator = (refractor) => {\n return (options = {}) => {\n return (tree) => {\n visit(tree, 'element', visitor)\n }\n\n /**\n * @param {Element} node\n * @param {number} index\n * @param {Element} parent\n */\n function visitor(node, index, parent) {\n if (!parent || parent.tagName !== 'pre' || node.tagName !== 'code') {\n return\n }\n\n let meta = /** @type {string} */ (node?.data?.meta || node?.properties?.metastring || '')\n // Coerce className to array\n if (node.properties.className) {\n if (typeof node.properties.className === 'boolean') {\n node.properties.className = []\n } else if (!Array.isArray(node.properties.className)) {\n node.properties.className = [node.properties.className]\n }\n } else {\n node.properties.className = []\n }\n node.properties.className.push('code-highlight')\n const lang = getLanguage(node)\n\n /** @type {Element} */\n let refractorRoot\n\n // Syntax highlight\n if (lang) {\n try {\n let rootLang\n if (lang?.includes('diff-')){\n rootLang=lang.split('-')[1]\n } else{\n rootLang=lang\n }\n // @ts-ignore\n refractorRoot = refractor.highlight(toString(node), rootLang)\n // @ts-ignore className is already an array\n parent.properties.className = (parent.properties.className || []).concat(\n 'language-' + rootLang\n )\n } catch (err) {\n if (options.ignoreMissing && /Unknown language/.test(err.message)) {\n refractorRoot = node\n } else {\n throw err\n }\n }\n } else {\n refractorRoot = node\n }\n\n refractorRoot.children = addNodePositionClosure()(refractorRoot.children)\n\n // Add position info to root\n if (refractorRoot.children.length > 0) {\n refractorRoot.position = {\n start: { line: refractorRoot.children[0].position.start.line, column: 0 },\n end: {\n line: refractorRoot.children[refractorRoot.children.length - 1].position.end.line,\n column: 0,\n },\n }\n } else {\n refractorRoot.position = {\n start: { line: 0, column: 0 },\n end: { line: 0, column: 0 },\n }\n }\n\n const shouldHighlightLine = calculateLinesToHighlight(meta)\n const startingLineNumber = calculateStartingLine(meta)\n const codeLineArray = createLineNodes(refractorRoot.position.end.line)\n\n const falseShowLineNumbersStr = [\n 'showlinenumbers=false',\n 'showlinenumbers=\"false\"',\n 'showlinenumbers={false}',\n ]\n for (const [i, line] of codeLineArray.entries()) {\n // Default class name for each line\n line.properties.className = ['code-line']\n\n // Syntax highlight\n const treeExtract = filter(\n refractorRoot,\n (node) => node.position.start.line <= i + 1 && node.position.end.line >= i + 1\n )\n line.children = treeExtract.children\n\n // Line number\n if (\n (meta.toLowerCase().includes('showLineNumbers'.toLowerCase()) ||\n options.showLineNumbers) &&\n !falseShowLineNumbersStr.some((str) => meta.toLowerCase().includes(str))\n ) {\n line.properties.line = [(i + startingLineNumber).toString()]\n line.properties.className.push('line-number')\n }\n\n // Line highlight\n if (shouldHighlightLine(i)) {\n line.properties.className.push('highlight-line')\n }\n\n // Diff classes\n if ((lang === 'diff' || lang?.includes('diff-')) && toString(line).substring(0, 1) === '-') {\n line.properties.className.push('deleted')\n } else if ((lang === 'diff' || lang?.includes('diff-')) && toString(line).substring(0, 1) === '+') {\n line.properties.className.push('inserted')\n }\n }\n\n // Remove possible trailing line when splitting by \\n which results in empty array\n if (\n codeLineArray.length > 0 &&\n toString(codeLineArray[codeLineArray.length - 1]).trim() === ''\n ) {\n codeLineArray.pop()\n }\n\n node.children = codeLineArray\n }\n }\n}\n\nexport default rehypePrismGenerator\n","import { refractor as refractorAll } from 'refractor/lib/all.js'\nimport rehypePrismGenerator from './generator.js'\n\n/**\n * Rehype prism plugin that highlights code blocks with refractor (prismjs)\n * This supports all the languages and should be used on the server side.\n *\n * Consider using rehypePrismCommon or rehypePrismGenerator to generate a plugin\n * that supports your required languages.\n */\nconst rehypePrismAll = rehypePrismGenerator(refractorAll)\n\nexport default rehypePrismAll\n","import { refractor as refractorCommon } from 'refractor/lib/common.js'\nimport rehypePrismGenerator from './generator.js'\n\n/**\n * Rehype prism plugin that highlights code blocks with refractor (prismjs)\n * Supported languages: https://github.com/wooorm/refractor#data\n *\n * Consider using rehypePrismGenerator to generate a plugin\n * that supports your required languages.\n */\nconst rehypePrismCommon = rehypePrismGenerator(refractorCommon)\n\nexport default rehypePrismCommon\n","const rtlRange = '\\u0591-\\u07FF\\uFB1D-\\uFDFD\\uFE70-\\uFEFC'\nconst ltrRange =\n 'A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6' +\n '\\u00F8-\\u02B8\\u0300-\\u0590\\u0800-\\u1FFF\\u200E\\u2C00-\\uFB1C' +\n '\\uFE00-\\uFE6F\\uFEFD-\\uFFFF'\n\n/* eslint-disable no-misleading-character-class */\nconst rtl = new RegExp('^[^' + ltrRange + ']*[' + rtlRange + ']')\nconst ltr = new RegExp('^[^' + rtlRange + ']*[' + ltrRange + ']')\n/* eslint-enable no-misleading-character-class */\n\n/**\n * Detect the direction of text: left-to-right, right-to-left, or neutral\n *\n * @param {string} value\n * @returns {'rtl'|'ltr'|'neutral'}\n */\nexport function direction(value) {\n const source = String(value || '')\n return rtl.test(source) ? 'rtl' : ltr.test(source) ? 'ltr' : 'neutral'\n}\n","/**\n * @typedef {import('./types.js').SelectState} SelectState\n * @typedef {import('./types.js').Node} Node\n * @typedef {import('./types.js').ElementChild} ElementChild\n * @typedef {import('./types.js').Direction} Direction\n * @typedef {import('unist-util-visit/complex-types.js').Visitor} Visitor\n */\n\nimport {direction} from 'direction'\nimport {toString} from 'hast-util-to-string'\nimport {svg} from 'property-information'\nimport {visit, EXIT, SKIP} from 'unist-util-visit'\n\n/**\n * Enter a node.\n *\n * The caller is responsible for calling the return value `exit`.\n *\n * @param {SelectState} state\n * Current state.\n *\n * Will be mutated: `exit` undos the changes.\n * @param {Node} node\n * Node to enter.\n * @returns {() => void}\n * Call to exit.\n */\n// eslint-disable-next-line complexity\nexport function enterState(state, node) {\n const schema = state.schema\n const language = state.language\n const currentDirection = state.direction\n const editableOrEditingHost = state.editableOrEditingHost\n /** @type {Direction | undefined} */\n let dirInferred\n\n if (node.type === 'element' && node.properties) {\n const lang = node.properties.xmlLang || node.properties.lang\n const type = node.properties.type || 'text'\n const dir = dirProperty(node)\n\n if (lang !== undefined && lang !== null) {\n state.language = String(lang)\n }\n\n if (schema && schema.space === 'html') {\n if (node.properties.contentEditable === 'true') {\n state.editableOrEditingHost = true\n }\n\n if (node.tagName === 'svg') {\n state.schema = svg\n }\n\n // See: .\n // Explicit `[dir=rtl]`.\n if (dir === 'rtl') {\n dirInferred = dir\n } else if (\n // Explicit `[dir=ltr]`.\n dir === 'ltr' ||\n // HTML with an invalid or no `[dir]`.\n (dir !== 'auto' && node.tagName === 'html') ||\n // `input[type=tel]` with an invalid or no `[dir]`.\n (dir !== 'auto' && node.tagName === 'input' && type === 'tel')\n ) {\n dirInferred = 'ltr'\n // `[dir=auto]` or `bdi` with an invalid or no `[dir]`.\n } else if (dir === 'auto' || node.tagName === 'bdi') {\n if (node.tagName === 'textarea') {\n // Check contents of `