react-notion-blocks
Version:
A library for mapping Notion blocks to React components
39 lines (37 loc) • 57.9 kB
JavaScript
(function(b,C){typeof exports=="object"&&typeof module<"u"?C(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],C):(b=typeof globalThis<"u"?globalThis:b||self,C(b.NotionMapper={},b.React))})(this,function(b,C){"use strict";var He=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},be={exports:{}},ue={};/**
* @license React
* react-jsx-runtime.production.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Ye;function xt(){if(Ye)return ue;Ye=1;var e=Symbol.for("react.transitional.element"),o=Symbol.for("react.fragment");function r(d,g,j){var A=null;if(j!==void 0&&(A=""+j),g.key!==void 0&&(A=""+g.key),"key"in g){j={};for(var c in g)c!=="key"&&(j[c]=g[c])}else j=g;return g=j.ref,{$$typeof:e,type:d,key:A,ref:g!==void 0?g:null,props:j}}return ue.Fragment=o,ue.jsx=r,ue.jsxs=r,ue}var ce={};/**
* @license React
* react-jsx-runtime.development.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Ze;function vt(){return Ze||(Ze=1,process.env.NODE_ENV!=="production"&&function(){function e(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===R?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case s:return"Fragment";case u:return"Portal";case x:return"Profiler";case h:return"StrictMode";case D:return"Suspense";case ne:return"SuspenseList"}if(typeof t=="object")switch(typeof t.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),t.$$typeof){case $:return(t.displayName||"Context")+".Provider";case m:return(t._context.displayName||"Context")+".Consumer";case O:var f=t.render;return t=t.displayName,t||(t=f.displayName||f.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case ae:return f=t.displayName||null,f!==null?f:e(t.type)||"Memo";case pe:f=t._payload,t=t._init;try{return e(t(f))}catch{}}return null}function o(t){return""+t}function r(t){try{o(t);var f=!1}catch{f=!0}if(f){f=console;var p=f.error,F=typeof Symbol=="function"&&Symbol.toStringTag&&t[Symbol.toStringTag]||t.constructor.name||"Object";return p.call(f,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",F),o(t)}}function d(){}function g(){if(J===0){V=console.log,Q=console.info,K=console.warn,ie=console.error,xe=console.group,se=console.groupCollapsed,ee=console.groupEnd;var t={configurable:!0,enumerable:!0,value:d,writable:!0};Object.defineProperties(console,{info:t,log:t,warn:t,error:t,group:t,groupCollapsed:t,groupEnd:t})}J++}function j(){if(J--,J===0){var t={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:H({},t,{value:V}),info:H({},t,{value:Q}),warn:H({},t,{value:K}),error:H({},t,{value:ie}),group:H({},t,{value:xe}),groupCollapsed:H({},t,{value:se}),groupEnd:H({},t,{value:ee})})}0>J&&console.error("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}function A(t){if(ve===void 0)try{throw Error()}catch(p){var f=p.stack.trim().match(/\n( *(at )?)/);ve=f&&f[1]||"",oe=-1<p.stack.indexOf(`
at`)?" (<anonymous>)":-1<p.stack.indexOf("@")?"@unknown:0:0":""}return`
`+ve+t+oe}function c(t,f){if(!t||Ue)return"";var p=De.get(t);if(p!==void 0)return p;Ue=!0,p=Error.prepareStackTrace,Error.prepareStackTrace=void 0;var F=null;F=M.H,M.H=null,g();try{var z={DetermineComponentFrameRoot:function(){try{if(f){var X=function(){throw Error()};if(Object.defineProperty(X.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(X,[])}catch(W){var we=W}Reflect.construct(t,[],X)}else{try{X.call()}catch(W){we=W}t.call(X.prototype)}}else{try{throw Error()}catch(W){we=W}(X=t())&&typeof X.catch=="function"&&X.catch(function(){})}}catch(W){if(W&&we&&typeof W.stack=="string")return[W.stack,we.stack]}return[null,null]}};z.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var N=Object.getOwnPropertyDescriptor(z.DetermineComponentFrameRoot,"name");N&&N.configurable&&Object.defineProperty(z.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var y=z.DetermineComponentFrameRoot(),Z=y[0],le=y[1];if(Z&&le){var B=Z.split(`
`),te=le.split(`
`);for(y=N=0;N<B.length&&!B[N].includes("DetermineComponentFrameRoot");)N++;for(;y<te.length&&!te[y].includes("DetermineComponentFrameRoot");)y++;if(N===B.length||y===te.length)for(N=B.length-1,y=te.length-1;1<=N&&0<=y&&B[N]!==te[y];)y--;for(;1<=N&&0<=y;N--,y--)if(B[N]!==te[y]){if(N!==1||y!==1)do if(N--,y--,0>y||B[N]!==te[y]){var ye=`
`+B[N].replace(" at new "," at ");return t.displayName&&ye.includes("<anonymous>")&&(ye=ye.replace("<anonymous>",t.displayName)),typeof t=="function"&&De.set(t,ye),ye}while(1<=N&&0<=y);break}}}finally{Ue=!1,M.H=F,j(),Error.prepareStackTrace=p}return B=(B=t?t.displayName||t.name:"")?A(B):"",typeof t=="function"&&De.set(t,B),B}function _(t){if(t==null)return"";if(typeof t=="function"){var f=t.prototype;return c(t,!(!f||!f.isReactComponent))}if(typeof t=="string")return A(t);switch(t){case D:return A("Suspense");case ne:return A("SuspenseList")}if(typeof t=="object")switch(t.$$typeof){case O:return t=c(t.render,!1),t;case ae:return _(t.type);case pe:f=t._payload,t=t._init;try{return _(t(f))}catch{}}return""}function P(){var t=M.A;return t===null?null:t.getOwner()}function q(t){if(Y.call(t,"key")){var f=Object.getOwnPropertyDescriptor(t,"key").get;if(f&&f.isReactWarning)return!1}return t.key!==void 0}function T(t,f){function p(){ft||(ft=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",f))}p.isReactWarning=!0,Object.defineProperty(t,"key",{get:p,configurable:!0})}function I(){var t=e(this.type);return pt[t]||(pt[t]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),t=this.props.ref,t!==void 0?t:null}function w(t,f,p,F,z,N){return p=N.ref,t={$$typeof:l,type:t,key:f,props:N,_owner:z},(p!==void 0?p:null)!==null?Object.defineProperty(t,"ref",{enumerable:!1,get:I}):Object.defineProperty(t,"ref",{enumerable:!1,value:null}),t._store={},Object.defineProperty(t._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(t,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.freeze&&(Object.freeze(t.props),Object.freeze(t)),t}function S(t,f,p,F,z,N){if(typeof t=="string"||typeof t=="function"||t===s||t===x||t===h||t===D||t===ne||t===qe||typeof t=="object"&&t!==null&&(t.$$typeof===pe||t.$$typeof===ae||t.$$typeof===$||t.$$typeof===m||t.$$typeof===O||t.$$typeof===U||t.getModuleId!==void 0)){var y=f.children;if(y!==void 0)if(F)if(me(y)){for(F=0;F<y.length;F++)k(y[F],t);Object.freeze&&Object.freeze(y)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else k(y,t)}else y="",(t===void 0||typeof t=="object"&&t!==null&&Object.keys(t).length===0)&&(y+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."),t===null?F="null":me(t)?F="array":t!==void 0&&t.$$typeof===l?(F="<"+(e(t.type)||"Unknown")+" />",y=" Did you accidentally export a JSX literal instead of a component?"):F=typeof t,console.error("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",F,y);if(Y.call(f,"key")){y=e(t);var Z=Object.keys(f).filter(function(B){return B!=="key"});F=0<Z.length?"{key: someKey, "+Z.join(": ..., ")+": ...}":"{key: someKey}",ht[y+F]||(Z=0<Z.length?"{"+Z.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
let props = %s;
<%s {...props} />
React keys must be passed directly to JSX without using spread:
let props = %s;
<%s key={someKey} {...props} />`,F,y,Z,y),ht[y+F]=!0)}if(y=null,p!==void 0&&(r(p),y=""+p),q(f)&&(r(f.key),y=""+f.key),"key"in f){p={};for(var le in f)le!=="key"&&(p[le]=f[le])}else p=f;return y&&T(p,typeof t=="function"?t.displayName||t.name||"Unknown":t),w(t,y,N,z,P(),p)}function k(t,f){if(typeof t=="object"&&t&&t.$$typeof!==kt){if(me(t))for(var p=0;p<t.length;p++){var F=t[p];v(F)&&E(F,f)}else if(v(t))t._store&&(t._store.validated=1);else if(t===null||typeof t!="object"?p=null:(p=he&&t[he]||t["@@iterator"],p=typeof p=="function"?p:null),typeof p=="function"&&p!==t.entries&&(p=p.call(t),p!==t))for(;!(t=p.next()).done;)v(t.value)&&E(t.value,f)}}function v(t){return typeof t=="object"&&t!==null&&t.$$typeof===l}function E(t,f){if(t._store&&!t._store.validated&&t.key==null&&(t._store.validated=1,f=a(f),!mt[f])){mt[f]=!0;var p="";t&&t._owner!=null&&t._owner!==P()&&(p=null,typeof t._owner.tag=="number"?p=e(t._owner.type):typeof t._owner.name=="string"&&(p=t._owner.name),p=" It was passed a child from "+p+".");var F=M.getCurrentStack;M.getCurrentStack=function(){var z=_(t.type);return F&&(z+=F()||""),z},console.error('Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',f,p),M.getCurrentStack=F}}function a(t){var f="",p=P();return p&&(p=e(p.type))&&(f=`
Check the render method of \``+p+"`."),f||(t=e(t))&&(f=`
Check the top-level render call using <`+t+">."),f}var n=C,l=Symbol.for("react.transitional.element"),u=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),h=Symbol.for("react.strict_mode"),x=Symbol.for("react.profiler"),m=Symbol.for("react.consumer"),$=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),D=Symbol.for("react.suspense"),ne=Symbol.for("react.suspense_list"),ae=Symbol.for("react.memo"),pe=Symbol.for("react.lazy"),qe=Symbol.for("react.offscreen"),he=Symbol.iterator,R=Symbol.for("react.client.reference"),M=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Y=Object.prototype.hasOwnProperty,H=Object.assign,U=Symbol.for("react.client.reference"),me=Array.isArray,J=0,V,Q,K,ie,xe,se,ee;d.__reactDisabledLog=!0;var ve,oe,Ue=!1,De=new(typeof WeakMap=="function"?WeakMap:Map),kt=Symbol.for("react.client.reference"),ft,pt={},ht={},mt={};ce.Fragment=s,ce.jsx=function(t,f,p,F,z){return S(t,f,p,!1,F,z)},ce.jsxs=function(t,f,p,F,z){return S(t,f,p,!0,F,z)}}()),ce}var We;function yt(){return We||(We=1,process.env.NODE_ENV==="production"?be.exports=xt():be.exports=vt()),be.exports}var i=yt();const Ge={default:"",gray:"text-gray-500 dark:text-gray-400",brown:"text-[#9F6B53] dark:text-[#B38B74]",orange:"text-[#D9730D] dark:text-[#E69A3C]",yellow:"text-[#CB912F] dark:text-[#EAB308]",green:"text-[#448361] dark:text-[#65A30D]",blue:"text-[#337EA9] dark:text-[#3B82F6]",purple:"text-[#9065B0] dark:text-[#A855F7]",pink:"text-[#C14C8A] dark:text-[#EC4899]",red:"text-[#D44C47] dark:text-[#EF4444]"},L=({richText:e})=>!Array.isArray(e)||e.length===0?null:i.jsx(i.Fragment,{children:e.length>0&&e.map((o,r)=>{var P,q;if(!o||!o.annotations||!o.text)return console.error("Invalid rich text item:",o),null;const{bold:d,italic:g,strikethrough:j,underline:A,code:c,color:_}=o.annotations;return i.jsx("span",{className:["notion-rich-text",Ge[_]||Ge.default,d?"font-bold":"",g?"italic":"",j?"line-through":"",A?"underline":"",c?"notion-rich-text--code font-mono bg-gray-200/80 text-red-500 px-1.5 rounded":""].filter(Boolean).join(" "),children:(q=(P=o==null?void 0:o.text)==null?void 0:P.link)!=null&&q.url?i.jsx("a",{href:o.text.link.url,className:"notion-rich-text--link text-primary dark:text-primary-300 hover:underline",target:"_blank",rel:"noopener noreferrer",children:o.text.content||""}):o.text.content||""},r)})}),_e=({block:e})=>{var d;const o=e.type==="heading_1"?1:e.type==="heading_2"?2:3,r=`h${o}`;return i.jsx(r,{className:`notion-heading notion-heading--h${o}`,children:i.jsx(L,{richText:((d=e[e.type])==null?void 0:d.rich_text)||[]})})},Fe=()=>i.jsx("hr",{className:"notion-divider border-t border-gray-300 dark:border-gray-600 my-5"}),je=({block:e})=>{const[o,r]=C.useState(!0),d=e.image.type==="external"?e.image.external.url:e.image.file.url;return i.jsxs("figure",{className:"notion-image my-5",children:[i.jsxs("div",{className:"notion-image__wrapper relative w-full mx-auto",children:[o&&i.jsx("div",{className:"notion-image__skeleton absolute inset-0 bg-zinc-100 dark:bg-zinc-600 animate-pulse rounded-lg"}),i.jsx("img",{src:d,alt:e.image.caption.map(g=>g.plain_text).join("")||"Image",className:`notion-image__img w-full mx-auto h-auto object-cover rounded-md transition-opacity duration-300 ${o?"opacity-0":"opacity-100"}`,loading:"lazy",onLoad:()=>r(!1)})]}),e.image.caption.length>0&&i.jsx("figcaption",{className:"notion-image__caption text-sm text-gray-600 dark:text-gray-400 mt-2",children:i.jsx(L,{richText:e.image.caption})})]})};var Ae={exports:{}},Ve;function bt(){return Ve||(Ve=1,function(e){var o=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};/**
* Prism: Lightweight, robust, elegant syntax highlighting
*
* @license MIT <https://opensource.org/licenses/MIT>
* @author Lea Verou <https://lea.verou.me>
* @namespace
* @public
*/var r=function(d){var g=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,j=0,A={},c={manual:d.Prism&&d.Prism.manual,disableWorkerMessageHandler:d.Prism&&d.Prism.disableWorkerMessageHandler,util:{encode:function a(n){return n instanceof _?new _(n.type,a(n.content),n.alias):Array.isArray(n)?n.map(a):n.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(a){return Object.prototype.toString.call(a).slice(8,-1)},objId:function(a){return a.__id||Object.defineProperty(a,"__id",{value:++j}),a.__id},clone:function a(n,l){l=l||{};var u,s;switch(c.util.type(n)){case"Object":if(s=c.util.objId(n),l[s])return l[s];u={},l[s]=u;for(var h in n)n.hasOwnProperty(h)&&(u[h]=a(n[h],l));return u;case"Array":return s=c.util.objId(n),l[s]?l[s]:(u=[],l[s]=u,n.forEach(function(x,m){u[m]=a(x,l)}),u);default:return n}},getLanguage:function(a){for(;a;){var n=g.exec(a.className);if(n)return n[1].toLowerCase();a=a.parentElement}return"none"},setLanguage:function(a,n){a.className=a.className.replace(RegExp(g,"gi"),""),a.classList.add("language-"+n)},currentScript:function(){if(typeof document>"u")return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(u){var a=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(u.stack)||[])[1];if(a){var n=document.getElementsByTagName("script");for(var l in n)if(n[l].src==a)return n[l]}return null}},isActive:function(a,n,l){for(var u="no-"+n;a;){var s=a.classList;if(s.contains(n))return!0;if(s.contains(u))return!1;a=a.parentElement}return!!l}},languages:{plain:A,plaintext:A,text:A,txt:A,extend:function(a,n){var l=c.util.clone(c.languages[a]);for(var u in n)l[u]=n[u];return l},insertBefore:function(a,n,l,u){u=u||c.languages;var s=u[a],h={};for(var x in s)if(s.hasOwnProperty(x)){if(x==n)for(var m in l)l.hasOwnProperty(m)&&(h[m]=l[m]);l.hasOwnProperty(x)||(h[x]=s[x])}var $=u[a];return u[a]=h,c.languages.DFS(c.languages,function(O,D){D===$&&O!=a&&(this[O]=h)}),h},DFS:function a(n,l,u,s){s=s||{};var h=c.util.objId;for(var x in n)if(n.hasOwnProperty(x)){l.call(n,x,n[x],u||x);var m=n[x],$=c.util.type(m);$==="Object"&&!s[h(m)]?(s[h(m)]=!0,a(m,l,null,s)):$==="Array"&&!s[h(m)]&&(s[h(m)]=!0,a(m,l,x,s))}}},plugins:{},highlightAll:function(a,n){c.highlightAllUnder(document,a,n)},highlightAllUnder:function(a,n,l){var u={callback:l,container:a,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};c.hooks.run("before-highlightall",u),u.elements=Array.prototype.slice.apply(u.container.querySelectorAll(u.selector)),c.hooks.run("before-all-elements-highlight",u);for(var s=0,h;h=u.elements[s++];)c.highlightElement(h,n===!0,u.callback)},highlightElement:function(a,n,l){var u=c.util.getLanguage(a),s=c.languages[u];c.util.setLanguage(a,u);var h=a.parentElement;h&&h.nodeName.toLowerCase()==="pre"&&c.util.setLanguage(h,u);var x=a.textContent,m={element:a,language:u,grammar:s,code:x};function $(D){m.highlightedCode=D,c.hooks.run("before-insert",m),m.element.innerHTML=m.highlightedCode,c.hooks.run("after-highlight",m),c.hooks.run("complete",m),l&&l.call(m.element)}if(c.hooks.run("before-sanity-check",m),h=m.element.parentElement,h&&h.nodeName.toLowerCase()==="pre"&&!h.hasAttribute("tabindex")&&h.setAttribute("tabindex","0"),!m.code){c.hooks.run("complete",m),l&&l.call(m.element);return}if(c.hooks.run("before-highlight",m),!m.grammar){$(c.util.encode(m.code));return}if(n&&d.Worker){var O=new Worker(c.filename);O.onmessage=function(D){$(D.data)},O.postMessage(JSON.stringify({language:m.language,code:m.code,immediateClose:!0}))}else $(c.highlight(m.code,m.grammar,m.language))},highlight:function(a,n,l){var u={code:a,grammar:n,language:l};if(c.hooks.run("before-tokenize",u),!u.grammar)throw new Error('The language "'+u.language+'" has no grammar.');return u.tokens=c.tokenize(u.code,u.grammar),c.hooks.run("after-tokenize",u),_.stringify(c.util.encode(u.tokens),u.language)},tokenize:function(a,n){var l=n.rest;if(l){for(var u in l)n[u]=l[u];delete n.rest}var s=new T;return I(s,s.head,a),q(a,s,n,s.head,0),S(s)},hooks:{all:{},add:function(a,n){var l=c.hooks.all;l[a]=l[a]||[],l[a].push(n)},run:function(a,n){var l=c.hooks.all[a];if(!(!l||!l.length))for(var u=0,s;s=l[u++];)s(n)}},Token:_};d.Prism=c;function _(a,n,l,u){this.type=a,this.content=n,this.alias=l,this.length=(u||"").length|0}_.stringify=function a(n,l){if(typeof n=="string")return n;if(Array.isArray(n)){var u="";return n.forEach(function($){u+=a($,l)}),u}var s={type:n.type,content:a(n.content,l),tag:"span",classes:["token",n.type],attributes:{},language:l},h=n.alias;h&&(Array.isArray(h)?Array.prototype.push.apply(s.classes,h):s.classes.push(h)),c.hooks.run("wrap",s);var x="";for(var m in s.attributes)x+=" "+m+'="'+(s.attributes[m]||"").replace(/"/g,""")+'"';return"<"+s.tag+' class="'+s.classes.join(" ")+'"'+x+">"+s.content+"</"+s.tag+">"};function P(a,n,l,u){a.lastIndex=n;var s=a.exec(l);if(s&&u&&s[1]){var h=s[1].length;s.index+=h,s[0]=s[0].slice(h)}return s}function q(a,n,l,u,s,h){for(var x in l)if(!(!l.hasOwnProperty(x)||!l[x])){var m=l[x];m=Array.isArray(m)?m:[m];for(var $=0;$<m.length;++$){if(h&&h.cause==x+","+$)return;var O=m[$],D=O.inside,ne=!!O.lookbehind,ae=!!O.greedy,pe=O.alias;if(ae&&!O.pattern.global){var qe=O.pattern.toString().match(/[imsuy]*$/)[0];O.pattern=RegExp(O.pattern.source,qe+"g")}for(var he=O.pattern||O,R=u.next,M=s;R!==n.tail&&!(h&&M>=h.reach);M+=R.value.length,R=R.next){var Y=R.value;if(n.length>a.length)return;if(!(Y instanceof _)){var H=1,U;if(ae){if(U=P(he,M,a,ne),!U||U.index>=a.length)break;var Q=U.index,me=U.index+U[0].length,J=M;for(J+=R.value.length;Q>=J;)R=R.next,J+=R.value.length;if(J-=R.value.length,M=J,R.value instanceof _)continue;for(var V=R;V!==n.tail&&(J<me||typeof V.value=="string");V=V.next)H++,J+=V.value.length;H--,Y=a.slice(M,J),U.index-=M}else if(U=P(he,0,Y,ne),!U)continue;var Q=U.index,K=U[0],ie=Y.slice(0,Q),xe=Y.slice(Q+K.length),se=M+Y.length;h&&se>h.reach&&(h.reach=se);var ee=R.prev;ie&&(ee=I(n,ee,ie),M+=ie.length),w(n,ee,H);var ve=new _(x,D?c.tokenize(K,D):K,pe,K);if(R=I(n,ee,ve),xe&&I(n,R,xe),H>1){var oe={cause:x+","+$,reach:se};q(a,n,l,R.prev,M,oe),h&&oe.reach>h.reach&&(h.reach=oe.reach)}}}}}}function T(){var a={value:null,prev:null,next:null},n={value:null,prev:a,next:null};a.next=n,this.head=a,this.tail=n,this.length=0}function I(a,n,l){var u=n.next,s={value:l,prev:n,next:u};return n.next=s,u.prev=s,a.length++,s}function w(a,n,l){for(var u=n.next,s=0;s<l&&u!==a.tail;s++)u=u.next;n.next=u,u.prev=n,a.length-=s}function S(a){for(var n=[],l=a.head.next;l!==a.tail;)n.push(l.value),l=l.next;return n}if(!d.document)return d.addEventListener&&(c.disableWorkerMessageHandler||d.addEventListener("message",function(a){var n=JSON.parse(a.data),l=n.language,u=n.code,s=n.immediateClose;d.postMessage(c.highlight(u,c.languages[l],l)),s&&d.close()},!1)),c;var k=c.util.currentScript();k&&(c.filename=k.src,k.hasAttribute("data-manual")&&(c.manual=!0));function v(){c.manual||c.highlightAll()}if(!c.manual){var E=document.readyState;E==="loading"||E==="interactive"&&k&&k.defer?document.addEventListener("DOMContentLoaded",v):window.requestAnimationFrame?window.requestAnimationFrame(v):window.setTimeout(v,16)}return c}(o);e.exports&&(e.exports=r),typeof He<"u"&&(He.Prism=r),r.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},r.languages.markup.tag.inside["attr-value"].inside.entity=r.languages.markup.entity,r.languages.markup.doctype.inside["internal-subset"].inside=r.languages.markup,r.hooks.add("wrap",function(d){d.type==="entity"&&(d.attributes.title=d.content.replace(/&/,"&"))}),Object.defineProperty(r.languages.markup.tag,"addInlined",{value:function(g,j){var A={};A["language-"+j]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:r.languages[j]},A.cdata=/^<!\[CDATA\[|\]\]>$/i;var c={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:A}};c["language-"+j]={pattern:/[\s\S]+/,inside:r.languages[j]};var _={};_[g]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return g}),"i"),lookbehind:!0,greedy:!0,inside:c},r.languages.insertBefore("markup","cdata",_)}}),Object.defineProperty(r.languages.markup.tag,"addAttribute",{value:function(d,g){r.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+d+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[g,"language-"+g],inside:r.languages[g]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),r.languages.html=r.languages.markup,r.languages.mathml=r.languages.markup,r.languages.svg=r.languages.markup,r.languages.xml=r.languages.extend("markup",{}),r.languages.ssml=r.languages.xml,r.languages.atom=r.languages.xml,r.languages.rss=r.languages.xml,function(d){var g=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;d.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+g.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+g.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+g.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+g.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:g,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},d.languages.css.atrule.inside.rest=d.languages.css;var j=d.languages.markup;j&&(j.tag.addInlined("style","css"),j.tag.addAttribute("style","css"))}(r),r.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},r.languages.javascript=r.languages.extend("clike",{"class-name":[r.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),r.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,r.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:r.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:r.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:r.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:r.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:r.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),r.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:r.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),r.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),r.languages.markup&&(r.languages.markup.tag.addInlined("script","javascript"),r.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),r.languages.js=r.languages.javascript,function(){if(typeof r>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var d="Loading…",g=function(k,v){return"✖ Error "+k+" while fetching file: "+v},j="✖ Error: File does not exist or is empty",A={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},c="data-src-status",_="loading",P="loaded",q="failed",T="pre[data-src]:not(["+c+'="'+P+'"]):not(['+c+'="'+_+'"])';function I(k,v,E){var a=new XMLHttpRequest;a.open("GET",k,!0),a.onreadystatechange=function(){a.readyState==4&&(a.status<400&&a.responseText?v(a.responseText):a.status>=400?E(g(a.status,a.statusText)):E(j))},a.send(null)}function w(k){var v=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(k||"");if(v){var E=Number(v[1]),a=v[2],n=v[3];return a?n?[E,Number(n)]:[E,void 0]:[E,E]}}r.hooks.add("before-highlightall",function(k){k.selector+=", "+T}),r.hooks.add("before-sanity-check",function(k){var v=k.element;if(v.matches(T)){k.code="",v.setAttribute(c,_);var E=v.appendChild(document.createElement("CODE"));E.textContent=d;var a=v.getAttribute("data-src"),n=k.language;if(n==="none"){var l=(/\.(\w+)$/.exec(a)||[,"none"])[1];n=A[l]||l}r.util.setLanguage(E,n),r.util.setLanguage(v,n);var u=r.plugins.autoloader;u&&u.loadLanguages(n),I(a,function(s){v.setAttribute(c,P);var h=w(v.getAttribute("data-range"));if(h){var x=s.split(/\r\n?|\n/g),m=h[0],$=h[1]==null?x.length:h[1];m<0&&(m+=x.length),m=Math.max(0,Math.min(m-1,x.length)),$<0&&($+=x.length),$=Math.max(0,Math.min($,x.length)),s=x.slice(m,$).join(`
`),v.hasAttribute("data-start")||v.setAttribute("data-start",String(m+1))}E.textContent=s,r.highlightElement(E)},function(s){v.setAttribute(c,q),E.textContent=s})}}),r.plugins.fileHighlight={highlight:function(v){for(var E=(v||document).querySelectorAll(T),a=0,n;n=E[a++];)r.highlightElement(n)}};var S=!1;r.fileHighlight=function(){S||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),S=!0),r.plugins.fileHighlight.highlight.apply(this,arguments)}}()}(Ae)),Ae.exports}var wt=bt();Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),Prism.languages.js=Prism.languages.javascript;var Xe={},Qe;function _t(){return Qe||(Qe=1,function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var o=e.languages.extend("typescript",{});delete o["class-name"],e.languages.typescript["class-name"].inside=o,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:o}}}}),e.languages.ts=e.languages.typescript}(Prism)),Xe}_t(),function(e){var o=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+o.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+o.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+o.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+o.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:o,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var r=e.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))}(Prism),Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json;const Ee=({block:e})=>{const o=C.useRef(null),r=e.code.rich_text.map(g=>g.text.content).join(""),d=e.code.language.toLowerCase()||"plaintext";return C.useEffect(()=>{o.current&&wt.highlightElement(o.current)},[e.code.rich_text]),i.jsxs("div",{className:"notion-code my-5 bg-gray-900 dark:bg-gray-800 rounded-lg shadow-md overflow-hidden",children:[i.jsxs("div",{className:"notion-code__header flex items-center justify-between bg-gray-800 dark:bg-gray-700 px-4 py-2",children:[i.jsx("span",{className:"notion-code__language text-sm text-gray-300",children:d}),i.jsxs("div",{className:"notion-code__controls flex gap-1",children:[i.jsx("span",{className:"w-2.5 h-2.5 bg-red-500 rounded-full"}),i.jsx("span",{className:"w-2.5 h-2.5 bg-yellow-500 rounded-full"}),i.jsx("span",{className:"w-2.5 h-2.5 bg-green-500 rounded-full"})]})]}),i.jsx("pre",{className:"notion-code__body p-4 overflow-x-auto",children:i.jsx("code",{ref:o,className:`language-${d} font-mono text-sm text-white`,children:r})}),e.code.caption.length>0&&i.jsx("div",{className:"notion-code__caption px-4 py-2 bg-gray-800 dark:bg-gray-700 text-sm text-gray-400",children:i.jsx(L,{richText:e.code.caption})})]})},ke=({block:e})=>i.jsx("blockquote",{className:"notion-quote border-l-4 border-gray-300 dark:border-gray-600 pl-4 my-5",children:i.jsx(L,{richText:e.quote.rich_text})}),Te=({block:e})=>i.jsxs("div",{children:[i.jsx("li",{className:"notion-bulleted-list-item list-disc list-inside p-2",children:i.jsx(L,{richText:e.bulleted_list_item.rich_text})}),e.has_children&&e.children&&i.jsx("div",{className:"notion-paragraph__children ml-4",children:i.jsx(re,{children:e.children})})]}),$e=({block:e})=>i.jsx("li",{className:"notion-list__item notion-list__item--numbered list-decimal list-inside my-2",children:i.jsx(L,{richText:e.numbered_list_item.rich_text})}),Se=({block:e})=>i.jsxs("div",{className:"notion-todo flex items-start gap-2 my-2",children:[i.jsx("input",{type:"checkbox",checked:e.to_do.checked,disabled:!0,className:"notion-todo__checkbox w-5 h-5 rounded border-gray-400 dark:border-gray-600 cursor-not-allowed"}),i.jsxs("div",{className:"notion-todo__content flex-1",children:[i.jsx(L,{richText:e.to_do.rich_text}),e.to_do.children&&e.to_do.children.length>0&&i.jsx("div",{className:"notion-todo__children ml-6",children:i.jsx(re,{children:e.to_do.children})})]})]}),Ne=({block:e})=>{var o,r;return i.jsxs("div",{className:"notion-callout bg-gray-100 dark:bg-gray-800 p-4 rounded-md flex items-start my-5",children:[((o=e.callout.icon)==null?void 0:o.type)==="emoji"&&i.jsx("span",{className:"notion-callout__icon text-xl mr-3",children:e.callout.icon.emoji}),((r=e.callout.icon)==null?void 0:r.type)==="external"&&i.jsx("img",{src:e.callout.icon.external.url,alt:"icon",className:"notion-callout__icon w-6 h-6 mr-3"}),i.jsx("div",{className:"notion-callout__content text-gray-700 dark:text-gray-200",children:i.jsx(L,{richText:e.callout.rich_text})})]})},Ce=({block:e})=>i.jsx("a",{href:e.bookmark.url,className:"notion-bookmark block p-2 bg-gray-100 rounded-md text-primary hover:underline my-4 dark:text-primary-300",target:"_blank",rel:"noopener noreferrer",children:e.bookmark.caption.length>0?i.jsx(L,{richText:e.bookmark.caption}):e.bookmark.url}),Pe=({block:e})=>!e||!e.table_row||!Array.isArray(e.table_row.cells)?(console.error("Invalid table row block:",e),null):i.jsx("tr",{className:"notion-table__row border-b border-gray-200 dark:border-gray-700",children:e.table_row.cells.map((o,r)=>i.jsx("td",{className:"notion-table__cell px-3 py-2 border-r border-gray-200 dark:border-gray-700",children:o.map((d,g)=>i.jsx(L,{richText:[d]},g))},r))}),Oe=({block:e})=>!e||!e.children||!Array.isArray(e.children)?(console.error("Invalid table block:",e),null):i.jsx("table",{className:"notion-table w-full border-collapse my-5 border border-gray-300 dark:border-gray-600",children:i.jsx("tbody",{children:e.children.map((o,r)=>i.jsx(Pe,{block:o},r))})}),Re=({block:e})=>i.jsx("div",{className:"notion-child-page bg-gray-100 dark:bg-gray-800 p-3 rounded-md my-5",children:i.jsx("h3",{className:"notion-child-page__title text-gray-900 dark:text-gray-100 font-semibold",children:e.child_page.title})}),Me=({block:e})=>i.jsx("div",{className:"notion-child-database bg-gray-100 dark:bg-gray-800 p-3 rounded-md my-5",children:i.jsx("h3",{className:"notion-child-database__title text-gray-900 dark:text-gray-100 font-semibold",children:e.child_database.title})}),re=({children:e,className:o})=>!Array.isArray(e)||e.length===0?null:i.jsx("div",{className:`notion-children ml-4 ${o}`,children:e.map(r=>{switch(r.type){case"paragraph":return i.jsx(Le,{block:r},r.id);case"heading_1":case"heading_2":case"heading_3":return i.jsx(_e,{block:r},r.id);case"divider":return i.jsx(Fe,{},r.id);case"image":return i.jsx(je,{block:r},r.id);case"code":return i.jsx(Ee,{block:r},r.id);case"quote":return i.jsx(ke,{block:r},r.id);case"bulleted_list_item":return i.jsx(Te,{block:r},r.id);case"numbered_list_item":return i.jsx($e,{block:r},r.id);case"to_do":return i.jsx(Se,{block:r},r.id);case"callout":return i.jsx(Ne,{block:r},r.id);case"bookmark":return i.jsx(Ce,{block:r},r.id);case"table":return i.jsx(Oe,{block:r},r.id);case"child_page":return i.jsx(Re,{block:r},r.id);case"child_database":return i.jsx(Me,{block:r},r.id);default:return null}})}),Le=({block:e})=>!e||e.type!=="paragraph"||!e.paragraph||!Array.isArray(e.paragraph.rich_text)?(console.error("Invalid paragraph block:",e),null):i.jsxs("div",{className:"notion-paragraph",children:[i.jsx("p",{className:"notion-paragraph__text text-base leading-relaxed mb-4",children:i.jsx(L,{richText:e.paragraph.rich_text})}),e.has_children&&e.children&&i.jsx("div",{className:"notion-paragraph__children ml-4",children:i.jsx(re,{children:e.children})})]}),Ke=({block:e})=>i.jsxs("div",{className:"notion-embed my-5",children:[i.jsx("iframe",{src:e.embed.url,title:"Embed content",className:"notion-embed__iframe w-full h-96 rounded-md shadow-md"}),e.embed.caption.length>0&&i.jsx("div",{className:"notion-embed__caption text-sm mt-2",children:i.jsx(L,{richText:e.embed.caption})})]}),et=({block:e})=>i.jsx("div",{className:"notion-file my-4",children:i.jsx("a",{href:e.file.type==="external"?e.file.external.url:e.file.file.url,className:"notion-file__link text-primary hover:underline dark:text-primary-300",target:"_blank",rel:"noopener noreferrer",children:e.file.caption.length>0?i.jsx(L,{richText:e.file.caption}):"Download File"})}),tt=({block:e})=>i.jsxs("div",{className:"notion-video my-5",children:[i.jsx("video",{controls:!0,className:"w-full",children:i.jsx("source",{src:e.video.type==="external"?e.video.external.url:e.video.file.url})}),e.video.caption.length>0&&i.jsx("div",{className:"notion-video__caption text-sm mt-2",children:i.jsx(L,{richText:e.video.caption})})]}),rt=({block:e})=>i.jsxs("div",{className:"notion-audio my-5",children:[i.jsx("audio",{controls:!0,className:"notion-audio__player w-full",children:i.jsx("source",{src:e.audio.type==="external"?e.audio.external.url:e.audio.file.url})}),e.audio.caption.length>0&&i.jsx("div",{className:"notion-audio__caption text-sm mt-2",children:i.jsx(L,{richText:e.audio.caption})})]}),nt=({block:e})=>{const o=e.pdf.type==="external"?e.pdf.external.url:e.pdf.file.url;return i.jsxs("div",{className:"notion-pdf my-5",children:[i.jsx("embed",{src:o,type:"application/pdf",className:"notion-pdf__viewer w-full h-96 border border-gray-300 dark:border-gray-700 rounded-md"}),e.pdf.caption.length>0&&i.jsx("div",{className:"notion-pdf__caption text-sm mt-2",children:i.jsx(L,{richText:e.pdf.caption})})]})};var ze=function(){return(ze=Object.assign||function(e){for(var o,r=1,d=arguments.length;r<d;r++)for(var g in o=arguments[r])Object.prototype.hasOwnProperty.call(o,g)&&(e[g]=o[g]);return e}).apply(this,arguments)},de,ge,Ie=C.createContext(void 0),at="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_CHTML",it="https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.2/es5/tex-mml-chtml.js",Ft=function(T){var o=T.config,r=T.version,r=r===void 0?3:r,d=T.src,d=d===void 0?r===2?at:it:d,g=T.onStartup,j=T.onLoad,_=T.asyncLoad,A=_!==void 0&&_,c=T.onError,_=T.typesettingOptions,P=T.renderMode,P=P===void 0?"post":P,q=T.hideUntilTypeset,T=T.children,w=C.useContext(Ie);if((w==null?void 0:w.version)!==void 0&&(w==null?void 0:w.version)!==r)throw Error("Cannot nest MathJaxContexts with different versions. MathJaxContexts should not be nested at all but if they are, they cannot have different versions. Stick with one version of MathJax in your app and avoid using more than one MathJaxContext.");if(r===2&&ge!==void 0||r===3&&de!==void 0)throw Error("Cannot use MathJax versions 2 and 3 simultaneously in the same app due to how MathJax is set up in the browser; either you have multiple MathJaxContexts with different versions or you have mounted and unmounted MathJaxContexts with different versions. Please stick with one version of MathJax in your app. File an issue in the project Github page if you need this feature.");var I=C.useRef(w),w=C.useRef((w==null?void 0:w.version)||null);if(w.current===null)w.current=r;else if(w.current!==r)throw Error("Cannot change version of MathJax in a MathJaxContext after it has mounted. Reload the page with a new version when this must happen.");var S=d||(r===2?at:it);function k(v,E){o&&(window.MathJax=o);var a=document.createElement("script");a.type="text/javascript",a.src=S,a.async=A,a.addEventListener("load",function(){var n=window.MathJax;g&&g(n),v(n),j&&j()}),a.addEventListener("error",function(n){return E(n)}),document.getElementsByTagName("head")[0].appendChild(a)}return I.current===void 0&&(w={typesettingOptions:_,renderMode:P,hideUntilTypeset:q},