From 50bdcdb4815302dc3ff43c7cfbceb655fda701df Mon Sep 17 00:00:00 2001 From: Brian Kim Date: Fri, 24 May 2024 10:47:39 -0400 Subject: [PATCH] Updates --- blog/index.html | 4 +- blog/introducing-crank/index.html | 4 +- blog/writing-crank-from-scratch/index.html | 4 +- guides/async-components/index.html | 15 +- guides/components/index.html | 4 +- guides/custom-renderers/index.html | 4 +- guides/elements/index.html | 4 +- guides/getting-started/index.html | 4 +- guides/handling-events/index.html | 4 +- guides/jsx-template-tag/index.html | 4 +- guides/lifecycles/index.html | 4 +- .../reference-for-react-developers/index.html | 4 +- guides/reusable-logic/index.html | 4 +- guides/special-props-and-tags/index.html | 4 +- guides/working-with-typescript/index.html | 4 +- guides/xx-performance/index.html | 4 +- index.html | 4 +- playground/index.html | 8 +- static/code-blocks-PIZMJYLY.js | 78266 ++++++++++++++++ static/code-blocks-PIZMJYLY.js.map | 7 + static/crank-IKBCNXHY.js | 3433 + static/crank-IKBCNXHY.js.map | 7 + static/dom-P6RTISBD.js | 3664 + static/dom-P6RTISBD.js.map | 7 + static/html-BAPPTV5D.js | 3565 + static/html-BAPPTV5D.js.map | 7 + static/jsx-runtime-TBBD57QJ.js | 1930 + static/jsx-runtime-TBBD57QJ.js.map | 7 + static/jsx-tag-LOQQR4CC.js | 2263 + static/jsx-tag-LOQQR4CC.js.map | 7 + static/navbar-HS4GXO4K.js | 5680 ++ static/navbar-HS4GXO4K.js.map | 7 + static/playground-MAFXF5BU.js | 77500 +++++++++++++++ static/playground-MAFXF5BU.js.map | 7 + static/standalone-2WFTNLZJ.js | 3780 + static/standalone-2WFTNLZJ.js.map | 7 + 36 files changed, 180189 insertions(+), 42 deletions(-) create mode 100644 static/code-blocks-PIZMJYLY.js create mode 100644 static/code-blocks-PIZMJYLY.js.map create mode 100644 static/crank-IKBCNXHY.js create mode 100644 static/crank-IKBCNXHY.js.map create mode 100644 static/dom-P6RTISBD.js create mode 100644 static/dom-P6RTISBD.js.map create mode 100644 static/html-BAPPTV5D.js create mode 100644 static/html-BAPPTV5D.js.map create mode 100644 static/jsx-runtime-TBBD57QJ.js create mode 100644 static/jsx-runtime-TBBD57QJ.js.map create mode 100644 static/jsx-tag-LOQQR4CC.js create mode 100644 static/jsx-tag-LOQQR4CC.js.map create mode 100644 static/navbar-HS4GXO4K.js create mode 100644 static/navbar-HS4GXO4K.js.map create mode 100644 static/playground-MAFXF5BU.js create mode 100644 static/playground-MAFXF5BU.js.map create mode 100644 static/standalone-2WFTNLZJ.js create mode 100644 static/standalone-2WFTNLZJ.js.map diff --git a/blog/index.html b/blog/index.html index 05c5d7ef..bb54c36a 100644 --- a/blog/index.html +++ b/blog/index.html @@ -33,5 +33,5 @@ if (window.__embeddedJSON__ == null) { window.__embeddedJSON__ = {}; } - window.__embeddedJSON__['static-urls-8'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"}; - \ No newline at end of file + window.__embeddedJSON__['static-urls-8'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"}; + \ No newline at end of file diff --git a/blog/introducing-crank/index.html b/blog/introducing-crank/index.html index 35b88947..d61026b8 100644 --- a/blog/introducing-crank/index.html +++ b/blog/introducing-crank/index.html @@ -101,5 +101,5 @@ if (window.__embeddedJSON__ == null) { window.__embeddedJSON__ = {}; } - window.__embeddedJSON__['static-urls-12'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"}; - \ No newline at end of file + window.__embeddedJSON__['static-urls-12'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"}; + \ No newline at end of file diff --git a/blog/writing-crank-from-scratch/index.html b/blog/writing-crank-from-scratch/index.html index 1077c729..6354402e 100644 --- a/blog/writing-crank-from-scratch/index.html +++ b/blog/writing-crank-from-scratch/index.html @@ -7700,5 +7700,5 @@ if (window.__embeddedJSON__ == null) { window.__embeddedJSON__ = {}; } - window.__embeddedJSON__['static-urls-62'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"}; - \ No newline at end of file + window.__embeddedJSON__['static-urls-62'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"}; + \ No newline at end of file diff --git a/guides/async-components/index.html b/guides/async-components/index.html index 49b7c385..43aee3dd 100644 --- a/guides/async-components/index.html +++ b/guides/async-components/index.html @@ -50,10 +50,10 @@ " data-index="4"> const data = await res.json();
if (data[0] == null) {
if (!Array.isArray(data)) {
return <p>{word} not found</p>;
return <p>No definition found for {word}</p>;
}

await renderer.render(<Definition word="framework" />, document.body);
Loading...

When rendering is async, renderer.render() and the refresh() method will return promises which settle when rendering has finished.

Concurrent Updates

The nature of declarative rendering means that async components can be rerendered while they are still rendering. Therefore, Crank implements a couple rules to make concurrent updates predictable and performant:

  1. There can be only one pending run of an async component at a time for an element in the tree. If the same async component is rerendered concurrently while a run is pending, another call is enqueued with the updated props.

    
    \ No newline at end of file
    +			window.__embeddedJSON__['static-urls-121'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    +		
    \ No newline at end of file
    diff --git a/guides/components/index.html b/guides/components/index.html
    index c9fb8a31..220cf6d4 100644
    --- a/guides/components/index.html
    +++ b/guides/components/index.html
    @@ -549,5 +549,5 @@
     			if (window.__embeddedJSON__ == null) {
     				window.__embeddedJSON__ = {};
     			}
    -			window.__embeddedJSON__['static-urls-104'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    -		
    \ No newline at end of file
    +			window.__embeddedJSON__['static-urls-104'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    +		
    \ No newline at end of file
    diff --git a/guides/custom-renderers/index.html b/guides/custom-renderers/index.html
    index 494b7c1b..ec7b43f1 100644
    --- a/guides/custom-renderers/index.html
    +++ b/guides/custom-renderers/index.html
    @@ -176,5 +176,5 @@
     			if (window.__embeddedJSON__ == null) {
     				window.__embeddedJSON__ = {};
     			}
    -			window.__embeddedJSON__['static-urls-171'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    -		
    \ No newline at end of file
    +			window.__embeddedJSON__['static-urls-171'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    +		
    \ No newline at end of file
    diff --git a/guides/elements/index.html b/guides/elements/index.html
    index 2cb4b5aa..172b7e1d 100644
    --- a/guides/elements/index.html
    +++ b/guides/elements/index.html
    @@ -426,5 +426,5 @@
     			if (window.__embeddedJSON__ == null) {
     				window.__embeddedJSON__ = {};
     			}
    -			window.__embeddedJSON__['static-urls-94'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    -		
    \ No newline at end of file
    +			window.__embeddedJSON__['static-urls-94'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    +		
    \ No newline at end of file
    diff --git a/guides/getting-started/index.html b/guides/getting-started/index.html
    index 0b5c0c58..6ac65a81 100644
    --- a/guides/getting-started/index.html
    +++ b/guides/getting-started/index.html
    @@ -814,5 +814,5 @@
     			if (window.__embeddedJSON__ == null) {
     				window.__embeddedJSON__ = {};
     			}
    -			window.__embeddedJSON__['static-urls-81'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    -		
    \ No newline at end of file
    +			window.__embeddedJSON__['static-urls-81'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    +		
    \ No newline at end of file
    diff --git a/guides/handling-events/index.html b/guides/handling-events/index.html
    index 6febd71d..05ce1ed9 100644
    --- a/guides/handling-events/index.html
    +++ b/guides/handling-events/index.html
    @@ -680,5 +680,5 @@
     			if (window.__embeddedJSON__ == null) {
     				window.__embeddedJSON__ = {};
     			}
    -			window.__embeddedJSON__['static-urls-112'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    -		
    \ No newline at end of file
    +			window.__embeddedJSON__['static-urls-112'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    +		
    \ No newline at end of file
    diff --git a/guides/jsx-template-tag/index.html b/guides/jsx-template-tag/index.html
    index d44e5b6e..668b25de 100644
    --- a/guides/jsx-template-tag/index.html
    +++ b/guides/jsx-template-tag/index.html
    @@ -218,5 +218,5 @@
     			if (window.__embeddedJSON__ == null) {
     				window.__embeddedJSON__ = {};
     			}
    -			window.__embeddedJSON__['static-urls-180'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    -		
    \ No newline at end of file
    +			window.__embeddedJSON__['static-urls-180'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    +		
    \ No newline at end of file
    diff --git a/guides/lifecycles/index.html b/guides/lifecycles/index.html
    index e1fec854..beab264c 100644
    --- a/guides/lifecycles/index.html
    +++ b/guides/lifecycles/index.html
    @@ -768,5 +768,5 @@
     			if (window.__embeddedJSON__ == null) {
     				window.__embeddedJSON__ = {};
     			}
    -			window.__embeddedJSON__['static-urls-144'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    -		
    \ No newline at end of file
    +			window.__embeddedJSON__['static-urls-144'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    +		
    \ No newline at end of file
    diff --git a/guides/reference-for-react-developers/index.html b/guides/reference-for-react-developers/index.html
    index b1a3f095..1e05e41a 100644
    --- a/guides/reference-for-react-developers/index.html
    +++ b/guides/reference-for-react-developers/index.html
    @@ -126,5 +126,5 @@
     			if (window.__embeddedJSON__ == null) {
     				window.__embeddedJSON__ = {};
     			}
    -			window.__embeddedJSON__['static-urls-175'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    -		
    \ No newline at end of file
    +			window.__embeddedJSON__['static-urls-175'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    +		
    \ No newline at end of file
    diff --git a/guides/reusable-logic/index.html b/guides/reusable-logic/index.html
    index 4b4c3b03..6734082a 100644
    --- a/guides/reusable-logic/index.html
    +++ b/guides/reusable-logic/index.html
    @@ -608,5 +608,5 @@
     			if (window.__embeddedJSON__ == null) {
     				window.__embeddedJSON__ = {};
     			}
    -			window.__embeddedJSON__['static-urls-152'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    -		
    \ No newline at end of file
    +			window.__embeddedJSON__['static-urls-152'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    +		
    \ No newline at end of file
    diff --git a/guides/special-props-and-tags/index.html b/guides/special-props-and-tags/index.html
    index e95c0744..6da2289f 100644
    --- a/guides/special-props-and-tags/index.html
    +++ b/guides/special-props-and-tags/index.html
    @@ -750,5 +750,5 @@
     			if (window.__embeddedJSON__ == null) {
     				window.__embeddedJSON__ = {};
     			}
    -			window.__embeddedJSON__['static-urls-134'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    -		
    \ No newline at end of file
    +			window.__embeddedJSON__['static-urls-134'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    +		
    \ No newline at end of file
    diff --git a/guides/working-with-typescript/index.html b/guides/working-with-typescript/index.html
    index bda32e53..9743c055 100644
    --- a/guides/working-with-typescript/index.html
    +++ b/guides/working-with-typescript/index.html
    @@ -392,5 +392,5 @@
     			if (window.__embeddedJSON__ == null) {
     				window.__embeddedJSON__ = {};
     			}
    -			window.__embeddedJSON__['static-urls-160'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    -		
    \ No newline at end of file
    +			window.__embeddedJSON__['static-urls-160'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    +		
    \ No newline at end of file
    diff --git a/guides/xx-performance/index.html b/guides/xx-performance/index.html
    index 760b432e..7889586a 100644
    --- a/guides/xx-performance/index.html
    +++ b/guides/xx-performance/index.html
    @@ -33,5 +33,5 @@
     			if (window.__embeddedJSON__ == null) {
     				window.__embeddedJSON__ = {};
     			}
    -			window.__embeddedJSON__['static-urls-181'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    -		
    \ No newline at end of file
    +			window.__embeddedJSON__['static-urls-181'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    +		
    \ No newline at end of file
    diff --git a/index.html b/index.html
    index 8e616738..176e9e20 100644
    --- a/index.html
    +++ b/index.html
    @@ -1304,5 +1304,5 @@
     			if (window.__embeddedJSON__ == null) {
     				window.__embeddedJSON__ = {};
     			}
    -			window.__embeddedJSON__['static-urls-7'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IV2ABN22.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-ASECXKBF.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-OFI3D6ZY.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-IIFLB6WU.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-M3JFUQGP.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-3PBDRIUR.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    -		
    \ No newline at end of file
    +			window.__embeddedJSON__['static-urls-7'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    +		
    \ No newline at end of file
    diff --git a/playground/index.html b/playground/index.html
    index cd3f8bc1..edcad262 100644
    --- a/playground/index.html
    +++ b/playground/index.html
    @@ -33,10 +33,10 @@
     			if (window.__embeddedJSON__ == null) {
     				window.__embeddedJSON__ = {};
     			}
    -			window.__embeddedJSON__['embedded-json-9'] = [{"name":"timer","label":"Timer","code":"import {renderer} from \"@b9g\u002Fcrank\u002Fdom\";\n\nfunction *Timer() {\n  let seconds = 0;\n  const interval = setInterval(() =\u003E {\n    seconds++;\n    this.refresh();\n  }, 1000);\n\n  for ({} of this) {\n    yield \u003Cdiv\u003E{seconds}\u003C\u002Fdiv\u003E;\n  }\n\n  clearInterval(interval);\n}\n\nrenderer.render(\u003CTimer \u002F\u003E, document.body);"},{"name":"wizard","label":"Form Wizard","code":"import {renderer} from \"@b9g\u002Fcrank\u002Fdom\";\n\nfunction* Wizard() {\n\tlet step = 0;\n\tconst formData = new FormData();\n\tthis.addEventListener(\"submit\", (ev) =\u003E {\n\t\tconst isValid = ev.target.reportValidity();\n\t\tif (isValid) {\n\t\t\tev.preventDefault();\n\t\t\tconst data = new FormData(ev.target);\n\t\t\tfor (const [key, value] of data) {\n\t\t\t\tformData.append(key, value);\n\t\t\t}\n\n\t\t\t\u002F\u002F Code to handle form submission\n\t\t\tstep++;\n\t\t\tthis.refresh();\n\t\t}\n\t});\n\n\tfor ({} of this) {\n\t\tyield (\n\t\t\t\u003Cform $key={step}\u003E\n\t\t\t\t{step === 0 ? (\n\t\t\t\t\t\u003C\u003E\n\t\t\t\t\t\t\u003Clabel for=\"name\"\u003EName:\u003C\u002Flabel\u003E\n\t\t\t\t\t\t\u003Cbr \u002F\u003E\n\t\t\t\t\t\t\u003Cinput name=\"name\" type=\"text\" required \u002F\u003E\n\t\t\t\t\t\t\u003Cbr \u002F\u003E\n\t\t\t\t\t\t\u003Clabel for=\"email\"\u003EEmail:\u003C\u002Flabel\u003E\n\t\t\t\t\t\t\u003Cbr \u002F\u003E\n\t\t\t\t\t\t\u003Cinput name=\"email\" type=\"email\" required \u002F\u003E\n\t\t\t\t\t\t\u003Cbr \u002F\u003E\n\t\t\t\t\t\t\u003Cbr \u002F\u003E\n\t\t\t\t\t\t\u003Cbutton type=\"submit\"\u003ENext\u003C\u002Fbutton\u003E\n\t\t\t\t\t\u003C\u002F\u003E\n\t\t\t\t) : step === 1 ? (\n\t\t\t\t\t\u003C\u003E\n\t\t\t\t\t\t\u003Clabel for=\"profile\"\u003EProfile:\u003C\u002Flabel\u003E\n\t\t\t\t\t\t\u003Cbr \u002F\u003E\n\t\t\t\t\t\t\u003Ctextarea name=\"profile\" required \u002F\u003E\n\t\t\t\t\t\t\u003Cbr \u002F\u003E\n\t\t\t\t\t\t\u003Clabel for=\"avatar\"\u003EAvatar:\u003C\u002Flabel\u003E\n\t\t\t\t\t\t\u003Cbr \u002F\u003E\n\t\t\t\t\t\t\u003Cinput name=\"avatar\" type=\"file\" \u002F\u003E\n\t\t\t\t\t\t\u003Cbr \u002F\u003E\n\t\t\t\t\t\t\u003Cbr \u002F\u003E\n\t\t\t\t\t\t\u003Cbutton type=\"submit\"\u003ESubmit\u003C\u002Fbutton\u003E\n\t\t\t\t\t\u003C\u002F\u003E\n\t\t\t\t) : (\n\t\t\t\t\t\u003Cpre\u003E{JSON.stringify(Object.fromEntries(formData), null, 2)}\u003C\u002Fpre\u003E\n\t\t\t\t)}\n\t\t\t\u003C\u002Fform\u003E\n\t\t);\n\t}\n}\n\nrenderer.render(\u003CWizard \u002F\u003E, document.body);\n"},{"name":"tetris","label":"Tetris","code":"import {jsx} from \"@b9g\u002Fcrank\u002Fstandalone\";\nimport {renderer} from \"@b9g\u002Fcrank\u002Fdom\";\n\n\u002F\u002F tetronimo shapes represented as 2d arrays\ntype Tet = number[][];\nconst tets: Record\u003Cstring, Tet\u003E = {\n\tI: [\n\t\t[0, 0, 0, 0],\n\t\t[1, 1, 1, 1],\n\t\t[0, 0, 0, 0],\n\t\t[0, 0, 0, 0],\n\t],\n\tO: [\n\t\t[1, 1],\n\t\t[1, 1],\n\t],\n\tT: [\n\t\t[0, 1, 0],\n\t\t[1, 1, 1],\n\t\t[0, 0, 0],\n\t],\n\tJ: [\n\t\t[0, 0, 1],\n\t\t[1, 1, 1],\n\t\t[0, 0, 0],\n\t],\n\tL: [\n\t\t[1, 0, 0],\n\t\t[1, 1, 1],\n\t\t[0, 0, 0],\n\t],\n\tS: [\n\t\t[0, 1, 1],\n\t\t[1, 1, 0],\n\t\t[0, 0, 0],\n\t],\n\tZ: [\n\t\t[1, 1, 0],\n\t\t[0, 1, 1],\n\t\t[0, 0, 0],\n\t],\n};\n\nfunction randomTet() {\n\tconst tetValues = Array.from(Object.values(tets));\n\treturn tetValues[Math.floor(Math.random() * tetValues.length)];\n}\n\nfunction transpose(tet: Tet): Tet {\n\treturn tet.map((row, r) =\u003E row.map((cell, c) =\u003E tet[c][r]));\n}\n\nfunction reflectY(tet: Tet): Tet {\n\treturn tet.map((row, r) =\u003E row.map((cell, c) =\u003E tet[tet.length - r - 1][c]));\n}\n\n\u002F\u002F TODO: combine rotate90 and rotate270\nfunction rotate90(tet: Tet): Tet {\n\treturn reflectY(transpose(tet));\n}\n\nfunction rotate270(tet: Tet): Tet {\n\treturn transpose(reflectY(tet));\n}\n\ninterface Piece {\n\ttet: Tet;\n\tx: number;\n\ty: number;\n}\n\n\u002F\u002F SVG coordinates, so top row is 0 and bottom row is field.length - 1;\ntype Field = number[][];\n\nfunction canFit(piece: Piece, field: Field): boolean {\n\tfor (const [c, r] of squaresOf(piece)) {\n\t\tif (r \u003C 0) {\n\t\t\t\u002F\u002F square is above the board\n\t\t\treturn false;\n\t\t} else if (r \u003E= field.length) {\n\t\t\t\u002F\u002F square is below the board\n\t\t\treturn false;\n\t\t} else if (c \u003C 0) {\n\t\t\t\u002F\u002F square is left of board\n\t\t\treturn false;\n\t\t} else if (c \u003E= field[0].length) {\n\t\t\t\u002F\u002F square is right of board\n\t\t\treturn false;\n\t\t} else if (field[r][c]) {\n\t\t\t\u002F\u002F square is occupied\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nfunction squaresOf(piece: Piece): [x: number, y: number][] {\n\tconst squares = [];\n\tfor (let r = 0; r \u003C piece.tet.length; r++) {\n\t\tconst row = piece.tet[r];\n\t\tfor (let c = 0; c \u003C row.length; c++) {\n\t\t\tconst data = row[c];\n\t\t\tif (data) {\n\t\t\t\tsquares.push([c + piece.x, r + piece.y]);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn squares;\n}\n\nfunction createPiece(): Piece {\n\t\u002F\u002F TODO: piece sequences\n\treturn {\n\t\ttet: randomTet(),\n\t\tx: 3,\n\t\ty: 0,\n\t};\n}\n\nfunction placePiece(piece: Piece, field: Field) {\n\tfor (const [c, r] of squaresOf(piece)) {\n\t\tfield[r][c] = true;\n\t}\n\n\tclearFilledRows(field);\n}\n\nfunction clearFilledRows(field: Field) {\n\tfor (let r = 0; r \u003C field.length; r++) {\n\t\tconst row = field[r];\n\t\tif (row.every((d) =\u003E d)) {\n\t\t\t\u002F\u002F copy previous rows into next rows\n\t\t\tfor (let r1 = r; r1 \u003E 0; r1--) {\n\t\t\t\tfield[r1] = field[r1 - 1];\n\t\t\t}\n\n\t\t\t\u002F\u002F clear the top row\n\t\t\tfield[0] = field[0].map(() =\u003E false);\n\t\t}\n\t}\n}\n\nconst UNIT = 20;\nconst WIDTH = 10;\nconst HEIGHT = 24;\n\nfunction Piece({piece}) {\n\t\u002F\u002F TODO: colored pieces\n\treturn jsx`\n    \u003Cg fill=\"red\"\u003E\n      ${squaresOf(piece).map(\n\t\t\t\t([c, r]) =\u003E jsx`\n        \u003Crect\n          width=${UNIT}\n          height=${UNIT}\n          transform=\"translate(${c * UNIT}, ${r * UNIT})\"\n        \u002F\u003E\n      `,\n\t\t\t)}\n    \u003C\u002Fg\u003E\n  `;\n}\n\nfunction Board({field}) {\n\treturn field.map((row, r) =\u003E\n\t\trow.map(\n\t\t\t(data, c) =\u003E jsx`\n      \u003Crect\n        width=${UNIT}\n        height=${UNIT}\n        fill=${data && \"blue\"}\n        x=${c * UNIT}\n        y=${r * UNIT}\n      \u002F\u003E\n    `,\n\t\t),\n\t);\n}\n\nfunction* App() {\n\tlet currentPiece = createPiece();\n\tconst field = Array.from(Array(HEIGHT), () =\u003E\n\t\tArray.from(Array(WIDTH), () =\u003E false),\n\t);\n\n\tconst interval = setInterval(() =\u003E {\n\t\tcurrentPiece.y++;\n\t\tif (!canFit(currentPiece, field)) {\n\t\t\tcurrentPiece.y--;\n\t\t\tplacePiece(currentPiece, field);\n\t\t\t\u002F\u002F TODO: game over check\n\t\t\tcurrentPiece = createPiece();\n\t\t}\n\t\tthis.refresh();\n\t}, 1000);\n\tthis.cleanup(() =\u003E clearInterval(interval));\n\n\tconst keydown = (ev) =\u003E {\n\t\tif (ev.key === \"w\") {\n\t\t\t\u002F\u002F rotate left\n\t\t\t\u002F\u002F TODO: wall kicks to allow rotations at the edge\n\t\t\tcurrentPiece.tet = rotate90(currentPiece.tet);\n\t\t\tif (!canFit(currentPiece, field)) {\n\t\t\t\tcurrentPiece.tet = rotate270(currentPiece.tet);\n\t\t\t}\n\t\t} else if (ev.key === \"e\") {\n\t\t\t\u002F\u002F rotate right\n\t\t\t\u002F\u002F TODO: wall kicks to allow rotations at the edge\n\t\t\tcurrentPiece.tet = rotate270(currentPiece.tet);\n\t\t\tif (!canFit(currentPiece, field)) {\n\t\t\t\tcurrentPiece.tet = rotate90(currentPiece.tet);\n\t\t\t}\n\t\t} else if (ev.key === \"a\") {\n\t\t\t\u002F\u002F move left\n\t\t\tcurrentPiece.x--;\n\t\t\tif (!canFit(currentPiece, field)) {\n\t\t\t\tcurrentPiece.x++;\n\t\t\t}\n\t\t} else if (ev.key === \"s\") {\n\t\t\t\u002F\u002F move down\n\t\t\tcurrentPiece.y++;\n\t\t\tif (!canFit(currentPiece, field)) {\n\t\t\t\tcurrentPiece.y--;\n\t\t\t\tplacePiece(currentPiece, field);\n\t\t\t\tcurrentPiece = createPiece();\n\t\t\t}\n\t\t} else if (ev.key === \"d\") {\n\t\t\t\u002F\u002F move right\n\t\t\tcurrentPiece.x++;\n\t\t\tif (!canFit(currentPiece, field)) {\n\t\t\t\tcurrentPiece.x--;\n\t\t\t}\n\t\t}\n\n\t\t\u002F\u002F TODO: hard drop\n\t\tthis.refresh();\n\t};\n\n\twindow.addEventListener(\"keydown\", keydown);\n\tthis.cleanup(() =\u003E window.removeEventListener(\"keydown\", keydown));\n\n\tfor ({} of this) {\n\t\t\u002F\u002F TODO: game start\u002Fgame over\n\t\t\u002F\u002F TODO: piece placement preview\n\t\t\u002F\u002F TODO: next piece\n\t\tyield jsx`\n      \u003Csvg\n        width=${WIDTH * UNIT}\n        height=${HEIGHT * UNIT}\n        style=\"border: 1px solid currentcolor\"\n        fill=\"transparent\"\n      \u003E\n        \u003C${Board} field=${field} \u002F\u003E\n        \u003C${Piece} piece=${currentPiece} \u002F\u003E\n      \u003C\u002Fsvg\u003E\n    `;\n\t}\n}\n\nrenderer.render(jsx`\u003C${App} \u002F\u003E`, document.body);\n"},{"name":"calculator","label":"XState Calculator","code":"\u002F\u002F Based on xstate-vue-calculator:\n\u002F\u002F https:\u002F\u002Fgithub.com\u002FGlutnix\u002Fxstate-vue-calculator\n\u002F\u002F Can't import from \"xstate\":\n\u002F\u002F https:\u002F\u002Fgithub.com\u002Fstatelyai\u002Fxstate\u002Fpull\u002F2318#issuecomment-864795216\nimport {Machine, assign} from \"xstate\u002Fdist\u002Fxstate.web.js\";\nimport {Context, createElement} from \"@bikeshaving\u002Fcrank\";\nimport {renderer} from \"@bikeshaving\u002Fcrank\u002Fdom\";\n\nconst not =\n\t(fn) =\u003E\n\t(...args) =\u003E\n\t\t!fn.apply(null, args);\nconst isZero = (context, event) =\u003E event.key === 0;\nconst isNotZero = not(isZero);\nconst isMinus = (context, event) =\u003E event.operator === \"-\";\nconst isNotMinus = not(isMinus);\nconst divideByZero = (context) =\u003E\n\tcontext.operand2 === \"0.\" && context.operator === \"\u002F\";\nconst notDivideByZero = not(divideByZero);\n\nfunction doMath(operand1, operand2, operator) {\n\tswitch (operator) {\n\t\tcase \"+\":\n\t\t\treturn +operand1 + +operand2;\n\t\tcase \"-\":\n\t\t\treturn +operand1 - +operand2;\n\t\tcase \"\u002F\":\n\t\t\treturn +operand1 \u002F +operand2;\n\t\tcase \"x\":\n\t\t\treturn +operand1 * +operand2;\n\t\tdefault:\n\t\t\treturn Infinity;\n\t}\n}\n\nexport const calcMachine = Machine(\n\t{\n\t\tid: \"calcMachine\",\n\t\tcontext: {\n\t\t\tdisplay: \"0.\",\n\t\t\toperand1: null,\n\t\t\toperand2: null,\n\t\t\toperator: null,\n\t\t},\n\t\t\u002F\u002F strict: true,\n\t\ton: {\n\t\t\tCLEAR_EVERYTHING: {\n\t\t\t\ttarget: \".start\",\n\t\t\t\tactions: [\"reset\"],\n\t\t\t},\n\t\t},\n\t\tinitial: \"start\",\n\t\tstates: {\n\t\t\tstart: {\n\t\t\t\ton: {\n\t\t\t\t\tNUMBER: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcond: \"isZero\",\n\t\t\t\t\t\t\ttarget: \"operand1.zero\",\n\t\t\t\t\t\t\tactions: [\"defaultReadout\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcond: \"isNotZero\",\n\t\t\t\t\t\t\ttarget: \"operand1.before_decimal_point\",\n\t\t\t\t\t\t\tactions: [\"setReadoutNum\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tOPERATOR: {\n\t\t\t\t\t\tcond: \"isMinus\",\n\t\t\t\t\t\ttarget: \"negative_number\",\n\t\t\t\t\t\tactions: [\"startNegativeNumber\"],\n\t\t\t\t\t},\n\t\t\t\t\tDECIMAL_POINT: {\n\t\t\t\t\t\ttarget: \"operand1.after_decimal_point\",\n\t\t\t\t\t\tactions: [\"defaultReadout\"],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\toperand1: {\n\t\t\t\ton: {\n\t\t\t\t\tOPERATOR: {\n\t\t\t\t\t\ttarget: \"operator_entered\",\n\t\t\t\t\t\tactions: [\"recordOperator\"],\n\t\t\t\t\t},\n\t\t\t\t\tPERCENTAGE: {\n\t\t\t\t\t\ttarget: \"result\",\n\t\t\t\t\t\tactions: [\"storeResultAsOperand2\", \"computePercentage\"],\n\t\t\t\t\t},\n\t\t\t\t\tCLEAR_ENTRY: {\n\t\t\t\t\t\ttarget: \"operand1\",\n\t\t\t\t\t\tactions: [\"defaultReadout\"],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tinitial: \"zero\",\n\t\t\t\tstates: {\n\t\t\t\t\tzero: {\n\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\tNUMBER: {\n\t\t\t\t\t\t\t\ttarget: \"before_decimal_point\",\n\t\t\t\t\t\t\t\tactions: [\"setReadoutNum\"],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDECIMAL_POINT: \"after_decimal_point\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tbefore_decimal_point: {\n\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\tNUMBER: {\n\t\t\t\t\t\t\t\ttarget: \"before_decimal_point\",\n\t\t\t\t\t\t\t\tactions: [\"appendNumBeforeDecimal\"],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDECIMAL_POINT: \"after_decimal_point\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tafter_decimal_point: {\n\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\tNUMBER: {\n\t\t\t\t\t\t\t\ttarget: \"after_decimal_point\",\n\t\t\t\t\t\t\t\tactions: [\"appendNumAfterDecimal\"],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tnegative_number: {\n\t\t\t\ton: {\n\t\t\t\t\tNUMBER: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcond: \"isZero\",\n\t\t\t\t\t\t\ttarget: \"operand1.zero\",\n\t\t\t\t\t\t\tactions: [\"defaultNegativeReadout\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcond: \"isNotZero\",\n\t\t\t\t\t\t\ttarget: \"operand1.before_decimal_point\",\n\t\t\t\t\t\t\tactions: [\"setNegativeReadoutNum\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tDECIMAL_POINT: {\n\t\t\t\t\t\ttarget: \"operand1.after_decimal_point\",\n\t\t\t\t\t\tactions: [\"defaultNegativeReadout\"],\n\t\t\t\t\t},\n\t\t\t\t\tCLEAR_ENTRY: {\n\t\t\t\t\t\ttarget: \"start\",\n\t\t\t\t\t\tactions: [\"defaultReadout\"],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\toperator_entered: {\n\t\t\t\ton: {\n\t\t\t\t\tOPERATOR: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcond: \"isNotMinus\",\n\t\t\t\t\t\t\ttarget: \"operator_entered\",\n\t\t\t\t\t\t\tactions: [\"setOperator\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcond: \"isMinus\",\n\t\t\t\t\t\t\ttarget: \"negative_number_2\",\n\t\t\t\t\t\t\tactions: [\"startNegativeNumber\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tNUMBER: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttarget: \"operand2.zero\",\n\t\t\t\t\t\t\tactions: [\"defaultReadout\"],\n\t\t\t\t\t\t\tcond: \"isZero\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcond: \"isNotZero\",\n\t\t\t\t\t\t\ttarget: \"operand2.before_decimal_point\",\n\t\t\t\t\t\t\tactions: [\"setReadoutNum\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tDECIMAL_POINT: {\n\t\t\t\t\t\ttarget: \"operand2.after_decimal_point\",\n\t\t\t\t\t\tactions: [\"defaultReadout\"],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\toperand2: {\n\t\t\t\ton: {\n\t\t\t\t\tOPERATOR: {\n\t\t\t\t\t\ttarget: \"operator_entered\",\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\"storeResultAsOperand2\",\n\t\t\t\t\t\t\t\"compute\",\n\t\t\t\t\t\t\t\"storeResultAsOperand1\",\n\t\t\t\t\t\t\t\"setOperator\",\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t\tEQUALS: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcond: \"notDivideByZero\",\n\t\t\t\t\t\t\ttarget: \"result\",\n\t\t\t\t\t\t\tactions: [\"storeResultAsOperand2\", \"compute\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{target: \"alert\", actions: [\"divideByZeroAlert\"]},\n\t\t\t\t\t],\n\t\t\t\t\tCLEAR_ENTRY: {\n\t\t\t\t\t\ttarget: \"operand2\",\n\t\t\t\t\t\tactions: [\"defaultReadout\"],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tinitial: \"hist\",\n\t\t\t\tstates: {\n\t\t\t\t\thist: {\n\t\t\t\t\t\ttype: \"history\",\n\t\t\t\t\t\ttarget: \"zero\",\n\t\t\t\t\t},\n\t\t\t\t\tzero: {\n\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\tNUMBER: {\n\t\t\t\t\t\t\t\ttarget: \"before_decimal_point\",\n\t\t\t\t\t\t\t\tactions: [\"setReadoutNum\"],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDECIMAL_POINT: \"after_decimal_point\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tbefore_decimal_point: {\n\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\tNUMBER: {\n\t\t\t\t\t\t\t\ttarget: \"before_decimal_point\",\n\t\t\t\t\t\t\t\tactions: [\"appendNumBeforeDecimal\"],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDECIMAL_POINT: \"after_decimal_point\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tafter_decimal_point: {\n\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\tNUMBER: {\n\t\t\t\t\t\t\t\ttarget: \"after_decimal_point\",\n\t\t\t\t\t\t\t\tactions: [\"appendNumAfterDecimal\"],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tnegative_number_2: {\n\t\t\t\ton: {\n\t\t\t\t\tNUMBER: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcond: \"isZero\",\n\t\t\t\t\t\t\ttarget: \"operand2.zero\",\n\t\t\t\t\t\t\tactions: [\"defaultNegativeReadout\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcond: \"isNotZero\",\n\t\t\t\t\t\t\ttarget: \"operand2.before_decimal_point\",\n\t\t\t\t\t\t\tactions: [\"setNegativeReadoutNum\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tDECIMAL_POINT: {\n\t\t\t\t\t\ttarget: \"operand2.after_decimal_point\",\n\t\t\t\t\t\tactions: [\"defaultNegativeReadout\"],\n\t\t\t\t\t},\n\t\t\t\t\tCLEAR_ENTRY: {\n\t\t\t\t\t\ttarget: \"operator_entered\",\n\t\t\t\t\t\tactions: [\"defaultReadout\"],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tresult: {\n\t\t\t\ton: {\n\t\t\t\t\tNUMBER: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcond: \"isZero\",\n\t\t\t\t\t\t\ttarget: \"operand1\",\n\t\t\t\t\t\t\tactions: [\"defaultReadout\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcond: \"isNotZero\",\n\t\t\t\t\t\t\ttarget: \"operand1.before_decimal_point\",\n\t\t\t\t\t\t\tactions: [\"setReadoutNum\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tPERCENTAGE: {\n\t\t\t\t\t\ttarget: \"result\",\n\t\t\t\t\t\tactions: [\"storeResultAsOperand2\", \"computePercentage\"],\n\t\t\t\t\t},\n\t\t\t\t\tOPERATOR: {\n\t\t\t\t\t\ttarget: \"operator_entered\",\n\t\t\t\t\t\tactions: [\"storeResultAsOperand1\", \"recordOperator\"],\n\t\t\t\t\t},\n\t\t\t\t\tCLEAR_ENTRY: {\n\t\t\t\t\t\ttarget: \"start\",\n\t\t\t\t\t\tactions: [\"defaultReadout\"],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\talert: {\n\t\t\t\ton: {\n\t\t\t\t\tOK: \"operand2.hist\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\tguards: {\n\t\t\tisMinus,\n\t\t\tisNotMinus,\n\t\t\tisZero,\n\t\t\tisNotZero,\n\t\t\tnotDivideByZero,\n\t\t},\n\t\tactions: {\n\t\t\tdefaultReadout: assign({\n\t\t\t\tdisplay: () =\u003E \"0.\",\n\t\t\t}),\n\n\t\t\tdefaultNegativeReadout: assign({\n\t\t\t\tdisplay: () =\u003E \"-0.\",\n\t\t\t}),\n\n\t\t\tappendNumBeforeDecimal: assign({\n\t\t\t\tdisplay: (context, event) =\u003E\n\t\t\t\t\tcontext.display.slice(0, -1) + event.key + \".\",\n\t\t\t}),\n\n\t\t\tappendNumAfterDecimal: assign({\n\t\t\t\tdisplay: (context, event) =\u003E context.display + event.key,\n\t\t\t}),\n\n\t\t\tsetReadoutNum: assign({\n\t\t\t\tdisplay: (context, event) =\u003E event.key + \".\",\n\t\t\t}),\n\n\t\t\tsetNegativeReadoutNum: assign({\n\t\t\t\tdisplay: (context, event) =\u003E \"-\" + event.key + \".\",\n\t\t\t}),\n\n\t\t\tstartNegativeNumber: assign({\n\t\t\t\tdisplay: () =\u003E \"-\",\n\t\t\t}),\n\n\t\t\trecordOperator: assign({\n\t\t\t\toperand1: (context) =\u003E context.display,\n\t\t\t\toperator: (_, event) =\u003E event.operator,\n\t\t\t}),\n\n\t\t\tsetOperator: assign({\n\t\t\t\toperator: ({operator}) =\u003E operator,\n\t\t\t}),\n\n\t\t\tcomputePercentage: assign({\n\t\t\t\tdisplay: (context) =\u003E context.display \u002F 100,\n\t\t\t}),\n\n\t\t\tcompute: assign({\n\t\t\t\tdisplay: ({operand1, operand2, operator}) =\u003E\n\t\t\t\t\tdoMath(operand1, operand2, operator),\n\t\t\t}),\n\n\t\t\tstoreResultAsOperand1: assign({\n\t\t\t\toperand1: (context) =\u003E context.display,\n\t\t\t}),\n\n\t\t\tstoreResultAsOperand2: assign({\n\t\t\t\toperand2: (context) =\u003E context.display,\n\t\t\t}),\n\n\t\t\tdivideByZeroAlert() {\n\t\t\t\t\u002F\u002F have to put the alert in setTimeout because action is executed on event, before the transition to next state happens\n\t\t\t\t\u002F\u002F this alert is supposed to happend on transition\n\t\t\t\t\u002F\u002F setTimeout allows time for other state transition (to 'alert' state) to happen before showing the alert\n\t\t\t\t\u002F\u002F probably a better way to do it. like entry or exit actions\n\t\t\t\tsetTimeout(() =\u003E {\n\t\t\t\t\talert(\"Cannot divide by zero!\");\n\t\t\t\t\tthis.transition(\"OK\");\n\t\t\t\t}, 0);\n\t\t\t},\n\n\t\t\treset: assign({\n\t\t\t\tdisplay: () =\u003E \"0.\",\n\t\t\t\toperand1: () =\u003E null,\n\t\t\t\toperand2: () =\u003E null,\n\t\t\t\toperator: () =\u003E null,\n\t\t\t}),\n\t\t},\n\t},\n);\n\nconst buttonLabels = [\n\t\"C\",\n\t\"CE\",\n\t\"\u002F\",\n\t\"7\",\n\t\"8\",\n\t\"9\",\n\t\"x\",\n\t\"4\",\n\t\"5\",\n\t\"6\",\n\t\"-\",\n\t\"1\",\n\t\"2\",\n\t\"3\",\n\t\"+\",\n\t\"0\",\n\t\".\",\n\t\"=\",\n\t\"%\",\n];\n\nfunction isOperator(label: string): boolean {\n\treturn \"+-x\u002F\".indexOf(label) \u003E -1;\n}\n\nfunction buttonDescription(label: string): string {\n\tif (Number.isInteger(+label)) return `NUMBER ${label}`;\n\tif (isOperator(label)) return `OPERATOR ${label}`;\n\tif (label === \"C\") return \"CLEAR_EVERYTHING\";\n\tif (label === \"CE\") return \"CLEAR_ENTRY\";\n\tif (label === \".\") return \"DECIMAL_POINT\";\n\tif (label === \"%\") return \"PERCENTAGE\";\n\tif (label === \"=\") return \"EQUALS\";\n\treturn \"\";\n}\n\n\u002F\u002F TODO: what is the type of state\nfunction transition(state: any, label: string) {\n\tif (Number.isInteger(+label)) {\n\t\treturn calcMachine.transition(state, {type: \"NUMBER\", key: +label});\n\t} else if (isOperator(label)) {\n\t\treturn calcMachine.transition(state, {type: \"OPERATOR\", operator: label});\n\t} else if (label === \"C\") {\n\t\treturn calcMachine.transition(state, {type: \"CLEAR_EVERYTHING\"});\n\t} else if (label === \".\") {\n\t\treturn calcMachine.transition(state, {type: \"DECIMAL_POINT\"});\n\t} else if (label === \"%\") {\n\t\treturn calcMachine.transition(state, {type: \"PERCENTAGE\"});\n\t} else if (label === \"CE\") {\n\t\treturn calcMachine.transition(state, {type: \"CLEAR_ENTRY\"});\n\t} else {\n\t\treturn calcMachine.transition(state, {type: \"EQUALS\"});\n\t}\n}\n\nfunction* Calculator(this: Context) {\n\tlet state = calcMachine.initialState;\n\tthis.addEventListener(\"click\", (el) =\u003E {\n\t\tif ((el.target as Element).tagName === \"BUTTON\") {\n\t\t\t\u002F\u002F TODO: could this be abstracted somehow :-)\n\t\t\tstate = transition(state, (el.target as Element).textContent!);\n\t\t\tthis.refresh();\n\t\t}\n\t});\n\n\tfor ({} of this) {\n\t\tyield (\n\t\t\t\u003Cdiv id=\"app\"\u003E\n\t\t\t\t\u003Cdiv class=\"container\"\u003E\n\t\t\t\t\t\u003Cinput class=\"readout\" disabled value={state.context.display} \u002F\u003E\n\t\t\t\t\t\u003Cdiv class=\"button-grid\"\u003E\n\t\t\t\t\t\t{buttonLabels.map((b) =\u003E (\n\t\t\t\t\t\t\t\u003Cbutton\n\t\t\t\t\t\t\t\tclass={\"calc-button\" + (b === \"C\" ? \" two-span\" : \"\")}\n\t\t\t\t\t\t\t\ttitle={buttonDescription(b)}\n\t\t\t\t\t\t\t\u003E\n\t\t\t\t\t\t\t\t{b}\n\t\t\t\t\t\t\t\u003C\u002Fbutton\u003E\n\t\t\t\t\t\t))}\n\t\t\t\t\t\u003C\u002Fdiv\u003E\n\t\t\t\t\u003C\u002Fdiv\u003E\n\t\t\t\t{\u002F* Uncomment to debug\n        \u003Cdiv class=\"debug\"\u003E\n          \u003Clabel\u003EState:\u003C\u002Flabel\u003E\n          \u003Cpre\u003E\n            \u003Ccode\u003E{JSON.stringify(state.value, null, 2)}\u003C\u002Fcode\u003E\n          \u003C\u002Fpre\u003E\n          \u003Clabel\u003EContext:\u003C\u002Flabel\u003E\n          \u003Cpre\u003E\n            \u003Ccode\u003E{JSON.stringify(state.context, null, 2)}\u003C\u002Fcode\u003E\n          \u003C\u002Fpre\u003E\n        \u003C\u002Fdiv\u003E\n        *\u002F}\n\t\t\t\u003C\u002Fdiv\u003E\n\t\t);\n\t}\n}\n\nconst style = document.createElement(\"style\");\nstyle.textContent = `\n.container {\n  max-width: 300px;\n  margin: 0 auto;\n  border: 2px solid gray;\n  border-radius: 4px;\n  box-sizing: border-box;\n}\n.readout {\n  font-size: 32px;\n  color: #333;\n  text-align: right;\n  padding: 5px 13px;\n  width: 100%;\n  border: none;\n  border-bottom: 1px solid gray;\n  box-sizing: border-box;\n}\n.button-grid {\n  display: grid;\n  padding: 20px;\n  grid-template-columns: repeat(4, 1fr);\n  grid-gap: 15px;\n}\n.calc-button {\n  padding: 10px;\n  font-size: 22px;\n  color: #eee;\n  background: rgba(0, 0, 0, 0.5);\n  cursor: pointer;\n  border-radius: 2px;\n  border: 0;\n  outline: none;\n  opacity: 0.8;\n  transition: opacity 0.2s ease-in-out;\n}\n.calc-button:hover {\n  opacity: 1;\n}\n.calc-button:active {\n  background: #999;\n  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);\n}\n.two-span {\n  grid-column: span 2;\n  background-color: #3572db;\n}\n`;\ndocument.head.appendChild(style);\n\nrenderer.render(\u003CCalculator \u002F\u003E, document.body);\n"}];
    -		
    \ No newline at end of file
    +			window.__embeddedJSON__['static-urls-10'] = {"@b9g\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fcrank.js":"\u002Fstatic\u002Fcrank-IKBCNXHY.js","@b9g\u002Fcrank\u002Fdom":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fdom.js":"\u002Fstatic\u002Fdom-P6RTISBD.js","@b9g\u002Fcrank\u002Fhtml":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fhtml.js":"\u002Fstatic\u002Fhtml-BAPPTV5D.js","@b9g\u002Fcrank\u002Fjsx-tag":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-tag.js":"\u002Fstatic\u002Fjsx-tag-LOQQR4CC.js","@b9g\u002Fcrank\u002Fjsx-runtime":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fjsx-runtime.js":"\u002Fstatic\u002Fjsx-runtime-TBBD57QJ.js","@b9g\u002Fcrank\u002Fstandalone":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","@b9g\u002Fcrank\u002Fstandalone.js":"\u002Fstatic\u002Fstandalone-2WFTNLZJ.js","client.css":"\u002Fstatic\u002Fclient-SSQIEGC5.css"};
    +		
    \ No newline at end of file
    diff --git a/static/code-blocks-PIZMJYLY.js b/static/code-blocks-PIZMJYLY.js
    new file mode 100644
    index 00000000..1dfdbc32
    --- /dev/null
    +++ b/static/code-blocks-PIZMJYLY.js
    @@ -0,0 +1,78266 @@
    +"use strict";
    +(() => {
    +  var __create = Object.create;
    +  var __defProp = Object.defineProperty;
    +  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
    +  var __getOwnPropNames = Object.getOwnPropertyNames;
    +  var __getProtoOf = Object.getPrototypeOf;
    +  var __hasOwnProp = Object.prototype.hasOwnProperty;
    +  var __esm = (fn, res) => function __init() {
    +    return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
    +  };
    +  var __commonJS = (cb, mod) => function __require() {
    +    return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
    +  };
    +  var __export = (target, all) => {
    +    for (var name in all)
    +      __defProp(target, name, { get: all[name], enumerable: true });
    +  };
    +  var __copyProps = (to, from4, except, desc) => {
    +    if (from4 && typeof from4 === "object" || typeof from4 === "function") {
    +      for (let key of __getOwnPropNames(from4))
    +        if (!__hasOwnProp.call(to, key) && key !== except)
    +          __defProp(to, key, { get: () => from4[key], enumerable: !(desc = __getOwnPropDesc(from4, key)) || desc.enumerable });
    +    }
    +    return to;
    +  };
    +  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
    +    // If the importer is in node compatibility mode or this is not an ESM
    +    // file that has been converted to a CommonJS file using a Babel-
    +    // compatible transform (i.e. "__esModule" has not been set), then set
    +    // "default" to the CommonJS "module.exports" for node compatibility.
    +    isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
    +    mod
    +  ));
    +  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
    +
    +  // node_modules/@esbuild-plugins/node-globals-polyfill/process.js
    +  function defaultSetTimout() {
    +    throw new Error("setTimeout has not been defined");
    +  }
    +  function defaultClearTimeout() {
    +    throw new Error("clearTimeout has not been defined");
    +  }
    +  function runTimeout(fun) {
    +    if (cachedSetTimeout === setTimeout) {
    +      return setTimeout(fun, 0);
    +    }
    +    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
    +      cachedSetTimeout = setTimeout;
    +      return setTimeout(fun, 0);
    +    }
    +    try {
    +      return cachedSetTimeout(fun, 0);
    +    } catch (e) {
    +      try {
    +        return cachedSetTimeout.call(null, fun, 0);
    +      } catch (e2) {
    +        return cachedSetTimeout.call(this, fun, 0);
    +      }
    +    }
    +  }
    +  function runClearTimeout(marker) {
    +    if (cachedClearTimeout === clearTimeout) {
    +      return clearTimeout(marker);
    +    }
    +    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
    +      cachedClearTimeout = clearTimeout;
    +      return clearTimeout(marker);
    +    }
    +    try {
    +      return cachedClearTimeout(marker);
    +    } catch (e) {
    +      try {
    +        return cachedClearTimeout.call(null, marker);
    +      } catch (e2) {
    +        return cachedClearTimeout.call(this, marker);
    +      }
    +    }
    +  }
    +  function cleanUpNextTick() {
    +    if (!draining || !currentQueue) {
    +      return;
    +    }
    +    draining = false;
    +    if (currentQueue.length) {
    +      queue = currentQueue.concat(queue);
    +    } else {
    +      queueIndex = -1;
    +    }
    +    if (queue.length) {
    +      drainQueue();
    +    }
    +  }
    +  function drainQueue() {
    +    if (draining) {
    +      return;
    +    }
    +    var timeout = runTimeout(cleanUpNextTick);
    +    draining = true;
    +    var len = queue.length;
    +    while (len) {
    +      currentQueue = queue;
    +      queue = [];
    +      while (++queueIndex < len) {
    +        if (currentQueue) {
    +          currentQueue[queueIndex].run();
    +        }
    +      }
    +      queueIndex = -1;
    +      len = queue.length;
    +    }
    +    currentQueue = null;
    +    draining = false;
    +    runClearTimeout(timeout);
    +  }
    +  function nextTick(fun) {
    +    var args = new Array(arguments.length - 1);
    +    if (arguments.length > 1) {
    +      for (var i = 1; i < arguments.length; i++) {
    +        args[i - 1] = arguments[i];
    +      }
    +    }
    +    queue.push(new Item(fun, args));
    +    if (queue.length === 1 && !draining) {
    +      runTimeout(drainQueue);
    +    }
    +  }
    +  function Item(fun, array) {
    +    this.fun = fun;
    +    this.array = array;
    +  }
    +  function noop() {
    +  }
    +  function binding(name) {
    +    throw new Error("process.binding is not supported");
    +  }
    +  function cwd() {
    +    return "/";
    +  }
    +  function chdir(dir) {
    +    throw new Error("process.chdir is not supported");
    +  }
    +  function umask() {
    +    return 0;
    +  }
    +  function hrtime(previousTimestamp) {
    +    var clocktime = performanceNow.call(performance) * 1e-3;
    +    var seconds = Math.floor(clocktime);
    +    var nanoseconds = Math.floor(clocktime % 1 * 1e9);
    +    if (previousTimestamp) {
    +      seconds = seconds - previousTimestamp[0];
    +      nanoseconds = nanoseconds - previousTimestamp[1];
    +      if (nanoseconds < 0) {
    +        seconds--;
    +        nanoseconds += 1e9;
    +      }
    +    }
    +    return [seconds, nanoseconds];
    +  }
    +  function uptime() {
    +    var currentTime = /* @__PURE__ */ new Date();
    +    var dif = currentTime - startTime;
    +    return dif / 1e3;
    +  }
    +  var cachedSetTimeout, cachedClearTimeout, queue, draining, currentQueue, queueIndex, title, platform, browser, env, argv, version, versions, release, config, on, addListener, once, off, removeListener, removeAllListeners, emit, performance, performanceNow, startTime, process, defines;
    +  var init_process = __esm({
    +    "node_modules/@esbuild-plugins/node-globals-polyfill/process.js"() {
    +      cachedSetTimeout = defaultSetTimout;
    +      cachedClearTimeout = defaultClearTimeout;
    +      if (typeof globalThis.setTimeout === "function") {
    +        cachedSetTimeout = setTimeout;
    +      }
    +      if (typeof globalThis.clearTimeout === "function") {
    +        cachedClearTimeout = clearTimeout;
    +      }
    +      queue = [];
    +      draining = false;
    +      queueIndex = -1;
    +      Item.prototype.run = function() {
    +        this.fun.apply(null, this.array);
    +      };
    +      title = "browser";
    +      platform = "browser";
    +      browser = true;
    +      env = {};
    +      argv = [];
    +      version = "";
    +      versions = {};
    +      release = {};
    +      config = {};
    +      on = noop;
    +      addListener = noop;
    +      once = noop;
    +      off = noop;
    +      removeListener = noop;
    +      removeAllListeners = noop;
    +      emit = noop;
    +      performance = globalThis.performance || {};
    +      performanceNow = performance.now || performance.mozNow || performance.msNow || performance.oNow || performance.webkitNow || function() {
    +        return (/* @__PURE__ */ new Date()).getTime();
    +      };
    +      startTime = /* @__PURE__ */ new Date();
    +      process = {
    +        nextTick,
    +        title,
    +        browser,
    +        env,
    +        argv,
    +        version,
    +        versions,
    +        on,
    +        addListener,
    +        once,
    +        off,
    +        removeListener,
    +        removeAllListeners,
    +        emit,
    +        binding,
    +        cwd,
    +        chdir,
    +        umask,
    +        hrtime,
    +        platform,
    +        release,
    +        config,
    +        uptime
    +      };
    +      defines = {};
    +      Object.keys(defines).forEach((key) => {
    +        const segs = key.split(".");
    +        let target = process;
    +        for (let i = 0; i < segs.length; i++) {
    +          const seg = segs[i];
    +          if (i === segs.length - 1) {
    +            target[seg] = defines[key];
    +          } else {
    +            target = target[seg] || (target[seg] = {});
    +          }
    +        }
    +      });
    +    }
    +  });
    +
    +  // node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js
    +  function init() {
    +    inited = true;
    +    var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    +    for (var i = 0, len = code.length; i < len; ++i) {
    +      lookup[i] = code[i];
    +      revLookup[code.charCodeAt(i)] = i;
    +    }
    +    revLookup["-".charCodeAt(0)] = 62;
    +    revLookup["_".charCodeAt(0)] = 63;
    +  }
    +  function base64toByteArray(b64) {
    +    if (!inited) {
    +      init();
    +    }
    +    var i, j, l, tmp, placeHolders, arr;
    +    var len = b64.length;
    +    if (len % 4 > 0) {
    +      throw new Error("Invalid string. Length must be a multiple of 4");
    +    }
    +    placeHolders = b64[len - 2] === "=" ? 2 : b64[len - 1] === "=" ? 1 : 0;
    +    arr = new Arr(len * 3 / 4 - placeHolders);
    +    l = placeHolders > 0 ? len - 4 : len;
    +    var L = 0;
    +    for (i = 0, j = 0; i < l; i += 4, j += 3) {
    +      tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];
    +      arr[L++] = tmp >> 16 & 255;
    +      arr[L++] = tmp >> 8 & 255;
    +      arr[L++] = tmp & 255;
    +    }
    +    if (placeHolders === 2) {
    +      tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;
    +      arr[L++] = tmp & 255;
    +    } else if (placeHolders === 1) {
    +      tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;
    +      arr[L++] = tmp >> 8 & 255;
    +      arr[L++] = tmp & 255;
    +    }
    +    return arr;
    +  }
    +  function tripletToBase64(num) {
    +    return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];
    +  }
    +  function encodeChunk(uint8, start, end) {
    +    var tmp;
    +    var output = [];
    +    for (var i = start; i < end; i += 3) {
    +      tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2];
    +      output.push(tripletToBase64(tmp));
    +    }
    +    return output.join("");
    +  }
    +  function base64fromByteArray(uint8) {
    +    if (!inited) {
    +      init();
    +    }
    +    var tmp;
    +    var len = uint8.length;
    +    var extraBytes = len % 3;
    +    var output = "";
    +    var parts = [];
    +    var maxChunkLength = 16383;
    +    for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
    +      parts.push(
    +        encodeChunk(
    +          uint8,
    +          i,
    +          i + maxChunkLength > len2 ? len2 : i + maxChunkLength
    +        )
    +      );
    +    }
    +    if (extraBytes === 1) {
    +      tmp = uint8[len - 1];
    +      output += lookup[tmp >> 2];
    +      output += lookup[tmp << 4 & 63];
    +      output += "==";
    +    } else if (extraBytes === 2) {
    +      tmp = (uint8[len - 2] << 8) + uint8[len - 1];
    +      output += lookup[tmp >> 10];
    +      output += lookup[tmp >> 4 & 63];
    +      output += lookup[tmp << 2 & 63];
    +      output += "=";
    +    }
    +    parts.push(output);
    +    return parts.join("");
    +  }
    +  function kMaxLength() {
    +    return Buffer2.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;
    +  }
    +  function createBuffer(that, length2) {
    +    if (kMaxLength() < length2) {
    +      throw new RangeError("Invalid typed array length");
    +    }
    +    if (Buffer2.TYPED_ARRAY_SUPPORT) {
    +      that = new Uint8Array(length2);
    +      that.__proto__ = Buffer2.prototype;
    +    } else {
    +      if (that === null) {
    +        that = new Buffer2(length2);
    +      }
    +      that.length = length2;
    +    }
    +    return that;
    +  }
    +  function Buffer2(arg, encodingOrOffset, length2) {
    +    if (!Buffer2.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer2)) {
    +      return new Buffer2(arg, encodingOrOffset, length2);
    +    }
    +    if (typeof arg === "number") {
    +      if (typeof encodingOrOffset === "string") {
    +        throw new Error(
    +          "If encoding is specified then the first argument must be a string"
    +        );
    +      }
    +      return allocUnsafe(this, arg);
    +    }
    +    return from(this, arg, encodingOrOffset, length2);
    +  }
    +  function from(that, value, encodingOrOffset, length2) {
    +    if (typeof value === "number") {
    +      throw new TypeError('"value" argument must not be a number');
    +    }
    +    if (typeof ArrayBuffer !== "undefined" && value instanceof ArrayBuffer) {
    +      return fromArrayBuffer(that, value, encodingOrOffset, length2);
    +    }
    +    if (typeof value === "string") {
    +      return fromString(that, value, encodingOrOffset);
    +    }
    +    return fromObject(that, value);
    +  }
    +  function assertSize(size) {
    +    if (typeof size !== "number") {
    +      throw new TypeError('"size" argument must be a number');
    +    } else if (size < 0) {
    +      throw new RangeError('"size" argument must not be negative');
    +    }
    +  }
    +  function alloc(that, size, fill3, encoding) {
    +    assertSize(size);
    +    if (size <= 0) {
    +      return createBuffer(that, size);
    +    }
    +    if (fill3 !== void 0) {
    +      return typeof encoding === "string" ? createBuffer(that, size).fill(fill3, encoding) : createBuffer(that, size).fill(fill3);
    +    }
    +    return createBuffer(that, size);
    +  }
    +  function allocUnsafe(that, size) {
    +    assertSize(size);
    +    that = createBuffer(that, size < 0 ? 0 : checked(size) | 0);
    +    if (!Buffer2.TYPED_ARRAY_SUPPORT) {
    +      for (var i = 0; i < size; ++i) {
    +        that[i] = 0;
    +      }
    +    }
    +    return that;
    +  }
    +  function fromString(that, string, encoding) {
    +    if (typeof encoding !== "string" || encoding === "") {
    +      encoding = "utf8";
    +    }
    +    if (!Buffer2.isEncoding(encoding)) {
    +      throw new TypeError('"encoding" must be a valid string encoding');
    +    }
    +    var length2 = byteLength(string, encoding) | 0;
    +    that = createBuffer(that, length2);
    +    var actual = that.write(string, encoding);
    +    if (actual !== length2) {
    +      that = that.slice(0, actual);
    +    }
    +    return that;
    +  }
    +  function fromArrayLike(that, array) {
    +    var length2 = array.length < 0 ? 0 : checked(array.length) | 0;
    +    that = createBuffer(that, length2);
    +    for (var i = 0; i < length2; i += 1) {
    +      that[i] = array[i] & 255;
    +    }
    +    return that;
    +  }
    +  function fromArrayBuffer(that, array, byteOffset, length2) {
    +    array.byteLength;
    +    if (byteOffset < 0 || array.byteLength < byteOffset) {
    +      throw new RangeError("'offset' is out of bounds");
    +    }
    +    if (array.byteLength < byteOffset + (length2 || 0)) {
    +      throw new RangeError("'length' is out of bounds");
    +    }
    +    if (byteOffset === void 0 && length2 === void 0) {
    +      array = new Uint8Array(array);
    +    } else if (length2 === void 0) {
    +      array = new Uint8Array(array, byteOffset);
    +    } else {
    +      array = new Uint8Array(array, byteOffset, length2);
    +    }
    +    if (Buffer2.TYPED_ARRAY_SUPPORT) {
    +      that = array;
    +      that.__proto__ = Buffer2.prototype;
    +    } else {
    +      that = fromArrayLike(that, array);
    +    }
    +    return that;
    +  }
    +  function fromObject(that, obj) {
    +    if (internalIsBuffer(obj)) {
    +      var len = checked(obj.length) | 0;
    +      that = createBuffer(that, len);
    +      if (that.length === 0) {
    +        return that;
    +      }
    +      obj.copy(that, 0, 0, len);
    +      return that;
    +    }
    +    if (obj) {
    +      if (typeof ArrayBuffer !== "undefined" && obj.buffer instanceof ArrayBuffer || "length" in obj) {
    +        if (typeof obj.length !== "number" || isnan(obj.length)) {
    +          return createBuffer(that, 0);
    +        }
    +        return fromArrayLike(that, obj);
    +      }
    +      if (obj.type === "Buffer" && Array.isArray(obj.data)) {
    +        return fromArrayLike(that, obj.data);
    +      }
    +    }
    +    throw new TypeError(
    +      "First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object."
    +    );
    +  }
    +  function checked(length2) {
    +    if (length2 >= kMaxLength()) {
    +      throw new RangeError(
    +        "Attempt to allocate Buffer larger than maximum size: 0x" + kMaxLength().toString(16) + " bytes"
    +      );
    +    }
    +    return length2 | 0;
    +  }
    +  function internalIsBuffer(b) {
    +    return !!(b != null && b._isBuffer);
    +  }
    +  function byteLength(string, encoding) {
    +    if (internalIsBuffer(string)) {
    +      return string.length;
    +    }
    +    if (typeof ArrayBuffer !== "undefined" && typeof ArrayBuffer.isView === "function" && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {
    +      return string.byteLength;
    +    }
    +    if (typeof string !== "string") {
    +      string = "" + string;
    +    }
    +    var len = string.length;
    +    if (len === 0)
    +      return 0;
    +    var loweredCase = false;
    +    for (; ; ) {
    +      switch (encoding) {
    +        case "ascii":
    +        case "latin1":
    +        case "binary":
    +          return len;
    +        case "utf8":
    +        case "utf-8":
    +        case void 0:
    +          return utf8ToBytes(string).length;
    +        case "ucs2":
    +        case "ucs-2":
    +        case "utf16le":
    +        case "utf-16le":
    +          return len * 2;
    +        case "hex":
    +          return len >>> 1;
    +        case "base64":
    +          return base64ToBytes(string).length;
    +        default:
    +          if (loweredCase)
    +            return utf8ToBytes(string).length;
    +          encoding = ("" + encoding).toLowerCase();
    +          loweredCase = true;
    +      }
    +    }
    +  }
    +  function slowToString(encoding, start, end) {
    +    var loweredCase = false;
    +    if (start === void 0 || start < 0) {
    +      start = 0;
    +    }
    +    if (start > this.length) {
    +      return "";
    +    }
    +    if (end === void 0 || end > this.length) {
    +      end = this.length;
    +    }
    +    if (end <= 0) {
    +      return "";
    +    }
    +    end >>>= 0;
    +    start >>>= 0;
    +    if (end <= start) {
    +      return "";
    +    }
    +    if (!encoding)
    +      encoding = "utf8";
    +    while (true) {
    +      switch (encoding) {
    +        case "hex":
    +          return hexSlice(this, start, end);
    +        case "utf8":
    +        case "utf-8":
    +          return utf8Slice(this, start, end);
    +        case "ascii":
    +          return asciiSlice(this, start, end);
    +        case "latin1":
    +        case "binary":
    +          return latin1Slice(this, start, end);
    +        case "base64":
    +          return base64Slice(this, start, end);
    +        case "ucs2":
    +        case "ucs-2":
    +        case "utf16le":
    +        case "utf-16le":
    +          return utf16leSlice(this, start, end);
    +        default:
    +          if (loweredCase)
    +            throw new TypeError("Unknown encoding: " + encoding);
    +          encoding = (encoding + "").toLowerCase();
    +          loweredCase = true;
    +      }
    +    }
    +  }
    +  function swap(b, n, m) {
    +    var i = b[n];
    +    b[n] = b[m];
    +    b[m] = i;
    +  }
    +  function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {
    +    if (buffer.length === 0)
    +      return -1;
    +    if (typeof byteOffset === "string") {
    +      encoding = byteOffset;
    +      byteOffset = 0;
    +    } else if (byteOffset > 2147483647) {
    +      byteOffset = 2147483647;
    +    } else if (byteOffset < -2147483648) {
    +      byteOffset = -2147483648;
    +    }
    +    byteOffset = +byteOffset;
    +    if (isNaN(byteOffset)) {
    +      byteOffset = dir ? 0 : buffer.length - 1;
    +    }
    +    if (byteOffset < 0)
    +      byteOffset = buffer.length + byteOffset;
    +    if (byteOffset >= buffer.length) {
    +      if (dir)
    +        return -1;
    +      else
    +        byteOffset = buffer.length - 1;
    +    } else if (byteOffset < 0) {
    +      if (dir)
    +        byteOffset = 0;
    +      else
    +        return -1;
    +    }
    +    if (typeof val === "string") {
    +      val = Buffer2.from(val, encoding);
    +    }
    +    if (internalIsBuffer(val)) {
    +      if (val.length === 0) {
    +        return -1;
    +      }
    +      return arrayIndexOf(buffer, val, byteOffset, encoding, dir);
    +    } else if (typeof val === "number") {
    +      val = val & 255;
    +      if (Buffer2.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === "function") {
    +        if (dir) {
    +          return Uint8Array.prototype.indexOf.call(
    +            buffer,
    +            val,
    +            byteOffset
    +          );
    +        } else {
    +          return Uint8Array.prototype.lastIndexOf.call(
    +            buffer,
    +            val,
    +            byteOffset
    +          );
    +        }
    +      }
    +      return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);
    +    }
    +    throw new TypeError("val must be string, number or Buffer");
    +  }
    +  function arrayIndexOf(arr, val, byteOffset, encoding, dir) {
    +    var indexSize = 1;
    +    var arrLength = arr.length;
    +    var valLength = val.length;
    +    if (encoding !== void 0) {
    +      encoding = String(encoding).toLowerCase();
    +      if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") {
    +        if (arr.length < 2 || val.length < 2) {
    +          return -1;
    +        }
    +        indexSize = 2;
    +        arrLength /= 2;
    +        valLength /= 2;
    +        byteOffset /= 2;
    +      }
    +    }
    +    function read2(buf, i2) {
    +      if (indexSize === 1) {
    +        return buf[i2];
    +      } else {
    +        return buf.readUInt16BE(i2 * indexSize);
    +      }
    +    }
    +    var i;
    +    if (dir) {
    +      var foundIndex = -1;
    +      for (i = byteOffset; i < arrLength; i++) {
    +        if (read2(arr, i) === read2(val, foundIndex === -1 ? 0 : i - foundIndex)) {
    +          if (foundIndex === -1)
    +            foundIndex = i;
    +          if (i - foundIndex + 1 === valLength)
    +            return foundIndex * indexSize;
    +        } else {
    +          if (foundIndex !== -1)
    +            i -= i - foundIndex;
    +          foundIndex = -1;
    +        }
    +      }
    +    } else {
    +      if (byteOffset + valLength > arrLength)
    +        byteOffset = arrLength - valLength;
    +      for (i = byteOffset; i >= 0; i--) {
    +        var found = true;
    +        for (var j = 0; j < valLength; j++) {
    +          if (read2(arr, i + j) !== read2(val, j)) {
    +            found = false;
    +            break;
    +          }
    +        }
    +        if (found)
    +          return i;
    +      }
    +    }
    +    return -1;
    +  }
    +  function hexWrite(buf, string, offset, length2) {
    +    offset = Number(offset) || 0;
    +    var remaining = buf.length - offset;
    +    if (!length2) {
    +      length2 = remaining;
    +    } else {
    +      length2 = Number(length2);
    +      if (length2 > remaining) {
    +        length2 = remaining;
    +      }
    +    }
    +    var strLen = string.length;
    +    if (strLen % 2 !== 0)
    +      throw new TypeError("Invalid hex string");
    +    if (length2 > strLen / 2) {
    +      length2 = strLen / 2;
    +    }
    +    for (var i = 0; i < length2; ++i) {
    +      var parsed = parseInt(string.substr(i * 2, 2), 16);
    +      if (isNaN(parsed))
    +        return i;
    +      buf[offset + i] = parsed;
    +    }
    +    return i;
    +  }
    +  function utf8Write(buf, string, offset, length2) {
    +    return blitBuffer(
    +      utf8ToBytes(string, buf.length - offset),
    +      buf,
    +      offset,
    +      length2
    +    );
    +  }
    +  function asciiWrite(buf, string, offset, length2) {
    +    return blitBuffer(asciiToBytes(string), buf, offset, length2);
    +  }
    +  function latin1Write(buf, string, offset, length2) {
    +    return asciiWrite(buf, string, offset, length2);
    +  }
    +  function base64Write(buf, string, offset, length2) {
    +    return blitBuffer(base64ToBytes(string), buf, offset, length2);
    +  }
    +  function ucs2Write(buf, string, offset, length2) {
    +    return blitBuffer(
    +      utf16leToBytes(string, buf.length - offset),
    +      buf,
    +      offset,
    +      length2
    +    );
    +  }
    +  function base64Slice(buf, start, end) {
    +    if (start === 0 && end === buf.length) {
    +      return base64fromByteArray(buf);
    +    } else {
    +      return base64fromByteArray(buf.slice(start, end));
    +    }
    +  }
    +  function utf8Slice(buf, start, end) {
    +    end = Math.min(buf.length, end);
    +    var res = [];
    +    var i = start;
    +    while (i < end) {
    +      var firstByte = buf[i];
    +      var codePoint = null;
    +      var bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;
    +      if (i + bytesPerSequence <= end) {
    +        var secondByte, thirdByte, fourthByte, tempCodePoint;
    +        switch (bytesPerSequence) {
    +          case 1:
    +            if (firstByte < 128) {
    +              codePoint = firstByte;
    +            }
    +            break;
    +          case 2:
    +            secondByte = buf[i + 1];
    +            if ((secondByte & 192) === 128) {
    +              tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;
    +              if (tempCodePoint > 127) {
    +                codePoint = tempCodePoint;
    +              }
    +            }
    +            break;
    +          case 3:
    +            secondByte = buf[i + 1];
    +            thirdByte = buf[i + 2];
    +            if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {
    +              tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;
    +              if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {
    +                codePoint = tempCodePoint;
    +              }
    +            }
    +            break;
    +          case 4:
    +            secondByte = buf[i + 1];
    +            thirdByte = buf[i + 2];
    +            fourthByte = buf[i + 3];
    +            if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {
    +              tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;
    +              if (tempCodePoint > 65535 && tempCodePoint < 1114112) {
    +                codePoint = tempCodePoint;
    +              }
    +            }
    +        }
    +      }
    +      if (codePoint === null) {
    +        codePoint = 65533;
    +        bytesPerSequence = 1;
    +      } else if (codePoint > 65535) {
    +        codePoint -= 65536;
    +        res.push(codePoint >>> 10 & 1023 | 55296);
    +        codePoint = 56320 | codePoint & 1023;
    +      }
    +      res.push(codePoint);
    +      i += bytesPerSequence;
    +    }
    +    return decodeCodePointsArray(res);
    +  }
    +  function decodeCodePointsArray(codePoints) {
    +    var len = codePoints.length;
    +    if (len <= MAX_ARGUMENTS_LENGTH) {
    +      return String.fromCharCode.apply(String, codePoints);
    +    }
    +    var res = "";
    +    var i = 0;
    +    while (i < len) {
    +      res += String.fromCharCode.apply(
    +        String,
    +        codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
    +      );
    +    }
    +    return res;
    +  }
    +  function asciiSlice(buf, start, end) {
    +    var ret = "";
    +    end = Math.min(buf.length, end);
    +    for (var i = start; i < end; ++i) {
    +      ret += String.fromCharCode(buf[i] & 127);
    +    }
    +    return ret;
    +  }
    +  function latin1Slice(buf, start, end) {
    +    var ret = "";
    +    end = Math.min(buf.length, end);
    +    for (var i = start; i < end; ++i) {
    +      ret += String.fromCharCode(buf[i]);
    +    }
    +    return ret;
    +  }
    +  function hexSlice(buf, start, end) {
    +    var len = buf.length;
    +    if (!start || start < 0)
    +      start = 0;
    +    if (!end || end < 0 || end > len)
    +      end = len;
    +    var out = "";
    +    for (var i = start; i < end; ++i) {
    +      out += toHex(buf[i]);
    +    }
    +    return out;
    +  }
    +  function utf16leSlice(buf, start, end) {
    +    var bytes = buf.slice(start, end);
    +    var res = "";
    +    for (var i = 0; i < bytes.length; i += 2) {
    +      res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);
    +    }
    +    return res;
    +  }
    +  function checkOffset(offset, ext, length2) {
    +    if (offset % 1 !== 0 || offset < 0)
    +      throw new RangeError("offset is not uint");
    +    if (offset + ext > length2)
    +      throw new RangeError("Trying to access beyond buffer length");
    +  }
    +  function checkInt(buf, value, offset, ext, max, min) {
    +    if (!internalIsBuffer(buf))
    +      throw new TypeError('"buffer" argument must be a Buffer instance');
    +    if (value > max || value < min)
    +      throw new RangeError('"value" argument is out of bounds');
    +    if (offset + ext > buf.length)
    +      throw new RangeError("Index out of range");
    +  }
    +  function objectWriteUInt16(buf, value, offset, littleEndian) {
    +    if (value < 0)
    +      value = 65535 + value + 1;
    +    for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {
    +      buf[offset + i] = (value & 255 << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8;
    +    }
    +  }
    +  function objectWriteUInt32(buf, value, offset, littleEndian) {
    +    if (value < 0)
    +      value = 4294967295 + value + 1;
    +    for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {
    +      buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 255;
    +    }
    +  }
    +  function checkIEEE754(buf, value, offset, ext, max, min) {
    +    if (offset + ext > buf.length)
    +      throw new RangeError("Index out of range");
    +    if (offset < 0)
    +      throw new RangeError("Index out of range");
    +  }
    +  function writeFloat(buf, value, offset, littleEndian, noAssert) {
    +    if (!noAssert) {
    +      checkIEEE754(
    +        buf,
    +        value,
    +        offset,
    +        4,
    +        34028234663852886e22,
    +        -34028234663852886e22
    +      );
    +    }
    +    ieee754write(buf, value, offset, littleEndian, 23, 4);
    +    return offset + 4;
    +  }
    +  function writeDouble(buf, value, offset, littleEndian, noAssert) {
    +    if (!noAssert) {
    +      checkIEEE754(
    +        buf,
    +        value,
    +        offset,
    +        8,
    +        17976931348623157e292,
    +        -17976931348623157e292
    +      );
    +    }
    +    ieee754write(buf, value, offset, littleEndian, 52, 8);
    +    return offset + 8;
    +  }
    +  function base64clean(str) {
    +    str = stringtrim(str).replace(INVALID_BASE64_RE, "");
    +    if (str.length < 2)
    +      return "";
    +    while (str.length % 4 !== 0) {
    +      str = str + "=";
    +    }
    +    return str;
    +  }
    +  function stringtrim(str) {
    +    if (str.trim)
    +      return str.trim();
    +    return str.replace(/^\s+|\s+$/g, "");
    +  }
    +  function toHex(n) {
    +    if (n < 16)
    +      return "0" + n.toString(16);
    +    return n.toString(16);
    +  }
    +  function utf8ToBytes(string, units) {
    +    units = units || Infinity;
    +    var codePoint;
    +    var length2 = string.length;
    +    var leadSurrogate = null;
    +    var bytes = [];
    +    for (var i = 0; i < length2; ++i) {
    +      codePoint = string.charCodeAt(i);
    +      if (codePoint > 55295 && codePoint < 57344) {
    +        if (!leadSurrogate) {
    +          if (codePoint > 56319) {
    +            if ((units -= 3) > -1)
    +              bytes.push(239, 191, 189);
    +            continue;
    +          } else if (i + 1 === length2) {
    +            if ((units -= 3) > -1)
    +              bytes.push(239, 191, 189);
    +            continue;
    +          }
    +          leadSurrogate = codePoint;
    +          continue;
    +        }
    +        if (codePoint < 56320) {
    +          if ((units -= 3) > -1)
    +            bytes.push(239, 191, 189);
    +          leadSurrogate = codePoint;
    +          continue;
    +        }
    +        codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;
    +      } else if (leadSurrogate) {
    +        if ((units -= 3) > -1)
    +          bytes.push(239, 191, 189);
    +      }
    +      leadSurrogate = null;
    +      if (codePoint < 128) {
    +        if ((units -= 1) < 0)
    +          break;
    +        bytes.push(codePoint);
    +      } else if (codePoint < 2048) {
    +        if ((units -= 2) < 0)
    +          break;
    +        bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128);
    +      } else if (codePoint < 65536) {
    +        if ((units -= 3) < 0)
    +          break;
    +        bytes.push(
    +          codePoint >> 12 | 224,
    +          codePoint >> 6 & 63 | 128,
    +          codePoint & 63 | 128
    +        );
    +      } else if (codePoint < 1114112) {
    +        if ((units -= 4) < 0)
    +          break;
    +        bytes.push(
    +          codePoint >> 18 | 240,
    +          codePoint >> 12 & 63 | 128,
    +          codePoint >> 6 & 63 | 128,
    +          codePoint & 63 | 128
    +        );
    +      } else {
    +        throw new Error("Invalid code point");
    +      }
    +    }
    +    return bytes;
    +  }
    +  function asciiToBytes(str) {
    +    var byteArray = [];
    +    for (var i = 0; i < str.length; ++i) {
    +      byteArray.push(str.charCodeAt(i) & 255);
    +    }
    +    return byteArray;
    +  }
    +  function utf16leToBytes(str, units) {
    +    var c, hi, lo;
    +    var byteArray = [];
    +    for (var i = 0; i < str.length; ++i) {
    +      if ((units -= 2) < 0)
    +        break;
    +      c = str.charCodeAt(i);
    +      hi = c >> 8;
    +      lo = c % 256;
    +      byteArray.push(lo);
    +      byteArray.push(hi);
    +    }
    +    return byteArray;
    +  }
    +  function base64ToBytes(str) {
    +    return base64toByteArray(base64clean(str));
    +  }
    +  function blitBuffer(src, dst, offset, length2) {
    +    for (var i = 0; i < length2; ++i) {
    +      if (i + offset >= dst.length || i >= src.length)
    +        break;
    +      dst[i + offset] = src[i];
    +    }
    +    return i;
    +  }
    +  function isnan(val) {
    +    return val !== val;
    +  }
    +  function isBuffer(obj) {
    +    return obj != null && (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj));
    +  }
    +  function isFastBuffer(obj) {
    +    return !!obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj);
    +  }
    +  function isSlowBuffer(obj) {
    +    return typeof obj.readFloatLE === "function" && typeof obj.slice === "function" && isFastBuffer(obj.slice(0, 0));
    +  }
    +  function ieee754read(buffer, offset, isLE, mLen, nBytes) {
    +    var e, m;
    +    var eLen = nBytes * 8 - mLen - 1;
    +    var eMax = (1 << eLen) - 1;
    +    var eBias = eMax >> 1;
    +    var nBits = -7;
    +    var i = isLE ? nBytes - 1 : 0;
    +    var d = isLE ? -1 : 1;
    +    var s = buffer[offset + i];
    +    i += d;
    +    e = s & (1 << -nBits) - 1;
    +    s >>= -nBits;
    +    nBits += eLen;
    +    for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {
    +    }
    +    m = e & (1 << -nBits) - 1;
    +    e >>= -nBits;
    +    nBits += mLen;
    +    for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {
    +    }
    +    if (e === 0) {
    +      e = 1 - eBias;
    +    } else if (e === eMax) {
    +      return m ? NaN : (s ? -1 : 1) * Infinity;
    +    } else {
    +      m = m + Math.pow(2, mLen);
    +      e = e - eBias;
    +    }
    +    return (s ? -1 : 1) * m * Math.pow(2, e - mLen);
    +  }
    +  function ieee754write(buffer, value, offset, isLE, mLen, nBytes) {
    +    var e, m, c;
    +    var eLen = nBytes * 8 - mLen - 1;
    +    var eMax = (1 << eLen) - 1;
    +    var eBias = eMax >> 1;
    +    var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;
    +    var i = isLE ? 0 : nBytes - 1;
    +    var d = isLE ? 1 : -1;
    +    var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;
    +    value = Math.abs(value);
    +    if (isNaN(value) || value === Infinity) {
    +      m = isNaN(value) ? 1 : 0;
    +      e = eMax;
    +    } else {
    +      e = Math.floor(Math.log(value) / Math.LN2);
    +      if (value * (c = Math.pow(2, -e)) < 1) {
    +        e--;
    +        c *= 2;
    +      }
    +      if (e + eBias >= 1) {
    +        value += rt / c;
    +      } else {
    +        value += rt * Math.pow(2, 1 - eBias);
    +      }
    +      if (value * c >= 2) {
    +        e++;
    +        c /= 2;
    +      }
    +      if (e + eBias >= eMax) {
    +        m = 0;
    +        e = eMax;
    +      } else if (e + eBias >= 1) {
    +        m = (value * c - 1) * Math.pow(2, mLen);
    +        e = e + eBias;
    +      } else {
    +        m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
    +        e = 0;
    +      }
    +    }
    +    for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {
    +    }
    +    e = e << mLen | m;
    +    eLen += mLen;
    +    for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {
    +    }
    +    buffer[offset + i - d] |= s * 128;
    +  }
    +  var lookup, revLookup, Arr, inited, MAX_ARGUMENTS_LENGTH, INVALID_BASE64_RE;
    +  var init_Buffer = __esm({
    +    "node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js"() {
    +      init_process();
    +      init_buffer();
    +      lookup = [];
    +      revLookup = [];
    +      Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
    +      inited = false;
    +      Buffer2.TYPED_ARRAY_SUPPORT = globalThis.TYPED_ARRAY_SUPPORT !== void 0 ? globalThis.TYPED_ARRAY_SUPPORT : true;
    +      Buffer2.poolSize = 8192;
    +      Buffer2._augment = function(arr) {
    +        arr.__proto__ = Buffer2.prototype;
    +        return arr;
    +      };
    +      Buffer2.from = function(value, encodingOrOffset, length2) {
    +        return from(null, value, encodingOrOffset, length2);
    +      };
    +      Buffer2.kMaxLength = kMaxLength();
    +      if (Buffer2.TYPED_ARRAY_SUPPORT) {
    +        Buffer2.prototype.__proto__ = Uint8Array.prototype;
    +        Buffer2.__proto__ = Uint8Array;
    +        if (typeof Symbol !== "undefined" && Symbol.species && Buffer2[Symbol.species] === Buffer2) {
    +        }
    +      }
    +      Buffer2.alloc = function(size, fill3, encoding) {
    +        return alloc(null, size, fill3, encoding);
    +      };
    +      Buffer2.allocUnsafe = function(size) {
    +        return allocUnsafe(null, size);
    +      };
    +      Buffer2.allocUnsafeSlow = function(size) {
    +        return allocUnsafe(null, size);
    +      };
    +      Buffer2.isBuffer = isBuffer;
    +      Buffer2.compare = function compare(a, b) {
    +        if (!internalIsBuffer(a) || !internalIsBuffer(b)) {
    +          throw new TypeError("Arguments must be Buffers");
    +        }
    +        if (a === b)
    +          return 0;
    +        var x = a.length;
    +        var y = b.length;
    +        for (var i = 0, len = Math.min(x, y); i < len; ++i) {
    +          if (a[i] !== b[i]) {
    +            x = a[i];
    +            y = b[i];
    +            break;
    +          }
    +        }
    +        if (x < y)
    +          return -1;
    +        if (y < x)
    +          return 1;
    +        return 0;
    +      };
    +      Buffer2.isEncoding = function isEncoding(encoding) {
    +        switch (String(encoding).toLowerCase()) {
    +          case "hex":
    +          case "utf8":
    +          case "utf-8":
    +          case "ascii":
    +          case "latin1":
    +          case "binary":
    +          case "base64":
    +          case "ucs2":
    +          case "ucs-2":
    +          case "utf16le":
    +          case "utf-16le":
    +            return true;
    +          default:
    +            return false;
    +        }
    +      };
    +      Buffer2.concat = function concat(list, length2) {
    +        if (!Array.isArray(list)) {
    +          throw new TypeError('"list" argument must be an Array of Buffers');
    +        }
    +        if (list.length === 0) {
    +          return Buffer2.alloc(0);
    +        }
    +        var i;
    +        if (length2 === void 0) {
    +          length2 = 0;
    +          for (i = 0; i < list.length; ++i) {
    +            length2 += list[i].length;
    +          }
    +        }
    +        var buffer = Buffer2.allocUnsafe(length2);
    +        var pos = 0;
    +        for (i = 0; i < list.length; ++i) {
    +          var buf = list[i];
    +          if (!internalIsBuffer(buf)) {
    +            throw new TypeError('"list" argument must be an Array of Buffers');
    +          }
    +          buf.copy(buffer, pos);
    +          pos += buf.length;
    +        }
    +        return buffer;
    +      };
    +      Buffer2.byteLength = byteLength;
    +      Buffer2.prototype._isBuffer = true;
    +      Buffer2.prototype.swap16 = function swap16() {
    +        var len = this.length;
    +        if (len % 2 !== 0) {
    +          throw new RangeError("Buffer size must be a multiple of 16-bits");
    +        }
    +        for (var i = 0; i < len; i += 2) {
    +          swap(this, i, i + 1);
    +        }
    +        return this;
    +      };
    +      Buffer2.prototype.swap32 = function swap32() {
    +        var len = this.length;
    +        if (len % 4 !== 0) {
    +          throw new RangeError("Buffer size must be a multiple of 32-bits");
    +        }
    +        for (var i = 0; i < len; i += 4) {
    +          swap(this, i, i + 3);
    +          swap(this, i + 1, i + 2);
    +        }
    +        return this;
    +      };
    +      Buffer2.prototype.swap64 = function swap64() {
    +        var len = this.length;
    +        if (len % 8 !== 0) {
    +          throw new RangeError("Buffer size must be a multiple of 64-bits");
    +        }
    +        for (var i = 0; i < len; i += 8) {
    +          swap(this, i, i + 7);
    +          swap(this, i + 1, i + 6);
    +          swap(this, i + 2, i + 5);
    +          swap(this, i + 3, i + 4);
    +        }
    +        return this;
    +      };
    +      Buffer2.prototype.toString = function toString() {
    +        var length2 = this.length | 0;
    +        if (length2 === 0)
    +          return "";
    +        if (arguments.length === 0)
    +          return utf8Slice(this, 0, length2);
    +        return slowToString.apply(this, arguments);
    +      };
    +      Buffer2.prototype.equals = function equals(b) {
    +        if (!internalIsBuffer(b))
    +          throw new TypeError("Argument must be a Buffer");
    +        if (this === b)
    +          return true;
    +        return Buffer2.compare(this, b) === 0;
    +      };
    +      Buffer2.prototype.compare = function compare2(target, start, end, thisStart, thisEnd) {
    +        if (!internalIsBuffer(target)) {
    +          throw new TypeError("Argument must be a Buffer");
    +        }
    +        if (start === void 0) {
    +          start = 0;
    +        }
    +        if (end === void 0) {
    +          end = target ? target.length : 0;
    +        }
    +        if (thisStart === void 0) {
    +          thisStart = 0;
    +        }
    +        if (thisEnd === void 0) {
    +          thisEnd = this.length;
    +        }
    +        if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
    +          throw new RangeError("out of range index");
    +        }
    +        if (thisStart >= thisEnd && start >= end) {
    +          return 0;
    +        }
    +        if (thisStart >= thisEnd) {
    +          return -1;
    +        }
    +        if (start >= end) {
    +          return 1;
    +        }
    +        start >>>= 0;
    +        end >>>= 0;
    +        thisStart >>>= 0;
    +        thisEnd >>>= 0;
    +        if (this === target)
    +          return 0;
    +        var x = thisEnd - thisStart;
    +        var y = end - start;
    +        var len = Math.min(x, y);
    +        var thisCopy = this.slice(thisStart, thisEnd);
    +        var targetCopy = target.slice(start, end);
    +        for (var i = 0; i < len; ++i) {
    +          if (thisCopy[i] !== targetCopy[i]) {
    +            x = thisCopy[i];
    +            y = targetCopy[i];
    +            break;
    +          }
    +        }
    +        if (x < y)
    +          return -1;
    +        if (y < x)
    +          return 1;
    +        return 0;
    +      };
    +      Buffer2.prototype.includes = function includes(val, byteOffset, encoding) {
    +        return this.indexOf(val, byteOffset, encoding) !== -1;
    +      };
    +      Buffer2.prototype.indexOf = function indexOf(val, byteOffset, encoding) {
    +        return bidirectionalIndexOf(this, val, byteOffset, encoding, true);
    +      };
    +      Buffer2.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {
    +        return bidirectionalIndexOf(this, val, byteOffset, encoding, false);
    +      };
    +      Buffer2.prototype.write = function write(string, offset, length2, encoding) {
    +        if (offset === void 0) {
    +          encoding = "utf8";
    +          length2 = this.length;
    +          offset = 0;
    +        } else if (length2 === void 0 && typeof offset === "string") {
    +          encoding = offset;
    +          length2 = this.length;
    +          offset = 0;
    +        } else if (isFinite(offset)) {
    +          offset = offset | 0;
    +          if (isFinite(length2)) {
    +            length2 = length2 | 0;
    +            if (encoding === void 0)
    +              encoding = "utf8";
    +          } else {
    +            encoding = length2;
    +            length2 = void 0;
    +          }
    +        } else {
    +          throw new Error(
    +            "Buffer.write(string, encoding, offset[, length]) is no longer supported"
    +          );
    +        }
    +        var remaining = this.length - offset;
    +        if (length2 === void 0 || length2 > remaining)
    +          length2 = remaining;
    +        if (string.length > 0 && (length2 < 0 || offset < 0) || offset > this.length) {
    +          throw new RangeError("Attempt to write outside buffer bounds");
    +        }
    +        if (!encoding)
    +          encoding = "utf8";
    +        var loweredCase = false;
    +        for (; ; ) {
    +          switch (encoding) {
    +            case "hex":
    +              return hexWrite(this, string, offset, length2);
    +            case "utf8":
    +            case "utf-8":
    +              return utf8Write(this, string, offset, length2);
    +            case "ascii":
    +              return asciiWrite(this, string, offset, length2);
    +            case "latin1":
    +            case "binary":
    +              return latin1Write(this, string, offset, length2);
    +            case "base64":
    +              return base64Write(this, string, offset, length2);
    +            case "ucs2":
    +            case "ucs-2":
    +            case "utf16le":
    +            case "utf-16le":
    +              return ucs2Write(this, string, offset, length2);
    +            default:
    +              if (loweredCase)
    +                throw new TypeError("Unknown encoding: " + encoding);
    +              encoding = ("" + encoding).toLowerCase();
    +              loweredCase = true;
    +          }
    +        }
    +      };
    +      Buffer2.prototype.toJSON = function toJSON() {
    +        return {
    +          type: "Buffer",
    +          data: Array.prototype.slice.call(this._arr || this, 0)
    +        };
    +      };
    +      MAX_ARGUMENTS_LENGTH = 4096;
    +      Buffer2.prototype.slice = function slice(start, end) {
    +        var len = this.length;
    +        start = ~~start;
    +        end = end === void 0 ? len : ~~end;
    +        if (start < 0) {
    +          start += len;
    +          if (start < 0)
    +            start = 0;
    +        } else if (start > len) {
    +          start = len;
    +        }
    +        if (end < 0) {
    +          end += len;
    +          if (end < 0)
    +            end = 0;
    +        } else if (end > len) {
    +          end = len;
    +        }
    +        if (end < start)
    +          end = start;
    +        var newBuf;
    +        if (Buffer2.TYPED_ARRAY_SUPPORT) {
    +          newBuf = this.subarray(start, end);
    +          newBuf.__proto__ = Buffer2.prototype;
    +        } else {
    +          var sliceLen = end - start;
    +          newBuf = new Buffer2(sliceLen, void 0);
    +          for (var i = 0; i < sliceLen; ++i) {
    +            newBuf[i] = this[i + start];
    +          }
    +        }
    +        return newBuf;
    +      };
    +      Buffer2.prototype.readUIntLE = function readUIntLE(offset, byteLength3, noAssert) {
    +        offset = offset | 0;
    +        byteLength3 = byteLength3 | 0;
    +        if (!noAssert)
    +          checkOffset(offset, byteLength3, this.length);
    +        var val = this[offset];
    +        var mul = 1;
    +        var i = 0;
    +        while (++i < byteLength3 && (mul *= 256)) {
    +          val += this[offset + i] * mul;
    +        }
    +        return val;
    +      };
    +      Buffer2.prototype.readUIntBE = function readUIntBE(offset, byteLength3, noAssert) {
    +        offset = offset | 0;
    +        byteLength3 = byteLength3 | 0;
    +        if (!noAssert) {
    +          checkOffset(offset, byteLength3, this.length);
    +        }
    +        var val = this[offset + --byteLength3];
    +        var mul = 1;
    +        while (byteLength3 > 0 && (mul *= 256)) {
    +          val += this[offset + --byteLength3] * mul;
    +        }
    +        return val;
    +      };
    +      Buffer2.prototype.readUInt8 = function readUInt8(offset, noAssert) {
    +        if (!noAssert)
    +          checkOffset(offset, 1, this.length);
    +        return this[offset];
    +      };
    +      Buffer2.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {
    +        if (!noAssert)
    +          checkOffset(offset, 2, this.length);
    +        return this[offset] | this[offset + 1] << 8;
    +      };
    +      Buffer2.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {
    +        if (!noAssert)
    +          checkOffset(offset, 2, this.length);
    +        return this[offset] << 8 | this[offset + 1];
    +      };
    +      Buffer2.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {
    +        if (!noAssert)
    +          checkOffset(offset, 4, this.length);
    +        return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216;
    +      };
    +      Buffer2.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {
    +        if (!noAssert)
    +          checkOffset(offset, 4, this.length);
    +        return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);
    +      };
    +      Buffer2.prototype.readIntLE = function readIntLE(offset, byteLength3, noAssert) {
    +        offset = offset | 0;
    +        byteLength3 = byteLength3 | 0;
    +        if (!noAssert)
    +          checkOffset(offset, byteLength3, this.length);
    +        var val = this[offset];
    +        var mul = 1;
    +        var i = 0;
    +        while (++i < byteLength3 && (mul *= 256)) {
    +          val += this[offset + i] * mul;
    +        }
    +        mul *= 128;
    +        if (val >= mul)
    +          val -= Math.pow(2, 8 * byteLength3);
    +        return val;
    +      };
    +      Buffer2.prototype.readIntBE = function readIntBE(offset, byteLength3, noAssert) {
    +        offset = offset | 0;
    +        byteLength3 = byteLength3 | 0;
    +        if (!noAssert)
    +          checkOffset(offset, byteLength3, this.length);
    +        var i = byteLength3;
    +        var mul = 1;
    +        var val = this[offset + --i];
    +        while (i > 0 && (mul *= 256)) {
    +          val += this[offset + --i] * mul;
    +        }
    +        mul *= 128;
    +        if (val >= mul)
    +          val -= Math.pow(2, 8 * byteLength3);
    +        return val;
    +      };
    +      Buffer2.prototype.readInt8 = function readInt8(offset, noAssert) {
    +        if (!noAssert)
    +          checkOffset(offset, 1, this.length);
    +        if (!(this[offset] & 128))
    +          return this[offset];
    +        return (255 - this[offset] + 1) * -1;
    +      };
    +      Buffer2.prototype.readInt16LE = function readInt16LE(offset, noAssert) {
    +        if (!noAssert)
    +          checkOffset(offset, 2, this.length);
    +        var val = this[offset] | this[offset + 1] << 8;
    +        return val & 32768 ? val | 4294901760 : val;
    +      };
    +      Buffer2.prototype.readInt16BE = function readInt16BE(offset, noAssert) {
    +        if (!noAssert)
    +          checkOffset(offset, 2, this.length);
    +        var val = this[offset + 1] | this[offset] << 8;
    +        return val & 32768 ? val | 4294901760 : val;
    +      };
    +      Buffer2.prototype.readInt32LE = function readInt32LE(offset, noAssert) {
    +        if (!noAssert)
    +          checkOffset(offset, 4, this.length);
    +        return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;
    +      };
    +      Buffer2.prototype.readInt32BE = function readInt32BE(offset, noAssert) {
    +        if (!noAssert)
    +          checkOffset(offset, 4, this.length);
    +        return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];
    +      };
    +      Buffer2.prototype.readFloatLE = function readFloatLE(offset, noAssert) {
    +        if (!noAssert)
    +          checkOffset(offset, 4, this.length);
    +        return ieee754read(this, offset, true, 23, 4);
    +      };
    +      Buffer2.prototype.readFloatBE = function readFloatBE(offset, noAssert) {
    +        if (!noAssert)
    +          checkOffset(offset, 4, this.length);
    +        return ieee754read(this, offset, false, 23, 4);
    +      };
    +      Buffer2.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {
    +        if (!noAssert)
    +          checkOffset(offset, 8, this.length);
    +        return ieee754read(this, offset, true, 52, 8);
    +      };
    +      Buffer2.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {
    +        if (!noAssert)
    +          checkOffset(offset, 8, this.length);
    +        return ieee754read(this, offset, false, 52, 8);
    +      };
    +      Buffer2.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength3, noAssert) {
    +        value = +value;
    +        offset = offset | 0;
    +        byteLength3 = byteLength3 | 0;
    +        if (!noAssert) {
    +          var maxBytes = Math.pow(2, 8 * byteLength3) - 1;
    +          checkInt(this, value, offset, byteLength3, maxBytes, 0);
    +        }
    +        var mul = 1;
    +        var i = 0;
    +        this[offset] = value & 255;
    +        while (++i < byteLength3 && (mul *= 256)) {
    +          this[offset + i] = value / mul & 255;
    +        }
    +        return offset + byteLength3;
    +      };
    +      Buffer2.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength3, noAssert) {
    +        value = +value;
    +        offset = offset | 0;
    +        byteLength3 = byteLength3 | 0;
    +        if (!noAssert) {
    +          var maxBytes = Math.pow(2, 8 * byteLength3) - 1;
    +          checkInt(this, value, offset, byteLength3, maxBytes, 0);
    +        }
    +        var i = byteLength3 - 1;
    +        var mul = 1;
    +        this[offset + i] = value & 255;
    +        while (--i >= 0 && (mul *= 256)) {
    +          this[offset + i] = value / mul & 255;
    +        }
    +        return offset + byteLength3;
    +      };
    +      Buffer2.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {
    +        value = +value;
    +        offset = offset | 0;
    +        if (!noAssert)
    +          checkInt(this, value, offset, 1, 255, 0);
    +        if (!Buffer2.TYPED_ARRAY_SUPPORT)
    +          value = Math.floor(value);
    +        this[offset] = value & 255;
    +        return offset + 1;
    +      };
    +      Buffer2.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {
    +        value = +value;
    +        offset = offset | 0;
    +        if (!noAssert)
    +          checkInt(this, value, offset, 2, 65535, 0);
    +        if (Buffer2.TYPED_ARRAY_SUPPORT) {
    +          this[offset] = value & 255;
    +          this[offset + 1] = value >>> 8;
    +        } else {
    +          objectWriteUInt16(this, value, offset, true);
    +        }
    +        return offset + 2;
    +      };
    +      Buffer2.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {
    +        value = +value;
    +        offset = offset | 0;
    +        if (!noAssert)
    +          checkInt(this, value, offset, 2, 65535, 0);
    +        if (Buffer2.TYPED_ARRAY_SUPPORT) {
    +          this[offset] = value >>> 8;
    +          this[offset + 1] = value & 255;
    +        } else {
    +          objectWriteUInt16(this, value, offset, false);
    +        }
    +        return offset + 2;
    +      };
    +      Buffer2.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {
    +        value = +value;
    +        offset = offset | 0;
    +        if (!noAssert)
    +          checkInt(this, value, offset, 4, 4294967295, 0);
    +        if (Buffer2.TYPED_ARRAY_SUPPORT) {
    +          this[offset + 3] = value >>> 24;
    +          this[offset + 2] = value >>> 16;
    +          this[offset + 1] = value >>> 8;
    +          this[offset] = value & 255;
    +        } else {
    +          objectWriteUInt32(this, value, offset, true);
    +        }
    +        return offset + 4;
    +      };
    +      Buffer2.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {
    +        value = +value;
    +        offset = offset | 0;
    +        if (!noAssert)
    +          checkInt(this, value, offset, 4, 4294967295, 0);
    +        if (Buffer2.TYPED_ARRAY_SUPPORT) {
    +          this[offset] = value >>> 24;
    +          this[offset + 1] = value >>> 16;
    +          this[offset + 2] = value >>> 8;
    +          this[offset + 3] = value & 255;
    +        } else {
    +          objectWriteUInt32(this, value, offset, false);
    +        }
    +        return offset + 4;
    +      };
    +      Buffer2.prototype.writeIntLE = function writeIntLE(value, offset, byteLength3, noAssert) {
    +        value = +value;
    +        offset = offset | 0;
    +        if (!noAssert) {
    +          var limit = Math.pow(2, 8 * byteLength3 - 1);
    +          checkInt(this, value, offset, byteLength3, limit - 1, -limit);
    +        }
    +        var i = 0;
    +        var mul = 1;
    +        var sub = 0;
    +        this[offset] = value & 255;
    +        while (++i < byteLength3 && (mul *= 256)) {
    +          if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
    +            sub = 1;
    +          }
    +          this[offset + i] = (value / mul >> 0) - sub & 255;
    +        }
    +        return offset + byteLength3;
    +      };
    +      Buffer2.prototype.writeIntBE = function writeIntBE(value, offset, byteLength3, noAssert) {
    +        value = +value;
    +        offset = offset | 0;
    +        if (!noAssert) {
    +          var limit = Math.pow(2, 8 * byteLength3 - 1);
    +          checkInt(this, value, offset, byteLength3, limit - 1, -limit);
    +        }
    +        var i = byteLength3 - 1;
    +        var mul = 1;
    +        var sub = 0;
    +        this[offset + i] = value & 255;
    +        while (--i >= 0 && (mul *= 256)) {
    +          if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
    +            sub = 1;
    +          }
    +          this[offset + i] = (value / mul >> 0) - sub & 255;
    +        }
    +        return offset + byteLength3;
    +      };
    +      Buffer2.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {
    +        value = +value;
    +        offset = offset | 0;
    +        if (!noAssert)
    +          checkInt(this, value, offset, 1, 127, -128);
    +        if (!Buffer2.TYPED_ARRAY_SUPPORT)
    +          value = Math.floor(value);
    +        if (value < 0)
    +          value = 255 + value + 1;
    +        this[offset] = value & 255;
    +        return offset + 1;
    +      };
    +      Buffer2.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {
    +        value = +value;
    +        offset = offset | 0;
    +        if (!noAssert)
    +          checkInt(this, value, offset, 2, 32767, -32768);
    +        if (Buffer2.TYPED_ARRAY_SUPPORT) {
    +          this[offset] = value & 255;
    +          this[offset + 1] = value >>> 8;
    +        } else {
    +          objectWriteUInt16(this, value, offset, true);
    +        }
    +        return offset + 2;
    +      };
    +      Buffer2.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {
    +        value = +value;
    +        offset = offset | 0;
    +        if (!noAssert)
    +          checkInt(this, value, offset, 2, 32767, -32768);
    +        if (Buffer2.TYPED_ARRAY_SUPPORT) {
    +          this[offset] = value >>> 8;
    +          this[offset + 1] = value & 255;
    +        } else {
    +          objectWriteUInt16(this, value, offset, false);
    +        }
    +        return offset + 2;
    +      };
    +      Buffer2.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {
    +        value = +value;
    +        offset = offset | 0;
    +        if (!noAssert)
    +          checkInt(this, value, offset, 4, 2147483647, -2147483648);
    +        if (Buffer2.TYPED_ARRAY_SUPPORT) {
    +          this[offset] = value & 255;
    +          this[offset + 1] = value >>> 8;
    +          this[offset + 2] = value >>> 16;
    +          this[offset + 3] = value >>> 24;
    +        } else {
    +          objectWriteUInt32(this, value, offset, true);
    +        }
    +        return offset + 4;
    +      };
    +      Buffer2.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {
    +        value = +value;
    +        offset = offset | 0;
    +        if (!noAssert)
    +          checkInt(this, value, offset, 4, 2147483647, -2147483648);
    +        if (value < 0)
    +          value = 4294967295 + value + 1;
    +        if (Buffer2.TYPED_ARRAY_SUPPORT) {
    +          this[offset] = value >>> 24;
    +          this[offset + 1] = value >>> 16;
    +          this[offset + 2] = value >>> 8;
    +          this[offset + 3] = value & 255;
    +        } else {
    +          objectWriteUInt32(this, value, offset, false);
    +        }
    +        return offset + 4;
    +      };
    +      Buffer2.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {
    +        return writeFloat(this, value, offset, true, noAssert);
    +      };
    +      Buffer2.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {
    +        return writeFloat(this, value, offset, false, noAssert);
    +      };
    +      Buffer2.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {
    +        return writeDouble(this, value, offset, true, noAssert);
    +      };
    +      Buffer2.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {
    +        return writeDouble(this, value, offset, false, noAssert);
    +      };
    +      Buffer2.prototype.copy = function copy(target, targetStart, start, end) {
    +        if (!start)
    +          start = 0;
    +        if (!end && end !== 0)
    +          end = this.length;
    +        if (targetStart >= target.length)
    +          targetStart = target.length;
    +        if (!targetStart)
    +          targetStart = 0;
    +        if (end > 0 && end < start)
    +          end = start;
    +        if (end === start)
    +          return 0;
    +        if (target.length === 0 || this.length === 0)
    +          return 0;
    +        if (targetStart < 0) {
    +          throw new RangeError("targetStart out of bounds");
    +        }
    +        if (start < 0 || start >= this.length)
    +          throw new RangeError("sourceStart out of bounds");
    +        if (end < 0)
    +          throw new RangeError("sourceEnd out of bounds");
    +        if (end > this.length)
    +          end = this.length;
    +        if (target.length - targetStart < end - start) {
    +          end = target.length - targetStart + start;
    +        }
    +        var len = end - start;
    +        var i;
    +        if (this === target && start < targetStart && targetStart < end) {
    +          for (i = len - 1; i >= 0; --i) {
    +            target[i + targetStart] = this[i + start];
    +          }
    +        } else if (len < 1e3 || !Buffer2.TYPED_ARRAY_SUPPORT) {
    +          for (i = 0; i < len; ++i) {
    +            target[i + targetStart] = this[i + start];
    +          }
    +        } else {
    +          Uint8Array.prototype.set.call(
    +            target,
    +            this.subarray(start, start + len),
    +            targetStart
    +          );
    +        }
    +        return len;
    +      };
    +      Buffer2.prototype.fill = function fill(val, start, end, encoding) {
    +        if (typeof val === "string") {
    +          if (typeof start === "string") {
    +            encoding = start;
    +            start = 0;
    +            end = this.length;
    +          } else if (typeof end === "string") {
    +            encoding = end;
    +            end = this.length;
    +          }
    +          if (val.length === 1) {
    +            var code = val.charCodeAt(0);
    +            if (code < 256) {
    +              val = code;
    +            }
    +          }
    +          if (encoding !== void 0 && typeof encoding !== "string") {
    +            throw new TypeError("encoding must be a string");
    +          }
    +          if (typeof encoding === "string" && !Buffer2.isEncoding(encoding)) {
    +            throw new TypeError("Unknown encoding: " + encoding);
    +          }
    +        } else if (typeof val === "number") {
    +          val = val & 255;
    +        }
    +        if (start < 0 || this.length < start || this.length < end) {
    +          throw new RangeError("Out of range index");
    +        }
    +        if (end <= start) {
    +          return this;
    +        }
    +        start = start >>> 0;
    +        end = end === void 0 ? this.length : end >>> 0;
    +        if (!val)
    +          val = 0;
    +        var i;
    +        if (typeof val === "number") {
    +          for (i = start; i < end; ++i) {
    +            this[i] = val;
    +          }
    +        } else {
    +          var bytes = internalIsBuffer(val) ? val : utf8ToBytes(new Buffer2(val, encoding).toString());
    +          var len = bytes.length;
    +          for (i = 0; i < end - start; ++i) {
    +            this[i + start] = bytes[i % len];
    +          }
    +        }
    +        return this;
    +      };
    +      INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g;
    +    }
    +  });
    +
    +  // node_modules/@esbuild-plugins/node-globals-polyfill/_buffer.js
    +  var init_buffer = __esm({
    +    "node_modules/@esbuild-plugins/node-globals-polyfill/_buffer.js"() {
    +      init_Buffer();
    +    }
    +  });
    +
    +  // node_modules/prismjs/prism.js
    +  var require_prism = __commonJS({
    +    "node_modules/prismjs/prism.js"(exports, module) {
    +      init_process();
    +      init_buffer();
    +      var _self = typeof window !== "undefined" ? window : typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope ? self : {};
    +      var Prism4 = function(_self2) {
    +        var lang = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i;
    +        var uniqueId = 0;
    +        var plainTextGrammar = {};
    +        var _ = {
    +          /**
    +           * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the
    +           * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load
    +           * additional languages or plugins yourself.
    +           *
    +           * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.
    +           *
    +           * You obviously have to change this value before the automatic highlighting started. To do this, you can add an
    +           * empty Prism object into the global scope before loading the Prism script like this:
    +           *
    +           * ```js
    +           * window.Prism = window.Prism || {};
    +           * Prism.manual = true;
    +           * // add a new \n\t\t\t\n\t\t\t\n\t\t\n\t`;\n}\n\nlet globalId = 0;\nexport function* CodePreview(\n\tthis: Context,\n\t{\n\t\tvalue,\n\t\tvisible = true,\n\t\tshowStatus = false,\n\t\tautoresize = false,\n\t}: {\n\t\tvalue: string;\n\t\tvisible?: boolean;\n\t\tshowStatus?: boolean;\n\t\tautoresize?: boolean;\n\t},\n): any {\n\tconst id = globalId++;\n\tlet iframe!: HTMLIFrameElement;\n\t// We use this iframe ID as the key for the iframe, so that previous iframes\n\t// are destroyed along with any registered callbacks like setInterval.\n\tlet iframeID = 0;\n\tlet loading = true;\n\tlet errorMessage: string | null = null;\n\n\tlet staticURLs: Record | undefined;\n\tlet execute: () => unknown;\n\tlet executeDebounced: () => unknown;\n\tif (typeof window !== \"undefined\") {\n\t\tstaticURLs = extractData(\n\t\t\tdocument.getElementById(\"static-urls\") as HTMLScriptElement,\n\t\t) as Record;\n\t\texecute = () => {\n\t\t\tif (!visible) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// We have to refresh to change the iframe variable in scope, as the\n\t\t\t// previous iframe is destroyed. We would have to await refresh if this\n\t\t\t// component was refactored to be async.\n\t\t\tiframeID++;\n\t\t\tthis.refresh();\n\t\t\tconst document1 = iframe.contentDocument;\n\t\t\tif (document1 == null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet parsed: any;\n\t\t\tlet code = \"\";\n\t\t\ttry {\n\t\t\t\tparsed = transform(value);\n\t\t\t\tcode = parsed.code;\n\t\t\t} catch (err: any) {\n\t\t\t\tconsole.error(err);\n\t\t\t\tloading = false;\n\t\t\t\terrorMessage = err.message || err;\n\t\t\t\tthis.refresh();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdocument1.write(generateIFrameHTML(id, code, staticURLs!));\n\t\t\tdocument1.close();\n\t\t};\n\n\t\texecuteDebounced = debounce(execute, 2000);\n\t}\n\n\tlet height = 100;\n\tif (typeof window !== \"undefined\") {\n\t\tconst onmessage = (ev: any) => {\n\t\t\tlet data: any = JSON.parse(ev.data);\n\t\t\tif (data.id !== id) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (data.type === \"executed\") {\n\t\t\t\tloading = false;\n\t\t\t\tthis.refresh();\n\t\t\t} else if (data.type === \"error\") {\n\t\t\t\tloading = false;\n\t\t\t\terrorMessage = data.message;\n\t\t\t\tthis.refresh();\n\t\t\t} else if (data.type === \"resize\" && visible) {\n\t\t\t\tif (autoresize) {\n\t\t\t\t\t// Auto-resizing iframes is tricky because you can get into an\n\t\t\t\t\t// infinite loop. For instance, if the body height is `100vh`, or if\n\t\t\t\t\t// a scrollbar being added or removed causes the page height to\n\t\t\t\t\t// change. Therefore, we give a max height of 1000px.\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t// Putting this in a callback in an attempt to prevent infinite loops.\n\t\t\t\t\t\theight = Math.min(1000, Math.max(100, data.height));\n\t\t\t\t\t\tthis.refresh();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener(\"message\", onmessage);\n\t\tthis.cleanup(() => {\n\t\t\twindow.removeEventListener(\"message\", onmessage);\n\t\t});\n\t}\n\n\tlet oldValue: string | undefined;\n\tlet oldVisible: boolean | undefined;\n\tfor ({\n\t\tvalue,\n\t\tvisible = true,\n\t\tshowStatus = false,\n\t\tautoresize = false,\n\t} of this) {\n\t\tif (value !== oldValue || visible !== oldVisible) {\n\t\t\t// TODO: This looks like it could just be an async function somehow\n\t\t\tloading = true;\n\t\t\terrorMessage = null;\n\t\t\tthis.flush(() => executeDebounced());\n\t\t}\n\n\t\tyield jsx`\n\t\t\t
    \n\t\t\t\t${\n\t\t\t\t\tshowStatus &&\n\t\t\t\t\tjsx`\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t${errorMessage ? \"Errored!\" : loading ? \"Loading...\" : \"Running!\"}\n\t\t\t\t\t\t
    \n\t\t\t\t\t`\n\t\t\t\t}\n\t\t\t\t
    \n\t\t\t\t\t${\n\t\t\t\t\t\terrorMessage &&\n\t\t\t\t\t\tjsx`\n\t\t\t\t\t\t\t
    ${errorMessage}
    \n\t\t\t\t\t\t`\n\t\t\t\t\t}\n\t\t\t\t\t (iframe = el)}\n\t\t\t\t\t\tclass=\"\n\t\t\t\t\t\t\tplayground-iframe\n\t\t\t\t\t\t\t${css`\n\t\t\t\t\t\t\t\tflex: 1 1 auto;\n\t\t\t\t\t\t\t\tborder: none;\n\t\t\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t\t\t\tbackground-color: var(--bg-color);\n\t\t\t\t\t\t\t`}\n\t\t\t\t\t\t\"\n\t\t\t\t\t\tstyle=\"height: ${autoresize ? `${height}px` : \"auto\"};\"\n\t\t\t\t\t/>\n\t\t\t\t
    \n\t\t\t
    \n\t\t`;\n\n\t\toldValue = value;\n\t\toldVisible = visible;\n\t}\n}\n", "export function debounce(fn: Function, wait: number, immediate?: boolean) {\n\tlet timeout: any = null;\n\treturn function (this: unknown, ...args: Array) {\n\t\tconst later = () => {\n\t\t\ttimeout = null;\n\t\t\tif (!immediate) {\n\t\t\t\tfn.apply(this, args);\n\t\t\t}\n\t\t};\n\n\t\tif (immediate && !timeout) {\n\t\t\tfn.apply(this, args);\n\t\t}\n\n\t\tclearTimeout(timeout);\n\t\ttimeout = setTimeout(later, wait);\n\t};\n}\n", "import * as Babel from \"@babel/core\";\n// @ts-expect-error\nimport babelPluginSyntaxJSX from \"@babel/plugin-syntax-jsx\";\n// @ts-expect-error\nimport babelPluginTransformReactJSX from \"@babel/plugin-transform-react-jsx\";\n// @ts-expect-error\nimport babelPresetTypeScript from \"@babel/preset-typescript\";\n\nimport {extractData} from \"../components/serialize-javascript.js\";\n\nfunction rewriteBareModuleSpecifiers(): Babel.PluginObj {\n\tfunction rewrite(value: string): string {\n\t\tif (typeof window !== \"undefined\") {\n\t\t\tconst staticURLsScript = document.getElementById(\n\t\t\t\t\"static-urls\",\n\t\t\t) as HTMLScriptElement;\n\t\t\tif (staticURLsScript) {\n\t\t\t\tconst staticURLs = extractData(staticURLsScript) as Record;\n\t\t\t\tif (staticURLs[value]) {\n\t\t\t\t\treturn staticURLs[value];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn new URL(value, \"https://unpkg.com/\").toString() + \"?module\";\n\t}\n\n\treturn {\n\t\tname: \"rewrite-bare-module-specifiers\",\n\t\tvisitor: {\n\t\t\tImportDeclaration(path) {\n\t\t\t\tpath.node.source.value = rewrite(path.node.source.value);\n\t\t\t},\n\t\t\tExportDeclaration(path) {\n\t\t\t\tif (\"source\" in path.node && path.node.source) {\n\t\t\t\t\tpath.node.source.value = rewrite(path.node.source.value);\n\t\t\t\t}\n\t\t\t},\n\t\t\tCallExpression(path) {\n\t\t\t\tif (path.node.callee.type === \"Import\") {\n\t\t\t\t\tconst maybeImportStringLiteral = path.node.arguments[0];\n\t\t\t\t\tif (maybeImportStringLiteral.type === \"StringLiteral\") {\n\t\t\t\t\t\tmaybeImportStringLiteral.value = rewrite(\n\t\t\t\t\t\t\tmaybeImportStringLiteral.value,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n}\n\n// TODO: This type might not be right.\nfunction guardLoops({template, types}: typeof Babel): Babel.PluginObj {\n\t// Adapted from https://stackoverflow.com/a/73393992/1825413\n\tconst MAX_ITERATIONS = Math.pow(2, 20);\n\tconst buildGuard = template(`\n if (COUNTER++ > MAX_ITERATIONS) {\n throw new RangeError(\"Possible infinite loop detected\");\n }\n `);\n\n\tfunction protect(path: Babel.NodePath) {\n\t\tconst counter = path.scope.parent.generateUidIdentifier(\"loopCounter\");\n\t\tpath.scope.parent.push({\n\t\t\tid: counter,\n\t\t\tinit: types.numericLiteral(0),\n\t\t});\n\n\t\tconst guard = buildGuard({\n\t\t\tCOUNTER: counter,\n\t\t\tMAX_ITERATIONS: types.numericLiteral(MAX_ITERATIONS),\n\t\t});\n\n\t\t// No block statment e.g. `while (1) 1;`\n\t\t// @ts-ignore maybe isBlockStatement() is deprecated or something\n\t\tif (!path.get(\"body\").isBlockStatement()) {\n\t\t\t// @ts-ignore\n\t\t\tconst statement = path.get(\"body\").node;\n\t\t\t// @ts-ignore\n\t\t\tpath.get(\"body\").replaceWith(types.blockStatement([guard, statement]));\n\t\t} else {\n\t\t\t// @ts-ignore\n\t\t\tpath.get(\"body\").unshiftContainer(\"body\", guard);\n\t\t}\n\t}\n\n\treturn {\n\t\tname: \"guard-loops\",\n\t\tvisitor: {\n\t\t\tWhileStatement(path) {\n\t\t\t\tprotect(path);\n\t\t\t},\n\t\t\tDoWhileStatement(path) {\n\t\t\t\tprotect(path);\n\t\t\t},\n\t\t\tForStatement(path) {\n\t\t\t\tprotect(path);\n\t\t\t},\n\t\t},\n\t};\n}\n\nexport function transform(code: string) {\n\ttry {\n\t\treturn Babel.transform(code, {\n\t\t\tfilename: \"file\",\n\t\t\tpresets: [\n\t\t\t\t[\n\t\t\t\t\tbabelPresetTypeScript,\n\t\t\t\t\t{\n\t\t\t\t\t\tisTSX: true,\n\t\t\t\t\t\tallExtensions: true,\n\t\t\t\t\t\tjsxPragma: \"createElement\",\n\t\t\t\t\t\tjsxPragmaFrag: \"''\",\n\t\t\t\t\t\tallowDeclareFields: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t],\n\t\t\tplugins: [\n\t\t\t\tbabelPluginSyntaxJSX,\n\t\t\t\t[\n\t\t\t\t\tbabelPluginTransformReactJSX,\n\t\t\t\t\t{\n\t\t\t\t\t\truntime: \"automatic\",\n\t\t\t\t\t\timportSource: \"@b9g/crank\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\trewriteBareModuleSpecifiers,\n\t\t\t\tguardLoops,\n\t\t\t\t//messageScriptStatus,\n\t\t\t],\n\n\t\t\tsourceMaps: \"inline\",\n\t\t});\n\t} catch (err: any) {\n\t\t// TODO: There might be a better way to do this.\n\t\tif (\n\t\t\t/pragma and pragmaFrag cannot be set when runtime is automatic/.test(\n\t\t\t\terr.message,\n\t\t\t)\n\t\t) {\n\t\t\treturn Babel.transform(code, {\n\t\t\t\tfilename: \"file\",\n\t\t\t\tpresets: [\n\t\t\t\t\t[\n\t\t\t\t\t\tbabelPresetTypeScript,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tisTSX: true,\n\t\t\t\t\t\t\tallExtensions: true,\n\t\t\t\t\t\t\tjsxPragma: \"createElement\",\n\t\t\t\t\t\t\tjsxPragmaFrag: \"''\",\n\t\t\t\t\t\t\tallowDeclareFields: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t],\n\t\t\t\tplugins: [\n\t\t\t\t\tbabelPluginSyntaxJSX,\n\t\t\t\t\t[\n\t\t\t\t\t\tbabelPluginTransformReactJSX,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\truntime: \"classic\",\n\t\t\t\t\t\t\tpragma: \"createElement\",\n\t\t\t\t\t\t\tpragmaFrag: \"''\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\trewriteBareModuleSpecifiers,\n\t\t\t\t\tguardLoops,\n\t\t\t\t\t//messageScriptStatus,\n\t\t\t\t],\n\n\t\t\t\tsourceMaps: \"inline\",\n\t\t\t});\n\t\t}\n\n\t\tthrow err;\n\t}\n}\n", "import {jsx, Raw} from \"@b9g/crank/standalone\";\nimport type {Context} from \"@b9g/crank/standalone\";\nimport serializeJavascript from \"serialize-javascript\";\n\nlet nextID = 0;\nexport function* SerializeScript(\n\tthis: Context,\n\t{name, value, ...scriptProps}: any,\n): any {\n\tconst id = nextID++;\n\tfor ({name, value} of this) {\n\t\tname = `${name || \"embedded-json\"}-${id}`;\n\t\tconst code = `\n\t\t\tif (window.__embeddedJSON__ == null) {\n\t\t\t\twindow.__embeddedJSON__ = {};\n\t\t\t}\n\t\t\twindow.__embeddedJSON__['${name}'] = ${serializeJavascript(value)};\n\t\t`;\n\n\t\tyield jsx`\n\t\t\t\n\t\t`;\n\t}\n}\n\nexport function extractData(script: HTMLScriptElement): any {\n\tconst name = script.dataset.name;\n\tif (name == null) {\n\t\tthrow new Error(\"script element is missing data-name attribute\");\n\t}\n\n\treturn (window as any).__embeddedJSON__[name];\n}\n\n// TODO: Add an interface to strongly type the data by name.\n", "import {jsx} from \"@b9g/crank/standalone\";\nimport type {Context} from \"@b9g/crank\";\n\nfunction degreesFromRadians(r: number) {\n\treturn (r * 180) / Math.PI;\n}\n\nfunction radiansFromDegrees(d: number) {\n\treturn (d * Math.PI) / 180;\n}\n\nfunction rotate([x, y]: [number, number], a: number) {\n\treturn [x * Math.cos(a) - y * Math.sin(a), x * Math.sin(a) + y * Math.cos(a)];\n}\n\nfunction invAngle(radius: number, baseRadius: number) {\n\treturn Math.sqrt(radius ** 2 - baseRadius ** 2) / baseRadius;\n}\n\nfunction invPoint(angle: number, baseRadius: number) {\n\treturn [\n\t\tbaseRadius * (Math.cos(angle) + angle * Math.sin(angle)),\n\t\tbaseRadius * (Math.sin(angle) - angle * Math.cos(angle)),\n\t];\n}\n\nfunction invIntersectAngle(radius: number, baseRadius: number) {\n\tconst angle = Math.sqrt(radius ** 2 - baseRadius ** 2) / baseRadius;\n\tconst [x, y] = invPoint(angle, baseRadius);\n\treturn Math.atan2(y, x);\n}\n\nfunction calculateGear(mod: number, toothCount: number, pressureAngle: number) {\n\tconst pitchRadius = (mod * toothCount) / 2;\n\tconst baseRadius = pitchRadius * Math.cos(pressureAngle);\n\tconst dedRadius = pitchRadius - mod;\n\tconst addRadius = pitchRadius + mod;\n\tconst toothAngle = (2 * Math.PI) / toothCount;\n\tconst addAngle = invIntersectAngle(addRadius, baseRadius);\n\n\tlet points = [];\n\n\t// build a side of a tooth\n\tfor (\n\t\tlet i = 0, steps = 12, maxAngle = invAngle(addRadius, baseRadius);\n\t\ti <= steps;\n\t\ti++\n\t) {\n\t\tconst angle = (maxAngle * i) / steps;\n\t\tconst [x, y] = invPoint(angle, baseRadius);\n\t\tpoints.push([x, y]);\n\t}\n\n\t// TODO: I found this value by guess and check and I have no idea why it is correct\n\tconst mirrorAngle =\n\t\ttoothAngle / 2 + invIntersectAngle(pitchRadius, baseRadius) * 2;\n\t// build the reverse side of the tooth\n\t{\n\t\tconst points1 = points\n\t\t\t.map(([x, y]) => {\n\t\t\t\ty = -y;\n\t\t\t\t[x, y] = rotate([x, y], mirrorAngle);\n\t\t\t\treturn [x, y];\n\t\t\t})\n\t\t\t.reverse();\n\n\t\tpoints.push(...points1);\n\t}\n\n\t// rotate points so teeth tips aligned with x=0 and y=0\n\tpoints = points.map(([x, y]) => rotate([x, y], -mirrorAngle / 2));\n\n\tlet toothPoints = [];\n\tfor (let i = 0; i <= toothCount; i++) {\n\t\tconst points1 = points\n\t\t\t.slice()\n\t\t\t.map(([x, y]) => {\n\t\t\t\tconst a = toothAngle * i;\n\t\t\t\treturn rotate([x, y], a);\n\t\t\t})\n\t\t\t.map(([x, y]) => [Math.round(x * 100) / 100, Math.round(y * 100) / 100]);\n\n\t\ttoothPoints.push(points1);\n\t}\n\n\tconst path = toothPoints\n\t\t.map((points, i) => {\n\t\t\treturn points\n\t\t\t\t.map(([x, y], j) => {\n\t\t\t\t\tif (i === 0) {\n\t\t\t\t\t\treturn `M ${x} ${y}`;\n\t\t\t\t\t} else if (j === 0) {\n\t\t\t\t\t\tconst radius = toothCount / 2;\n\t\t\t\t\t\treturn `A ${radius} ${radius} 0 0 0 ${x} ${y}`;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn `L ${x} ${y}`;\n\t\t\t\t})\n\t\t\t\t.join(\" \");\n\t\t})\n\t\t.join(\" \");\n\n\treturn {\n\t\tpath,\n\t\tpitchRadius,\n\t\tbaseRadius,\n\t\tdedRadius,\n\t\taddRadius,\n\t\taddAngle,\n\t\ttoothAngle,\n\t\tmirrorAngle,\n\t};\n}\n\nexport function* Gear(\n\tthis: Context,\n\t{\n\t\tmod,\n\t\ttoothCount,\n\t\toffset,\n\t\tmask,\n\t\tstroke,\n\t\tstrokeWidth,\n\t\tfill,\n\t\tcircleRadius,\n\t}: {\n\t\tmod: number;\n\t\ttoothCount: number;\n\t\toffset: boolean | undefined;\n\t\tmask?: string;\n\t\tstroke?: string | number;\n\t\tstrokeWidth?: string | number;\n\t\tfill?: string | number;\n\t\tcircleRadius?: number;\n\t},\n): Generator {\n\tconst pressureAngle = radiansFromDegrees(20);\n\tlet path!: string;\n\tlet dedRadius = 0;\n\tlet toothAngle = 0;\n\tlet oldMod: number | undefined;\n\tlet oldToothCount: number | undefined;\n\tfor ({\n\t\tmod,\n\t\ttoothCount,\n\t\toffset,\n\t\tmask,\n\t\tstroke,\n\t\tstrokeWidth,\n\t\tfill,\n\t\tcircleRadius,\n\t} of this) {\n\t\tif (oldMod !== mod || oldToothCount !== toothCount) {\n\t\t\t({path, dedRadius, toothAngle} = calculateGear(\n\t\t\t\tmod,\n\t\t\t\ttoothCount,\n\t\t\t\tpressureAngle,\n\t\t\t));\n\n\t\t\tcircleRadius = circleRadius == null ? dedRadius - 2 * mod : circleRadius;\n\t\t\t// add the inner circle\n\t\t\tpath += `\n\t\t\t M ${-circleRadius} 0\n\t\t\t\ta ${circleRadius} ${circleRadius} 0 1 0 ${circleRadius * 2} 0\n\t\t\t\ta ${circleRadius} ${circleRadius} 0 1 0 ${-circleRadius * 2} 0\n\t\t\t`;\n\t\t}\n\n\t\tconst pathAngle = offset ? 0 : -toothAngle / 2;\n\t\tyield jsx`\n\t\t\t\n\t\t`;\n\n\t\toldMod = mod;\n\t\toldToothCount = toothCount;\n\t}\n}\n\nfunction Rack({mod, height}: {mod: number; height: number}) {\n\tconst pressureAngle = radiansFromDegrees(20);\n\tconst points = [];\n\tconst toothWidth = mod * Math.PI;\n\tlet tipWidth = toothWidth / 4;\n\tconst count = Math.ceil(height / toothWidth) + 1;\n\tfor (let i = Math.floor(-count); i <= count; i++) {\n\t\tconst offset = i * toothWidth;\n\t\tpoints.push(\n\t\t\t...[\n\t\t\t\t[0, offset],\n\t\t\t\t[2 * mod, offset + 2 * mod * Math.tan(pressureAngle)],\n\t\t\t\t[2 * mod, offset + tipWidth + 2 * mod * Math.tan(pressureAngle)],\n\t\t\t\t[0, offset + tipWidth + 4 * mod * Math.tan(pressureAngle)],\n\t\t\t],\n\t\t);\n\t}\n\n\tconst path =\n\t\t`M${points[0][0]} ${points[0][1]}` +\n\t\tpoints\n\t\t\t.slice(1)\n\t\t\t.map(([x, y]) => `L ${x} ${y}`)\n\t\t\t.join(\" \");\n\treturn jsx`\n\t\t\n\t`;\n}\n\nexport function* GearInteractive(this: Context, {}) {\n\tlet scrollTop = 0;\n\n\tconst measure = () => {\n\t\tif (typeof document !== \"undefined\") {\n\t\t\tconst el = document.scrollingElement;\n\t\t\tif (el) {\n\t\t\t\tscrollTop = Math.max(\n\t\t\t\t\t0,\n\t\t\t\t\tMath.min(el.scrollHeight - el.clientHeight, el.scrollTop),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n\n\tmeasure();\n\tif (typeof window !== \"undefined\") {\n\t\tconst onscroll = () => {\n\t\t\tmeasure();\n\t\t\tthis.refresh();\n\t\t};\n\n\t\twindow.addEventListener(\"scroll\", onscroll, {passive: true});\n\t\tthis.cleanup(() => {\n\t\t\twindow.removeEventListener(\"scroll\", onscroll);\n\t\t});\n\n\t\tonclick = () => {\n\t\t\t// TODO: advance the gears by a tiny amount every time the page is\n\t\t\t// clicked.\n\t\t};\n\n\t\twindow.addEventListener(\"click\", onclick);\n\t\tthis.cleanup(() => {\n\t\t\twindow.removeEventListener(\"click\", onclick as any);\n\t\t});\n\t}\n\n\tconst mod = 20;\n\tconst speed = 1 / 3;\n\n\tconst toothCount1 = 16;\n\tconst pitchRadius1 = (toothCount1 * mod) / 2;\n\n\tconst toothCount2 = 32;\n\tconst pitchRadius2 = (toothCount2 * mod) / 2;\n\n\tconst toothCount3 = 16;\n\tconst pitchRadius3 = (toothCount3 * mod) / 2;\n\n\tconst rackX = 20;\n\tconst rackY = 75;\n\tconst x1 = rackX + pitchRadius1 + mod;\n\tconst y1 = rackY + pitchRadius1 + mod;\n\n\tconst gearAngle2 = radiansFromDegrees(30);\n\tconst x2 = x1 + Math.cos(gearAngle2) * (pitchRadius1 + pitchRadius2);\n\tconst y2 = y1 + Math.sin(gearAngle2) * (pitchRadius1 + pitchRadius2);\n\n\tconst x3 = x2 + Math.cos(gearAngle2) * (pitchRadius2 + pitchRadius3);\n\tconst y3 = y2 + Math.sin(gearAngle2) * (pitchRadius2 + pitchRadius3);\n\tfor ({} of this) {\n\t\t// TODO: resize observer\n\t\tconst width = x2 * 2;\n\t\tconst height =\n\t\t\t(typeof document !== \"undefined\" &&\n\t\t\t\tdocument.scrollingElement?.clientHeight) ||\n\t\t\t1000;\n\t\tconst scrollAng = (-scrollTop * speed) / pitchRadius1;\n\t\tyield jsx`\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t<${Rack} mod=${mod} height=${height} />\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t<${Gear} mod=${mod} toothCount=${toothCount1} />\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t<${Gear} mod=${mod} toothCount=${toothCount2} offset />\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t<${Gear} mod=${mod} toothCount=${toothCount3} />\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t<${Rack} mod=${mod} height=${height} />\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t`;\n\t}\n}\n\nexport function GearLogo({width = 400, height = 400}) {\n\tconst r = 300;\n\tconst wa = (35 * Math.PI) / 180;\n\treturn jsx`\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t<${Gear}\n\t\t\t\t\tmod=${20}\n\t\t\t\t\ttoothCount=${16}\n\t\t\t\t\toffset=${1}\n\t\t\t\t\tstroke=\"none\"\n\t\t\t\t\tstrokeWidth=\"4\"\n\t\t\t\t\tmask=\"url(#wedge-mask)\"\n\t\t\t\t\tcircleRadius=${110}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t`;\n}\n"], + "mappings": "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AG,IAAG,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,IAAG,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,IAAG,GAAE,KAAI,IAAG,IAAG,GAAE,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,GAAE,GAAE,KAAI,IAAG,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,KAAI,IAAG,KAAI,IAAG,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,IAAG,IAAG,GAAE,GAAE,GAAE,IAAG,GAAE,IAAG,IAAG,GAAE,GAAE,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,KAAI,GAAE,GAAE,IAAG,IAAG,GAAE,IAAG,IAAG,KAAI,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,KAAI,IAAG,IAAG,GAAE,GAAE,IAAG,GAAE,IAAG,KAAI,GAAE,IAAG,KAAI,KAAI,KAAI,IAAG,KAAI,MAAK,IAAG,IAAG,MAAK,IAAG,GAAE,MAAK,KAAI,MAAK,KAAI,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,GAAE,IAAG,KAAI,IAAG,KAAI,IAAG,GAAE,GAAE,IAAG,IAAG,IAAG,GAAE,GAAE,GAAE,IAAG,MAAK,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,KAAI,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,KAAI,MAAK,KAAI,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,MAAK,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GA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BACdC,UACAC,MACAC,OACwB;AACxB,gBAAO,GAAAL,cAAAA,SAAqC;UAC1CC,MAAM;UACNE;UACAC;UACAC;QACF,CAAC;MACH;AACO,eAASC,iBACdH,UAwBAC,MACAC,OACoB;AACpB,gBAAO,GAAAL,cAAAA,SAAiC;UACtCC,MAAM;UACNE;UACAC;UACAC;QACF,CAAC;MACH;AACO,eAASE,qBAAqBC,OAAuC;AAC1E,gBAAO,GAAAR,cAAAA,SAAqC;UAC1CC,MAAM;UACNO;QACF,CAAC;MACH;AACO,eAASC,UAAUD,OAAwC;AAChE,gBAAO,GAAAR,cAAAA,SAA0B;UAC/BC,MAAM;UACNO;QACF,CAAC;MACH;AACO,eAASE,iBAAiBF,OAAmC;AAClE,gBAAO,GAAAR,cAAAA,SAAiC;UACtCC,MAAM;UACNO;QACF,CAAC;MACH;AACO,eAASG,eACdC,MACAC,aAAiC,CAAA,GACf;AAClB,gBAAO,GAAAb,cAAAA,SAA+B;UACpCC,MAAM;UACNW;UACAC;QACF,CAAC;MACH;AACO,eAASC,eACdC,QAA6B,MACX;AAClB,gBAAO,GAAAf,cAAAA,SAA+B;UACpCC,MAAM;UACNc;QACF,CAAC;MACH;AACO,eAASC,eACdC,QACAC,YAGkB;AAClB,gBAAO,GAAAlB,cAAAA,SAA+B;UACpCC,MAAM;UACNgB;UACAE,WAAWD;QACb,CAAC;MACH;AACO,eAASE,YACdC,QAKgB,MAChBT,MACe;AACf,gBAAO,GAAAZ,cAAAA,SAA4B;UACjCC,MAAM;UACNoB;UACAT;QACF,CAAC;MACH;AACO,eAASU,sBACdC,MACAC,YACAC,WACyB;AACzB,gBAAO,GAAAzB,cAAAA,SAAsC;UAC3CC,MAAM;UACNsB;UACAC;UACAC;QACF,CAAC;MACH;AACO,eAASC,kBACdX,QAA6B,MACR;AACrB,gBAAO,GAAAf,cAAAA,SAAkC;UACvCC,MAAM;UACNc;QACF,CAAC;MACH;AACO,eAASY,oBAAyC;AACvD,eAAO;UACL1B,MAAM;QACR;MACF;AACO,eAAS2B,iBACdL,MACAX,MACoB;AACpB,gBAAO,GAAAZ,cAAAA,SAAiC;UACtCC,MAAM;UACNsB;UACAX;QACF,CAAC;MACH;AACO,eAASiB,iBAAmC;AACjD,eAAO;UACL5B,MAAM;QACR;MACF;AACO,eAAS6B,oBACdC,YACuB;AACvB,gBAAO,GAAA/B,cAAAA,SAAoC;UACzCC,MAAM;UACN8B;QACF,CAAC;MACH;AACO,eAASC,KACdC,UACAC,WAAyD,MACzDC,SAA4B,MACpB;AACR,gBAAO,GAAAnC,cAAAA,SAAqB;UAC1BC,MAAM;UACNgC,SAAAA;UACAC;UACAC;QACF,CAAC;MACH;AACO,eAASC,eACdhC,MACAC,OACAO,MACkB;AAClB,gBAAO,GAAAZ,cAAAA,SAA+B;UACpCC,MAAM;UACNG;UACAC;UACAO;QACF,CAAC;MACH;AACO,eAASyB,aACdC,QAAgE,MAChEf,OAAwC,MACxCgB,SAA0C,MAC1C3B,MACgB;AAChB,gBAAO,GAAAZ,cAAAA,SAA6B;UAClCC,MAAM;UACNqC,MAAAA;UACAf;UACAgB;UACA3B;QACF,CAAC;MACH;AACO,eAAS4B,oBACdC,KAAsC,MACtCC,QACA9B,MACA+B,YAAqB,OACrBC,QAAiB,OACM;AACvB,gBAAO,GAAA5C,cAAAA,SAAoC;UACzCC,MAAM;UACNwC;UACAC;UACA9B;UACA+B;UACAC;QACF,CAAC;MACH;AACO,eAASC,mBACdJ,KAAsC,MACtCC,QACA9B,MACA+B,YAAqB,OACrBC,QAAiB,OACK;AACtB,gBAAO,GAAA5C,cAAAA,SAAmC;UACxCC,MAAM;UACNwC;UACAC;UACA9B;UACA+B;UACAC;QACF,CAAC;MACH;AACO,eAASE,YAAWC,MAA4B;AACrD,gBAAO,GAAA/C,cAAAA,SAA2B;UAChCC,MAAM;UACN8C;QACF,CAAC;MACH;AACO,eAASC,YACdzB,MACAC,YACAC,YAAgC,MACjB;AACf,gBAAO,GAAAzB,cAAAA,SAA4B;UACjCC,MAAM;UACNsB;UACAC;UACAC;QACF,CAAC;MACH;AACO,eAASwB,iBACdlC,OACAH,MACoB;AACpB,gBAAO,GAAAZ,cAAAA,SAAiC;UACtCC,MAAM;UACNc;UACAH;QACF,CAAC;MACH;AACO,eAASsC,cAAc1C,OAAgC;AAC5D,gBAAO,GAAAR,cAAAA,SAA8B;UACnCC,MAAM;UACNO;QACF,CAAC;MACH;AACO,eAAS2C,eAAe3C,OAAiC;AAC9D,gBAAO,GAAAR,cAAAA,SAA+B;UACpCC,MAAM;UACNO;QACF,CAAC;MACH;AACO,eAAS4C,cAA6B;AAC3C,eAAO;UACLnD,MAAM;QACR;MACF;AACO,eAASoD,eAAe7C,OAAkC;AAC/D,gBAAO,GAAAR,cAAAA,SAA+B;UACpCC,MAAM;UACNO;QACF,CAAC;MACH;AACO,eAAS8C,cACdC,SACAC,QAAgB,IACC;AACjB,gBAAO,GAAAxD,cAAAA,SAA8B;UACnCC,MAAM;UACNsD;UACAC;QACF,CAAC;MACH;AACO,eAASC,kBACdtD,UACAC,MACAC,OACqB;AACrB,gBAAO,GAAAL,cAAAA,SAAkC;UACvCC,MAAM;UACNE;UACAC;UACAC;QACF,CAAC;MACH;AACO,eAASqD,iBACdC,QACAC,UACAC,WAAoB,OACpBC,WAAgC,MACZ;AACpB,gBAAO,GAAA9D,cAAAA,SAAiC;UACtCC,MAAM;UACN0D;UACAC;UACAC;UACAC;QACF,CAAC;MACH;AACO,eAASC,cACd9C,QACAC,YAGiB;AACjB,gBAAO,GAAAlB,cAAAA,SAA8B;UACnCC,MAAM;UACNgB;UACAE,WAAWD;QACb,CAAC;MACH;AACO,eAASe,QACdrB,MACAC,aAAiC,CAAA,GACjCmD,aAAkC,UAClCC,cAA6C,MAClC;AACX,gBAAO,GAAAjE,cAAAA,SAAwB;UAC7BC,MAAM;UACNW;UACAC;UACAmD;UACAC;UACAC,YAAY;QACd,CAAC;MACH;AACO,eAASC,iBACdC,YACoB;AACpB,gBAAO,GAAApE,cAAAA,SAAiC;UACtCC,MAAM;UACNmE;QACF,CAAC;MACH;AACO,eAASC,aACdC,OAA6C,UAC7CC,KAMA7B,QACA9B,MACAiD,WAAoB,OACpBlB,YAAqB,OACrBC,QAAiB,OACD;AAChB,gBAAO,GAAA5C,cAAAA,SAA6B;UAClCC,MAAM;UACNqE;UACAC;UACA7B;UACA9B;UACAiD;UACAlB;UACAC;QACF,CAAC;MACH;AACO,eAAS4B,eACdD,KAQA/D,OACAqD,WAAoB,OACpBY,YAAqB,OACrBC,aAAwC,MACtB;AAClB,gBAAO,GAAA1E,cAAAA,SAA+B;UACpCC,MAAM;UACNsE;UACA/D;UACAqD;UACAY;UACAC;QACF,CAAC;MACH;AACO,eAASC,YAAYC,UAAiC;AAC3D,gBAAO,GAAA5E,cAAAA,SAA4B;UACjCC,MAAM;UACN2E;QACF,CAAC;MACH;AACO,eAASC,gBACdD,WAAgC,MACb;AACnB,gBAAO,GAAA5E,cAAAA,SAAgC;UACrCC,MAAM;UACN2E;QACF,CAAC;MACH;AACO,eAASE,mBACdC,aACsB;AACtB,gBAAO,GAAA/E,cAAAA,SAAmC;UACxCC,MAAM;UACN8E;QACF,CAAC;MACH;AACO,eAASC,wBACdjD,YAC2B;AAC3B,gBAAO,GAAA/B,cAAAA,SAAwC;UAC7CC,MAAM;UACN8B;QACF,CAAC;MACH;AACO,eAASkD,WACd1D,OAAwC,MACxCC,YACc;AACd,gBAAO,GAAAxB,cAAAA,SAA2B;UAChCC,MAAM;UACNsB;UACAC;QACF,CAAC;MACH;AACO,eAAS0D,gBACdC,cACAC,OACmB;AACnB,gBAAO,GAAApF,cAAAA,SAAgC;UACrCC,MAAM;UACNkF;UACAC;QACF,CAAC;MACH;AACO,eAASC,iBAAmC;AACjD,eAAO;UACLpF,MAAM;QACR;MACF;AACO,eAASqF,eAAeV,UAA0C;AACvE,gBAAO,GAAA5E,cAAAA,SAA+B;UACpCC,MAAM;UACN2E;QACF,CAAC;MACH;AACO,eAASW,aACdC,OACAC,UAAgC,MAChCC,YAAqC,MACrB;AAChB,gBAAO,GAAA1F,cAAAA,SAA6B;UAClCC,MAAM;UACNuF;UACAC;UACAC;QACF,CAAC;MACH;AACO,eAASC,gBACdxF,UACAyE,UACAgB,UAAkB,MACC;AACnB,gBAAO,GAAA5F,cAAAA,SAAgC;UACrCC,MAAM;UACNE;UACAyE;UACAgB,QAAAA;QACF,CAAC;MACH;AACO,eAASC,iBACd1F,UACAyE,UACAgB,UAAkB,OACE;AACpB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AG,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,IAAG,KAAI,IAAG,IAAG,IAAG,GAAE,IAAG,GAAE,GAAE,IAAG,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,GAAE,GAAE,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,IAAG,GAAE,GAAE,IAAG,IAAG,IAAG,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,IAAG,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,IAAG,GAAE,KAAI,IAAG,IAAG,GAAE,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,GAAE,GAAE,KAAI,IAAG,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,KAAI,IAAG,KAAI,IAAG,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,IAAG,IAAG,GAAE,GAAE,GAAE,IAAG,GAAE,IAAG,IAAG,GAAE,GAAE,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,KAAI,GAAE,GAAE,IAAG,IAAG,GAAE,IAAG,IAAG,KAAI,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,GAAE,KAAI,IAAG,IAAG,GAAE,GAAE,IAAG,GAAE,IAAG,KAAI,GAAE,IAAG,KAAI,KAAI,KAAI,IAAG,KAAI,MAAK,IAAG,IAAG,MAAK,IAAG,GAAE,MAAK,KAAI,MAAK,KAAI,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,GAAE,IAAG,IAAG,GAAE,IAAG,KAAI,IAAG,KAAI,IAAG,GAAE,GAAE,IAAG,IAAG,IAAG,GAAE,GAAE,GAAE,IAAG,MAAK,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,KAAI,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,KAAI,MAAK,KAAI,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,MAAK,IAAG,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,KAAI,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,GAAE,MAAK,IAAG,GAAE,GAAE,KAAI,IAAG,KAAI,IAAG,IAAG,GAAE,IAAG,GAAE,KAAI,IAAG,IAAG,IAAG,KAAI,IAAG,KAAI,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,KAAI,IAAG,IAAG,GAAE,GAAE,MAAK,GAAE,GAAE,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GA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K,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,KAAI,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,GAAE,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,QAAO,IAAG,QAAO,IAAG,QAAO,IAAG,KAAI,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,MAAK,QAAO,MAAK,QAAO,MAAK,aAAY,MAAK,QAAO,MAAK,QAAO,MAAK,QAAO,MAAK,QAAO,MAAK,QAAO,MAAK,QAAO,MAAK,QAAO,IAAG,QAAO,IAAG,WAAU,IAAG,OAAM,IAAG,KAAI,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,IAAG,QAAO,IAAG,QAAO,IAAG,MAAK,IAAG,WAAU,IAAG,aAAY,IAAG,QAAO,IAAG,QAAO,IAAG,QAAO,IAAG,WAAU,IAAG,WAAU,IAAG,WAAU,IAAG,WAAU,IAAG,WAAU,IAAG,WAA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AAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,Q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", + "names": ["e", "Buffer", "length", "fill", "read", "i", "compare", "byteLength", "Prism", "_self", "lang", "token", "env", "stringify", "match", "from", "node", "next", "ReferencedIdentifier", "ReferencedMemberExpression", "BindingIdentifier", "Statement", "Expression", "Scope", "Referenced", "BlockScoped", "Var", "User", "Generated", "Pure", "Flow", "RestProperty", "SpreadProperty", "ExistentialTypeParam", "NumericLiteralTypeAnnotation", "ForAwaitStatement", "shallowEqual", "actual", "expected", "keys", "Object", "key", "warnings", "Set", "deprecationWarning", "oldName", "newName", "prefix", "has", "add", "stack", "captureShortStackTrace", "console", "warn", "skip", "length", "stackTraceLimit", "prepareStackTrace", "Error", "stackTrace", "err", "slice", "map", "frame", "join", "isArrayExpression", "node", "opts", "nodeType", "type", "shallowEqual", "isAssignmentExpression", "isBinaryExpression", "isInterpreterDirective", "isDirective", "isDirectiveLiteral", "isBlockStatement", "isBreakStatement", "isCallExpression", "isCatchClause", "isConditionalExpression", "isContinueStatement", "isDebuggerStatement", "isDoWhileStatement", "isEmptyStatement", "isExpressionStatement", "isFile", "isForInStatement", "isForStatement", "isFunctionDeclaration", "isFunctionExpression", "isIdentifier", "isIfStatement", "isLabeledStatement", "isStringLiteral", "isNumericLiteral", "isNullLiteral", "isBooleanLiteral", "isRegExpLiteral", "isLogicalExpression", "isMemberExpression", "isNewExpression", "isProgram", "isObjectExpression", "isObjectMethod", "isObjectProperty", "isRestElement", "isReturnStatement", "isSequenceExpression", "isParenthesizedExpression", "isSwitchCase", "isSwitchStatement", "isThisExpression", "isThrowStatement", "isTryStatement", "isUnaryExpression", "isUpdateExpression", "isVariableDeclaration", "isVariableDeclarator", "isWhileStatement", "isWithStatement", "isAssignmentPattern", "isArrayPattern", "isArrowFunctionExpression", "isClassBody", "isClassExpression", "isClassDeclaration", "isExportAllDeclaration", "isExportDefaultDeclaration", "isExportNamedDeclaration", "isExportSpecifier", "isForOfStatement", "isImportDeclaration", "isImportDefaultSpecifier", "isImportNamespaceSpecifier", "isImportSpecifier", "isMetaProperty", "isClassMethod", "isObjectPattern", "isSpreadElement", "isSuper", "isTaggedTemplateExpression", "isTemplateElement", "isTemplateLiteral", "isYieldExpression", "isAwaitExpression", "isImport", "isBigIntLiteral", "isExportNamespaceSpecifier", "isOptionalMemberExpression", "isOptionalCallExpression", "isClassProperty", "isClassAccessorProperty", "isClassPrivateProperty", "isClassPrivateMethod", "isPrivateName", "isStaticBlock", "isAnyTypeAnnotation", "isArrayTypeAnnotation", "isBooleanTypeAnnotation", "isBooleanLiteralTypeAnnotation", "isNullLiteralTypeAnnotation", "isClassImplements", "isDeclareClass", "isDeclareFunction", "isDeclareInterface", "isDeclareModule", "isDeclareModuleExports", "isDeclareTypeAlias", "isDeclareOpaqueType", "isDeclareVariable", "isDeclareExportDeclaration", "isDeclareExportAllDeclaration", "isDeclaredPredicate", "isExistsTypeAnnotation", "isFunctionTypeAnnotation", "isFunctionTypeParam", "isGenericTypeAnnotation", "isInferredPredicate", "isInterfaceExtends", "isInterfaceDeclaration", "isInterfaceTypeAnnotation", "isIntersectionTypeAnnotation", "isMixedTypeAnnotation", "isEmptyTypeAnnotation", "isNullableTypeAnnotation", "isNumberLiteralTypeAnnotation", "isNumberTypeAnnotation", "isObjectTypeAnnotation", "isObjectTypeInternalSlot", "isObjectTypeCallProperty", "isObjectTypeIndexer", "isObjectTypeProperty", "isObjectTypeSpreadProperty", "isOpaqueType", "isQualifiedTypeIdentifier", "isStringLiteralTypeAnnotation", "isStringTypeAnnotation", "isSymbolTypeAnnotation", "isThisTypeAnnotation", "isTupleTypeAnnotation", "isTypeofTypeAnnotation", "isTypeAlias", "isTypeAnnotation", "isTypeCastExpression", "isTypeParameter", "isTypeParameterDeclaration", "isTypeParameterInstantiation", "isUnionTypeAnnotation", "isVariance", "isVoidTypeAnnotation", "isEnumDeclaration", "isEnumBooleanBody", "isEnumNumberBody", "isEnumStringBody", "isEnumSymbolBody", "isEnumBooleanMember", "isEnumNumberMember", "isEnumStringMember", "isEnumDefaultedMember", "isIndexedAccessType", "isOptionalIndexedAccessType", "isJSXAttribute", "isJSXClosingElement", "isJSXElement", "isJSXEmptyExpression", "isJSXExpressionContainer", "isJSXSpreadChild", "isJSXIdentifier", "isJSXMemberExpression", "isJSXNamespacedName", "isJSXOpeningElement", "isJSXSpreadAttribute", "isJSXText", "isJSXFragment", "isJSXOpeningFragment", "isJSXClosingFragment", "isNoop", "isPlaceholder", "isV8IntrinsicIdentifier", "isArgumentPlaceholder", "isBindExpression", "isImportAttribute", "isDecorator", "isDoExpression", "isExportDefaultSpecifier", "isRecordExpression", "isTupleExpression", "isDecimalLiteral", "isModuleExpression", "isTopicReference", "isPipelineTopicExpression", "isPipelineBareFunction", "isPipelinePrimaryTopicReference", "isTSParameterProperty", "isTSDeclareFunction", "isTSDeclareMethod", "isTSQualifiedName", "isTSCallSignatureDeclaration", "isTSConstructSignatureDeclaration", "isTSPropertySignature", "isTSMethodSignature", "isTSIndexSignature", "isTSAnyKeyword", "isTSBooleanKeyword", "isTSBigIntKeyword", "isTSIntrinsicKeyword", "isTSNeverKeyword", "isTSNullKeyword", "isTSNumberKeyword", "isTSObjectKeyword", "isTSStringKeyword", "isTSSymbolKeyword", "isTSUndefinedKeyword", "isTSUnknownKeyword", "isTSVoidKeyword", "isTSThisType", "isTSFunctionType", "isTSConstructorType", "isTSTypeReference", "isTSTypePredicate", "isTSTypeQuery", "isTSTypeLiteral", "isTSArrayType", "isTSTupleType", "isTSOptionalType", "isTSRestType", "isTSNamedTupleMember", "isTSUnionType", "isTSIntersectionType", "isTSConditionalType", "isTSInferType", "isTSParenthesizedType", "isTSTypeOperator", "isTSIndexedAccessType", "isTSMappedType", "isTSLiteralType", "isTSExpressionWithTypeArguments", "isTSInterfaceDeclaration", "isTSInterfaceBody", "isTSTypeAliasDeclaration", "isTSInstantiationExpression", "isTSAsExpression", "isTSSatisfiesExpression", "isTSTypeAssertion", "isTSEnumDeclaration", "isTSEnumMember", "isTSModuleDeclaration", "isTSModuleBlock", "isTSImportType", "isTSImportEqualsDeclaration", "isTSExternalModuleReference", "isTSNonNullExpression", "isTSExportAssignment", "isTSNamespaceExportDeclaration", "isTSTypeAnnotation", "isTSTypeParameterInstantiation", "isTSTypeParameterDeclaration", "isTSTypeParameter", "isStandardized", "expectedNode", "isExpression", "isBinary", "isScopable", "isBlockParent", "isBlock", "isStatement", "isTerminatorless", "isCompletionStatement", "isConditional", "isLoop", "isWhile", "isExpressionWrapper", "isFor", "isForXStatement", "isFunction", "isFunctionParent", "isPureish", "isDeclaration", "isPatternLike", "isLVal", "isTSEntityName", "isLiteral", "isImmutable", "isUserWhitespacable", "isMethod", "isObjectMember", "isProperty", "isUnaryLike", "isPattern", "isClass", "isImportOrExportDeclaration", "isExportDeclaration", "isModuleSpecifier", "isAccessor", "isPrivate", "isFlow", "isFlowType", "isFlowBaseAnnotation", "isFlowDeclaration", "isFlowPredicate", "isEnumBody", "isEnumMember", "isJSX", "isMiscellaneous", "isTypeScript", "isTSTypeElement", "isTSType", "isTSBaseType", "isNumberLiteral", "deprecationWarning", "isRegexLiteral", "isRestProperty", "isSpreadProperty", "isModuleDeclaration", "matchesPattern", "member", "match", "allowPartial", "isMemberExpression", "parts", "Array", "isArray", "split", "nodes", "node", "object", "push", "property", "length", "i", "j", "value", "isIdentifier", "name", "isStringLiteral", "isThisExpression", "buildMatchMemberExpression", "match", "allowPartial", "parts", "split", "member", "matchesPattern", "isReactComponent", "buildMatchMemberExpression", "isCompatTag", "tagName", "test", "isType", "nodeType", "targetType", "ALIAS_KEYS", "aliases", "FLIPPED_ALIAS_KEYS", "alias", "isPlaceholderType", "placeholderType", "targetType", "aliases", "PLACEHOLDERS_ALIAS", "alias", "is", "type", "node", "opts", "matches", "isType", "FLIPPED_ALIAS_KEYS", "isPlaceholderType", "expectedNode", "shallowEqual", "nonASCIIidentifierStartChars", "nonASCIIidentifierChars", "nonASCIIidentifierStart", "RegExp", "nonASCIIidentifier", "astralIdentifierStartCodes", "astralIdentifierCodes", "isInAstralSet", "code", "set", "pos", "i", "length", "isIdentifierStart", "test", "String", "fromCharCode", "isIdentifierChar", "isIdentifierName", "name", "isFirst", "cp", "charCodeAt", "trail", "reservedWords", "keyword", "strict", "strictBind", "keywords", "Set", "reservedWordsStrictSet", "reservedWordsStrictBindSet", "isReservedWord", "word", "inModule", "isStrictReservedWord", "has", "isStrictBindOnlyReservedWord", "isStrictBindReservedWord", "isKeyword", "isValidIdentifier", "name", "reserved", "isKeyword", "isStrictReservedWord", "isIdentifierName", "isDigit", "code", "forbiddenNumericSeparatorSiblings", "decBinOct", "Set", "hex", "isAllowedNumericSeparatorSibling", "bin", "ch", "oct", "dec", "readStringContents", "type", "input", "pos", "lineStart", "curLine", "errors", "initialPos", "initialLineStart", "initialCurLine", "out", "firstInvalidLoc", "chunkStart", "length", "unterminated", "slice", "charCodeAt", "isStringEnd", "res", "readEscapedChar", "str", "containsInvalid", "inTemplate", "throwOnInvalid", "readHexChar", "String", "fromCharCode", "readCodePoint", "fromCodePoint", "strictNumericEscape", "startPos", "match", "octalStr", "octal", "parseInt", "next", "len", "forceLen", "n", "readInt", "invalidEscapeSequence", "radix", "allowNumSeparator", "bailOnError", "start", "forbiddenSiblings", "isAllowedSibling", "invalid", "total", "i", "e", "Infinity", "val", "prev", "numericSeparatorInEscapeSequence", "Number", "isNaN", "has", "unexpectedNumericSeparator", "invalidDigit", "indexOf", "invalidCodePoint", "STATEMENT_OR_BLOCK_KEYS", "FLATTENABLE_KEYS", "FOR_INIT_KEYS", "COMMENT_KEYS", "LOGICAL_OPERATORS", "UPDATE_OPERATORS", "BOOLEAN_NUMBER_BINARY_OPERATORS", "EQUALITY_BINARY_OPERATORS", "COMPARISON_BINARY_OPERATORS", "BOOLEAN_BINARY_OPERATORS", "NUMBER_BINARY_OPERATORS", "BINARY_OPERATORS", "ASSIGNMENT_OPERATORS", "map", "op", "BOOLEAN_UNARY_OPERATORS", "NUMBER_UNARY_OPERATORS", "STRING_UNARY_OPERATORS", "UNARY_OPERATORS", "INHERIT_KEYS", "optional", "force", "BLOCK_SCOPED_SYMBOL", "Symbol", "for", "NOT_LOCAL_BINDING", "VISITOR_KEYS", "ALIAS_KEYS", "FLIPPED_ALIAS_KEYS", "NODE_FIELDS", "BUILDER_KEYS", "DEPRECATED_KEYS", "NODE_PARENT_VALIDATIONS", "getType", "val", "Array", "isArray", "validate", "typeIs", "typeName", "assertNodeType", "validateType", "validateOptional", "optional", "validateOptionalType", "arrayOf", "elementType", "chain", "assertValueType", "assertEach", "arrayOfType", "validateArrayOfType", "callback", "validator", "node", "key", "i", "length", "subkey", "v", "process", "env", "BABEL_TYPES_8_BREAKING", "validateChild", "each", "assertOneOf", "values", "indexOf", "TypeError", "JSON", "stringify", "oneOf", "types", "type", "is", "oneOfNodeTypes", "assertNodeOrValueType", "oneOfNodeOrValueTypes", "valid", "assertShape", "shape", "errors", "property", "Object", "keys", "validateField", "error", "push", "message", "join", "shapeOf", "assertOptionalChainStart", "current", "callee", "object", "fns", "args", "fn", "chainOf", "Error", "validTypeOpts", "validFieldKeys", "store", "defineAliasedType", "aliases", "opts", "defined", "inherits", "slice", "additional", "filter", "a", "includes", "unshift", "defineType", "fields", "getOwnPropertyNames", "field", "def", "default", "visitor", "builder", "k", "deprecatedAlias", "concat", "undefined", "forEach", "alias", "defineType", "defineAliasedType", "fields", "elements", "validate", "chain", "assertValueType", "assertEach", "assertNodeOrValueType", "default", "process", "env", "BABEL_TYPES_8_BREAKING", "undefined", "visitor", "aliases", "operator", "identifier", "assertOneOf", "ASSIGNMENT_OPERATORS", "pattern", "node", "key", "val", "validator", "is", "left", "assertNodeType", "right", "builder", "BINARY_OPERATORS", "expression", "inOp", "Object", "assign", "oneOfNodeTypes", "value", "directives", "body", "label", "optional", "callee", "arguments", "typeArguments", "typeParameters", "param", "test", "consequent", "alternate", "program", "comments", "each", "tokens", "type", "init", "update", "functionCommon", "params", "generator", "async", "functionTypeAnnotationCommon", "returnType", "functionDeclarationCommon", "declare", "id", "predicate", "parent", "inherits", "patternLikeCommon", "typeAnnotation", "decorators", "name", "isValidIdentifier", "TypeError", "match", "exec", "parentKey", "nonComp", "computed", "imported", "meta", "isKeyword", "isReservedWord", "deprecatedAlias", "flags", "invalid", "LOGICAL_OPERATORS", "object", "property", "normal", "sourceFile", "sourceType", "interpreter", "properties", "kind", "shorthand", "argument", "Error", "listKey", "index", "length", "expressions", "discriminant", "cases", "block", "handler", "finalizer", "prefix", "UNARY_OPERATORS", "UPDATE_OPERATORS", "declarations", "without", "definite", "superClass", "superTypeParameters", "implements", "mixins", "abstract", "source", "exportKind", "validateOptional", "assertions", "declaration", "specifiers", "sourced", "sourceless", "local", "exported", "lval", "await", "module", "importKind", "classMethodOrPropertyCommon", "accessibility", "static", "override", "classMethodOrDeclareMethodCommon", "access", "tag", "quasi", "assertShape", "raw", "cooked", "templateElementCookedValidator", "unterminatedCalled", "error", "str", "firstInvalidLoc", "readStringContents", "unterminated", "strictNumericEscape", "invalidEscapeSequence", "numericSeparatorInEscapeSequence", "unexpectedNumericSeparator", "invalidDigit", "invalidCodePoint", "tail", "quasis", "delegate", "assertOptionalChainStart", "readonly", "variance", "defineType", "defineAliasedType", "defineInterfaceishType", "name", "builder", "visitor", "aliases", "fields", "id", "validateType", "typeParameters", "validateOptionalType", "extends", "validateOptional", "arrayOfType", "mixins", "implements", "body", "elementType", "value", "validate", "assertValueType", "predicate", "kind", "assertOneOf", "typeAnnotation", "right", "supertype", "impltype", "declaration", "specifiers", "source", "default", "exportKind", "params", "rest", "this", "returnType", "optional", "types", "properties", "indexers", "callProperties", "internalSlots", "exact", "inexact", "static", "method", "key", "variance", "proto", "argument", "qualification", "expression", "bound", "explicitType", "members", "validateArrayOfType", "hasUnknownMembers", "init", "objectType", "indexType", "defineType", "defineAliasedType", "visitor", "aliases", "fields", "name", "validate", "assertNodeType", "value", "optional", "builder", "openingElement", "closingElement", "children", "chain", "assertValueType", "assertEach", "selfClosing", "expression", "object", "property", "namespace", "default", "attributes", "typeParameters", "argument", "openingFragment", "closingFragment", "PLACEHOLDERS", "PLACEHOLDERS_ALIAS", "Declaration", "Pattern", "type", "alias", "ALIAS_KEYS", "length", "PLACEHOLDERS_FLIPPED_ALIAS", "Object", "keys", "forEach", "hasOwnProperty", "call", "push", "defineType", "defineAliasedType", "visitor", "builder", "fields", "name", "validate", "assertNodeType", "expectedNode", "assertOneOf", "PLACEHOLDERS", "assertValueType", "defineType", "visitor", "aliases", "fields", "process", "env", "BABEL_TYPES_8_BREAKING", "object", "validate", "Object", "assign", "oneOfNodeTypes", "callee", "assertNodeType", "key", "value", "expression", "builder", "body", "async", "assertValueType", "default", "exported", "properties", "chain", "assertEach", "elements", "defineType", "defineAliasedType", "bool", "assertValueType", "tSFunctionTypeAnnotationCommon", "returnType", "validate", "assertNodeType", "optional", "typeParameters", "aliases", "visitor", "fields", "accessibility", "assertOneOf", "readonly", "parameter", "override", "decorators", "chain", "assertEach", "functionDeclarationCommon", "classMethodOrDeclareMethodCommon", "left", "validateType", "right", "signatureDeclarationCommon", "validateOptionalType", "validateArrayOfType", "callConstructSignatureDeclaration", "namedTypeElementCommon", "key", "computed", "default", "validateOptional", "typeAnnotation", "initializer", "kind", "static", "parameters", "tsKeywordTypes", "type", "fnOrCtrBase", "abstract", "typeName", "builder", "parameterName", "asserts", "exprName", "members", "elementType", "elementTypes", "label", "unionOrIntersection", "types", "checkType", "extendsType", "trueType", "falseType", "typeParameter", "operator", "objectType", "indexType", "nameType", "literal", "unaryExpression", "unaryOperator", "validator", "parent", "node", "is", "argument", "oneOfNodeTypes", "expression", "declare", "id", "extends", "arrayOfType", "body", "TSTypeExpression", "const", "global", "qualifier", "isExport", "moduleReference", "importKind", "params", "name", "in", "out", "constraint", "DEPRECATED_ALIASES", "ModuleDeclaration", "Object", "keys", "DEPRECATED_ALIASES", "forEach", "deprecatedAlias", "FLIPPED_ALIAS_KEYS", "toFastProperties", "VISITOR_KEYS", "ALIAS_KEYS", "NODE_FIELDS", "BUILDER_KEYS", "DEPRECATED_KEYS", "PLACEHOLDERS_ALIAS", "PLACEHOLDERS_FLIPPED_ALIAS", "TYPES", "concat", "validate", "node", "key", "val", "fields", "NODE_FIELDS", "type", "field", "validateField", "validateChild", "optional", "NODE_PARENT_VALIDATIONS", "validateNode", "node", "keys", "BUILDER_KEYS", "type", "key", "validate", "arrayExpression", "elements", "validateNode", "type", "assignmentExpression", "operator", "left", "right", "binaryExpression", "interpreterDirective", "value", "directive", "directiveLiteral", "blockStatement", "body", "directives", "breakStatement", "label", "callExpression", "callee", "_arguments", "arguments", "catchClause", "param", "conditionalExpression", "test", "consequent", "alternate", "continueStatement", "debuggerStatement", "doWhileStatement", "emptyStatement", "expressionStatement", "expression", "file", "program", "comments", "tokens", "forInStatement", "forStatement", "init", "update", "functionDeclaration", "id", "params", "generator", "async", "functionExpression", "identifier", "name", "ifStatement", "labeledStatement", "stringLiteral", "numericLiteral", "nullLiteral", "booleanLiteral", "regExpLiteral", "pattern", "flags", "logicalExpression", "memberExpression", "object", "property", "computed", "optional", "newExpression", "sourceType", "interpreter", "sourceFile", "objectExpression", "properties", "objectMethod", "kind", "key", "objectProperty", "shorthand", "decorators", "restElement", "argument", "returnStatement", "sequenceExpression", "expressions", "parenthesizedExpression", "switchCase", "switchStatement", "discriminant", "cases", "thisExpression", "throwStatement", "tryStatement", "block", "handler", "finalizer", "unaryExpression", "prefix", "updateExpression", "variableDeclaration", "declarations", "variableDeclarator", "whileStatement", "withStatement", "assignmentPattern", "arrayPattern", "arrowFunctionExpression", "classBody", "classExpression", "superClass", "classDeclaration", "exportAllDeclaration", "source", "exportDefaultDeclaration", "declaration", "exportNamedDeclaration", "specifiers", "exportSpecifier", "local", "exported", "forOfStatement", "_await", "await", "importDeclaration", "importDefaultSpecifier", "importNamespaceSpecifier", "importSpecifier", "imported", "metaProperty", "meta", "classMethod", "_static", "static", "objectPattern", "spreadElement", "_super", "taggedTemplateExpression", "tag", "quasi", "templateElement", "tail", "templateLiteral", "quasis", "yieldExpression", "delegate", "awaitExpression", "_import", "bigIntLiteral", "exportNamespaceSpecifier", "optionalMemberExpression", "optionalCallExpression", "classProperty", "typeAnnotation", "classAccessorProperty", "classPrivateProperty", "classPrivateMethod", "privateName", "staticBlock", "anyTypeAnnotation", "arrayTypeAnnotation", "elementType", "booleanTypeAnnotation", "booleanLiteralTypeAnnotation", "nullLiteralTypeAnnotation", "classImplements", "typeParameters", "declareClass", "_extends", "extends", "declareFunction", "declareInterface", "declareModule", "declareModuleExports", "declareTypeAlias", "declareOpaqueType", "supertype", "declareVariable", "declareExportDeclaration", "declareExportAllDeclaration", "declaredPredicate", "existsTypeAnnotation", "functionTypeAnnotation", "rest", "returnType", "functionTypeParam", "genericTypeAnnotation", "inferredPredicate", "interfaceExtends", "interfaceDeclaration", "interfaceTypeAnnotation", "intersectionTypeAnnotation", "types", "mixedTypeAnnotation", "emptyTypeAnnotation", "nullableTypeAnnotation", "numberLiteralTypeAnnotation", "numberTypeAnnotation", "objectTypeAnnotation", "indexers", "callProperties", "internalSlots", "exact", "objectTypeInternalSlot", "method", "objectTypeCallProperty", "objectTypeIndexer", "variance", "objectTypeProperty", "proto", "objectTypeSpreadProperty", "opaqueType", "impltype", "qualifiedTypeIdentifier", "qualification", "stringLiteralTypeAnnotation", "stringTypeAnnotation", "symbolTypeAnnotation", "thisTypeAnnotation", "tupleTypeAnnotation", "typeofTypeAnnotation", "typeAlias", "typeCastExpression", "typeParameter", "bound", "_default", "default", "typeParameterDeclaration", "typeParameterInstantiation", "unionTypeAnnotation", "voidTypeAnnotation", "enumDeclaration", "enumBooleanBody", "members", "explicitType", "hasUnknownMembers", "enumNumberBody", "enumStringBody", "enumSymbolBody", "enumBooleanMember", "enumNumberMember", "enumStringMember", "enumDefaultedMember", "indexedAccessType", "objectType", "indexType", "optionalIndexedAccessType", "jsxAttribute", "jsxClosingElement", "jsxElement", "openingElement", "closingElement", "children", "selfClosing", "jsxEmptyExpression", "jsxExpressionContainer", "jsxSpreadChild", "jsxIdentifier", "jsxMemberExpression", "jsxNamespacedName", "namespace", "jsxOpeningElement", "attributes", "jsxSpreadAttribute", "jsxText", "jsxFragment", "openingFragment", "closingFragment", "jsxOpeningFragment", "jsxClosingFragment", "noop", "placeholder", "expectedNode", "v8IntrinsicIdentifier", "argumentPlaceholder", "bindExpression", "importAttribute", "decorator", "doExpression", "exportDefaultSpecifier", "recordExpression", "tupleExpression", "decimalLiteral", "moduleExpression", "topicReference", "pipelineTopicExpression", "pipelineBareFunction", "pipelinePrimaryTopicReference", "tsParameterProperty", "parameter", "tsDeclareFunction", "tsDeclareMethod", "tsQualifiedName", "tsCallSignatureDeclaration", "parameters", "tsConstructSignatureDeclaration", "tsPropertySignature", "initializer", "tsMethodSignature", "tsIndexSignature", "tsAnyKeyword", "tsBooleanKeyword", "tsBigIntKeyword", "tsIntrinsicKeyword", "tsNeverKeyword", "tsNullKeyword", "tsNumberKeyword", "tsObjectKeyword", "tsStringKeyword", "tsSymbolKeyword", "tsUndefinedKeyword", "tsUnknownKeyword", "tsVoidKeyword", "tsThisType", "tsFunctionType", "tsConstructorType", "tsTypeReference", "typeName", "tsTypePredicate", "parameterName", "asserts", "tsTypeQuery", "exprName", "tsTypeLiteral", "tsArrayType", "tsTupleType", "elementTypes", "tsOptionalType", "tsRestType", "tsNamedTupleMember", "tsUnionType", "tsIntersectionType", "tsConditionalType", "checkType", "extendsType", "trueType", "falseType", "tsInferType", "tsParenthesizedType", "tsTypeOperator", "tsIndexedAccessType", "tsMappedType", "nameType", "tsLiteralType", "literal", "tsExpressionWithTypeArguments", "tsInterfaceDeclaration", "tsInterfaceBody", "tsTypeAliasDeclaration", "tsInstantiationExpression", "tsAsExpression", "tsSatisfiesExpression", "tsTypeAssertion", "tsEnumDeclaration", "tsEnumMember", "tsModuleDeclaration", "tsModuleBlock", "tsImportType", "qualifier", "tsImportEqualsDeclaration", "moduleReference", "isExport", "tsExternalModuleReference", "tsNonNullExpression", "tsExportAssignment", "tsNamespaceExportDeclaration", "tsTypeAnnotation", "tsTypeParameterInstantiation", "tsTypeParameterDeclaration", "tsTypeParameter", "constraint", "NumberLiteral", "deprecationWarning", "RegexLiteral", "RestProperty", "SpreadProperty", "cleanJSXElementLiteralChild", "child", "args", "lines", "value", "split", "lastNonEmptyLine", "i", "length", "match", "str", "line", "isFirstLine", "isLastLine", "isLastNonEmptyLine", "trimmedLine", "replace", "push", "inherits", "stringLiteral", "buildChildren", "node", "elements", "i", "children", "length", "child", "isJSXText", "cleanJSXElementLiteralChild", "isJSXExpressionContainer", "expression", "isJSXEmptyExpression", "push", "isNode", "node", "VISITOR_KEYS", "type", "assertNode", "node", "isNode", "type", "JSON", "stringify", "TypeError", "assert", "type", "node", "opts", "is", "Error", "JSON", "stringify", "assertArrayExpression", "assertAssignmentExpression", "assertBinaryExpression", "assertInterpreterDirective", "assertDirective", "assertDirectiveLiteral", "assertBlockStatement", "assertBreakStatement", "assertCallExpression", "assertCatchClause", "assertConditionalExpression", "assertContinueStatement", "assertDebuggerStatement", "assertDoWhileStatement", "assertEmptyStatement", "assertExpressionStatement", "assertFile", "assertForInStatement", "assertForStatement", "assertFunctionDeclaration", "assertFunctionExpression", "assertIdentifier", "assertIfStatement", "assertLabeledStatement", "assertStringLiteral", "assertNumericLiteral", "assertNullLiteral", "assertBooleanLiteral", "assertRegExpLiteral", "assertLogicalExpression", "assertMemberExpression", "assertNewExpression", "assertProgram", "assertObjectExpression", "assertObjectMethod", "assertObjectProperty", "assertRestElement", "assertReturnStatement", "assertSequenceExpression", "assertParenthesizedExpression", "assertSwitchCase", "assertSwitchStatement", "assertThisExpression", "assertThrowStatement", "assertTryStatement", "assertUnaryExpression", "assertUpdateExpression", "assertVariableDeclaration", "assertVariableDeclarator", "assertWhileStatement", "assertWithStatement", "assertAssignmentPattern", "assertArrayPattern", "assertArrowFunctionExpression", "assertClassBody", "assertClassExpression", "assertClassDeclaration", "assertExportAllDeclaration", "assertExportDefaultDeclaration", "assertExportNamedDeclaration", "assertExportSpecifier", "assertForOfStatement", "assertImportDeclaration", "assertImportDefaultSpecifier", "assertImportNamespaceSpecifier", "assertImportSpecifier", "assertMetaProperty", "assertClassMethod", "assertObjectPattern", "assertSpreadElement", "assertSuper", "assertTaggedTemplateExpression", "assertTemplateElement", "assertTemplateLiteral", "assertYieldExpression", "assertAwaitExpression", "assertImport", "assertBigIntLiteral", "assertExportNamespaceSpecifier", "assertOptionalMemberExpression", "assertOptionalCallExpression", "assertClassProperty", "assertClassAccessorProperty", "assertClassPrivateProperty", "assertClassPrivateMethod", "assertPrivateName", "assertStaticBlock", "assertAnyTypeAnnotation", "assertArrayTypeAnnotation", "assertBooleanTypeAnnotation", "assertBooleanLiteralTypeAnnotation", "assertNullLiteralTypeAnnotation", "assertClassImplements", "assertDeclareClass", "assertDeclareFunction", "assertDeclareInterface", "assertDeclareModule", "assertDeclareModuleExports", "assertDeclareTypeAlias", "assertDeclareOpaqueType", "assertDeclareVariable", "assertDeclareExportDeclaration", "assertDeclareExportAllDeclaration", "assertDeclaredPredicate", "assertExistsTypeAnnotation", "assertFunctionTypeAnnotation", "assertFunctionTypeParam", "assertGenericTypeAnnotation", "assertInferredPredicate", "assertInterfaceExtends", "assertInterfaceDeclaration", "assertInterfaceTypeAnnotation", "assertIntersectionTypeAnnotation", "assertMixedTypeAnnotation", "assertEmptyTypeAnnotation", "assertNullableTypeAnnotation", "assertNumberLiteralTypeAnnotation", "assertNumberTypeAnnotation", "assertObjectTypeAnnotation", "assertObjectTypeInternalSlot", "assertObjectTypeCallProperty", "assertObjectTypeIndexer", "assertObjectTypeProperty", "assertObjectTypeSpreadProperty", "assertOpaqueType", "assertQualifiedTypeIdentifier", "assertStringLiteralTypeAnnotation", "assertStringTypeAnnotation", "assertSymbolTypeAnnotation", "assertThisTypeAnnotation", "assertTupleTypeAnnotation", "assertTypeofTypeAnnotation", "assertTypeAlias", "assertTypeAnnotation", "assertTypeCastExpression", "assertTypeParameter", "assertTypeParameterDeclaration", "assertTypeParameterInstantiation", "assertUnionTypeAnnotation", "assertVariance", "assertVoidTypeAnnotation", "assertEnumDeclaration", "assertEnumBooleanBody", "assertEnumNumberBody", "assertEnumStringBody", "assertEnumSymbolBody", "assertEnumBooleanMember", "assertEnumNumberMember", "assertEnumStringMember", "assertEnumDefaultedMember", "assertIndexedAccessType", "assertOptionalIndexedAccessType", "assertJSXAttribute", "assertJSXClosingElement", "assertJSXElement", "assertJSXEmptyExpression", "assertJSXExpressionContainer", "assertJSXSpreadChild", "assertJSXIdentifier", "assertJSXMemberExpression", "assertJSXNamespacedName", "assertJSXOpeningElement", "assertJSXSpreadAttribute", "assertJSXText", "assertJSXFragment", "assertJSXOpeningFragment", "assertJSXClosingFragment", "assertNoop", "assertPlaceholder", "assertV8IntrinsicIdentifier", "assertArgumentPlaceholder", "assertBindExpression", "assertImportAttribute", "assertDecorator", "assertDoExpression", "assertExportDefaultSpecifier", "assertRecordExpression", "assertTupleExpression", "assertDecimalLiteral", "assertModuleExpression", "assertTopicReference", "assertPipelineTopicExpression", "assertPipelineBareFunction", "assertPipelinePrimaryTopicReference", "assertTSParameterProperty", "assertTSDeclareFunction", "assertTSDeclareMethod", "assertTSQualifiedName", "assertTSCallSignatureDeclaration", "assertTSConstructSignatureDeclaration", "assertTSPropertySignature", "assertTSMethodSignature", "assertTSIndexSignature", "assertTSAnyKeyword", "assertTSBooleanKeyword", "assertTSBigIntKeyword", "assertTSIntrinsicKeyword", "assertTSNeverKeyword", "assertTSNullKeyword", "assertTSNumberKeyword", "assertTSObjectKeyword", "assertTSStringKeyword", "assertTSSymbolKeyword", "assertTSUndefinedKeyword", "assertTSUnknownKeyword", "assertTSVoidKeyword", "assertTSThisType", "assertTSFunctionType", "assertTSConstructorType", "assertTSTypeReference", "assertTSTypePredicate", "assertTSTypeQuery", "assertTSTypeLiteral", "assertTSArrayType", "assertTSTupleType", "assertTSOptionalType", "assertTSRestType", "assertTSNamedTupleMember", "assertTSUnionType", "assertTSIntersectionType", "assertTSConditionalType", "assertTSInferType", "assertTSParenthesizedType", "assertTSTypeOperator", "assertTSIndexedAccessType", "assertTSMappedType", "assertTSLiteralType", "assertTSExpressionWithTypeArguments", "assertTSInterfaceDeclaration", "assertTSInterfaceBody", "assertTSTypeAliasDeclaration", "assertTSInstantiationExpression", "assertTSAsExpression", "assertTSSatisfiesExpression", "assertTSTypeAssertion", "assertTSEnumDeclaration", "assertTSEnumMember", "assertTSModuleDeclaration", "assertTSModuleBlock", "assertTSImportType", "assertTSImportEqualsDeclaration", "assertTSExternalModuleReference", "assertTSNonNullExpression", "assertTSExportAssignment", "assertTSNamespaceExportDeclaration", "assertTSTypeAnnotation", "assertTSTypeParameterInstantiation", "assertTSTypeParameterDeclaration", "assertTSTypeParameter", "assertStandardized", "assertExpression", "assertBinary", "assertScopable", "assertBlockParent", "assertBlock", "assertStatement", "assertTerminatorless", "assertCompletionStatement", "assertConditional", "assertLoop", "assertWhile", "assertExpressionWrapper", "assertFor", "assertForXStatement", "assertFunction", "assertFunctionParent", "assertPureish", "assertDeclaration", "assertPatternLike", "assertLVal", "assertTSEntityName", "assertLiteral", "assertImmutable", "assertUserWhitespacable", "assertMethod", "assertObjectMember", "assertProperty", "assertUnaryLike", "assertPattern", "assertClass", "assertImportOrExportDeclaration", "assertExportDeclaration", "assertModuleSpecifier", "assertAccessor", "assertPrivate", "assertFlow", "assertFlowType", "assertFlowBaseAnnotation", "assertFlowDeclaration", "assertFlowPredicate", "assertEnumBody", "assertEnumMember", "assertJSX", "assertMiscellaneous", "assertTypeScript", "assertTSTypeElement", "assertTSType", "assertTSBaseType", "assertNumberLiteral", "deprecationWarning", "assertRegexLiteral", "assertRestProperty", "assertSpreadProperty", "assertModuleDeclaration", "createTypeAnnotationBasedOnTypeof", "type", "stringTypeAnnotation", "numberTypeAnnotation", "voidTypeAnnotation", "booleanTypeAnnotation", "genericTypeAnnotation", "identifier", "anyTypeAnnotation", "Error", "getQualifiedName", "node", "isIdentifier", "name", "id", "qualification", "removeTypeDuplicates", "nodes", "generics", "Map", "bases", "typeGroups", "Set", "types", "i", "length", "indexOf", "isAnyTypeAnnotation", "isFlowBaseAnnotation", "set", "type", "isUnionTypeAnnotation", "has", "concat", "add", "isGenericTypeAnnotation", "existing", "get", "typeParameters", "params", "push", "baseType", "genericName", "createFlowUnionType", "types", "flattened", "removeTypeDuplicates", "length", "unionTypeAnnotation", "getQualifiedName", "node", "isIdentifier", "name", "right", "left", "removeTypeDuplicates", "nodes", "generics", "Map", "bases", "typeGroups", "Set", "types", "i", "length", "indexOf", "isTSAnyKeyword", "isTSBaseType", "set", "type", "isTSUnionType", "has", "push", "add", "isTSTypeReference", "typeParameters", "typeName", "existing", "get", "params", "concat", "baseType", "genericName", "createTSUnionType", "typeAnnotations", "types", "map", "type", "isTSTypeAnnotation", "typeAnnotation", "flattened", "removeTypeDuplicates", "length", "tsUnionType", "has", "Function", "call", "bind", "Object", "prototype", "hasOwnProperty", "cloneIfNode", "obj", "deep", "withoutLoc", "commentsCache", "type", "cloneNodeInternal", "cloneIfNodeOrArray", "Array", "isArray", "map", "node", "cloneNode", "Map", "newNode", "isIdentifier", "name", "optional", "typeAnnotation", "NODE_FIELDS", "Error", "field", "keys", "isFile", "maybeCloneComments", "comments", "loc", "leadingComments", "innerComments", "trailingComments", "extra", "comment", "cache", "get", "value", "ret", "set", "clone", "node", "cloneNode", "cloneDeep", "node", "cloneNode", "cloneDeepWithoutLoc", "node", "cloneNode", "cloneWithoutLoc", "node", "cloneNode", "addComments", "node", "type", "comments", "key", "concat", "push", "addComment", "node", "type", "content", "line", "addComments", "value", "inherit", "key", "child", "parent", "Array", "from", "Set", "concat", "filter", "Boolean", "inheritInnerComments", "child", "parent", "inherit", "inheritLeadingComments", "child", "parent", "inherit", "inheritTrailingComments", "child", "parent", "inherit", "inheritsComments", "child", "parent", "inheritTrailingComments", "inheritLeadingComments", "inheritInnerComments", "removeComments", "node", "COMMENT_KEYS", "forEach", "key", "STANDARDIZED_TYPES", "FLIPPED_ALIAS_KEYS", "EXPRESSION_TYPES", "BINARY_TYPES", "SCOPABLE_TYPES", "BLOCKPARENT_TYPES", "BLOCK_TYPES", "STATEMENT_TYPES", "TERMINATORLESS_TYPES", "COMPLETIONSTATEMENT_TYPES", "CONDITIONAL_TYPES", "LOOP_TYPES", "WHILE_TYPES", "EXPRESSIONWRAPPER_TYPES", "FOR_TYPES", "FORXSTATEMENT_TYPES", "FUNCTION_TYPES", "FUNCTIONPARENT_TYPES", "PUREISH_TYPES", "DECLARATION_TYPES", "PATTERNLIKE_TYPES", "LVAL_TYPES", "TSENTITYNAME_TYPES", "LITERAL_TYPES", "IMMUTABLE_TYPES", "USERWHITESPACABLE_TYPES", "METHOD_TYPES", "OBJECTMEMBER_TYPES", "PROPERTY_TYPES", "UNARYLIKE_TYPES", "PATTERN_TYPES", "CLASS_TYPES", "IMPORTOREXPORTDECLARATION_TYPES", "EXPORTDECLARATION_TYPES", "MODULESPECIFIER_TYPES", "ACCESSOR_TYPES", "PRIVATE_TYPES", "FLOW_TYPES", "FLOWTYPE_TYPES", "FLOWBASEANNOTATION_TYPES", "FLOWDECLARATION_TYPES", "FLOWPREDICATE_TYPES", "ENUMBODY_TYPES", "ENUMMEMBER_TYPES", "JSX_TYPES", "MISCELLANEOUS_TYPES", "TYPESCRIPT_TYPES", "TSTYPEELEMENT_TYPES", "TSTYPE_TYPES", "TSBASETYPE_TYPES", "MODULEDECLARATION_TYPES", "toBlock", "node", "parent", "isBlockStatement", "blockNodes", "isEmptyStatement", "isStatement", "isFunction", "returnStatement", "expressionStatement", "blockStatement", "ensureBlock", "node", "key", "result", "toBlock", "toIdentifier", "input", "name", "c", "isIdentifierChar", "codePointAt", "replace", "match", "toUpperCase", "isValidIdentifier", "toBindingIdentifierName", "name", "toIdentifier", "toComputedKey", "node", "key", "property", "computed", "isIdentifier", "stringLiteral", "name", "toExpression", "node", "isExpressionStatement", "expression", "isExpression", "isClass", "type", "isFunction", "Error", "traverseFast", "node", "enter", "opts", "keys", "VISITOR_KEYS", "type", "key", "subNode", "Array", "isArray", "CLEAR_KEYS", "CLEAR_KEYS_PLUS_COMMENTS", "COMMENT_KEYS", "removeProperties", "node", "opts", "map", "preserveComments", "key", "undefined", "Object", "keys", "symbols", "getOwnPropertySymbols", "sym", "removePropertiesDeep", "tree", "opts", "traverseFast", "removeProperties", "toKeyAlias", "node", "key", "alias", "kind", "increment", "isIdentifier", "name", "isStringLiteral", "JSON", "stringify", "value", "removePropertiesDeep", "cloneNode", "computed", "static", "uid", "Number", "MAX_SAFE_INTEGER", "getBindingIdentifiers", "node", "duplicates", "outerOnly", "search", "concat", "ids", "Object", "create", "length", "id", "shift", "keys", "type", "isIdentifier", "_ids", "name", "push", "isExportDeclaration", "isExportAllDeclaration", "isDeclaration", "declaration", "isFunctionDeclaration", "isFunctionExpression", "i", "key", "nodes", "Array", "isArray", "DeclareClass", "DeclareFunction", "DeclareModule", "DeclareVariable", "DeclareInterface", "DeclareTypeAlias", "DeclareOpaqueType", "InterfaceDeclaration", "TypeAlias", "OpaqueType", "CatchClause", "LabeledStatement", "UnaryExpression", "AssignmentExpression", "ImportSpecifier", "ImportNamespaceSpecifier", "ImportDefaultSpecifier", "ImportDeclaration", "ExportSpecifier", "ExportNamespaceSpecifier", "ExportDefaultSpecifier", "FunctionDeclaration", "FunctionExpression", "ArrowFunctionExpression", "ObjectMethod", "ClassMethod", "ClassPrivateMethod", "ForInStatement", "ForOfStatement", "ClassDeclaration", "ClassExpression", "RestElement", "UpdateExpression", "ObjectProperty", "AssignmentPattern", "ArrayPattern", "ObjectPattern", "VariableDeclaration", "VariableDeclarator", "gatherSequenceExpressions", "nodes", "scope", "declars", "exprs", "ensureLastUndefined", "node", "isEmptyStatement", "isExpression", "push", "isExpressionStatement", "expression", "isVariableDeclaration", "kind", "declar", "declarations", "bindings", "getBindingIdentifiers", "key", "Object", "keys", "id", "cloneNode", "init", "assignmentExpression", "isIfStatement", "consequent", "buildUndefinedNode", "alternate", "conditionalExpression", "test", "isBlockStatement", "body", "indexOf", "length", "sequenceExpression", "toSequenceExpression", "nodes", "scope", "length", "declars", "result", "gatherSequenceExpressions", "declar", "push", "toStatement", "node", "ignore", "isStatement", "mustHaveId", "newType", "isClass", "isFunction", "isAssignmentExpression", "expressionStatement", "id", "Error", "type", "valueToNode", "objectToString", "Function", "call", "bind", "Object", "prototype", "toString", "isRegExp", "value", "isPlainObject", "proto", "getPrototypeOf", "undefined", "identifier", "booleanLiteral", "nullLiteral", "stringLiteral", "result", "Number", "isFinite", "numericLiteral", "Math", "abs", "numerator", "isNaN", "binaryExpression", "is", "unaryExpression", "pattern", "source", "flags", "match", "regExpLiteral", "Array", "isArray", "arrayExpression", "map", "props", "key", "keys", "nodeKey", "isValidIdentifier", "push", "objectProperty", "objectExpression", "Error", "appendToMemberExpression", "member", "append", "computed", "object", "memberExpression", "property", "inherits", "child", "parent", "key", "INHERIT_KEYS", "optional", "Object", "keys", "force", "inheritsComments", "prependToMemberExpression", "member", "prepend", "isSuper", "object", "Error", "memberExpression", "getOuterBindingIdentifiers", "node", "duplicates", "getBindingIdentifiers", "traverse", "node", "handlers", "state", "enter", "exit", "traverseSimpleImpl", "ancestors", "keys", "VISITOR_KEYS", "type", "key", "subNode", "Array", "isArray", "i", "length", "child", "push", "index", "pop", "isBinding", "node", "parent", "grandparent", "type", "keys", "getBindingIdentifiers", "i", "length", "key", "val", "Array", "isArray", "indexOf", "isLet", "node", "isVariableDeclaration", "kind", "BLOCK_SCOPED_SYMBOL", "isBlockScoped", "node", "isFunctionDeclaration", "isClassDeclaration", "isLet", "isImmutable", "node", "isType", "type", "isIdentifier", "name", "isNodesEquivalent", "a", "b", "type", "fields", "Object", "keys", "NODE_FIELDS", "visitorKeys", "VISITOR_KEYS", "field", "val_a", "val_b", "Array", "isArray", "length", "i", "includes", "key", "isReferenced", "node", "parent", "grandparent", "type", "property", "computed", "object", "init", "body", "key", "superClass", "right", "source", "local", "id", "isScope", "node", "parent", "isBlockStatement", "isFunction", "isCatchClause", "isPattern", "isScopable", "isSpecifierDefault", "specifier", "isImportDefaultSpecifier", "isIdentifier", "imported", "exported", "name", "RESERVED_WORDS_ES3_ONLY", "Set", "isValidES3Identifier", "name", "isValidIdentifier", "has", "isVar", "node", "isVariableDeclaration", "kind", "BLOCK_SCOPED_SYMBOL", "require_generated", "react", "isReactComponent", "isCompatTag", "buildChildren", "DEPRECATED_KEYS", "DEPRECATED_ALIASES", "FLIPPED_ALIAS_KEYS", "TYPES", "__internal__deprecationWarning", "deprecationWarning", "isVirtualType", "type", "virtualTypes", "explode", "visitor", "_exploded", "nodeType", "Object", "keys", "shouldIgnoreKey", "parts", "split", "length", "fns", "part", "verify", "__esModule", "ensureEntranceObjects", "ensureCallbackArrays", "wrapCheck", "types", "mergePair", "aliases", "deprecatedKey", "deprecatedAlias", "alias", "existing", "_verified", "Error", "validateVisitorMethods", "indexOf", "visitors", "visitorKey", "path", "val", "concat", "fn", "TypeError", "merge", "states", "wrapper", "rootVisitor", "i", "state", "visitorType", "wrapWithStateOrWrapper", "nodeVisitor", "oldVisitor", "newVisitor", "key", "Array", "isArray", "map", "newFn", "call", "toString", "obj", "enter", "exit", "apply", "arguments", "dest", "src", "path", "WeakMap", "scope", "clear", "clearPath", "clearScope", "parse", "match", "env", "hash", "self", "match", "delimiter", "match", "require_lib", "identifier", "declaration", "require_lib", "node", "renameVisitor", "ReferencedIdentifier", "node", "state", "name", "oldName", "newName", "Scope", "path", "scope", "bindingIdentifierEquals", "binding", "identifier", "skip", "isMethod", "requeueComputedKeyAndDecorators", "isVariableDeclaration", "ids", "getOuterBindingIdentifiers", "Renamer", "constructor", "maybeConvertFromExportDeclaration", "parentDeclar", "maybeExportDeclar", "parentPath", "isExportDeclaration", "isExportDefaultDeclaration", "declaration", "t", "isDeclaration", "id", "isExportAllDeclaration", "splitExportDeclaration", "maybeConvertFromClassFunctionDeclaration", "maybeConvertFromClassFunctionExpression", "rename", "find", "isFunctionExpression", "isClassExpression", "bindingIds", "blockToTraverse", "arguments", "block", "traverseNode", "explode", "discriminant", "removeOwnBinding", "bindings", "Binding", "constructor", "identifier", "scope", "path", "kind", "constantViolations", "constant", "referencePaths", "referenced", "references", "isDeclaredInLoop", "Error", "reassign", "clearValue", "deoptValue", "hasDeoptedValue", "setValue", "value", "hasValue", "indexOf", "push", "reference", "dereference", "parentPath", "key", "isFunctionParent", "isWhile", "isForXStatement", "isForStatement", "require_globals", "_cache", "NOT_LOCAL_BINDING", "callExpression", "cloneNode", "getBindingIdentifiers", "identifier", "isArrayExpression", "isBinary", "isClass", "isClassBody", "isClassDeclaration", "isExportAllDeclaration", "isExportDefaultDeclaration", "isExportNamedDeclaration", "isFunctionDeclaration", "isIdentifier", "isImportDeclaration", "isLiteral", "isMethod", "isModuleSpecifier", "isNullLiteral", "isObjectExpression", "isProperty", "isPureish", "isRegExpLiteral", "isSuper", "isTaggedTemplateExpression", "isTemplateLiteral", "isThisExpression", "isUnaryExpression", "isVariableDeclaration", "matchesPattern", "memberExpression", "numericLiteral", "toIdentifier", "unaryExpression", "variableDeclaration", "variableDeclarator", "isRecordExpression", "isTupleExpression", "isObjectProperty", "isTopicReference", "isMetaProperty", "isPrivateName", "isExportDeclaration", "gatherNodeParts", "node", "parts", "type", "source", "specifiers", "length", "e", "declaration", "local", "push", "value", "object", "property", "name", "callee", "properties", "argument", "key", "left", "id", "expression", "meta", "openingElement", "openingFragment", "namespace", "collectorVisitor", "ForStatement", "path", "declar", "get", "isVar", "scope", "parentScope", "getFunctionParent", "getProgramParent", "registerBinding", "Declaration", "isBlockScoped", "parent", "registerDeclaration", "ImportDeclaration", "getBlockParent", "ReferencedIdentifier", "state", "references", "ForXStatement", "isPattern", "constantViolations", "ExportDeclaration", "exit", "binding", "getBinding", "reference", "decl", "declarations", "Object", "keys", "LabeledStatement", "AssignmentExpression", "assignments", "UpdateExpression", "UnaryExpression", "operator", "BlockScoped", "bindings", "CatchClause", "Function", "params", "param", "isFunctionExpression", "has", "ClassExpression", "uid", "Scope", "constructor", "block", "labels", "inited", "globals", "uids", "data", "crawling", "cached", "scopeCache", "set", "Map", "shouldSkip", "listKey", "parentPath", "isScope", "parentBlock", "hub", "traverse", "opts", "generateDeclaredUidIdentifier", "generateUidIdentifier", "generateUid", "replace", "i", "_generateUid", "hasLabel", "hasBinding", "hasGlobal", "hasReference", "program", "generateUidBasedOnNode", "defaultName", "join", "slice", "generateUidIdentifierBasedOnNode", "isStatic", "constant", "maybeGenerateMemoised", "dontPush", "checkBlockScopedCollisions", "kind", "duplicate", "buildError", "TypeError", "rename", "oldName", "newName", "renamer", "Renamer", "arguments", "_renameFromMap", "map", "dump", "sep", "repeat", "console", "log", "violations", "toArray", "arrayLikeIsIterable", "isGenericType", "helperName", "args", "unshift", "addHelper", "getLabel", "registerLabel", "label", "isLabeledStatement", "declare", "isTypeDeclaration", "importKind", "specifier", "isTypeSpecifier", "isImportSpecifier", "buildUndefinedNode", "registerConstantViolation", "ids", "reassign", "bindingPath", "ReferenceError", "declarators", "getOuterBindingIdentifiers", "getOwnBinding", "Binding", "addGlobal", "hasUid", "isPure", "constantsOnly", "superClass", "decorators", "body", "method", "right", "elem", "elements", "prop", "computed", "static", "tag", "quasi", "expressions", "setData", "val", "getData", "removeData", "init", "crawl", "create", "programParent", "_exploded", "visit", "enter", "typeVisitors", "ref", "getPatternParent", "isBlockStatement", "isProgram", "isSwitchStatement", "isLoop", "isCatchClause", "isFunction", "ensureBlock", "unique", "blockHoist", "_blockHoist", "dataKey", "declarPath", "unshiftContainer", "declarator", "len", "Error", "isFunctionParent", "isBlockParent", "getAllBindings", "getAllBindingsOfKind", "kinds", "bindingIdentifierEquals", "getBindingIdentifier", "previousPath", "isArrowFunctionExpression", "getOwnBindingIdentifier", "hasOwnBinding", "noGlobals", "parentHasBinding", "noUids", "includes", "contextVariables", "moveBindingTo", "info", "removeOwnBinding", "removeBinding", "builtin", "get", "put", "pop", "Buffer", "indexOf", "line", "length", "next", "UrlType", "match", "hash", "url", "resolve", "resolve", "resolveUri", "line", "presortedDecodedMap", "decodedMappings", "append", "column", "encodedMappings", "traceSegment", "originalPositionFor", "generatedPositionFor", "allGeneratedPositionsFor", "eachMapping", "sourceContentFor", "decodedMap", "encodedMap", "isString", "version", "from", "encode", "decode", "bsFound", "addSegment", "addMapping", "maybeAddSegment", "maybeAddMapping", "setSourceContent", "toDecodedMap", "toEncodedMap", "fromMap", "allMappings", "SetArray", "put", "encode", "line", "TraceMap", "decodedMappings", "length", "prev", "SourceMap", "constructor", "opts", "code", "_map", "_rawMappings", "_sourceFileName", "_lastGenLine", "_lastSourceLine", "_lastSourceColumn", "_inputMap", "map", "GenMapping", "sourceRoot", "sourceFileName", "replace", "undefined", "inputSourceMap", "TraceMap", "resolvedSources", "length", "i", "setSourceContent", "sourcesContent", "Object", "keys", "get", "toEncodedMap", "getDecoded", "toDecodedMap", "getRawMappings", "allMappings", "mark", "generated", "line", "column", "identifierName", "identifierNamePos", "filename", "originalMapping", "originalPositionFor", "name", "originalIdentifierMapping", "source", "maybeAddMapping", "original", "Buffer", "constructor", "map", "_map", "_buf", "_str", "_appendCount", "_last", "_queue", "_queueCursor", "_canMarkIdName", "_position", "line", "column", "_sourcePosition", "identifierName", "undefined", "identifierNamePos", "filename", "_allocQueue", "queue", "i", "push", "char", "repeat", "_pushQueue", "cursor", "length", "item", "_popQueue", "Error", "get", "_flush", "result", "code", "trimRight", "decodedMap", "getDecoded", "__mergedMap", "resultMap", "value", "Object", "defineProperty", "writable", "rawMappings", "mappings", "getRawMappings", "append", "str", "maybeNewline", "_append", "appendChar", "_appendChar", "sourcePosition", "queueIndentation", "queueCursor", "sourcePos", "String", "fromCharCode", "_mark", "len", "position", "charCodeAt", "indexOf", "last", "mark", "removeTrailingNewline", "removeLastSemicolon", "getLastChar", "getNewlineCount", "count", "endsWithCharAndNewline", "lastCp", "hasContent", "exactSource", "loc", "cb", "source", "prop", "_normalizePosition", "sourceWithOffset", "lineOffset", "columnOffset", "withSource", "pos", "target", "getCurrentColumn", "lastIndex", "getCurrentLine", "FLIPPED_ALIAS_KEYS", "isArrayExpression", "isAssignmentExpression", "isBinary", "isBlockStatement", "isCallExpression", "isFunction", "isIdentifier", "isLiteral", "isMemberExpression", "isObjectExpression", "isOptionalCallExpression", "isOptionalMemberExpression", "isStringLiteral", "crawlInternal", "node", "state", "object", "computed", "property", "left", "right", "hasCall", "callee", "hasFunction", "hasHelper", "isHelper", "crawl", "name", "charCodeAt", "isType", "nodes", "AssignmentExpression", "SwitchCase", "parent", "consequent", "length", "cases", "LogicalExpression", "Literal", "value", "CallExpression", "OptionalCallExpression", "VariableDeclaration", "i", "declarations", "declar", "enabled", "id", "init", "IfStatement", "ObjectProperty", "ObjectTypeProperty", "ObjectMethod", "properties", "ObjectTypeCallProperty", "callProperties", "ObjectTypeIndexer", "indexers", "ObjectTypeInternalSlot", "internalSlots", "forEach", "type", "amounts", "concat", "ret", "isArrayTypeAnnotation", "isArrowFunctionExpression", "isAssignmentExpression", "isAwaitExpression", "isBinary", "isBinaryExpression", "isUpdateExpression", "isCallExpression", "isClass", "isClassExpression", "isConditional", "isConditionalExpression", "isExportDeclaration", "isExportDefaultDeclaration", "isExpressionStatement", "isFor", "isForInStatement", "isForOfStatement", "isForStatement", "isFunctionExpression", "isIfStatement", "isIndexedAccessType", "isIntersectionTypeAnnotation", "isLogicalExpression", "isMemberExpression", "isNewExpression", "isNullableTypeAnnotation", "isObjectPattern", "isOptionalCallExpression", "isOptionalMemberExpression", "isReturnStatement", "isSequenceExpression", "isSwitchStatement", "isTSArrayType", "isTSAsExpression", "isTSInstantiationExpression", "isTSIntersectionType", "isTSNonNullExpression", "isTSOptionalType", "isTSRestType", "isTSTypeAssertion", "isTSUnionType", "isTaggedTemplateExpression", "isThrowStatement", "isTypeAnnotation", "isUnaryLike", "isUnionTypeAnnotation", "isVariableDeclarator", "isWhileStatement", "isYieldExpression", "isTSSatisfiesExpression", "PRECEDENCE", "in", "instanceof", "isTSTypeExpression", "node", "isClassExtendsClause", "parent", "superClass", "hasPostfixPart", "object", "callee", "tag", "NullableTypeAnnotation", "FunctionTypeAnnotation", "printStack", "length", "UpdateExpression", "ObjectExpression", "isFirstInContext", "DoExpression", "async", "Binary", "operator", "left", "parentOp", "parentPos", "nodeOp", "nodePos", "right", "UnionTypeAnnotation", "OptionalIndexedAccessType", "objectType", "TSAsExpression", "TSUnionType", "TSInferType", "TSInstantiationExpression", "typeParameters", "BinaryExpression", "SequenceExpression", "test", "discriminant", "expression", "YieldExpression", "ClassExpression", "UnaryLike", "FunctionExpression", "ArrowFunctionExpression", "ConditionalExpression", "OptionalMemberExpression", "AssignmentExpression", "LogicalExpression", "Identifier", "extra", "parenthesized", "id", "name", "isFollowedByBracket", "computed", "optional", "checkParam", "expressionStatement", "arrowBody", "exportDefault", "forHead", "forInHead", "forOfHead", "i", "declaration", "body", "init", "expressions", "prefix", "whitespace", "FLIPPED_ALIAS_KEYS", "isCallExpression", "isExpressionStatement", "isMemberExpression", "isNewExpression", "expandAliases", "obj", "newObj", "add", "type", "func", "fn", "node", "parent", "stack", "result", "Object", "keys", "aliases", "alias", "expandedParens", "parens", "expandedWhitespaceNodes", "nodes", "find", "printStack", "isOrHasCallExpression", "object", "needsWhitespace", "expression", "flag", "needsWhitespaceBefore", "needsWhitespaceAfter", "needsParens", "callee", "TaggedTemplateExpression", "node", "print", "tag", "typeParameters", "quasi", "TemplateElement", "parent", "isFirst", "quasis", "isLast", "length", "value", "raw", "token", "TemplateLiteral", "i", "expressions", "isCallExpression", "isLiteral", "isMemberExpression", "isNewExpression", "UnaryExpression", "node", "operator", "word", "space", "token", "print", "argument", "DoExpression", "async", "body", "ParenthesizedExpression", "expression", "UpdateExpression", "prefix", "printTerminatorless", "ConditionalExpression", "test", "consequent", "alternate", "NewExpression", "parent", "callee", "format", "minified", "arguments", "length", "optional", "typeArguments", "typeParameters", "printList", "SequenceExpression", "expressions", "ThisExpression", "Super", "isDecoratorMemberExpression", "type", "computed", "property", "object", "shouldParenthesizeDecoratorExpression", "_shouldPrintDecoratorsBeforeExport", "decoratorsBeforeExport", "start", "declaration", "Decorator", "newline", "OptionalMemberExpression", "TypeError", "value", "OptionalCallExpression", "CallExpression", "Import", "AwaitExpression", "YieldExpression", "delegate", "EmptyStatement", "semicolon", "ExpressionStatement", "AssignmentPattern", "left", "typeAnnotation", "right", "AssignmentExpression", "parens", "inForStatementInitCounter", "n", "needsParens", "BindExpression", "MemberExpression", "MetaProperty", "meta", "PrivateName", "id", "V8IntrinsicIdentifier", "name", "ModuleExpression", "indent", "directives", "dedent", "sourceWithOffset", "loc", "rightBrace", "isFor", "isForStatement", "isIfStatement", "isStatement", "WithStatement", "node", "word", "space", "token", "print", "object", "printBlock", "IfStatement", "test", "needsBlock", "alternate", "getLastStatement", "consequent", "newline", "indent", "printAndIndentOnComments", "dedent", "endsWith", "statement", "body", "ForStatement", "inForStatementInitCounter", "init", "update", "WhileStatement", "ForXStatement", "isForOf", "type", "await", "noIndentInnerCommentsHere", "left", "right", "ForInStatement", "ForOfStatement", "DoWhileStatement", "semicolon", "printStatementAfterKeyword", "printer", "parent", "isLabel", "printTerminatorless", "BreakStatement", "label", "ContinueStatement", "ReturnStatement", "argument", "ThrowStatement", "LabeledStatement", "TryStatement", "block", "handlers", "handler", "finalizer", "CatchClause", "param", "typeAnnotation", "SwitchStatement", "discriminant", "printSequence", "cases", "addNewlines", "leading", "cas", "length", "SwitchCase", "DebuggerStatement", "VariableDeclaration", "declare", "kind", "hasInits", "declar", "declarations", "printList", "separator", "undefined", "VariableDeclarator", "id", "definite", "isExportDefaultDeclaration", "isExportNamedDeclaration", "ClassDeclaration", "node", "parent", "inExport", "_shouldPrintDecoratorsBeforeExport", "printJoin", "decorators", "declare", "word", "space", "abstract", "id", "print", "typeParameters", "superClass", "superTypeParameters", "implements", "printList", "body", "ClassBody", "token", "length", "newline", "indent", "printSequence", "dedent", "endsWith", "sourceWithOffset", "loc", "rightBrace", "ClassProperty", "endLine", "key", "end", "line", "catchUp", "tsPrintClassMemberModifiers", "computed", "_variance", "optional", "definite", "typeAnnotation", "value", "semicolon", "ClassAccessorProperty", "ClassPrivateProperty", "static", "ClassMethod", "_classMethodHead", "ClassPrivateMethod", "_methodHead", "StaticBlock", "isIdentifier", "_params", "node", "idNode", "parentNode", "print", "typeParameters", "nameInfo", "_getFuncIdName", "call", "sourceIdentifierName", "name", "pos", "token", "_parameters", "params", "noLineTerminator", "type", "returnType", "_noLineTerminator", "parameters", "parent", "paramLength", "length", "i", "_param", "space", "parameter", "printJoin", "decorators", "optional", "typeAnnotation", "_methodHead", "kind", "key", "word", "async", "generator", "computed", "undefined", "_predicate", "noLineTerminatorAfter", "predicate", "_functionHead", "_endsWithInnerRaw", "id", "FunctionExpression", "body", "ArrowFunctionExpression", "firstParam", "format", "retainLines", "hasTypesOrComments", "printInnerComments", "param", "leadingComments", "trailingComments", "parentType", "left", "loc", "start", "identifierName", "value", "isClassDeclaration", "isExportDefaultSpecifier", "isExportNamespaceSpecifier", "isImportDefaultSpecifier", "isImportNamespaceSpecifier", "isStatement", "ImportSpecifier", "node", "importKind", "word", "space", "print", "imported", "local", "name", "ImportDefaultSpecifier", "ExportDefaultSpecifier", "exported", "ExportSpecifier", "exportKind", "ExportNamespaceSpecifier", "token", "_printAssertions", "printList", "assertions", "ExportAllDeclaration", "length", "source", "semicolon", "maybePrintDecoratorsBeforeExport", "printer", "declaration", "_shouldPrintDecoratorsBeforeExport", "printJoin", "decorators", "ExportNamedDeclaration", "declar", "specifiers", "slice", "hasSpecial", "first", "shift", "ExportDefaultDeclaration", "noIndentInnerCommentsHere", "ImportDeclaration", "isTypeKind", "module", "hasSpecifiers", "attributes", "ImportAttribute", "key", "value", "ImportNamespaceSpecifier", "hasOwnProperty", "object", "length", "toString", "isArray", "isBuffer", "Buffer", "isObject", "isString", "isNumber", "isFunction", "character", "hexadecimal", "isAssignmentPattern", "isIdentifier", "Identifier", "node", "sourceIdentifierName", "loc", "identifierName", "name", "word", "ArgumentPlaceholder", "token", "RestElement", "print", "argument", "ObjectExpression", "props", "properties", "length", "space", "printList", "indent", "statement", "sourceWithOffset", "ObjectMethod", "printJoin", "decorators", "_methodHead", "body", "ObjectProperty", "computed", "key", "value", "left", "shorthand", "ArrayExpression", "elems", "elements", "len", "i", "elem", "RecordExpression", "startToken", "endToken", "format", "recordAndTupleSyntaxType", "Error", "JSON", "stringify", "TupleExpression", "RegExpLiteral", "pattern", "flags", "BooleanLiteral", "NullLiteral", "NumericLiteral", "raw", "getPossibleRaw", "opts", "jsescOption", "numbers", "number", "jsesc", "minified", "StringLiteral", "undefined", "val", "Object", "assign", "jsonCompatibleStrings", "json", "BigIntLiteral", "DecimalLiteral", "validTopicTokenSet", "Set", "TopicReference", "topicToken", "has", "givenTopicTokenJSON", "validTopics", "Array", "from", "v", "join", "PipelineTopicExpression", "expression", "PipelineBareFunction", "callee", "PipelinePrimaryTopicReference", "isDeclareExportDeclaration", "isStatement", "AnyTypeAnnotation", "word", "ArrayTypeAnnotation", "node", "print", "elementType", "token", "BooleanTypeAnnotation", "BooleanLiteralTypeAnnotation", "value", "NullLiteralTypeAnnotation", "DeclareClass", "parent", "space", "_interfaceish", "DeclareFunction", "id", "typeAnnotation", "predicate", "semicolon", "InferredPredicate", "DeclaredPredicate", "DeclareInterface", "InterfaceDeclaration", "DeclareModule", "body", "DeclareModuleExports", "DeclareTypeAlias", "TypeAlias", "DeclareOpaqueType", "OpaqueType", "DeclareVariable", "DeclareExportDeclaration", "default", "FlowExportDeclaration", "call", "DeclareExportAllDeclaration", "ExportAllDeclaration", "EnumDeclaration", "enumExplicitType", "context", "name", "hasExplicitType", "enumBody", "members", "indent", "newline", "member", "hasUnknownMembers", "dedent", "EnumBooleanBody", "explicitType", "EnumNumberBody", "EnumStringBody", "EnumSymbolBody", "EnumDefaultedMember", "enumInitializedMember", "init", "EnumBooleanMember", "EnumNumberMember", "EnumStringMember", "declaration", "declar", "specifiers", "length", "printList", "source", "ExistsTypeAnnotation", "FunctionTypeAnnotation", "typeParameters", "this", "params", "rest", "type", "method", "returnType", "FunctionTypeParam", "optional", "InterfaceExtends", "extends", "mixins", "implements", "_variance", "variance", "kind", "andSeparator", "InterfaceTypeAnnotation", "IntersectionTypeAnnotation", "printJoin", "types", "separator", "MixedTypeAnnotation", "EmptyTypeAnnotation", "NullableTypeAnnotation", "NumberTypeAnnotation", "StringTypeAnnotation", "ThisTypeAnnotation", "TupleTypeAnnotation", "TypeofTypeAnnotation", "argument", "right", "TypeAnnotation", "TypeParameterInstantiation", "TypeParameter", "bound", "supertype", "impltype", "ObjectTypeAnnotation", "exact", "props", "properties", "callProperties", "indexers", "internalSlots", "addNewlines", "leading", "statement", "iterator", "inexact", "ObjectTypeInternalSlot", "static", "ObjectTypeCallProperty", "ObjectTypeIndexer", "key", "ObjectTypeProperty", "proto", "ObjectTypeSpreadProperty", "QualifiedTypeIdentifier", "qualification", "SymbolTypeAnnotation", "orSeparator", "UnionTypeAnnotation", "TypeCastExpression", "expression", "Variance", "VoidTypeAnnotation", "IndexedAccessType", "objectType", "indexType", "OptionalIndexedAccessType", "File", "node", "program", "print", "interpreter", "Program", "noIndentInnerCommentsHere", "printInnerComments", "directivesLen", "directives", "length", "newline", "body", "printSequence", "trailingCommentsLineOffset", "trailingComments", "BlockStatement", "token", "indent", "sourceWithOffset", "loc", "rightBrace", "Directive", "value", "semicolon", "unescapedSingleQuoteRE", "unescapedDoubleQuoteRE", "DirectiveLiteral", "raw", "getPossibleRaw", "format", "minified", "undefined", "test", "Error", "InterpreterDirective", "Placeholder", "name", "expectedNode", "JSXAttribute", "node", "print", "name", "value", "token", "JSXIdentifier", "word", "JSXNamespacedName", "namespace", "JSXMemberExpression", "object", "property", "JSXSpreadAttribute", "argument", "JSXExpressionContainer", "expression", "JSXSpreadChild", "JSXText", "raw", "getPossibleRaw", "undefined", "JSXElement", "open", "openingElement", "selfClosing", "indent", "child", "children", "dedent", "closingElement", "spaceSeparator", "space", "JSXOpeningElement", "typeParameters", "attributes", "length", "printJoin", "separator", "JSXClosingElement", "JSXEmptyExpression", "printInnerComments", "JSXFragment", "openingFragment", "closingFragment", "JSXOpeningFragment", "JSXClosingFragment", "TSTypeAnnotation", "node", "token", "space", "optional", "print", "typeAnnotation", "TSTypeParameterInstantiation", "parent", "printList", "params", "type", "length", "TSTypeParameter", "in", "word", "out", "name", "constraint", "default", "TSParameterProperty", "accessibility", "readonly", "_param", "parameter", "TSDeclareFunction", "declare", "_functionHead", "TSDeclareMethod", "_classMethodHead", "TSQualifiedName", "left", "right", "TSCallSignatureDeclaration", "tsPrintSignatureDeclarationBase", "TSConstructSignatureDeclaration", "TSPropertySignature", "initializer", "tsPrintPropertyOrMethodName", "computed", "key", "TSMethodSignature", "kind", "TSIndexSignature", "static", "isStatic", "_parameters", "parameters", "TSAnyKeyword", "TSBigIntKeyword", "TSUnknownKeyword", "TSNumberKeyword", "TSObjectKeyword", "TSBooleanKeyword", "TSStringKeyword", "TSSymbolKeyword", "TSVoidKeyword", "TSUndefinedKeyword", "TSNullKeyword", "TSNeverKeyword", "TSIntrinsicKeyword", "TSThisType", "TSFunctionType", "tsPrintFunctionOrConstructorType", "TSConstructorType", "abstract", "typeParameters", "returnType", "TSTypeReference", "typeName", "TSTypePredicate", "asserts", "parameterName", "TSTypeQuery", "exprName", "TSTypeLiteral", "tsPrintTypeLiteralOrInterfaceBody", "members", "tsPrintBraced", "printer", "indent", "newline", "member", "dedent", "sourceWithOffset", "loc", "rightBrace", "TSArrayType", "elementType", "TSTupleType", "elementTypes", "TSOptionalType", "TSRestType", "TSNamedTupleMember", "label", "TSUnionType", "tsPrintUnionOrIntersectionType", "TSIntersectionType", "sep", "printJoin", "types", "separator", "TSConditionalType", "checkType", "extendsType", "trueType", "falseType", "TSInferType", "typeParameter", "TSParenthesizedType", "TSTypeOperator", "operator", "TSIndexedAccessType", "objectType", "indexType", "TSMappedType", "nameType", "tokenIfPlusMinus", "self", "tok", "TSLiteralType", "literal", "TSExpressionWithTypeArguments", "expression", "TSInterfaceDeclaration", "id", "extends", "extendz", "body", "TSInterfaceBody", "TSTypeAliasDeclaration", "TSTypeExpression", "forceParens", "trailingComments", "undefined", "TSTypeAssertion", "TSInstantiationExpression", "TSEnumDeclaration", "const", "isConst", "TSEnumMember", "TSModuleDeclaration", "global", "TSModuleBlock", "TSImportType", "argument", "qualifier", "TSImportEqualsDeclaration", "isExport", "moduleReference", "TSExternalModuleReference", "TSNonNullExpression", "TSExportAssignment", "TSNamespaceExportDeclaration", "tsPrintClassMemberModifiers", "isField", "override", "isFunction", "isStatement", "isClassBody", "isTSInterfaceBody", "isTSEnumDeclaration", "SCIENTIFIC_NOTATION", "ZERO_DECIMAL_INTEGER", "NON_DECIMAL_LITERAL", "PURE_ANNOTATION_RE", "HAS_NEWLINE", "HAS_BlOCK_COMMENT_END", "needsParens", "n", "Printer", "constructor", "format", "map", "inForStatementInitCounter", "_printStack", "_indent", "_indentChar", "_indentRepeat", "_insideAux", "_parenPushNewlineState", "_noLineTerminator", "_printAuxAfterOnNextUserNode", "_printedComments", "Set", "_endsWithInteger", "_endsWithWord", "_lastCommentLine", "_endsWithInnerRaw", "_indentInnerComments", "_buf", "Buffer", "indent", "style", "charCodeAt", "length", "_inputMap", "generate", "ast", "print", "_maybeAddAuxComment", "get", "compact", "concise", "dedent", "semicolon", "force", "_appendChar", "_queue", "rightBrace", "minified", "removeLastSemicolon", "token", "space", "_space", "hasContent", "lastCp", "getLastChar", "word", "str", "noLineTerminatorAfter", "_maybePrintInnerComments", "endsWith", "_append", "number", "Number", "isInteger", "test", "maybeNewline", "lastChar", "strFirst", "tokenChar", "char", "newline", "i", "retainLines", "getNewlineCount", "j", "_newline", "endsWithCharAndNewline", "removeTrailingNewline", "exactSource", "loc", "cb", "_catchUp", "source", "prop", "sourceWithOffset", "lineOffset", "columnOffset", "withSource", "sourceIdentifierName", "identifierName", "pos", "_canMarkIdName", "sourcePosition", "_sourcePosition", "identifierNamePos", "_maybeAddParen", "_maybeIndent", "append", "_maybeAddParenChar", "appendChar", "queue", "firstChar", "queueIndentation", "_getIndent", "_shouldIndent", "parenPushNewlineState", "printed", "len", "cha", "chaPost", "slice", "catchUp", "line", "count", "getCurrentLine", "printTerminatorless", "node", "parent", "isLabel", "terminatorState", "trailingCommentsLineOffset", "forceParens", "nodeType", "type", "oldConcise", "_compact", "printMethod", "undefined", "ReferenceError", "JSON", "stringify", "name", "push", "oldInAux", "shouldPrintParens", "retainFunctionParens", "extra", "parenthesized", "_printLeadingComments", "bind", "_printTrailingComments", "pop", "enteredPositionlessNode", "_printAuxBeforeComment", "_printAuxAfterComment", "comment", "auxiliaryCommentBefore", "_printComment", "value", "auxiliaryCommentAfter", "getPossibleRaw", "raw", "rawValue", "printJoin", "nodes", "opts", "newlineOpts", "addNewlines", "nextNodeStartLine", "separator", "statement", "_printNewline", "iterator", "nextNode", "start", "printAndIndentOnComments", "leadingComments", "printBlock", "body", "innerComments", "trailingComments", "_printComments", "comments", "printInnerComments", "hasSpace", "printedCommentsCount", "size", "noIndentInnerCommentsHere", "printSequence", "printList", "items", "commaSeparator", "newLine", "startLine", "lastCommentLine", "offset", "_shouldPrintComment", "ignore", "has", "add", "shouldPrintComment", "skipNewLines", "noLineTerminator", "isBlockComment", "printNewLines", "lastCharCode", "val", "adjustMultilineComment", "column", "newlineRegex", "RegExp", "replace", "indentSize", "getCurrentColumn", "repeat", "nodeLoc", "hasLoc", "nodeStartLine", "nodeEndLine", "end", "lastLine", "leadingCommentNewline", "shouldPrint", "commentStartLine", "commentEndLine", "Math", "max", "min", "singleLine", "shouldSkipNewline", "properties", "Object", "assign", "prototype", "generatorFunctions", "Noop", "Generator", "Printer", "constructor", "ast", "opts", "code", "format", "normalizeOptions", "map", "sourceMaps", "SourceMap", "generate", "auxiliaryCommentBefore", "auxiliaryCommentAfter", "shouldPrintComment", "retainLines", "retainFunctionParens", "comments", "compact", "minified", "concise", "indent", "adjustMultilineComment", "style", "jsescOption", "quotes", "wrap", "minimal", "recordAndTupleSyntaxType", "topicToken", "decoratorsBeforeExport", "jsonCompatibleStrings", "value", "includes", "length", "console", "error", "filename", "undefined", "CodeGenerator", "_generator", "gen", "VISITOR_KEYS", "findParent", "callback", "path", "parentPath", "find", "getFunctionParent", "p", "isFunction", "getStatementParent", "Array", "isArray", "container", "isStatement", "isProgram", "isFile", "Error", "getEarliestCommonAncestorFrom", "paths", "getDeepestCommonAncestorFrom", "deepest", "i", "ancestries", "earliest", "keys", "type", "ancestry", "listKey", "key", "earliestKeyIndex", "indexOf", "parentKey", "currentKeyIndex", "filter", "length", "minDepth", "Infinity", "lastCommonIndex", "lastCommon", "map", "unshift", "first", "depthLoop", "shouldMatch", "getAncestry", "push", "isAncestor", "maybeDescendant", "isDescendant", "maybeAncestor", "parent", "inType", "candidateTypes", "node", "createFlowUnionType", "createTSUnionType", "createUnionTypeAnnotation", "isFlowType", "isTSType", "createUnionType", "types", "BOOLEAN_NUMBER_BINARY_OPERATORS", "createTypeAnnotationBasedOnTypeof", "numberTypeAnnotation", "voidTypeAnnotation", "node", "isReferenced", "binding", "scope", "getBinding", "name", "identifier", "typeAnnotation", "getTypeAnnotationBindingConstantViolations", "path", "types", "functionConstantViolations", "constantViolations", "getConstantViolationsBefore", "testType", "getConditionalAnnotation", "testConstantViolations", "ifStatement", "filter", "indexOf", "push", "length", "violation", "getTypeAnnotation", "createUnionType", "functions", "violations", "slice", "unshift", "resolve", "status", "_guessExecutionStatusRelativeTo", "inferAnnotationFromBinaryExpression", "operator", "right", "get", "left", "target", "isIdentifier", "typeofPath", "typePath", "isUnaryExpression", "isLiteral", "typeValue", "value", "getParentConditionalPath", "parentPath", "isIfStatement", "isConditionalExpression", "key", "isFunction", "test", "paths", "i", "isLogicalExpression", "isBinaryExpression", "type", "BOOLEAN_BINARY_OPERATORS", "BOOLEAN_UNARY_OPERATORS", "NUMBER_BINARY_OPERATORS", "NUMBER_UNARY_OPERATORS", "STRING_UNARY_OPERATORS", "anyTypeAnnotation", "arrayTypeAnnotation", "booleanTypeAnnotation", "buildMatchMemberExpression", "genericTypeAnnotation", "identifier", "nullLiteralTypeAnnotation", "numberTypeAnnotation", "stringTypeAnnotation", "tupleTypeAnnotation", "unionTypeAnnotation", "voidTypeAnnotation", "isIdentifier", "VariableDeclarator", "get", "getTypeAnnotation", "TypeCastExpression", "node", "typeAnnotation", "validParent", "TSAsExpression", "TSNonNullExpression", "NewExpression", "callee", "type", "TemplateLiteral", "UnaryExpression", "operator", "indexOf", "BinaryExpression", "right", "left", "isBaseType", "LogicalExpression", "argumentTypes", "createUnionType", "ConditionalExpression", "SequenceExpression", "pop", "ParenthesizedExpression", "AssignmentExpression", "UpdateExpression", "StringLiteral", "NumericLiteral", "BooleanLiteral", "NullLiteral", "RegExpLiteral", "ObjectExpression", "ArrayExpression", "RestElement", "Func", "isArrayFrom", "isObjectKeys", "isObjectValues", "isObjectEntries", "CallExpression", "name", "resolveCall", "TaggedTemplateExpression", "resolve", "isFunction", "async", "generator", "returnType", "anyTypeAnnotation", "isAnyTypeAnnotation", "isArrayTypeAnnotation", "isBooleanTypeAnnotation", "isEmptyTypeAnnotation", "isFlowBaseAnnotation", "isGenericTypeAnnotation", "isIdentifier", "isMixedTypeAnnotation", "isNumberTypeAnnotation", "isStringTypeAnnotation", "isTSArrayType", "isTSTypeAnnotation", "isTSTypeReference", "isTupleTypeAnnotation", "isTypeAnnotation", "isUnionTypeAnnotation", "isVoidTypeAnnotation", "stringTypeAnnotation", "voidTypeAnnotation", "getTypeAnnotation", "type", "getData", "_getTypeAnnotation", "typeAnnotation", "setData", "typeAnnotationInferringNodes", "WeakSet", "node", "key", "parentPath", "isVariableDeclarator", "declar", "declarParent", "isForInStatement", "isForOfStatement", "has", "add", "inferer", "inferers", "call", "validParent", "delete", "isBaseType", "baseName", "soft", "_isBaseType", "Error", "couldBeBaseType", "name", "type2", "types", "baseTypeStrictlyMatches", "rightArg", "left", "right", "isGenericType", "genericName", "id", "typeName", "match", "token", "diff", "match", "char", "queue", "node", "from", "require_browser", "build", "self", "require_lib", "NEWLINE", "tokenize", "token", "match", "require_lib", "NEWLINE", "line", "Position", "constructor", "line", "col", "index", "column", "SourceLocation", "start", "end", "filename", "identifierName", "createPositionWithColumnOffset", "position", "columnOffset", "ParseErrorCode", "reflect", "keys", "last", "length", "get", "reduce", "object", "key", "set", "value", "item", "i", "instantiate", "properties", "descriptors", "Object", "map", "filter", "descriptor", "enumerable", "split", "instance", "defineProperty", "configurable", "assign", "ImportMetaOutsideModule", "message", "code", "SourceTypeModuleError", "ImportOutsideModule", "NodeDescriptions", "ArrayPattern", "AssignmentExpression", "AssignmentPattern", "ArrowFunctionExpression", "ConditionalExpression", "CatchClause", "ForOfStatement", "ForInStatement", "ForStatement", "FormalParameters", "Identifier", "ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier", "ObjectPattern", "ParenthesizedExpression", "RestElement", "UpdateExpression", "true", "false", "VariableDeclarator", "YieldExpression", "toNodeDescription", "type", "prefix", "String", "AccessorIsGenerator", "kind", "ArgumentsInClass", "AsyncFunctionInSingleStatementContext", "AwaitBindingIdentifier", "AwaitBindingIdentifierInStaticBlock", "AwaitExpressionFormalParameter", "AwaitInUsingBinding", "AwaitNotInAsyncContext", "AwaitNotInAsyncFunction", "BadGetterArity", "BadSetterArity", "BadSetterRestParameter", "ConstructorClassField", "ConstructorClassPrivateField", "ConstructorIsAccessor", "ConstructorIsAsync", "ConstructorIsGenerator", "DeclarationMissingInitializer", "DecoratorArgumentsOutsideParentheses", "DecoratorBeforeExport", "DecoratorsBeforeAfterExport", "DecoratorConstructor", "DecoratorExportClass", "DecoratorSemicolon", "DecoratorStaticBlock", "DeletePrivateField", "DestructureNamedImport", "DuplicateConstructor", "DuplicateDefaultExport", "DuplicateExport", "exportName", "DuplicateProto", "DuplicateRegExpFlags", "ElementAfterRest", "EscapedCharNotAnIdentifier", "ExportBindingIsString", "localName", "ExportDefaultFromAsIdentifier", "ForInOfLoopInitializer", "ForInUsing", "ForOfAsync", "ForOfLet", "GeneratorInSingleStatementContext", "IllegalBreakContinue", "IllegalLanguageModeDirective", "IllegalReturn", "ImportBindingIsString", "importName", "ImportCallArgumentTrailingComma", "ImportCallArity", "maxArgumentCount", "ImportCallNotNewExpression", "ImportCallSpreadArgument", "ImportJSONBindingNotDefault", "ImportReflectionHasAssertion", "ImportReflectionNotBinding", "IncompatibleRegExpUVFlags", "InvalidBigIntLiteral", "InvalidCodePoint", "InvalidCoverInitializedName", "InvalidDecimal", "InvalidDigit", "radix", "InvalidEscapeSequence", "InvalidEscapeSequenceTemplate", "InvalidEscapedReservedWord", "reservedWord", "InvalidIdentifier", "InvalidLhs", "ancestor", "InvalidLhsBinding", "InvalidNumber", "InvalidOrMissingExponent", "InvalidOrUnexpectedToken", "unexpected", "InvalidParenthesizedAssignment", "InvalidPrivateFieldResolution", "InvalidPropertyBindingPattern", "InvalidRecordProperty", "InvalidRestAssignmentPattern", "LabelRedeclaration", "labelName", "LetInLexicalBinding", "LineTerminatorBeforeArrow", "MalformedRegExpFlags", "MissingClassName", "MissingEqInAssignment", "MissingSemicolon", "MissingPlugin", "missingPlugin", "name", "JSON", "stringify", "join", "MissingOneOfPlugins", "MissingUnicodeEscape", "MixingCoalesceWithLogical", "ModuleAttributeDifferentFromType", "ModuleAttributeInvalidValue", "ModuleAttributesWithDuplicateKeys", "ModuleExportNameHasLoneSurrogate", "surrogateCharCode", "toString", "ModuleExportUndefined", "MultipleDefaultsInSwitch", "NewlineAfterThrow", "NoCatchOrFinally", "NumberIdentifier", "NumericSeparatorInEscapeSequence", "ObsoleteAwaitStar", "OptionalChainingNoNew", "OptionalChainingNoTemplate", "OverrideOnConstructor", "ParamDupe", "PatternHasAccessor", "PatternHasMethod", "PrivateInExpectedIn", "PrivateNameRedeclaration", "RecordExpressionBarIncorrectEndSyntaxType", "RecordExpressionBarIncorrectStartSyntaxType", "RecordExpressionHashIncorrectStartSyntaxType", "RecordNoProto", "RestTrailingComma", "SloppyFunction", "SloppyFunctionAnnexB", "StaticPrototype", "SuperNotAllowed", "SuperPrivateField", "TrailingDecorator", "TupleExpressionBarIncorrectEndSyntaxType", "TupleExpressionBarIncorrectStartSyntaxType", "TupleExpressionHashIncorrectStartSyntaxType", "UnexpectedArgumentPlaceholder", "UnexpectedAwaitAfterPipelineBody", "UnexpectedDigitAfterHash", "UnexpectedImportExport", "UnexpectedKeyword", "keyword", "UnexpectedLeadingDecorator", "UnexpectedLexicalDeclaration", "UnexpectedNewTarget", "UnexpectedNumericSeparator", "UnexpectedPrivateField", "UnexpectedReservedWord", "UnexpectedSuper", "UnexpectedToken", "expected", "UnexpectedTokenUnaryExponentiation", "UnexpectedUsingDeclaration", "UnsupportedBind", "UnsupportedDecoratorExport", "UnsupportedDefaultExport", "UnsupportedImport", "UnsupportedMetaProperty", "target", "onlyValidPropertyName", "UnsupportedParameterDecorator", "UnsupportedPropertyDecorator", "UnsupportedSuper", "UnterminatedComment", "UnterminatedRegExp", "UnterminatedString", "UnterminatedTemplate", "UsingDeclarationHasBindingPattern", "VarRedeclaration", "YieldBindingIdentifier", "YieldInParameter", "ZeroDigitNumericSeparator", "StrictDelete", "StrictEvalArguments", "referenceName", "StrictEvalArgumentsBinding", "bindingName", "StrictFunction", "StrictNumericEscape", "StrictOctalLiteral", "StrictWith", "UnparenthesizedPipeBodyDescriptions", "Set", "PipeBodyIsTighter", "PipeTopicRequiresHackPipes", "PipeTopicUnbound", "PipeTopicUnconfiguredToken", "token", "PipeTopicUnused", "PipeUnparenthesizedBody", "PipelineBodyNoArrow", "PipelineBodySequenceExpression", "PipelineHeadSequenceExpression", "PipelineTopicUnused", "PrimaryTopicNotAllowed", "PrimaryTopicRequiresSmartPipeline", "toParseErrorConstructor", "toMessage", "_excluded", "loc", "details", "SyntaxError", "clone", "overrides", "pos", "ParseErrorEnum", "argument", "syntaxPlugin", "Array", "isArray", "parseErrorTemplates", "ParseErrorConstructors", "reasonCode", "template", "rest", "_excluded2", "Errors", "ModuleErrors", "StandardErrors", "StrictModeErrors", "PipelineOperatorErrors", "toUnenumerable", "toESTreeLocation", "node", "superClass", "ESTreeParserMixin", "parse", "file", "options", "tokens", "parseRegExpLiteral", "pattern", "flags", "regex", "RegExp", "e", "estreeParseLiteral", "parseBigIntLiteral", "bigInt", "BigInt", "bigint", "parseDecimalLiteral", "decimal", "parseLiteral", "parseStringLiteral", "parseNumericLiteral", "parseNullLiteral", "parseBooleanLiteral", "directiveToStmt", "directive", "expression", "raw", "extra", "expressionValue", "stmt", "rawValue", "initFunction", "isAsync", "checkDeclaration", "isObjectProperty", "getObjectOrClassMethodParams", "method", "params", "isValidDirective", "parenthesized", "parseBlockBody", "allowDirectives", "topLevel", "afterBlockParse", "directiveStatements", "directives", "d", "body", "concat", "pushClassMethod", "classBody", "isGenerator", "isConstructor", "allowsDirectSuper", "parseMethod", "typeParameters", "push", "parsePrivateName", "getPluginOption", "convertPrivateNameToPrivateIdentifier", "getPrivateNameSV", "id", "isPrivateName", "parseFunctionBody", "allowExpression", "isMethod", "allowDirectSuper", "inClassScope", "funcNode", "startNode", "computed", "finishNode", "parseClassProperty", "args", "propertyNode", "parseClassPrivateProperty", "parseObjectMethod", "prop", "isPattern", "isAccessor", "shorthand", "parseObjectProperty", "startLoc", "refExpressionErrors", "isValidLVal", "isUnparenthesizedInAssign", "binding", "isAssignable", "isBinding", "toAssignable", "isLHS", "classScope", "usePrivateName", "toAssignableObjectExpressionProp", "isLast", "raise", "at", "finishCallExpression", "unfinished", "optional", "callee", "source", "arguments", "hasPlugin", "attributes", "toReferencedArguments", "parseExport", "decorators", "exportStartLoc", "state", "lastTokStartLoc", "exported", "specifiers", "declaration", "resetStartLocation", "parseSubscript", "base", "noCalls", "optionalChainMember", "substring", "stop", "chain", "startNodeAtNode", "hasPropertyAsPrivateName", "isObjectMethod", "finishNodeAt", "endLoc", "resetEndLocation", "lastTokEndLoc", "TokContext", "preserveSpace", "types", "brace", "j_oTag", "j_cTag", "j_expr", "beforeExpr", "startsExpr", "isLoop", "isAssign", "postfix", "ExportedTokenType", "label", "conf", "rightAssociative", "binop", "updateContext", "keywords", "Map", "createKeyword", "createToken", "createBinop", "tokenTypeCounter", "tokenTypes", "tokenLabels", "tokenBinops", "tokenBeforeExprs", "tokenStartsExprs", "tokenPrefixes", "createKeywordLike", "tt", "bracketL", "bracketHashL", "bracketBarL", "bracketR", "bracketBarR", "braceL", "braceBarL", "braceHashL", "braceR", "braceBarR", "parenL", "parenR", "comma", "semi", "colon", "doubleColon", "dot", "question", "questionDot", "arrow", "ellipsis", "backQuote", "dollarBraceL", "templateTail", "templateNonTail", "hash", "interpreterDirective", "eq", "slashAssign", "xorAssign", "moduloAssign", "incDec", "bang", "tilde", "doubleCaret", "doubleAt", "pipeline", "nullishCoalescing", "logicalOR", "logicalAND", "bitwiseOR", "bitwiseXOR", "bitwiseAND", "equality", "lt", "gt", "relational", "bitShift", "bitShiftL", "bitShiftR", "plusMin", "modulo", "star", "slash", "exponent", "_in", "_instanceof", "_break", "_case", "_catch", "_continue", "_debugger", "_default", "_else", "_finally", "_function", "_if", "_return", "_switch", "_throw", "_try", "_var", "_const", "_with", "_new", "_this", "_super", "_class", "_extends", "_export", "_import", "_null", "_true", "_false", "_typeof", "_void", "_delete", "_do", "_for", "_while", "_as", "_assert", "_async", "_await", "_from", "_get", "_let", "_meta", "_of", "_sent", "_set", "_static", "_using", "_yield", "_asserts", "_checks", "_exports", "_global", "_implements", "_intrinsic", "_infer", "_is", "_mixins", "_proto", "_require", "_satisfies", "_keyof", "_readonly", "_unique", "_abstract", "_declare", "_enum", "_module", "_namespace", "_interface", "_type", "_opaque", "string", "num", "regexp", "privateName", "eof", "jsxName", "jsxText", "jsxTagStart", "jsxTagEnd", "placeholder", "tokenIsIdentifier", "tokenKeywordOrIdentifierIsKeyword", "tokenIsKeywordOrIdentifier", "tokenIsLiteralPropertyName", "tokenComesBeforeExpression", "tokenCanStartExpression", "tokenIsAssignment", "tokenIsFlowInterfaceOrTypeOrOpaque", "tokenIsLoop", "tokenIsKeyword", "tokenIsOperator", "tokenIsPostfix", "tokenIsPrefix", "tokenIsTSTypeOperator", "tokenIsTSDeclarationStart", "tokenLabelName", "tokenOperatorPrecedence", "tokenIsRightAssociative", "tokenIsTemplate", "getExportedToken", "context", "pop", "tc", "nonASCIIidentifierStartChars", "nonASCIIidentifierChars", "nonASCIIidentifierStart", "nonASCIIidentifier", "astralIdentifierStartCodes", "astralIdentifierCodes", "isInAstralSet", "isIdentifierStart", "test", "fromCharCode", "isIdentifierChar", "reservedWords", "strict", "strictBind", "reservedWordsStrictSet", "reservedWordsStrictBindSet", "isReservedWord", "word", "inModule", "isStrictReservedWord", "has", "isStrictBindOnlyReservedWord", "isStrictBindReservedWord", "isKeyword", "isIteratorStart", "current", "next", "next2", "reservedWordLikeSet", "canBeReservedWord", "SCOPE_OTHER", "SCOPE_PROGRAM", "SCOPE_FUNCTION", "SCOPE_ARROW", "SCOPE_SIMPLE_CATCH", "SCOPE_SUPER", "SCOPE_DIRECT_SUPER", "SCOPE_CLASS", "SCOPE_STATIC_BLOCK", "SCOPE_TS_MODULE", "SCOPE_VAR", "BIND_KIND_VALUE", "BIND_KIND_TYPE", "BIND_SCOPE_VAR", "BIND_SCOPE_LEXICAL", "BIND_SCOPE_FUNCTION", "BIND_FLAGS_NONE", "BIND_FLAGS_CLASS", "BIND_FLAGS_TS_ENUM", "BIND_FLAGS_TS_CONST_ENUM", "BIND_FLAGS_TS_EXPORT_ONLY", "BIND_FLAGS_FLOW_DECLARE_FN", "BIND_FLAGS_TS_IMPORT", "BIND_FLAGS_NO_LET_IN_LEXICAL", "BIND_CLASS", "BIND_LEXICAL", "BIND_CATCH_PARAM", "BIND_VAR", "BIND_FUNCTION", "BIND_TS_INTERFACE", "BIND_TS_TYPE", "BIND_TS_ENUM", "BIND_TS_AMBIENT", "BIND_NONE", "BIND_OUTSIDE", "BIND_TS_CONST_ENUM", "BIND_TS_NAMESPACE", "BIND_TS_TYPE_IMPORT", "BIND_FLOW_DECLARE_FN", "CLASS_ELEMENT_FLAG_STATIC", "CLASS_ELEMENT_KIND_GETTER", "CLASS_ELEMENT_KIND_SETTER", "CLASS_ELEMENT_KIND_ACCESSOR", "CLASS_ELEMENT_STATIC_GETTER", "CLASS_ELEMENT_STATIC_SETTER", "CLASS_ELEMENT_INSTANCE_GETTER", "CLASS_ELEMENT_INSTANCE_SETTER", "CLASS_ELEMENT_OTHER", "Scope", "var", "lexical", "functions", "ScopeHandler", "parser", "scopeStack", "undefinedExports", "inTopLevel", "currentScope", "inFunction", "currentVarScopeFlags", "allowSuper", "currentThisScopeFlags", "inClass", "inClassAndNotInNonArrowFunction", "inStaticBlock", "inNonArrowFunction", "treatFunctionsAsVar", "treatFunctionsAsVarInScope", "createScope", "enter", "exit", "scope", "declareName", "bindingType", "checkRedeclarationInScope", "add", "maybeExportDefined", "delete", "isRedeclaredInScope", "values", "checkLocalExport", "topLevelScope", "FlowScope", "declareFunctions", "FlowScopeHandler", "BaseParser", "sawUnambiguousESM", "ambiguousScriptDifferentAst", "pluginConfig", "plugins", "pluginName", "pluginOptions", "actualOptions", "plugin", "setTrailingComments", "comments", "trailingComments", "undefined", "unshift", "setLeadingComments", "leadingComments", "setInnerComments", "innerComments", "adjustInnerComments", "elements", "commentWS", "lastElement", "CommentsParser", "addComment", "comment", "processComment", "commentStack", "commentStackLength", "lastCommentWS", "leadingNode", "nodeStart", "commentEnd", "containingNode", "finalizeComment", "splice", "trailingNode", "commentStart", "input", "charCodeAt", "finalizeRemainingComments", "resetPreviousNodeTrailingComments", "takeSurroundingComments", "lineBreak", "lineBreakG", "isNewLine", "skipWhiteSpace", "skipWhiteSpaceInLine", "skipWhiteSpaceToLineBreak", "isWhitespace", "State", "curLine", "lineStart", "errors", "potentialArrowAt", "noArrowAt", "noArrowParamsConversionAt", "maybeInArrowParameters", "inType", "noAnonFunctionType", "hasFlowComment", "isAmbientContext", "inAbstractClass", "inDisallowConditionalTypesContext", "topicContext", "maxNumOfResolvableTopics", "maxTopicIndex", "soloAwait", "inFSharpPipelineDirectBody", "labels", "lastTokStart", "ct", "canStartJSXElement", "containsEsc", "firstInvalidTemplateEscapePos", "strictErrors", "tokensLength", "init", "strictMode", "sourceType", "startLine", "startColumn", "curPosition", "skipArrays", "val", "slice", "isDigit", "forbiddenNumericSeparatorSiblings", "decBinOct", "hex", "isAllowedNumericSeparatorSibling", "bin", "ch", "oct", "dec", "readStringContents", "initialPos", "initialLineStart", "initialCurLine", "out", "firstInvalidLoc", "chunkStart", "unterminated", "isStringEnd", "res", "readEscapedChar", "str", "containsInvalid", "inTemplate", "throwOnInvalid", "readHexChar", "readCodePoint", "fromCodePoint", "strictNumericEscape", "startPos", "match", "octalStr", "octal", "parseInt", "len", "forceLen", "n", "readInt", "invalidEscapeSequence", "allowNumSeparator", "bailOnError", "forbiddenSiblings", "isAllowedSibling", "invalid", "total", "Infinity", "prev", "numericSeparatorInEscapeSequence", "Number", "isNaN", "unexpectedNumericSeparator", "invalidDigit", "indexOf", "invalidCodePoint", "buildPosition", "VALID_REGEX_FLAGS", "Token", "Tokenizer", "isLookahead", "errorHandlers_readInt", "errorRecovery", "errorBuilder", "errorHandlers_readCodePoint", "errorHandlers_readStringContents_string", "recordStrictModeErrors", "errorHandlers_readStringContents_template", "pushToken", "checkKeywordEscapes", "nextToken", "eat", "createLookaheadState", "curContext", "lookahead", "old", "curr", "nextTokenStart", "nextTokenStartSince", "lastIndex", "lookaheadCharCode", "codePointAtPos", "cp", "trail", "setStrict", "forEach", "toParseError", "clear", "skipSpace", "finishToken", "getTokenFromCode", "skipBlockComment", "skipLineComment", "startSkip", "spaceStart", "loop", "attachComment", "annexB", "commentWhitespace", "prevType", "replaceToken", "readToken_numberSign", "readToken_interpreter", "nextPos", "expectPlugin", "readWord1", "finishOp", "readToken_dot", "readNumber", "readToken_slash", "readToken_mult_modulo", "width", "readToken_pipe_amp", "readToken_caret", "proposal", "topicToken", "lookaheadCh", "codePointAt", "readToken_atSign", "readToken_plus_min", "readToken_lt", "readToken_gt", "size", "readToken_eq_excl", "readToken_question", "readTemplateToken", "readRadixNumber", "readString", "readWord", "readRegexp", "escaped", "content", "mods", "char", "includes", "isBigInt", "replace", "startsWithDot", "isFloat", "isDecimal", "hasExponent", "isOctal", "hasLeadingZero", "integer", "underscorePos", "parseFloat", "quote", "readTemplateContinuation", "opening", "firstCode", "escStart", "identifierCheck", "esc", "keywordTypes", "raiseProperties", "error", "raiseOverwrite", "expectOnePlugin", "pluginNames", "some", "ClassScope", "privateNames", "loneAccessors", "undefinedPrivateNames", "ClassScopeHandler", "stack", "oldClassScope", "from", "declarePrivateName", "elementType", "redefined", "accessor", "oldStatic", "newStatic", "oldKind", "newKind", "kExpression", "kMaybeArrowParameterDeclaration", "kMaybeAsyncArrowParameterDeclaration", "kParameterDeclaration", "ExpressionScope", "canBeArrowParameterDeclaration", "isCertainlyParameterDeclaration", "ArrowHeadParsingScope", "declarationErrors", "recordDeclarationError", "ParsingErrorClass", "clearDeclarationError", "iterateErrors", "iterator", "ExpressionScopeHandler", "recordParameterInitializerError", "origin", "recordArrowParameterBindingError", "recordAsyncArrowParametersError", "validateAsPattern", "newParameterDeclarationScope", "newArrowHeadScope", "newAsyncArrowScope", "newExpressionScope", "PARAM", "PARAM_YIELD", "PARAM_AWAIT", "PARAM_RETURN", "PARAM_IN", "ProductionParameterHandler", "stacks", "currentFlags", "hasAwait", "hasYield", "hasReturn", "hasIn", "functionFlags", "UtilParser", "addExtra", "isContextual", "isUnparsedContextual", "nameStart", "nameEnd", "nextCh", "isLookaheadContextual", "eatContextual", "expectContextual", "canInsertSemicolon", "hasPrecedingLineBreak", "hasFollowingLineBreak", "isLineTerminator", "semicolon", "allowAsi", "expect", "tryParse", "fn", "oldState", "abortSignal", "failState", "thrown", "aborted", "checkExpressionErrors", "andThrow", "shorthandAssignLoc", "doubleProtoLoc", "privateKeyLoc", "optionalParametersLoc", "hasErrors", "isLiteralPropertyName", "property", "initializeScopes", "oldLabels", "oldExportedIdentifiers", "exportedIdentifiers", "oldInModule", "oldScope", "getScopeHandler", "oldProdParam", "prodParam", "oldExpressionScope", "expressionScope", "enterInitialScopes", "paramFlags", "checkDestructuringPrivate", "ExpressionErrors", "Node", "ranges", "range", "NodePrototype", "prototype", "__clone", "newNode", "clonePlaceholder", "cloneIdentifier", "cloned", "create", "expectedNode", "cloneStringLiteral", "NodeUtils", "startNodeAt", "resetStartLocationFromNode", "locationNode", "reservedTypes", "FlowErrors", "AmbiguousConditionalArrow", "AmbiguousDeclareModuleKind", "AssignReservedType", "reservedType", "DeclareClassElement", "DeclareClassFieldInitializer", "DuplicateDeclareModuleExports", "EnumBooleanMemberNotInitialized", "memberName", "enumName", "EnumDuplicateMemberName", "EnumInconsistentMemberValues", "EnumInvalidExplicitType", "invalidEnumType", "EnumInvalidExplicitTypeUnknownSupplied", "EnumInvalidMemberInitializerPrimaryType", "explicitType", "EnumInvalidMemberInitializerSymbolType", "EnumInvalidMemberInitializerUnknownType", "EnumInvalidMemberName", "suggestion", "EnumNumberMemberNotInitialized", "EnumStringMemberInconsistentlyInitailized", "GetterMayNotHaveThisParam", "ImportReflectionHasImportType", "ImportTypeShorthandOnlyInPureImport", "InexactInsideExact", "InexactInsideNonObject", "InexactVariance", "InvalidNonTypeImportInDeclareModule", "MissingTypeParamDefault", "NestedDeclareModule", "NestedFlowComment", "PatternIsOptional", "SetterMayNotHaveThisParam", "SpreadVariance", "ThisParamAnnotationRequired", "ThisParamBannedInConstructor", "ThisParamMayNotBeOptional", "ThisParamMustBeFirst", "ThisParamNoDefault", "TypeBeforeInitializer", "TypeCastInPattern", "UnexpectedExplicitInexactInObject", "UnexpectedReservedType", "UnexpectedReservedUnderscore", "UnexpectedSpaceBetweenModuloChecks", "UnexpectedSpreadType", "UnexpectedSubtractionOperand", "UnexpectedTokenAfterTypeParameter", "UnexpectedTypeParameterBeforeAsyncArrowFunction", "UnsupportedDeclareExportKind", "unsupportedExportKind", "UnsupportedStatementInDeclareModule", "UnterminatedFlowComment", "isEsModuleType", "bodyElement", "hasTypeImportKind", "importKind", "isMaybeDefaultImport", "exportSuggestions", "const", "let", "interface", "partition", "list", "list1", "list2", "FLOW_PRAGMA_REGEX", "FlowParserMixin", "flowPragma", "shouldParseTypes", "shouldParseEnums", "matches", "exec", "Error", "flowParseTypeInitialiser", "tok", "oldInType", "flowParseType", "flowParsePredicate", "moduloLoc", "parseExpression", "flowParseTypeAndPredicateInitialiser", "predicate", "flowParseDeclareClass", "flowParseInterfaceish", "flowParseDeclareFunction", "parseIdentifier", "typeNode", "typeContainer", "flowParseTypeParameterDeclaration", "tmp", "flowParseFunctionTypeParams", "this", "returnType", "typeAnnotation", "flowParseDeclare", "insideModule", "flowParseDeclareVariable", "flowParseDeclareModuleExports", "flowParseDeclareModule", "flowParseDeclareTypeAlias", "flowParseDeclareOpaqueType", "flowParseDeclareInterface", "flowParseDeclareExportDeclaration", "flowParseTypeAnnotatableIdentifier", "parseExprAtom", "bodyNode", "parseImport", "hasModuleExport", "default", "isLet", "exportKind", "flowParseTypeAnnotation", "finished", "flowParseTypeAlias", "flowParseOpaqueType", "isClass", "flowParseRestrictedIdentifier", "extends", "implements", "mixins", "flowParseInterfaceExtends", "flowParseObjectType", "allowStatic", "allowExact", "allowSpread", "allowProto", "allowInexact", "flowParseQualifiedTypeIdentifier", "flowParseTypeParameterInstantiation", "flowParseInterface", "checkNotUnderscore", "checkReservedType", "liberal", "right", "declare", "supertype", "impltype", "flowParseTypeParameter", "requireDefault", "nodeStartLoc", "variance", "flowParseVariance", "ident", "bound", "defaultRequired", "typeParameter", "oldNoAnonFunctionType", "flowParseTypeParameterInstantiationCallOrNew", "flowParseTypeOrImplicitInstantiation", "flowParseInterfaceType", "flowParseObjectPropertyKey", "flowParseObjectTypeIndexer", "isStatic", "static", "flowParseObjectTypeInternalSlot", "flowParseObjectTypeMethodish", "flowParseFunctionTypeParam", "flowParseObjectTypeCallProperty", "valueNode", "callProperties", "indexers", "internalSlots", "endDelim", "exact", "inexact", "protoStartLoc", "inexactStartLoc", "propOrInexact", "flowParseObjectTypeProperty", "flowObjectTypeSemicolon", "isInexactToken", "proto", "flowCheckGetterSetterParams", "paramCount", "node2", "qualification", "flowParseGenericType", "flowParseTypeofType", "flowParsePrimaryType", "flowParseTupleType", "first", "lh", "isThis", "reinterpretTypeAsFunctionTypeParam", "flowIdentToTypeAnnotation", "isGroupedType", "parseLiteralAtNode", "createIdentifier", "flowParsePostfixType", "seenOptionalIndexedAccess", "objectType", "indexType", "flowParsePrefixType", "flowParseAnonFunctionWithoutParens", "param", "flowParseIntersectionType", "flowParseUnionType", "allowPrimitiveOverride", "typeCastToParameter", "allowExpressionBody", "forwardNoArrowParamsConversionAt", "parseFunctionBodyAndFinish", "parseStatementLike", "flowParseEnumDeclaration", "parseExpressionStatement", "expr", "shouldParseExportDeclaration", "isExportDefaultSpecifier", "parseExportDefaultExpression", "parseConditional", "setOptionalParametersError", "originalNoArrowAt", "consequent", "failed", "tryParseConditionalConsequent", "valid", "getArrowLikeExpressions", "alternate", "parseMaybeAssign", "parseMaybeAssignAllowIn", "disallowInvalid", "arrows", "finishArrowValidation", "every", "toAssignableList", "trailingCommaLoc", "checkParams", "result", "parseParenItem", "typeCastNode", "assertModuleNodeAllowed", "decl", "parseExportDeclaration", "declarationNode", "parseExportSpecifiers", "parseExportFrom", "eatExportStar", "maybeParseExportNamespaceSpecifier", "hasNamespace", "parseClassId", "isStatement", "optionalId", "parseClassMember", "member", "parseClassMemberFromModifier", "isIterator", "readIterator", "fullWord", "left", "exprList", "toReferencedList", "isParenthesizedExpr", "parseArrayLike", "close", "canBePattern", "isTuple", "isParenthesized", "isClassMethod", "isClassProperty", "isNonstaticConstructor", "isThisParam", "pushClassPrivateMethod", "parseClassSuper", "superTypeParameters", "implemented", "checkGetterSetterParams", "parsePropertyNamePrefixOperator", "parseObjPropValue", "parseAssignableListItemTypes", "parseMaybeDefault", "shouldParseDefaultImport", "checkImportReflection", "module", "parseImportSpecifierLocal", "specifier", "local", "finishImportSpecifier", "maybeParseDefaultImportSpecifier", "parseImportSpecifier", "importedIsString", "isInTypeOnlyImport", "isMaybeTypeOnly", "firstIdent", "imported", "specifierTypeKind", "as_ident", "specifierIsTypeImport", "checkReservedWord", "parseBindingAtom", "parseFunctionParams", "parseVarId", "parseAsyncArrowFromCallExpression", "call", "shouldParseAsyncArrow", "afterLeftParse", "jsx", "currentContext", "abort", "arrowExpression", "maybeUnwrapTypeCastExpression", "async", "parseArrow", "shouldParseArrow", "setArrowFunctionParameters", "allowDuplicates", "isArrowFunction", "strictModeChanged", "parseParenAndDistinguishExpression", "canBeArrow", "parseSubscripts", "parseCallExpressionArguments", "parseAsyncArrowWithTypeParameters", "subscriptState", "isLookaheadToken_lt", "typeArguments", "parseNewCallee", "targs", "parseArrowExpression", "parseTopLevel", "program", "fileNode", "skipFlowComment", "hasFlowCommentCompletion", "commentSkip", "shiftToFirstNonWhiteSpace", "ch2", "ch3", "flowEnumErrorBooleanMemberNotInitialized", "flowEnumErrorInvalidMemberInitializer", "enumContext", "flowEnumErrorNumberMemberNotInitialized", "flowEnumErrorStringMemberInconsistentlyInitailized", "flowEnumMemberInit", "endOfInit", "literal", "flowEnumMemberRaw", "flowEnumCheckExplicitTypeMismatch", "expectedType", "flowEnumMembers", "seenNames", "members", "booleanMembers", "numberMembers", "stringMembers", "defaultedMembers", "hasUnknownMembers", "memberNode", "toUpperCase", "flowEnumStringMembers", "initializedMembers", "flowEnumParseExplicitType", "flowEnumBody", "nameLoc", "empty", "boolsLen", "numsLen", "strsLen", "defaultedLen", "afterNext", "entities", "__proto__", "quot", "amp", "apos", "nbsp", "iexcl", "cent", "pound", "curren", "yen", "brvbar", "sect", "uml", "copy", "ordf", "laquo", "not", "shy", "reg", "macr", "deg", "plusmn", "sup2", "sup3", "acute", "micro", "para", "middot", "cedil", "sup1", "ordm", "raquo", "frac14", "frac12", "frac34", "iquest", "Agrave", "Aacute", "Acirc", "Atilde", "Auml", "Aring", "AElig", "Ccedil", "Egrave", "Eacute", "Ecirc", "Euml", "Igrave", "Iacute", "Icirc", "Iuml", "ETH", "Ntilde", "Ograve", "Oacute", "Ocirc", "Otilde", "Ouml", "times", "Oslash", "Ugrave", "Uacute", "Ucirc", "Uuml", "Yacute", "THORN", "szlig", "agrave", "aacute", "acirc", "atilde", "auml", "aring", "aelig", "ccedil", "egrave", "eacute", "ecirc", "euml", "igrave", "iacute", "icirc", "iuml", "eth", "ntilde", "ograve", "oacute", "ocirc", "otilde", "ouml", "divide", "oslash", "ugrave", "uacute", "ucirc", "uuml", "yacute", "thorn", "yuml", "OElig", "oelig", "Scaron", "scaron", "Yuml", "fnof", "circ", "Alpha", "Beta", "Gamma", "Delta", "Epsilon", "Zeta", "Eta", "Theta", "Iota", "Kappa", "Lambda", "Mu", "Nu", "Xi", "Omicron", "Pi", "Rho", "Sigma", "Tau", "Upsilon", "Phi", "Chi", "Psi", "Omega", "alpha", "beta", "gamma", "delta", "epsilon", "zeta", "eta", "theta", "iota", "kappa", "lambda", "mu", "nu", "xi", "omicron", "pi", "rho", "sigmaf", "sigma", "tau", "upsilon", "phi", "chi", "psi", "omega", "thetasym", "upsih", "piv", "ensp", "emsp", "thinsp", "zwnj", "zwj", "lrm", "rlm", "ndash", "mdash", "lsquo", "rsquo", "sbquo", "ldquo", "rdquo", "bdquo", "dagger", "Dagger", "bull", "hellip", "permil", "prime", "Prime", "lsaquo", "rsaquo", "oline", "frasl", "euro", "image", "weierp", "real", "trade", "alefsym", "larr", "uarr", "rarr", "darr", "harr", "crarr", "lArr", "uArr", "rArr", "dArr", "hArr", "forall", "part", "exist", "nabla", "isin", "notin", "ni", "prod", "sum", "minus", "lowast", "radic", "infin", "ang", "and", "or", "cap", "cup", "int", "there4", "sim", "cong", "asymp", "ne", "equiv", "le", "ge", "sub", "sup", "nsub", "sube", "supe", "oplus", "otimes", "perp", "sdot", "lceil", "rceil", "lfloor", "rfloor", "lang", "rang", "loz", "spades", "clubs", "hearts", "diams", "JsxErrors", "AttributeIsEmpty", "MissingClosingTagElement", "openingTagName", "MissingClosingTagFragment", "UnexpectedSequenceExpression", "HTMLEntity", "UnsupportedJsxValue", "UnterminatedJsxContent", "UnwrappedAdjacentJSXElements", "isFragment", "getQualifiedJSXName", "namespace", "JSXParserMixin", "jsxReadToken", "jsxReadEntity", "jsxReadNewLine", "normalizeCRLF", "jsxReadString", "codePoint", "count", "desc", "entity", "XHTMLEntities", "jsxReadWord", "jsxParseIdentifier", "jsxParseNamespacedName", "jsxParseElementName", "jsxParseAttributeValue", "setContext", "jsxParseExpressionContainer", "jsxParseEmptyExpression", "jsxParseSpreadChild", "previousContext", "jsxParseAttribute", "jsxParseOpeningElementAt", "jsxParseOpeningElementAfterName", "selfClosing", "jsxParseClosingElementAt", "jsxParseElementAt", "children", "openingElement", "closingElement", "contents", "openingFragment", "closingFragment", "jsxParseElement", "newContext", "TypeScriptScope", "enums", "constEnums", "classes", "exportOnlyBindings", "TypeScriptScopeHandler", "importsStack", "hasImport", "allowShadow", "isConst", "wasConst", "getOwn", "hasOwnProperty", "unwrapParenthesizedExpression", "ParseBindingListFlags", "LValParser", "operator", "arg", "checkToRestConversion", "elt", "element", "toReferencedListDeep", "parseSpread", "parseRestBinding", "parseBindingList", "ALLOW_EMPTY", "parseObjectLike", "closeCharCode", "allowEmpty", "elts", "checkCommaAfterRest", "parseDecorator", "parseAssignableListItem", "parseBindingRestProperty", "parseBindingProperty", "parsePropertyName", "ObjectProperty", "checkLVal", "in", "checkClashes", "hasParenthesizedAncestor", "checkIdentifier", "validity", "ParseErrorClass", "isParenthesizedExpression", "nextAncestor", "child", "declareNameFromIdentifier", "identifier", "allowPattern", "nonNull", "x", "assert", "TSErrors", "AbstractMethodHasImplementation", "methodName", "AbstractPropertyHasInitializer", "propertyName", "AccesorCannotDeclareThisParameter", "AccesorCannotHaveTypeParameters", "AccessorCannotBeOptional", "ClassMethodHasDeclare", "ClassMethodHasReadonly", "ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference", "ConstructorHasTypeParameters", "DeclareAccessor", "DeclareClassFieldHasInitializer", "DeclareFunctionHasImplementation", "DuplicateAccessibilityModifier", "modifier", "DuplicateModifier", "EmptyHeritageClauseType", "EmptyTypeArguments", "EmptyTypeParameters", "ExpectedAmbientAfterExportDeclare", "ImportAliasHasImportType", "IncompatibleModifiers", "modifiers", "IndexSignatureHasAbstract", "IndexSignatureHasAccessibility", "IndexSignatureHasDeclare", "IndexSignatureHasOverride", "IndexSignatureHasStatic", "InitializerNotAllowedInAmbientContext", "InvalidModifierOnTypeMember", "InvalidModifierOnTypeParameter", "InvalidModifierOnTypeParameterPositions", "InvalidModifiersOrder", "orderedModifiers", "InvalidPropertyAccessAfterInstantiationExpression", "InvalidTupleMemberLabel", "MissingInterfaceName", "MixedLabeledAndUnlabeledElements", "NonAbstractClassHasAbstractMethod", "NonClassMethodPropertyHasAbstractModifer", "OptionalTypeBeforeRequired", "OverrideNotInSubClass", "PrivateElementHasAbstract", "PrivateElementHasAccessibility", "ReadonlyForMethodSignature", "ReservedArrowTypeParam", "ReservedTypeAssertion", "SetAccesorCannotHaveOptionalParameter", "SetAccesorCannotHaveRestParameter", "SetAccesorCannotHaveReturnType", "SingleTypeParameterWithoutTrailingComma", "typeParameterName", "StaticBlockCannotHaveModifier", "TypeAnnotationAfterAssign", "TypeImportCannotSpecifyDefaultAndNamed", "TypeModifierIsUsedInTypeExports", "TypeModifierIsUsedInTypeImports", "UnexpectedParameterModifier", "UnexpectedReadonly", "UnexpectedTypeAnnotation", "UnexpectedTypeCastInParameter", "UnsupportedImportTypeArgument", "UnsupportedParameterPropertyKind", "UnsupportedSignatureParameterKind", "keywordTypeFromName", "tsIsAccessModifier", "tsIsVarianceAnnotations", "TypeScriptParserMixin", "tsParseInOutModifiers", "tsParseModifiers", "bind", "allowedModifiers", "disallowedModifiers", "errorTemplate", "tsParseConstModifier", "tsParseInOutConstModifiers", "tsIsIdentifier", "tsTokenCanFollowModifier", "tsNextTokenCanFollowModifier", "tsParseModifier", "stopOnStartOfClassStaticBlock", "tsIsStartOfStaticBlocks", "tsTryParse", "modified", "enforceOrder", "before", "after", "incompatible", "mod1", "mod2", "accessibility", "tsIsListTerminator", "tsParseList", "parseElement", "tsParseDelimitedList", "refTrailingCommaPos", "tsParseDelimitedListWorker", "expectSuccess", "trailingCommaPos", "tsParseBracketedList", "bracket", "skipFirstToken", "tsParseImportType", "qualifier", "tsParseEntityName", "tsParseTypeArguments", "allowReservedWords", "tsParseTypeReference", "typeName", "tsParseThisTypePredicate", "lhs", "parameterName", "tsParseTypeAnnotation", "asserts", "tsParseThisTypeNode", "tsParseTypeQuery", "exprName", "tsParseTypeParameter", "parseModifiers", "tsParseTypeParameterName", "constraint", "tsEatThenParseType", "tsTryParseTypeParameters", "tsParseTypeParameters", "tsFillSignature", "returnToken", "signature", "returnTokenRequired", "paramsKey", "returnTypeKey", "tsParseBindingListForSignature", "tsParseTypeOrTypePredicateAnnotation", "IS_FUNCTION_PARAMS", "tsParseTypeMemberSemicolon", "tsParseSignatureMember", "tsIsUnambiguouslyIndexSignature", "tsTryParseIndexSignature", "tsLookAhead", "parameters", "tsTryParseTypeAnnotation", "tsParsePropertyOrMethodSignature", "readonly", "nodeAny", "firstParameter", "tsParseTypeMember", "idx", "tsParseTypeLiteral", "tsParseObjectTypeMembers", "tsIsStartOfMappedType", "tsParseMappedTypeParameter", "tsExpectThenParseType", "tsParseMappedType", "nameType", "tsParseType", "tsTryParseType", "tsParseTupleType", "elementTypes", "tsParseTupleElementType", "seenOptionalElement", "labeledElements", "elementNode", "checkType", "isLabeled", "labeled", "labeledNode", "optionalTypeNode", "restNode", "tsParseParenthesizedType", "tsParseFunctionOrConstructorType", "abstract", "tsInAllowConditionalTypesContext", "tsParseLiteralTypeNode", "tsParseTemplateLiteralType", "parseTemplate", "parseTemplateSubstitution", "tsParseThisTypeOrThisTypePredicate", "thisKeyword", "tsParseNonArrayType", "parseMaybeUnary", "nodeType", "tsParseArrayTypeOrHigher", "tsParseTypeOperator", "tsParseTypeOperatorOrHigher", "tsCheckTypeAnnotationForReadOnly", "tsParseInferType", "tsParseConstraintForInferType", "tsInDisallowConditionalTypesContext", "isTypeOperator", "tsParseUnionOrIntersectionType", "parseConstituentType", "hasLeadingOperator", "tsParseIntersectionTypeOrHigher", "tsParseUnionTypeOrHigher", "tsIsStartOfFunctionType", "tsIsUnambiguouslyStartOfFunctionType", "tsSkipParameterStart", "previousErrorCount", "tsInType", "t", "tsParseTypePredicateAsserts", "thisTypePredicate", "typePredicateVariable", "tsParseTypePredicatePrefix", "tsTryParseTypeOrTypePredicateAnnotation", "eatColon", "tsParseNonConditionalType", "extendsType", "trueType", "falseType", "isAbstractConstructorSignature", "tsParseTypeAssertion", "tsParseHeritageClause", "originalStartLoc", "delimitedList", "tsParseInterfaceDeclaration", "tsParseTypeAliasDeclaration", "tsInNoContext", "cb", "oldContext", "oldInDisallowConditionalTypesContext", "tsNextThenParseType", "tsDoThenParseType", "tsParseEnumMember", "initializer", "tsParseEnumDeclaration", "tsParseModuleBlock", "parseBlockOrModuleBlockBody", "tsParseModuleOrNamespaceDeclaration", "nested", "inner", "tsParseAmbientExternalModuleDeclaration", "global", "tsParseImportEqualsDeclaration", "isExport", "moduleReference", "tsParseModuleReference", "tsIsExternalModuleReference", "tsParseExternalModuleReference", "f", "tsTryParseAndCatch", "tsTryParseDeclare", "nany", "starttype", "tsInAmbientContext", "parseFunctionStatement", "parseClass", "parseVarStatement", "tsParseDeclaration", "tsTryParseExportDeclaration", "tsParseExpressionStatement", "mod", "tsCheckLineTerminator", "tsParseAbstractDeclaration", "tsTryParseGenericAsyncArrowFunction", "oldMaybeInArrowParameters", "tsParseTypeArgumentsInExpression", "reScan_lt", "tsIsDeclarationStart", "override", "IS_CONSTRUCTOR_PARAMS", "pp", "parameter", "isSimpleParameter", "tsDisallowOptionalPattern", "bodilessType", "registerFunctionStatementId", "tsCheckForInvalidTypeCasts", "items", "isInParens", "nonNullExpression", "isOptionalCall", "missingParenErrorLoc", "atPossibleAsyncArrow", "asyncArrowFn", "parseTaggedTemplateExpression", "tokenType", "parseExprOp", "leftStartLoc", "minPrec", "isSatisfies", "reScan_lt_gt", "checkKeywords", "checkDuplicateExports", "ahead", "importNode", "isAbstractClass", "cls", "allowMissingInitializer", "declarations", "isValidAmbientConstInitializer", "parseStatementContent", "parseAccessModifier", "tsHasSomeModifiers", "callParseClassMemberWithIsStatic", "parseClassStaticBlock", "parseClassMemberWithIsStatic", "hadSuperClass", "parsePostMemberNameModifiers", "methodOrProp", "isDeclare", "isIdentifier", "parseClassPropertyAnnotation", "definite", "parseClassAccessorProperty", "declareClassPrivateMethodInScope", "typeCast", "reportReservedArrowTypeParam", "trailingComma", "sawUnary", "toAssignableParenthesizedExpression", "TSTypeCastExpression", "TSParameterProperty", "TSNonNullExpression", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "parseMaybeDecoratorArguments", "canHaveLeadingDecorator", "getGetterSetterExpectedParamCount", "baseCount", "firstParam", "hasContextParam", "parseCatchClauseParam", "oldIsAmbientContext", "oldInAbstractClass", "maybeTakeDecorators", "hasBody", "shouldParseAsAmbientContext", "getExpression", "parseExportSpecifier", "isString", "isInTypeExport", "parseTypeOnlyImportExportSpecifier", "isImport", "isInTypeOnlyImportExport", "leftOfAsKey", "rightOfAsKey", "leftOfAs", "rightOfAs", "hasTypeSpecifier", "canParseAsKeyword", "firstAs", "secondAs", "parseModuleExportName", "kindKey", "isPossiblyLiteralEnum", "expressions", "isUncomputedMemberExpressionChain", "estree", "isNumber", "isNegativeNumber", "PlaceholderErrors", "ClassNameIsRequired", "UnexpectedSpace", "PlaceholdersParserMixin", "parsePlaceholder", "assertNoSpace", "finishPlaceholder", "isFinished", "chStartsBindingIdentifier", "verifyBreakContinue", "isBreak", "parseStatementOrSloppyAnnexBFunctionDeclaration", "parseBlock", "createNewLexicalScope", "parseFunctionId", "requireId", "oldStrict", "parseClassBody", "startsWith", "maybeParseExportDefaultSpecifier", "checkExport", "hasStarImport", "maybeParseStarImportSpecifier", "parseNamedImportSpecifiers", "parseImportSource", "V8IntrinsicMixin", "parseV8Intrinsic", "v8IntrinsicStartLoc", "parseIdentifierName", "expectedConfig", "expectedName", "expectedOptions", "expectedKeys", "expectedOptionsIsEmpty", "p", "option", "find", "PIPELINE_PROPOSALS", "TOPIC_TOKENS", "RECORD_AND_TUPLE_SYNTAX_TYPES", "validatePlugins", "decoratorsBeforeExport", "allowCallParenthesized", "proposalList", "tupleSyntaxIsHash", "syntaxType", "tokenList", "moduleAttributesVersionPluginOption", "missingPlugins", "mixinPlugins", "flow", "typescript", "v8intrinsic", "placeholders", "mixinPluginNames", "defaultOptions", "sourceFilename", "allowAwaitOutsideFunction", "allowReturnOutsideFunction", "allowNewTargetOutsideFunction", "allowImportExportEverywhere", "allowSuperOutsideMethod", "allowUndeclaredExports", "createParenthesizedExpressions", "getOptions", "opts", "ExpressionParser", "checkProto", "isRecord", "protoRef", "used", "shouldExitDescending", "disallowIn", "disallowInAnd", "parseExpressionBase", "allowInAnd", "parseMaybeAssignDisallowIn", "resultError", "parseYield", "ownExpressionErrors", "parseMaybeConditional", "startIndex", "parseExprOps", "parseMaybeUnaryOrPrivate", "op", "prec", "checkPipelineAtInfixOperator", "logical", "coalesce", "parseExprOpRightExpr", "finishedNode", "nextOp", "withTopicBindingContext", "parseHackPipeBody", "parseSmartPipelineBodyInStyle", "parseExprOpBaseRightExpr", "withSoloAwaitPermittingContext", "parseFSharpPipelineBody", "requiredParentheses", "topicReferenceWasUsedInCurrentContext", "checkExponentialAfterUnary", "isAwait", "isAwaitAllowed", "parseAwait", "update", "isDelete", "parseUpdate", "isAmbiguousAwait", "updateExpressionNode", "parseExprSubscripts", "maybeAsyncArrow", "parseBind", "parseCoverCallAndAsyncArrowHead", "parseMember", "parseNoCallExpr", "tag", "quasi", "dynamicImport", "allowPlaceholder", "nodeForExtra", "oldInFSharpPipelineDirectBody", "addTrailingCommaExtraToNode", "parseExprListItem", "parseSuper", "parseImportMetaProperty", "parseDo", "parseFunctionOrFunctionSent", "parseDecorators", "parseNewOrNewTarget", "parseTopicReferenceThenEqualsSign", "parseTopicReference", "pipeProposal", "parseModuleExpression", "parseAsyncFunctionExpression", "parseAsyncArrowUnaryFunction", "topicTokenType", "topicTokenValue", "finishTopicReference", "testTopicReferenceConfiguration", "topicReferenceIsAllowedInCurrentContext", "registerTopicReference", "meta", "parseMetaProperty", "parseFunction", "innerStartLoc", "spreadStartLoc", "optionalCommaStartLoc", "spreadNodeStartLoc", "innerEndLoc", "arrowNode", "wrapParenthesis", "parenExpression", "metaProp", "parseNew", "parseExprList", "parseTemplateElement", "isTagged", "elemStart", "elem", "isTail", "endOffset", "elemEnd", "cooked", "tail", "curElt", "quasis", "propHash", "parsePropertyDefinition", "maybeAsyncOrAccessorProp", "keyName", "finishedProp", "generator", "isExpression", "hasStrictModeDirective", "nonSimple", "isSimpleParamList", "formalParameters", "reservedTest", "delegating", "delegate", "childExpr", "isSimpleReference", "checkSmartPipeTopicBodyEarlyErrors", "callback", "outerContextTopicState", "withSmartMixTopicForbiddingContext", "outerContextSoloAwaitState", "prodParamToSet", "prodParamToClear", "ret", "revertScopes", "parseProgram", "loopLabel", "switchLabel", "ParseFunctionFlag", "ParseStatementFlag", "loneSurrogate", "keywordRelationalOperator", "babel7CompatTokens", "hashEndPos", "hashEndLoc", "backquoteEnd", "backquoteEndLoc", "startToken", "templateValue", "templateElementEnd", "templateElementEndLoc", "endToken", "StatementParser", "interpreter", "parseInterpreterDirective", "finishedProgram", "stmtToDirective", "directiveLiteral", "hasFollowingBindingAtom", "endCh", "chStartsBindingPattern", "hasFollowingBindingIdentifier", "startsUsingForOf", "parseModuleItem", "AllowImportExport", "AllowDeclaration", "AllowFunctionDeclaration", "AllowLabeledFunction", "parseStatementListItem", "allowLabeledFunction", "StatementOnly", "parseStatement", "allowDeclaration", "allowFunctionDeclaration", "parseBreakContinueStatement", "parseDebuggerStatement", "parseDoWhileStatement", "parseForStatement", "parseIfStatement", "parseReturnStatement", "parseSwitchStatement", "parseThrowStatement", "parseTryStatement", "parseWhileStatement", "parseWithStatement", "parseEmptyStatement", "nextTokenCharCode", "isAsyncFunction", "maybeName", "parseLabeledStatement", "decoratorsEnabledBeforeExport", "maybeDecorators", "classNode", "exportNode", "allowExport", "paramsStartLoc", "lab", "parseHeaderExpression", "awaitAt", "parseFor", "startsWithLet", "startsWithUsing", "isLetOrUsing", "initNode", "parseVar", "isForIn", "parseForIn", "startsWithAsync", "isForOf", "isHangingDeclaration", "Declaration", "HangingDeclaration", "Async", "discriminant", "cases", "cur", "sawDefault", "isCase", "block", "handler", "clause", "finalizer", "statementStart", "parsedNonDirective", "await", "isFor", "Expression", "hangingDeclaration", "isDeclaration", "NullableId", "hadConstructor", "publicMethod", "privateMethod", "publicProp", "privateProp", "accessorProp", "publicMember", "parseClassElementName", "isPrivate", "maybeQuestionTokenStartLoc", "pushClassPrivateProperty", "pushClassProperty", "pushClassAccessorProperty", "parseInitializer", "hasDefault", "parseAfterDefault", "hasStar", "parseAfterNamespace", "isFromRequired", "hasSpecifiers", "maybeParseExportNamedSpecifiers", "hasDeclaration", "maybeParseExportDeclaration", "isTypeExport", "assertions", "nextType", "hasFrom", "nextAfterFrom", "maybeParseImportAssertions", "checkJSONModuleImport", "checkNames", "isDefault", "isFrom", "nodes", "surrogate", "isJSONModuleImport", "nonDefaultNamedSpecifier", "parseMaybeImportReflection", "isImportReflection", "nextNextTokenFirstChar", "parseNext", "maybeParseModuleAttributes", "parseAssertEntries", "attrs", "attrNames", "importSpecifier", "Parser", "pluginsMap", "pluginMap", "getParser", "ast", "moduleError", "generateExportedTokenTypes", "internalTokenTypes", "tokTypes", "getParserClass", "parserClassCache", "pluginsFromOptions", "pluginList", "require_lib", "identifier", "emit", "_cache", "FUNCTION_TYPES", "arrowFunctionExpression", "assignmentExpression", "awaitExpression", "blockStatement", "callExpression", "cloneNode", "expressionStatement", "identifier", "inheritLeadingComments", "inheritTrailingComments", "inheritsComments", "isExpression", "isProgram", "isStatement", "removeComments", "returnStatement", "toSequenceExpression", "validate", "yieldExpression", "replaceWithMultiple", "nodes", "resync", "_verifyNodeList", "node", "length", "pathCache", "get", "parent", "delete", "container", "key", "paths", "insertAfter", "requeue", "remove", "replaceWithSourceString", "replacement", "ast", "parse", "err", "loc", "message", "codeFrameColumns", "start", "line", "column", "code", "expressionAST", "program", "body", "expression", "traverse", "removeProperties", "replaceWith", "replacementPath", "removed", "Error", "NodePath", "Array", "isArray", "nodePath", "isNodeType", "canHaveVariableDeclarationOrExpression", "canSwapBetweenExpressionAndStatement", "parentPath", "isExportDefaultDeclaration", "replaceExpressionWithStatements", "oldNode", "_replaceWith", "type", "setScope", "ReferenceError", "inList", "debug", "set", "nodesAsSequenceExpression", "scope", "functionParent", "getFunctionParent", "isParentAsync", "is", "isParentGenerator", "callee", "hoistVariables", "id", "push", "completionRecords", "getCompletionRecords", "path", "isExpressionStatement", "loop", "findParent", "isLoop", "uid", "getData", "generateDeclaredUidIdentifier", "pushContainer", "setData", "name", "arrowFunctionToExpression", "newCallee", "needToAwaitFunction", "hasType", "needToYieldFunction", "replaceInline", "_containerInsertAfter", "VALID_CALLEES", "INVALID_METHODS", "isValidCallee", "val", "includes", "isInvalidMethod", "evaluateTruthy", "res", "evaluate", "confident", "value", "deopt", "path", "state", "deoptPath", "evaluateCached", "node", "seen", "has", "existing", "get", "resolved", "item", "set", "_evaluate", "isSequenceExpression", "exprs", "length", "isStringLiteral", "isNumericLiteral", "isBooleanLiteral", "isNullLiteral", "isTemplateLiteral", "evaluateQuasis", "quasis", "isTaggedTemplateExpression", "isMemberExpression", "object", "name", "property", "isIdentifier", "scope", "getBinding", "quasi", "isConditionalExpression", "testResult", "isExpressionWrapper", "parentPath", "isCallExpression", "callee", "isLiteral", "type", "key", "computed", "isReferencedIdentifier", "binding", "constantViolations", "start", "end", "hasValue", "undefined", "Infinity", "NaN", "resolve", "isUnaryExpression", "prefix", "operator", "argument", "isFunction", "isClass", "arg", "isArrayExpression", "arr", "elems", "elem", "elemValue", "push", "isObjectExpression", "obj", "props", "prop", "isObjectMethod", "isSpreadElement", "keyPath", "valuePath", "isLogicalExpression", "wasConfident", "left", "leftConfident", "right", "rightConfident", "isBinaryExpression", "context", "func", "global", "args", "map", "apply", "raw", "str", "i", "cooked", "expr", "String", "Map", "assertExpressionStatement", "makeStatementFormatter", "fn", "code", "str", "validate", "unwrap", "ast", "program", "body", "slice", "smart", "length", "statements", "statement", "Error", "expression", "start", "stmt", "merge", "a", "b", "placeholderWhitelist", "placeholderPattern", "preserveComments", "syntacticPlaceholders", "parser", "validate", "opts", "Error", "Set", "RegExp", "undefined", "normalizeReplacements", "replacements", "Array", "isArray", "reduce", "acc", "replacement", "i", "isCallExpression", "isExpressionStatement", "isFunction", "isIdentifier", "isJSXIdentifier", "isNewExpression", "isPlaceholder", "isStatement", "isStringLiteral", "removePropertiesDeep", "traverse", "PATTERN", "parseAndBuildMetadata", "formatter", "code", "opts", "placeholderWhitelist", "placeholderPattern", "preserveComments", "syntacticPlaceholders", "ast", "parseWithCodeFrame", "parser", "validate", "syntactic", "placeholders", "placeholderNames", "Set", "legacy", "isLegacyRef", "value", "undefined", "placeholderVisitorHandler", "node", "ancestors", "state", "name", "Error", "test", "has", "slice", "parent", "key", "length", "type", "expectedNode", "push", "resolve", "resolveAncestors", "isDuplicate", "add", "i", "index", "parserOpts", "plugins", "allowReturnOutsideFunction", "allowSuperOutsideMethod", "sourceType", "parse", "err", "loc", "message", "codeFrameColumns", "start", "blockStatement", "cloneNode", "emptyStatement", "expressionStatement", "identifier", "isStatement", "isStringLiteral", "stringLiteral", "validate", "populatePlaceholders", "metadata", "replacements", "ast", "placeholders", "forEach", "placeholder", "Object", "prototype", "hasOwnProperty", "call", "name", "placeholderName", "Error", "keys", "key", "placeholderNames", "has", "slice", "reverse", "applyReplacement", "e", "message", "replacement", "isDuplicate", "Array", "isArray", "map", "node", "parent", "index", "resolve", "type", "undefined", "items", "splice", "stringTemplate", "formatter", "code", "opts", "metadata", "arg", "replacements", "normalizeReplacements", "parseAndBuildMetadata", "unwrap", "populatePlaceholders", "literalTemplate", "formatter", "tpl", "opts", "metadata", "names", "buildLiteralData", "arg", "defaultReplacements", "forEach", "replacement", "i", "replacements", "normalizeReplacements", "Object", "keys", "key", "prototype", "hasOwnProperty", "call", "Error", "unwrap", "populatePlaceholders", "assign", "nameSet", "prefix", "result", "buildTemplateCode", "Set", "parseAndBuildMetadata", "code", "parser", "placeholderWhitelist", "concat", "Array", "from", "placeholderPattern", "preserveComments", "syntacticPlaceholders", "placeholders", "some", "placeholder", "isDuplicate", "has", "name", "length", "value", "push", "NO_PLACEHOLDER", "validate", "placeholderPattern", "createTemplateBuilder", "formatter", "defaultOpts", "templateFnCache", "WeakMap", "templateAstCache", "cachedOpts", "Object", "assign", "tpl", "args", "length", "Error", "extendedTrace", "stringTemplate", "merge", "Array", "isArray", "builder", "get", "literalTemplate", "set", "ast", "fn", "rootStack", "error", "stack", "split", "slice", "join", "arg", "err", "smart", "createTemplateBuilder", "formatters", "statement", "statements", "expression", "program", "Object", "assign", "bind", "undefined", "ast", "NOT_LOCAL_BINDING", "cloneNode", "identifier", "isAssignmentExpression", "isAssignmentPattern", "isFunction", "isIdentifier", "isLiteral", "isNullLiteral", "isObjectMethod", "isObjectProperty", "isRegExpLiteral", "isRestElement", "isTemplateLiteral", "isVariableDeclarator", "toBindingIdentifierName", "getFunctionArity", "node", "count", "params", "findIndex", "param", "length", "buildPropertyMethodAssignmentWrapper", "template", "statement", "buildGeneratorPropertyMethodAssignmentWrapper", "visitor", "path", "state", "name", "localDeclar", "scope", "getBindingIdentifier", "outerDeclar", "selfReference", "stop", "getNameFromLiteralId", "id", "pattern", "flags", "quasis", "map", "quasi", "value", "raw", "join", "undefined", "wrap", "method", "hasBinding", "hasGlobal", "rename", "build", "generator", "FUNCTION", "FUNCTION_ID", "FUNCTION_KEY", "generateUidIdentifier", "expression", "callee", "body", "i", "len", "push", "getProgramParent", "references", "visit", "selfAssignment", "binding", "getOwnBinding", "kind", "traverse", "parent", "localBinding", "supportUnicodeId", "computed", "key", "getBinding", "constant", "operator", "left", "test", "newId", "arrowFunctionExpression", "assignmentExpression", "binaryExpression", "blockStatement", "callExpression", "conditionalExpression", "expressionStatement", "identifier", "isIdentifier", "jsxIdentifier", "logicalExpression", "LOGICAL_OPERATORS", "memberExpression", "metaProperty", "numericLiteral", "objectExpression", "restElement", "returnStatement", "sequenceExpression", "spreadElement", "stringLiteral", "super", "_super", "thisExpression", "toExpression", "unaryExpression", "toComputedKey", "key", "isMemberExpression", "node", "property", "isProperty", "isMethod", "ReferenceError", "computed", "name", "ensureBlock", "body", "get", "bodyNode", "Array", "isArray", "Error", "isBlockStatement", "statements", "stringPath", "listKey", "isStatement", "push", "isFunction", "parentPath", "setup", "arrowFunctionToShadowed", "isArrowFunctionExpression", "arrowFunctionToExpression", "unwrapFunctionEnvironment", "isFunctionExpression", "isFunctionDeclaration", "buildCodeFrameError", "hoistFunctionEnvironment", "setType", "path", "type", "allowInsertArrow", "allowInsertArrowWithRest", "specCompliant", "noNewArrows", "thisBinding", "fnPath", "fn", "checkBinding", "scope", "generateUidIdentifier", "id", "init", "unshiftContainer", "hub", "addHelper", "replaceWith", "nameFunction", "getSuperCallsVisitor", "mergeVisitors", "CallExpression", "child", "allSuperCalls", "isSuper", "environmentVisitor", "arrowParent", "thisEnvFn", "findParent", "p", "isProgram", "isClassProperty", "static", "isClassPrivateProperty", "inConstructor", "isClassMethod", "kind", "thisPaths", "argumentsPaths", "newTargetPaths", "superProps", "superCalls", "getScopeInformation", "length", "traverse", "superBinding", "getSuperBinding", "forEach", "superCall", "callee", "loc", "argumentsBinding", "getBinding", "args", "buildUndefinedNode", "argumentsChild", "argsRef", "newTargetBinding", "targetChild", "targetRef", "flatSuperProps", "reduce", "acc", "superProp", "concat", "standardizeSuperProperty", "superParentPath", "isAssignment", "isAssignmentExpression", "left", "isCall", "isCallExpression", "isTaggedTemplate", "isTaggedTemplateExpression", "tag", "getSuperPropBinding", "value", "right", "call", "getThisBinding", "hasSuperClass", "thisChild", "thisRef", "isJSX", "isLogicalOp", "op", "includes", "operator", "assignmentPath", "slice", "isLogicalAssignment", "tmp", "generateDeclaredUidIdentifier", "object", "rightExpression", "isUpdateExpression", "updateExpr", "computedKey", "parts", "prefix", "superClass", "assignSuperThisVisitor", "supers", "has", "add", "replaceWithMultiple", "WeakSet", "argsBinding", "propName", "argsList", "fnBody", "method", "unshift", "valueIdent", "cacheKey", "data", "getData", "setData", "getScopeInformationVisitor", "ThisExpression", "JSXIdentifier", "isJSXMemberExpression", "isJSXOpeningElement", "MemberExpression", "Identifier", "isReferencedIdentifier", "curr", "hasOwnBinding", "rename", "parent", "MetaProperty", "STATEMENT_OR_BLOCK_KEYS", "VISITOR_KEYS", "isBlockStatement", "isExpression", "isIdentifier", "isLiteral", "isStringLiteral", "isType", "matchesPattern", "_matchesPattern", "pattern", "allowPartial", "node", "has", "key", "val", "Array", "isArray", "length", "isStatic", "scope", "is", "isnt", "equals", "value", "isNodeType", "type", "canHaveVariableDeclarationOrExpression", "parentPath", "isFor", "canSwapBetweenExpressionAndStatement", "replacement", "isArrowFunctionExpression", "isCompletionRecord", "allowInsideFunction", "path", "first", "container", "isFunction", "isProgram", "isDoExpression", "isStatementOrBlock", "isLabeledStatement", "includes", "referencesImport", "moduleSource", "importName", "isReferencedIdentifier", "isJSXMemberExpression", "property", "name", "isMemberExpression", "isOptionalMemberExpression", "computed", "object", "get", "binding", "getBinding", "kind", "parent", "isImportDeclaration", "source", "isImportDefaultSpecifier", "isImportNamespaceSpecifier", "isImportSpecifier", "imported", "getSource", "end", "code", "hub", "getCode", "slice", "start", "willIMaybeExecuteBefore", "target", "_guessExecutionStatusRelativeTo", "getOuterFunction", "getFunctionParent", "getProgramParent", "isExecutionUncertain", "isExecutionUncertainInList", "paths", "maxIndex", "i", "parentKey", "SYMBOL_CHECKING", "Symbol", "_guessExecutionStatusRelativeToCached", "Map", "base", "cache", "funcParent", "this", "_guessExecutionStatusRelativeToDifferentFunctionsCached", "getAncestry", "indexOf", "commonPath", "commonIndex", "Error", "divergence", "listKey", "keys", "keyPosition", "_guessExecutionStatusRelativeToDifferentFunctionsInternal", "isFunctionDeclaration", "isExportDeclaration", "id", "references", "referencePaths", "allStatus", "childOfFunction", "find", "isCallExpression", "status", "nodeMap", "cached", "set", "result", "resolve", "dangerous", "resolved", "_resolve", "push", "isVariableDeclarator", "constant", "ret", "isTypeCastExpression", "targetKey", "toComputedKey", "targetName", "isObjectExpression", "props", "prop", "isProperty", "match", "isArrayExpression", "isNaN", "elems", "elem", "isConstantExpression", "isRegExpLiteral", "isTemplateLiteral", "every", "expression", "isUnaryExpression", "operator", "isBinaryExpression", "isInStrictMode", "strictParent", "sourceType", "isClass", "body", "directive", "directives", "call", "key", "opts", "debug", "node", "_call", "type", "fns", "fn", "ret", "state", "then", "Error", "_traverseFlags", "isDenylisted", "denylist", "blacklist", "indexOf", "restoreContext", "path", "context", "visit", "shouldSkip", "currentContext", "shouldStop", "traverseNode", "scope", "skipKeys", "skip", "skipKey", "stop", "SHOULD_SKIP", "SHOULD_STOP", "setScope", "noScope", "parentPath", "listKey", "isMethod", "isSwitchStatement", "target", "getScope", "init", "setContext", "resync", "removed", "_resyncParent", "_resyncList", "_resyncKey", "parent", "container", "Array", "isArray", "i", "length", "setKey", "Object", "keys", "inList", "newContainer", "_resyncRemoved", "_markRemoved", "popContext", "contexts", "pop", "undefined", "pushContext", "push", "setup", "requeue", "pathToQueue", "maybeQueue", "_getQueueContexts", "hooks", "self", "parent", "removeParent", "key", "isWhile", "isSwitchCase", "isExportDeclaration", "isLabeledStatement", "listKey", "isVariableDeclaration", "node", "declarations", "length", "isExpressionStatement", "remove", "isSequenceExpression", "expressions", "replaceWith", "isBinary", "right", "left", "isIfStatement", "isLoop", "isArrowFunctionExpression", "type", "body", "_cache", "remove", "_assertUnremoved", "resync", "opts", "noScope", "_removeFromScope", "_callRemovalHooks", "_markRemoved", "shareCommentsWithSiblings", "_remove", "bindings", "getBindingIdentifiers", "Object", "keys", "forEach", "name", "scope", "removeBinding", "fn", "hooks", "parentPath", "Array", "isArray", "container", "splice", "key", "updateSiblingKeys", "_replaceWith", "_traverseFlags", "SHOULD_SKIP", "REMOVED", "parent", "pathCache", "get", "delete", "node", "removed", "buildCodeFrameError", "react", "cloneNode", "jsxExpressionContainer", "variableDeclaration", "variableDeclarator", "referenceVisitor", "ReferencedIdentifier", "path", "state", "isJSXIdentifier", "isCompatTag", "node", "name", "parentPath", "isJSXMemberExpression", "scope", "isFunction", "isArrowFunctionExpression", "parent", "breakOnScopePaths", "push", "binding", "getBinding", "violation", "constantViolations", "mutableBinding", "stop", "bindings", "PathHoister", "constructor", "scopes", "attachAfter", "isCompatibleScope", "key", "Object", "keys", "bindingIdentifierEquals", "identifier", "getCompatibleScopes", "indexOf", "getAttachmentPath", "_getAttachmentPath", "targetScope", "isProgram", "hasOwnBinding", "kind", "parentKey", "bindingParentPath", "getAttachmentParentForPath", "violationPath", "pop", "hasOwnParamBindings", "bodies", "get", "i", "length", "_blockHoist", "getNextScopeAttachmentParent", "Array", "isArray", "container", "isStatement", "constant", "run", "traverse", "attachTo", "getFunctionParent", "uid", "generateUidIdentifier", "declarator", "insertFn", "attached", "isVariableDeclarator", "isJSXElement", "children", "replaceWith", "_cache", "arrowFunctionExpression", "assertExpression", "assignmentExpression", "blockStatement", "callExpression", "cloneNode", "expressionStatement", "isAssignmentExpression", "isCallExpression", "isExportNamedDeclaration", "isExpression", "isIdentifier", "isSequenceExpression", "isSuper", "thisExpression", "insertBefore", "nodes_", "_assertUnremoved", "nodes", "_verifyNodeList", "parentPath", "parent", "isExpressionStatement", "isLabeledStatement", "isExportDefaultDeclaration", "isDeclaration", "isNodeType", "isJSXElement", "isForStatement", "key", "node", "push", "replaceExpressionWithStatements", "Array", "isArray", "container", "_containerInsertBefore", "isStatementOrBlock", "shouldInsertCurrentNode", "expression", "replaceWith", "unshiftContainer", "Error", "_containerInsert", "from", "updateSiblingKeys", "length", "paths", "splice", "i", "to", "path", "getSibling", "context", "queue", "pushContext", "contexts", "_getQueueContexts", "setScope", "debug", "maybeQueue", "_containerInsertAfter", "last", "arr", "isHiddenInSequenceExpression", "expressions", "isAlmostConstantAssignment", "scope", "left", "blockScope", "getBlockParent", "hasOwnBinding", "name", "getOwnBinding", "constantViolations", "insertAfter", "get", "map", "isPattern", "unshift", "callee", "isPure", "isMethod", "computed", "temp", "generateDeclaredUidIdentifier", "pushContainer", "fromIndex", "incrementBy", "pathCache", "msg", "type", "NodePath", "listKey", "setContext", "verifiedNodes", "replaceWithMultiple", "hoist", "hoister", "PathHoister", "run", "getBindingIdentifiers", "_getBindingIdentifiers", "getOuterBindingIdentifiers", "_getOuterBindingIdentifiers", "isDeclaration", "numericLiteral", "unaryExpression", "NORMAL_COMPLETION", "BREAK_COMPLETION", "NormalCompletion", "path", "type", "BreakCompletion", "getOpposite", "key", "getSibling", "addCompletionRecords", "records", "context", "push", "_getCompletionRecords", "completionRecordForSwitch", "cases", "lastNormalCompletions", "i", "length", "casePath", "caseCompletions", "normalCompletions", "breakCompletions", "c", "normalCompletionToBreak", "completions", "forEach", "replaceBreakStatementInBreakCompletion", "reachable", "isBreakStatement", "label", "replaceWith", "remove", "getStatementListCompletion", "paths", "canHaveBreak", "newContext", "inCaseClause", "isBlockStatement", "shouldPopulateBreak", "statementCompletions", "every", "some", "pathCompletions", "isVariableDeclaration", "isIfStatement", "get", "isDoExpression", "isFor", "isWhile", "isLabeledStatement", "isProgram", "isFunction", "isTryStatement", "isCatchClause", "isSwitchStatement", "isSwitchCase", "getCompletionRecords", "map", "r", "NodePath", "parentPath", "parent", "container", "listKey", "setContext", "getPrevSibling", "getNextSibling", "getAllNextSiblings", "_key", "sibling", "siblings", "node", "getAllPrevSiblings", "parts", "split", "_getKey", "_getPattern", "Array", "isArray", "_", "part", "duplicates", "getBindingIdentifierPaths", "outerOnly", "search", "ids", "Object", "create", "id", "shift", "keys", "isIdentifier", "_ids", "name", "isExportDeclaration", "declaration", "isFunctionDeclaration", "isFunctionExpression", "child", "getOuterBindingIdentifierPaths", "addComment", "_addComment", "addComments", "_addComments", "shareCommentsWithSiblings", "key", "node", "trailing", "trailingComments", "leading", "leadingComments", "prev", "getSibling", "next", "hasPrev", "Boolean", "hasNext", "type", "content", "line", "comments", "isBinding", "isBlockScoped", "nodeIsBlockScoped", "isExportDeclaration", "isExpression", "nodeIsExpression", "isFlow", "nodeIsFlow", "isForStatement", "isForXStatement", "isIdentifier", "isImportDeclaration", "isImportSpecifier", "isJSXIdentifier", "isJSXMemberExpression", "isMemberExpression", "isRestElement", "nodeIsRestElement", "isReferenced", "nodeIsReferenced", "isScope", "nodeIsScope", "isStatement", "nodeIsStatement", "isVar", "nodeIsVar", "isVariableDeclaration", "react", "isForOfStatement", "isCompatTag", "isReferencedIdentifier", "opts", "node", "parent", "name", "parentPath", "isReferencedMemberExpression", "isBindingIdentifier", "grandparent", "left", "init", "isUser", "loc", "isGenerated", "isPure", "constantsOnly", "scope", "importKind", "exportKind", "isRestProperty", "isObjectPattern", "isSpreadProperty", "isObjectExpression", "isForAwaitStatement", "await", "isExistentialTypeParam", "Error", "isNumericLiteralTypeAnnotation", "_cache", "validate", "debug", "buildDebug", "REMOVED", "SHOULD_STOP", "SHOULD_SKIP", "NodePath", "constructor", "hub", "parent", "contexts", "state", "opts", "_traverseFlags", "skipKeys", "parentPath", "container", "listKey", "key", "node", "type", "data", "context", "scope", "get", "Error", "targetNode", "paths", "pathCache", "Map", "set", "path", "setup", "getScope", "isScope", "Scope", "setData", "val", "Object", "create", "getData", "def", "undefined", "hasNode", "buildCodeFrameError", "msg", "SyntaxError", "buildError", "traverse", "visitor", "getPathLocation", "parts", "inList", "unshift", "join", "message", "enabled", "toString", "generator", "code", "parentKey", "shouldSkip", "v", "shouldStop", "removed", "assign", "prototype", "NodePath_ancestry", "NodePath_inference", "NodePath_replacement", "NodePath_evaluation", "NodePath_conversion", "NodePath_introspection", "NodePath_context", "NodePath_removal", "NodePath_modification", "NodePath_family", "NodePath_comments", "_guessExecutionStatusRelativeToDifferentFunctions", "_guessExecutionStatusRelativeTo", "t", "TYPES", "typeKey", "fn", "TypeError", "NodePath_virtual_types_validator", "keys", "virtualTypes", "includes", "push", "VISITOR_KEYS", "TraversalContext", "constructor", "scope", "opts", "state", "parentPath", "queue", "priorityQueue", "shouldVisit", "node", "enter", "exit", "type", "keys", "length", "key", "create", "container", "listKey", "NodePath", "get", "parent", "maybeQueue", "path", "notPriority", "push", "visitMultiple", "visitQueue", "visitSingle", "visited", "WeakSet", "stop", "resync", "contexts", "pushContext", "has", "add", "visit", "popContext", "nodes", "Array", "isArray", "VISITOR_KEYS", "traverseNode", "node", "opts", "scope", "state", "path", "skipKeys", "keys", "type", "context", "TraversalContext", "key", "visit", "Hub", "getCode", "getScope", "addHelper", "Error", "buildError", "node", "msg", "TypeError", "cache", "VISITOR_KEYS", "removeProperties", "traverseFast", "traverse", "parent", "opts", "scope", "state", "parentPath", "noScope", "type", "Error", "visitors", "explode", "traverseNode", "verify", "cheap", "node", "enter", "path", "skipKeys", "clearNode", "delete", "tree", "hasDenylistedType", "has", "stop", "hasType", "denylistTypes", "includes", "denylist", "helper", "minVersion", "source", "Object", "freeze", "ast", "template", "program", "preserveComments", "AsyncGenerator", "OverloadYield", "applyDecs", "applyDecs2203", "applyDecs2203R", "applyDecs2301", "asyncGeneratorDelegate", "asyncIterator", "awaitAsyncGenerator", "checkInRHS", "defineAccessor", "iterableToArrayLimit", "iterableToArrayLimitLoose", "jsx", "objectSpread2", "regeneratorRuntime", "typeof", "wrapRegExp", "helpers", "__proto__", "generated", "helper", "minVersion", "tpl", "ast", "template", "program", "AwaitValue", "wrapAsyncGenerator", "asyncToGenerator", "classCallCheck", "createClass", "defineEnumerableProperties", "defaults", "defineProperty", "extends", "objectSpread", "inherits", "inheritsLoose", "getPrototypeOf", "setPrototypeOf", "isNativeReflectConstruct", "construct", "isNativeFunction", "wrapNativeSuper", "instanceof", "interopRequireDefault", "interopRequireWildcard", "newArrowCheck", "objectDestructuringEmpty", "objectWithoutPropertiesLoose", "objectWithoutProperties", "assertThisInitialized", "possibleConstructorReturn", "createSuper", "superPropBase", "get", "set", "taggedTemplateLiteral", "taggedTemplateLiteralLoose", "readOnlyError", "writeOnlyError", "classNameTDZError", "temporalUndefined", "tdz", "temporalRef", "slicedToArray", "slicedToArrayLoose", "toArray", "toConsumableArray", "arrayWithoutHoles", "arrayWithHoles", "maybeArrayLike", "iterableToArray", "unsupportedIterableToArray", "arrayLikeToArray", "nonIterableSpread", "nonIterableRest", "createForOfIteratorHelper", "createForOfIteratorHelperLoose", "skipFirstGeneratorNext", "toPrimitive", "toPropertyKey", "initializerWarningHelper", "initializerDefineProperty", "applyDecoratedDescriptor", "classPrivateFieldLooseKey", "classPrivateFieldLooseBase", "classPrivateFieldGet", "classPrivateFieldSet", "classPrivateFieldDestructureSet", "classExtractFieldDescriptor", "classStaticPrivateFieldSpecGet", "classStaticPrivateFieldSpecSet", "classStaticPrivateMethodGet", "classStaticPrivateMethodSet", "classApplyDescriptorGet", "classApplyDescriptorSet", "classApplyDescriptorDestructureSet", "classStaticPrivateFieldDestructureSet", "classCheckPrivateStaticAccess", "classCheckPrivateStaticFieldDescriptor", "decorate", "classPrivateMethodGet", "checkPrivateRedeclaration", "classPrivateFieldInitSpec", "classPrivateMethodInitSpec", "classPrivateMethodSet", "identity", "assignmentExpression", "cloneNode", "expressionStatement", "file", "identifier", "makePath", "path", "parts", "parentPath", "push", "key", "inList", "listKey", "reverse", "join", "FileClass", "undefined", "getHelperMetadata", "globals", "Set", "localBindingNames", "dependencies", "Map", "exportName", "exportPath", "exportBindingAssignments", "importPaths", "importBindingsReferences", "dependencyVisitor", "ImportDeclaration", "child", "name", "node", "source", "value", "helpers", "buildCodeFrameError", "get", "length", "isImportDefaultSpecifier", "bindingIdentifier", "specifiers", "local", "set", "ExportDefaultDeclaration", "decl", "isFunctionDeclaration", "id", "ExportAllDeclaration", "ExportNamedDeclaration", "Statement", "isImportDeclaration", "isExportDeclaration", "skip", "referenceVisitor", "Program", "bindings", "scope", "getAllBindings", "Object", "keys", "forEach", "has", "add", "ReferencedIdentifier", "binding", "getBinding", "AssignmentExpression", "left", "getBindingIdentifiers", "isIdentifier", "isProgram", "traverse", "ast", "Error", "Array", "from", "permuteHelperAST", "metadata", "localBindings", "getDependency", "dependenciesRefs", "toRename", "newName", "type", "exp", "imps", "map", "p", "impsBindingRefs", "replaceWith", "assignPath", "assign", "pushContainer", "rename", "remove", "helperData", "create", "loadHelper", "helper", "ReferenceError", "code", "fn", "fakeFile", "stop", "filename", "inputMap", "minVersion", "build", "nodes", "program", "body", "getDependencies", "values", "ensure", "newFileClass", "list", "replace", "Buffer", "isBuffer", "init", "inited", "lookup", "revLookup", "Arr", "tripletToBase64", "encodeChunk", "write", "kMaxLength", "createBuffer", "length", "allocUnsafe", "from", "fromArrayBuffer", "fromString", "fromObject", "assertSize", "alloc", "fill", "checked", "byteLength", "fromArrayLike", "internalIsBuffer", "isnan", "utf8ToBytes", "base64ToBytes", "slowToString", "hexSlice", "utf8Slice", "asciiSlice", "latin1Slice", "base64Slice", "utf16leSlice", "swap", "bidirectionalIndexOf", "arrayIndexOf", "read", "i", "hexWrite", "utf8Write", "blitBuffer", "asciiWrite", "asciiToBytes", "latin1Write", "base64Write", "ucs2Write", "utf16leToBytes", "decodeCodePointsArray", "MAX_ARGUMENTS_LENGTH", "toHex", "checkOffset", "checkInt", "objectWriteUInt16", "objectWriteUInt32", "checkIEEE754", "writeFloat", "writeDouble", "base64clean", "stringtrim", "INVALID_BASE64_RE", "isFastBuffer", "isSlowBuffer", "toString", "init_buffer", "compare", "isEncoding", "concat", "swap16", "swap32", "swap64", "equals", "includes", "indexOf", "lastIndexOf", "toJSON", "slice", "readUIntLE", "readUIntBE", "readUInt8", "readUInt16LE", "readUInt16BE", "readUInt32LE", "readUInt32BE", "readIntLE", "readIntBE", "readInt8", "readInt16LE", "readInt16BE", "readInt32LE", "readInt32BE", "readFloatLE", "readFloatBE", "readDoubleLE", "readDoubleBE", "writeUIntLE", "writeUIntBE", "writeUInt8", "writeUInt16LE", "writeUInt16BE", "writeUInt32LE", "writeUInt32BE", "writeIntLE", "writeIntBE", "writeInt8", "writeInt16LE", "writeInt16BE", "writeInt32LE", "writeInt32BE", "writeFloatLE", "writeFloatBE", "writeDoubleLE", "writeDoubleBE", "copy", "defaultSetTimout", "defaultClearTimeout", "Item", "cachedSetTimeout", "cachedClearTimeout", "performance", "performanceNow", "init_process", "inherits", "inspect", "hash", "isArray", "line", "length", "prev", "init_process", "compare", "isBuffer", "match", "inspect", "self", "init_buffer", "identifier", "node", "require_lib", "numericLiteral", "unaryExpression", "rewriteThisVisitor", "traverse", "visitors", "merge", "environmentVisitor", "ThisExpression", "path", "replaceWith", "rewriteThis", "programPath", "node", "noScope", "LOGICAL_OPERATORS", "assignmentExpression", "binaryExpression", "cloneNode", "identifier", "logicalExpression", "numericLiteral", "sequenceExpression", "unaryExpression", "simpleAssignmentVisitor", "UpdateExpression", "exit", "path", "scope", "bindingNames", "includeUpdateExpression", "arg", "get", "isIdentifier", "localName", "node", "name", "has", "getBinding", "parentPath", "isExpressionStatement", "isCompletionRecord", "operator", "replaceWith", "prefix", "old", "generateUidIdentifierBasedOnNode", "varName", "push", "id", "binary", "AssignmentExpression", "seen", "add", "left", "slice", "includes", "right", "simplifyAccess", "traverse", "WeakSet", "assignmentExpression", "callExpression", "cloneNode", "expressionStatement", "getOuterBindingIdentifiers", "identifier", "isMemberExpression", "isVariableDeclaration", "jsxIdentifier", "jsxMemberExpression", "memberExpression", "numericLiteral", "sequenceExpression", "stringLiteral", "variableDeclaration", "variableDeclarator", "isInType", "path", "parent", "type", "parentPath", "exportKind", "isStatement", "isExpression", "rewriteLiveReferences", "programPath", "metadata", "imported", "Map", "exported", "requeueInParent", "requeue", "source", "data", "localName", "importName", "imports", "set", "importsNamespace", "local", "exportMeta", "get", "push", "names", "rewriteBindingInitVisitorState", "scope", "traverse", "rewriteBindingInitVisitor", "simplifyAccess", "Set", "Array", "from", "keys", "rewriteReferencesVisitorState", "seen", "WeakSet", "buildImportReference", "identNode", "meta", "referenced", "lazy", "namespace", "name", "interop", "computed", "stringSpecifiers", "has", "rewriteReferencesVisitor", "Scope", "skip", "ClassDeclaration", "id", "node", "Error", "exportNames", "length", "statement", "buildBindingExportAssignmentExpression", "_blockHoist", "insertAfter", "VariableDeclaration", "Object", "forEach", "localExpr", "exportsObjectName", "exportName", "currentScope", "hasOwnBinding", "rename", "reduce", "expr", "buildImportThrow", "template", "expression", "ast", "ReferencedIdentifier", "add", "importData", "buildCodeFrameError", "localBinding", "getBinding", "rootBinding", "ref", "loc", "isCallExpression", "callee", "isOptionalCallExpression", "isTaggedTemplateExpression", "tag", "replaceWith", "isJSXIdentifier", "object", "property", "UpdateExpression", "arg", "update", "isIdentifier", "exportedNames", "operator", "prefix", "generateDeclaredUidIdentifier", "AssignmentExpression", "exit", "left", "assert", "assignment", "right", "ids", "programScopeIds", "filter", "find", "items", "isExpressionStatement", "programScope", "didTransformExport", "importConstViolationName", "loopBodyScope", "ensureBlock", "bodyPath", "newLoopId", "generateUidIdentifierBasedOnNode", "registerDeclaration", "unshiftContainer", "delimiter", "normalize", "substr", "from", "trim", "length", "require_path", "hasExports", "metadata", "isSideEffectImport", "source", "imports", "size", "importsNamespace", "reexports", "reexportNamespace", "reexportAll", "validateImportInteropOption", "importInterop", "Error", "resolveImportInterop", "filename", "normalizeModuleAndLoadMetadata", "programPath", "exportName", "initializeReexports", "lazy", "esNamespaceOnly", "scope", "generateUidIdentifier", "name", "stringSpecifiers", "Set", "nameAnonymousExports", "local", "sources", "getModuleMetadata", "removeImportExportDeclarations", "values", "next", "value", "resolvedInterop", "interop", "exportNameListName", "getExportSpecifierName", "path", "isIdentifier", "node", "isStringLiteral", "stringValue", "isIdentifierName", "add", "type", "assertExportSpecifier", "isExportSpecifier", "isExportNamespaceSpecifier", "buildCodeFrameError", "localData", "getLocalExportMetadata", "sourceData", "Map", "getData", "sourceNode", "data", "get", "basename", "extname", "loc", "referenced", "set", "forEach", "child", "isImportDeclaration", "spec", "isImportDefaultSpecifier", "localName", "reexport", "delete", "names", "isImportNamespaceSpecifier", "isImportSpecifier", "importName", "isExportAllDeclaration", "isExportNamedDeclaration", "isExportDefaultDeclaration", "needsDefault", "needsNamed", "test", "Array", "isArray", "indexOf", "bindingKindLookup", "kind", "declaration", "isFunctionDeclaration", "isClassDeclaration", "isVariableDeclaration", "Object", "keys", "getOuterBindingIdentifiers", "localMetadata", "getLocalMetadata", "idPath", "undefined", "ids", "getOuterBindingIdentifierPaths", "push", "exported", "splitExportDeclaration", "remove", "_blockHoist", "replaceWith", "getDynamicImportSource", "node", "source", "arguments", "t", "isStringLiteral", "isTemplateLiteral", "template", "expression", "ast", "buildDynamicImport", "deferToThen", "wrapWithPromise", "builder", "specifier", "quasis", "length", "specifierToString", "identifier", "templateLiteral", "templateElement", "raw", "originalGetModuleName", "getModuleName", "rootOpts", "pluginOpts", "moduleId", "moduleIds", "getModuleId", "moduleRoot", "filename", "filenameRelative", "sourceRoot", "moduleName", "sourceRootReplacer", "RegExp", "replace", "booleanLiteral", "callExpression", "cloneNode", "directive", "directiveLiteral", "expressionStatement", "identifier", "isIdentifier", "memberExpression", "stringLiteral", "valueToNode", "variableDeclaration", "variableDeclarator", "rewriteModuleStatementsAndPrepareHeader", "path", "loose", "exportName", "strict", "allowTopLevelThis", "strictMode", "noInterop", "importInterop", "lazy", "esNamespaceOnly", "filename", "constantReexports", "enumerableModuleMeta", "noIncompleteNsImportDetection", "validateImportInteropOption", "assert", "isModule", "node", "sourceType", "meta", "normalizeModuleAndLoadMetadata", "initializeReexports", "rewriteThis", "rewriteLiveReferences", "hasStrict", "directives", "some", "value", "unshiftContainer", "headers", "hasExports", "push", "buildESModuleHeader", "nameList", "buildExportNameListDeclaration", "exportNameListName", "name", "statement", "buildExportInitializationStatements", "ensureStatementsHoisted", "statements", "forEach", "header", "_blockHoist", "wrapInterop", "programPath", "expr", "type", "hub", "addHelper", "helper", "Error", "buildNamespaceInitStatements", "metadata", "sourceMetadata", "srcNamespace", "localName", "importsNamespace", "template", "NAME", "SOURCE", "buildReexportsFromMeta", "reexportNamespace", "EXPORTS", "NAMESPACE", "reexportAll", "buildNamespaceReexport", "loc", "ReexportTemplate", "constant", "constantComputed", "spec", "namespace", "stringSpecifiers", "Array", "from", "reexports", "importName", "NAMESPACE_IMPORT", "interop", "has", "astNodes", "EXPORT_NAME", "VERIFY_NAME_LIST", "EXPORTS_LIST", "exportedVars", "Object", "create", "data", "local", "values", "names", "hasReexport", "source", "keys", "length", "scope", "generateUidIdentifier", "default", "initStatements", "kind", "buildInitStatement", "reexportsStatements", "i", "sort", "a", "b", "results", "initStatement", "chunkSize", "uninitializedExportNames", "j", "buildUndefinedNode", "InitTemplate", "computed", "expression", "exportNames", "initExpr", "reduce", "acc", "params", "VALUE", "parse", "version", "i", "release", "identifier", "diff", "prefix", "compare", "range", "comp", "from", "versions", "match", "next", "cloneNode", "interpreterDirective", "errorVisitor", "enter", "path", "state", "loc", "node", "stop", "File", "constructor", "options", "code", "ast", "inputMap", "_map", "Map", "opts", "declarations", "scope", "metadata", "hub", "file", "getCode", "getScope", "addHelper", "bind", "buildError", "buildCodeFrameError", "NodePath", "get", "parentPath", "parent", "container", "key", "setContext", "shebang", "interpreter", "value", "replaceWith", "remove", "set", "val", "Error", "has", "getModuleName", "addImport", "availableHelper", "name", "versionRange", "minVersion", "helpers", "err", "semver", "valid", "intersects", "declar", "generator", "res", "ensure", "uid", "generateUidIdentifier", "dependencies", "dep", "getDependencies", "nodes", "globals", "Object", "keys", "getAllBindings", "forEach", "hasBinding", "rename", "_compact", "unshiftContainer", "indexOf", "isVariableDeclaration", "registerDeclaration", "addTemplateObject", "msg", "_Error", "SyntaxError", "_loc", "traverse", "txt", "highlightCode", "codeFrameColumns", "start", "line", "column", "end", "undefined", "arrayExpression", "assignmentExpression", "binaryExpression", "blockStatement", "callExpression", "cloneNode", "conditionalExpression", "exportNamedDeclaration", "exportSpecifier", "expressionStatement", "functionExpression", "identifier", "memberExpression", "objectExpression", "program", "stringLiteral", "unaryExpression", "variableDeclaration", "variableDeclarator", "buildUmdWrapper", "replacements", "template", "statement", "buildGlobal", "allowlist", "namespace", "body", "container", "tree", "push", "buildHelpers", "buildModule", "refs", "unshift", "Object", "keys", "map", "name", "buildUmd", "FACTORY_PARAMETERS", "BROWSER_ARGUMENTS", "COMMON_ARGUMENTS", "AMD_ARGUMENTS", "FACTORY_BODY", "UMD_ROOT", "buildVar", "getHelperReference", "helpers", "list", "forEach", "indexOf", "ref", "ensure", "File", "nodes", "get", "outputType", "build", "global", "module", "umd", "var", "Error", "generator", "code", "findConfigUpwards", "rootDir", "findPackageData", "filepath", "directories", "pkg", "isPackage", "findRelativeConfig", "pkgData", "envName", "caller", "config", "ignore", "findRootConfig", "dirname", "loadConfig", "name", "Error", "resolveShowConfigPath", "ROOT_CONFIG_FILENAMES", "resolvePlugin", "resolvePreset", "loadPlugin", "loadPreset", "getEnv", "defaultValue", "process", "env", "BABEL_ENV", "resolve", "resolve", "self", "runGenerator", "gensync", "item", "isAsync", "sync", "errback", "cb", "maybeAsync", "fn", "message", "args", "result", "apply", "isThenable", "Error", "async", "Promise", "withKind", "forwardAsync", "action", "g", "kind", "adapted", "onFirstPause", "name", "arity", "firstPause", "completed", "err", "value", "waitFor", "x", "val", "then", "mergeOptions", "target", "source", "k", "Object", "keys", "parserOpts", "targetObj", "mergeDefaultFields", "val", "undefined", "isIterableIterator", "value", "next", "Symbol", "iterator", "finalize", "deepArr", "Object", "freeze", "flattenToSet", "arr", "result", "Set", "stack", "length", "el", "pop", "Array", "isArray", "push", "add", "Plugin", "constructor", "plugin", "options", "key", "externalDependencies", "finalize", "manipulateOptions", "post", "pre", "visitor", "parserOverride", "generatorOverride", "name", "once", "fn", "result", "resultP", "isAsync", "waitFor", "resolve", "reject", "Promise", "res", "rej", "error", "synchronize", "gen", "gensync", "sync", "genTrue", "makeWeakCache", "handler", "makeCachedFunction", "WeakMap", "makeWeakCacheSync", "makeStrongCache", "Map", "makeStrongCacheSync", "CallCache", "callCacheSync", "callCacheAsync", "futureCache", "cachedFunction", "arg", "data", "asyncContext", "isAsync", "callCache", "cached", "getCachedValueOrWait", "valid", "value", "cache", "CacheConfigurator", "handlerResult", "finishLock", "isIterableIterator", "onFirstPause", "setupAsyncLocks", "updateFunctionCache", "delete", "release", "getCachedValue", "cachedValue", "get", "waitFor", "promise", "config", "Lock", "configured", "forever", "deactivate", "mode", "set", "validator", "push", "constructor", "_active", "_never", "_forever", "_invalidate", "_configured", "_pairs", "_data", "simple", "makeSimpleConfigurator", "Error", "never", "using", "key", "fn", "maybeAsync", "isThenable", "then", "invalidate", "pairs", "cacheFn", "val", "assertSimpleType", "cb", "released", "_resolve", "Promise", "resolve", "require_browsers", "require_browserVersions", "require_agents", "versions", "version", "require_parse", "node", "match", "parse", "require_browser", "noop", "resolve", "parse", "env", "version", "normalize", "versions", "compare", "i", "diff", "resolve", "node", "filter", "config", "cache", "browser", "from", "release", "min", "Math", "levenshtein", "a", "b", "t", "u", "i", "j", "m", "length", "n", "findSuggestion", "str", "arr", "distances", "map", "el", "indexOf", "OptionValidator", "constructor", "descriptor", "validateTopLevelOptions", "options", "TopLevelOptionShape", "validOptionNames", "Object", "keys", "option", "includes", "Error", "formatMessage", "findSuggestion", "validateBooleanOption", "name", "value", "defaultValue", "undefined", "invariant", "validateStringOption", "condition", "message", "require_native_modules", "Node", "self", "node", "next", "prev", "from", "trim", "prev", "next", "node", "self", "diff", "length", "unreleasedLabels", "safari", "browserNameMap", "and_chr", "and_ff", "android", "chrome", "edge", "firefox", "ie", "ie_mob", "ios_saf", "node", "deno", "op_mob", "opera", "samsung", "versionRegExp", "v", "OptionValidator", "semverMin", "first", "second", "semver", "lt", "semverify", "version", "valid", "invariant", "test", "toString", "pos", "num", "indexOf", "repeat", "isUnreleasedVersion", "env", "unreleasedLabel", "unreleasedLabels", "toLowerCase", "getLowestUnreleased", "a", "b", "getHighestUnreleased", "getLowestImplementedVersion", "plugin", "environment", "result", "chrome", "TargetNames", "node", "deno", "chrome", "opera", "edge", "firefox", "safari", "ie", "ios", "android", "electron", "samsung", "rhino", "prettifyVersion", "version", "major", "minor", "patch", "semver", "parse", "parts", "push", "join", "prettifyTargets", "targets", "Object", "keys", "reduce", "results", "target", "value", "unreleasedLabel", "unreleasedLabels", "getInclusionReasons", "item", "targetVersions", "list", "minVersions", "Object", "keys", "reduce", "result", "env", "minVersion", "getLowestImplementedVersion", "targetVersion", "prettifyVersion", "minIsUnreleased", "isUnreleasedVersion", "targetIsUnreleased", "semver", "lt", "toString", "semverify", "require_plugins", "targetsSupported", "target", "support", "targetEnvironments", "Object", "keys", "length", "unsupportedEnvironments", "filter", "environment", "lowestImplementedVersion", "getLowestImplementedVersion", "lowestTargetedVersion", "isUnreleasedVersion", "semver", "valid", "toString", "Error", "gt", "semverify", "isRequired", "name", "targets", "compatData", "pluginsCompatData", "includes", "excludes", "has", "filterItems", "list", "defaultIncludes", "defaultExcludes", "pluginSyntaxMap", "result", "Set", "options", "item", "add", "shippedProposalsSyntax", "get", "forEach", "delete", "ESM_SUPPORT", "browserModulesData", "v", "OptionValidator", "validateTargetNames", "targets", "validTargets", "Object", "keys", "TargetNames", "target", "Error", "formatMessage", "findSuggestion", "isBrowsersQueryValid", "browsers", "Array", "isArray", "every", "b", "validateBrowsers", "invariant", "undefined", "String", "getLowestVersions", "reduce", "all", "browser", "browserName", "browserVersion", "split", "browserNameMap", "splitVersion", "toLowerCase", "isSplitUnreleased", "isUnreleasedVersion", "semverify", "version", "isUnreleased", "getLowestUnreleased", "parsedBrowserVersion", "semverMin", "e", "outputDecimalWarning", "decimalTargets", "length", "console", "warn", "forEach", "value", "semverifyTarget", "error", "nodeTargetParser", "parsed", "process", "versions", "node", "defaultTargetParser", "generateTargets", "inputTargets", "input", "esmodules", "resolveTargets", "queries", "env", "resolved", "browserslist", "mobileToDesktop", "targetsCache", "LruCache", "max", "resolveTargetsCached", "cacheKey", "join", "cached", "get", "set", "getTargets", "options", "configPath", "shouldParseBrowsers", "hasTargets", "shouldSearchForConfig", "ignoreBrowserslistConfig", "loadConfig", "config", "configFile", "path", "browserslistEnv", "map", "queryBrowsers", "esmSupportVersion", "getHighestUnreleased", "assign", "result", "decimalWarnings", "sort", "push", "parsedTarget", "parsedValue", "resolveBrowserslistConfigFile", "browserslistConfigFile", "configFilePath", "undefined", "resolveTargets", "options", "root", "optTargets", "targets", "Array", "isArray", "browsers", "esmodules", "getTargets", "ignoreBrowserslistConfig", "browserslistEnv", "isEqualDescriptor", "a", "b", "name", "value", "options", "dirname", "alias", "ownPass", "file", "request", "resolved", "handlerOf", "optionsWithResolvedBrowserslistConfigFile", "browserslistConfigFile", "resolveBrowserslistConfigFile", "createCachedDescriptors", "plugins", "presets", "passPerPreset", "createCachedPluginDescriptors", "createCachedPresetDescriptors", "createUncachedDescriptors", "once", "createPluginDescriptors", "createPresetDescriptors", "PRESET_DESCRIPTOR_CACHE", "WeakMap", "makeWeakCacheSync", "items", "cache", "using", "dir", "makeStrongCacheSync", "makeStrongCache", "descriptors", "map", "desc", "loadCachedDescriptor", "PLUGIN_DESCRIPTOR_CACHE", "DEFAULT_OPTIONS", "cacheByOptions", "get", "set", "possibilities", "indexOf", "matches", "filter", "possibility", "length", "push", "createDescriptors", "type", "gensync", "all", "item", "index", "createDescriptor", "assertNoDuplicates", "pair", "getItemDescriptor", "Array", "isArray", "undefined", "filepath", "Error", "resolver", "loadPlugin", "loadPreset", "String", "__esModule", "default", "Map", "nameMap", "Set", "has", "conflicts", "i", "JSON", "stringify", "join", "add", "createItemFromDescriptor", "desc", "ConfigItem", "createConfigItem", "value", "dirname", "type", "descriptor", "createDescriptor", "path", "resolve", "alias", "CONFIG_ITEM_BRAND", "Symbol", "for", "getItemDescriptor", "item", "_descriptor", "undefined", "constructor", "options", "name", "file", "Object", "defineProperty", "enumerable", "request", "resolved", "freeze", "prototype", "require_common", "env", "hash", "self", "match", "delimiter", "require_browser", "match", "auxiliaryComment", "message", "blacklist", "breakConfig", "experimental", "externalHelpers", "extra", "jsxPragma", "loose", "metadataUsedHelpers", "modules", "nonStandard", "optional", "sourceMapName", "stage", "whitelist", "resolveModuleSource", "version", "metadata", "sourceMapTarget", "msg", "loc", "type", "parent", "name", "index", "JSON", "stringify", "Error", "access", "assertRootMode", "value", "undefined", "assertSourceMaps", "assertCompact", "assertSourceType", "assertCallerMetadata", "obj", "assertObject", "prop", "Object", "keys", "propLoc", "assertInputSourceMap", "assertString", "assertFunction", "assertBoolean", "Array", "isArray", "assertArray", "assertIgnoreList", "arr", "forEach", "item", "i", "assertIgnoreItem", "RegExp", "assertConfigApplicableTest", "checkValidTest", "assertConfigFileSearch", "assertBabelrcSearch", "assertPluginList", "assertPluginItem", "length", "assertPluginTarget", "opts", "assertTargets", "isBrowsersQueryValid", "browsersLoc", "esmodulesLoc", "assertBrowsersList", "browsers", "esmodules", "key", "val", "subLoc", "hasOwnProperty", "call", "TargetNames", "validTargets", "join", "assertBrowserVersion", "Math", "round", "assertAssumptions", "root", "inPreset", "source", "assumptionsNames", "has", "ErrorToString", "Function", "call", "bind", "Error", "prototype", "toString", "SUPPORTED", "captureStackTrace", "START_HIDING", "STOP_HIDING", "expectedErrors", "WeakSet", "virtualFrames", "WeakMap", "CallSite", "filename", "Object", "create", "isNative", "isConstructor", "isToplevel", "getFileName", "getLineNumber", "undefined", "getColumnNumber", "getFunctionName", "getMethodName", "getTypeName", "injectVirtualStackFrame", "error", "frames", "get", "set", "push", "expectedError", "add", "beginHiddenCallStack", "fn", "defineProperty", "args", "setupPrepareStackTrace", "value", "endHiddenCallStack", "prepareStackTrace", "defaultPrepareStackTrace", "MIN_STACK_TRACE_LIMIT", "stackTraceLimit", "Math", "max", "stackTraceRewriter", "err", "trace", "newTrace", "isExpected", "has", "status", "i", "length", "name", "unshift", "join", "ConfigError", "Error", "constructor", "message", "filename", "expectedError", "injectVirtualStackFrame", "ROOT_VALIDATORS", "cwd", "assertString", "root", "rootMode", "assertRootMode", "configFile", "assertConfigFileSearch", "caller", "assertCallerMetadata", "filename", "filenameRelative", "code", "assertBoolean", "ast", "cloneInputAst", "envName", "BABELRC_VALIDATORS", "babelrc", "babelrcRoots", "assertBabelrcSearch", "NONPRESET_VALIDATORS", "extends", "ignore", "assertIgnoreList", "only", "targets", "assertTargets", "browserslistConfigFile", "browserslistEnv", "COMMON_VALIDATORS", "inputSourceMap", "assertInputSourceMap", "presets", "assertPluginList", "plugins", "passPerPreset", "assumptions", "assertAssumptions", "env", "assertEnvSet", "overrides", "assertOverridesList", "test", "assertConfigApplicableTest", "include", "exclude", "retainLines", "comments", "shouldPrintComment", "assertFunction", "compact", "assertCompact", "minified", "auxiliaryCommentBefore", "auxiliaryCommentAfter", "sourceType", "assertSourceType", "wrapPluginVisitorMethod", "highlightCode", "sourceMaps", "assertSourceMaps", "sourceMap", "sourceFileName", "sourceRoot", "parserOpts", "assertObject", "generatorOpts", "Object", "assign", "getModuleId", "moduleRoot", "moduleIds", "moduleId", "knownAssumptions", "assumptionsNames", "Set", "getSource", "loc", "type", "source", "parent", "validate", "opts", "validateNested", "error", "configError", "ConfigError", "message", "assertNoDuplicateSourcemap", "keys", "forEach", "key", "optLoc", "name", "Error", "msg", "validator", "throwUnknownError", "removed", "version", "unknownOptErr", "has", "obj", "prototype", "hasOwnProperty", "call", "value", "access", "envLoc", "arr", "assertArray", "index", "item", "entries", "objLoc", "overridesLoc", "checkNoUnwrappedItemOptionPairs", "items", "e", "lastItem", "thisItem", "file", "options", "undefined", "request", "JSON", "stringify", "sep", "path", "endSep", "substitution", "starPat", "starPatLast", "starStarPat", "starStarPatLast", "escapeRegExp", "string", "replace", "pathToPattern", "pattern", "dirname", "parts", "resolve", "split", "RegExp", "map", "part", "i", "last", "length", "indexOf", "slice", "join", "ChainFormatter", "Programmatic", "Config", "Formatter", "title", "type", "callerName", "filepath", "loc", "index", "envName", "optionsAndDescriptors", "opt", "content", "options", "overrides", "env", "pluginDescriptors", "plugins", "length", "map", "d", "descriptorToConfig", "presetDescriptors", "presets", "JSON", "stringify", "undefined", "name", "file", "request", "value", "toString", "slice", "ConfigPrinter", "_stack", "configure", "enabled", "push", "format", "config", "output", "configs", "gensync", "all", "s", "join", "debug", "buildDebug", "buildPresetChain", "arg", "context", "chain", "buildPresetChainWalker", "plugins", "dedupDescriptors", "presets", "options", "map", "o", "normalizeOptions", "files", "Set", "makeChainWalker", "root", "preset", "loadPresetDescriptors", "env", "envName", "loadPresetEnvDescriptors", "overrides", "index", "loadPresetOverridesDescriptors", "overridesEnv", "loadPresetOverridesEnvDescriptors", "createLogger", "makeWeakCacheSync", "buildRootDescriptors", "alias", "createUncachedDescriptors", "makeStrongCacheSync", "buildEnvDescriptors", "buildOverrideDescriptors", "buildOverrideEnvDescriptors", "buildRootChain", "opts", "configReport", "babelRcReport", "programmaticLogger", "ConfigPrinter", "programmaticChain", "loadProgrammaticChain", "dirname", "cwd", "undefined", "programmaticReport", "output", "configFile", "loadConfig", "caller", "findRootConfig", "babelrc", "babelrcRoots", "babelrcRootsDirectory", "configFileChain", "emptyChain", "configFileLogger", "validatedFile", "validateConfigFile", "result", "loadFileChain", "mergeChain", "ignoreFile", "babelrcFile", "isIgnored", "fileChain", "filename", "pkgData", "findPackageData", "babelrcLoadEnabled", "ignore", "config", "findRelativeConfig", "add", "filepath", "shouldIgnore", "validateBabelrcFile", "babelrcLogger", "showConfig", "console", "log", "filter", "x", "join", "fileHandling", "absoluteRoot", "directories", "indexOf", "babelrcPatterns", "Array", "isArray", "pat", "path", "resolve", "length", "some", "pathPatternToRegex", "directory", "matchPattern", "file", "validate", "validateExtendFile", "input", "createCachedDescriptors", "baseLogger", "buildProgrammaticLogger", "loadFileChainWalker", "loadFileDescriptors", "loadFileEnvDescriptors", "loadFileOverridesDescriptors", "loadFileOverridesEnvDescriptors", "buildFileLogger", "configure", "ChainFormatter", "Config", "descriptors", "_", "Programmatic", "callerName", "name", "Error", "override", "chainWalker", "flattenedConfigs", "rootOpts", "configIsApplicable", "push", "envOpts", "forEach", "overrideOps", "overrideEnvOpts", "only", "logger", "mergeExtendsChain", "mergeChainOpts", "extends", "has", "from", "delete", "target", "source", "passPerPreset", "test", "include", "exclude", "Object", "prototype", "hasOwnProperty", "call", "sourceMaps", "sourceMap", "items", "Map", "item", "value", "fnKey", "nameMap", "get", "set", "desc", "ownPass", "reduce", "acc", "configName", "configFieldIsApplicable", "patterns", "matchesPatterns", "ignoreListReplacer", "_key", "RegExp", "String", "message", "JSON", "stringify", "pattern", "pathToTest", "endHiddenCallStack", "ConfigError", "VALIDATORS", "name", "assertString", "manipulateOptions", "assertFunction", "pre", "post", "inherits", "visitor", "assertVisitorMap", "parserOverride", "generatorOverride", "loc", "value", "obj", "assertObject", "Object", "keys", "forEach", "prop", "assertVisitorHandler", "enter", "exit", "Error", "msg", "key", "handler", "validatePluginObject", "rootPath", "type", "source", "validator", "optLoc", "parent", "invalidPluginPropertyError", "code", "makeConfigAPI", "cache", "env", "value", "using", "data", "envName", "assertSimpleType", "Array", "isArray", "some", "entry", "Error", "caller", "cb", "version", "coreVersion", "simple", "async", "assertVersion", "makePresetAPI", "externalDependencies", "targets", "JSON", "parse", "stringify", "addExternalDependency", "ref", "push", "makePluginAPI", "assumption", "name", "assumptions", "range", "Number", "isInteger", "semver", "satisfies", "limit", "stackTraceLimit", "err", "Object", "assign", "code", "resolveRootMode", "rootDir", "rootMode", "upwardRootDir", "findConfigUpwards", "Object", "assign", "Error", "ROOT_CONFIG_FILENAMES", "join", "code", "dirname", "loadPrivatePartialConfig", "inputOpts", "Array", "isArray", "args", "validate", "envName", "getEnv", "cwd", "root", "caller", "cloneInputAst", "absoluteCwd", "path", "resolve", "absoluteRootDir", "filename", "undefined", "showConfigPath", "resolveShowConfigPath", "context", "showConfig", "configChain", "buildRootChain", "merged", "assumptions", "options", "forEach", "opts", "mergeOptions", "targets", "resolveTargets", "babelrc", "configFile", "browserslistConfigFile", "passPerPreset", "plugins", "map", "descriptor", "createItemFromDescriptor", "presets", "fileHandling", "ignore", "config", "files", "loadPartialConfig", "gensync", "showIgnoredFiles", "result", "item", "value", "Plugin", "PartialConfig", "filepath", "constructor", "babelignore", "freeze", "hasFilesystemConfig", "prototype", "gensync", "loadFullConfig", "inputOpts", "result", "loadPrivatePartialConfig", "options", "context", "fileHandling", "optionDefaults", "plugins", "presets", "Error", "presetContext", "targets", "toDescriptor", "item", "desc", "getItemDescriptor", "presetsDescriptors", "map", "initialPluginsDescriptors", "pluginDescriptorsByPass", "passes", "externalDependencies", "ignored", "enhanceError", "recursePresetDescriptors", "rawPresets", "pluginDescriptorsPass", "i", "length", "descriptor", "preset", "loadPresetDescriptor", "e", "code", "checkNoUnwrappedItemOptionPairs", "push", "ownPass", "chain", "pass", "unshift", "splice", "o", "filter", "p", "forEach", "opts", "mergeOptions", "pluginContext", "assumptions", "loadPluginDescriptors", "descs", "plugin", "loadPluginDescriptor", "slice", "passPerPreset", "freezeDeepArray", "fn", "arg1", "arg2", "test", "message", "filename", "makeDescriptorLoader", "apiFactory", "makeWeakCache", "value", "dirname", "alias", "cache", "factory", "maybeAsync", "api", "JSON", "stringify", "isThenable", "configured", "mode", "error", "pluginDescriptorLoader", "makePluginAPI", "presetDescriptorLoader", "makePresetAPI", "instantiatePlugin", "pluginObj", "validatePluginObject", "visitor", "traverse", "explode", "inherits", "inheritsDescriptor", "name", "undefined", "forwardAsync", "run", "invalidate", "data", "pre", "post", "manipulateOptions", "visitors", "merge", "Plugin", "needsFilename", "val", "validateIfOptionNeedsFilename", "include", "exclude", "formattedPresetName", "ConfigError", "join", "validatePreset", "overrides", "overrideOptions", "instantiatePreset", "makeWeakCacheSync", "validate", "buildPresetChain", "a", "b", "fns", "Boolean", "args", "apply", "loadOptionsRunner", "gensync", "opts", "config", "loadFullConfig", "options", "createConfigItemRunner", "createConfigItemImpl", "maybeErrback", "runner", "argOrCallback", "maybeCallback", "arg", "callback", "undefined", "errback", "sync", "loadPartialConfig", "loadPartialConfigRunner", "loadPartialConfigSync", "loadPartialConfigAsync", "async", "loadOptions", "loadOptionsSync", "loadOptionsAsync", "createConfigItemSync", "createConfigItemAsync", "createConfigItem", "target", "PluginPass", "constructor", "file", "key", "options", "_map", "Map", "opts", "cwd", "filename", "set", "val", "get", "availableHelper", "name", "versionRange", "addHelper", "addImport", "buildCodeFrameError", "node", "msg", "_Error", "prototype", "getModuleName", "LOADED_PLUGIN", "blockHoistPlugin", "name", "visitor", "Block", "exit", "node", "body", "max", "hasChange", "i", "length", "n", "p", "priority", "stableSort", "slice", "loadBlockHoistPlugin", "Plugin", "traverse", "explode", "bodyNode", "_blockHoist", "buckets", "Object", "create", "bucket", "push", "keys", "map", "k", "sort", "a", "b", "index", "key", "normalizeOptions", "config", "filename", "cwd", "filenameRelative", "path", "relative", "sourceType", "inputSourceMap", "sourceMaps", "sourceRoot", "options", "moduleRoot", "sourceFileName", "basename", "comments", "compact", "opts", "parserOpts", "extname", "plugins", "generatorOpts", "auxiliaryCommentBefore", "auxiliaryCommentAfter", "retainLines", "shouldPrintComment", "minified", "passes", "plugin", "manipulateOptions", "require_buffer", "Buffer", "length", "fill", "comment", "pluginNameMap", "asyncDoExpressions", "syntax", "name", "url", "decimal", "decorators", "transform", "doExpressions", "exportDefaultFrom", "flow", "functionBind", "functionSent", "jsx", "importAssertions", "pipelineOperator", "recordAndTuple", "regexpUnicodeSets", "throwExpressions", "typescript", "asyncGenerators", "classProperties", "classPrivateProperties", "classPrivateMethods", "classStaticBlock", "dynamicImport", "exportNamespaceFrom", "importMeta", "logicalAssignment", "moduleStringNames", "numericSeparator", "nullishCoalescingOperator", "objectRestSpread", "optionalCatchBinding", "optionalChaining", "privateIn", "getNameURLCombination", "generateMissingPluginMessage", "missingPluginName", "loc", "codeFrame", "helpMessage", "line", "column", "pluginInfo", "syntaxPlugin", "transformPlugin", "syntaxPluginInfo", "transformPluginInfo", "sectionType", "startsWith", "parser", "pluginPasses", "parserOpts", "highlightCode", "filename", "code", "results", "plugins", "plugin", "parserOverride", "ast", "parse", "undefined", "push", "length", "then", "Error", "err", "message", "loc", "missingPlugin", "codeFrame", "codeFrameColumns", "start", "line", "column", "generateMissingPluginMessage", "deepClone", "value", "cache", "has", "get", "cloned", "Array", "isArray", "length", "set", "i", "keys", "Object", "key", "Map", "file", "traverseFast", "debug", "buildDebug", "INLINE_SOURCEMAP_REGEX", "EXTERNAL_SOURCEMAP_REGEX", "normalizeFile", "pluginPasses", "options", "code", "ast", "type", "Error", "cloneInputAst", "cloneDeep", "parser", "inputMap", "inputSourceMap", "convertSourceMap", "fromObject", "lastComment", "extractComments", "fromComment", "err", "filename", "match", "exec", "inputMapContent", "fs", "readFileSync", "path", "resolve", "dirname", "fromJSON", "File", "extractCommentsFromList", "regex", "comments", "filter", "value", "test", "node", "leadingComments", "innerComments", "trailingComments", "addSegment", "addMapping", "setSourceContent", "decodedMap", "encodedMap", "allMappings", "SetArray", "line", "seg", "index", "put", "encode", "column", "compare", "GenMapping", "decodedMappings", "source", "column", "line", "addSegment", "setSourceContent", "traceSegment", "TraceMap", "build", "decodedMap", "encodedMap", "mergeSourceMap", "inputMap", "map", "sourceFileName", "source", "replace", "found", "result", "remapping", "rootless", "s", "ctx", "sourceRoot", "generateCode", "pluginPasses", "file", "opts", "ast", "code", "inputMap", "generatorOpts", "inputSourceMap", "toObject", "results", "plugins", "plugin", "generatorOverride", "result", "generate", "undefined", "push", "length", "then", "Error", "outputCode", "decodedMap", "outputMap", "map", "__mergedMap", "mergeSourceMap", "sourceFileName", "sourceMaps", "convertSourceMap", "fromObject", "toComment", "run", "config", "code", "ast", "file", "normalizeFile", "passes", "normalizeOptions", "opts", "transformFile", "e", "message", "filename", "outputCode", "outputMap", "generateCode", "metadata", "options", "undefined", "map", "sourceType", "program", "externalDependencies", "flattenToSet", "pluginPasses", "pluginPairs", "passPairs", "visitors", "plugin", "concat", "loadBlockHoistPlugin", "pass", "PluginPass", "key", "push", "visitor", "fn", "pre", "result", "call", "isThenable", "Error", "traverse", "merge", "wrapPluginVisitorMethod", "scope", "post", "val", "then", "transformRunner", "gensync", "transform", "code", "opts", "config", "loadConfig", "run", "optsOrCallback", "maybeCallback", "callback", "undefined", "beginHiddenCallStack", "sync", "errback", "transformSync", "args", "transformAsync", "async", "transformFile", "filename", "opts", "callback", "Error", "transformFileSync", "transformFileAsync", "Promise", "reject", "transformFromAstRunner", "gensync", "ast", "code", "opts", "config", "loadConfig", "Error", "run", "transformFromAst", "optsOrCallback", "maybeCallback", "callback", "undefined", "beginHiddenCallStack", "sync", "errback", "transformFromAstSync", "args", "transformFromAstAsync", "async", "parseRunner", "gensync", "parse", "code", "opts", "config", "loadConfig", "parser", "passes", "normalizeOptions", "callback", "undefined", "beginHiddenCallStack", "sync", "errback", "parseSync", "args", "parseAsync", "async", "version", "DEFAULT_EXTENSIONS", "Object", "freeze", "OptionManager", "init", "opts", "loadOptionsSync", "Plugin", "alias", "Error", "apiPolyfills", "assertVersion", "api", "range", "throwVersionError", "version", "targets", "assumption", "undefined", "declare", "builder", "options", "dirname", "clonedApi", "name", "Object", "keys", "copyApiObject", "declarePreset", "proto", "test", "getPrototypeOf", "has", "obj", "key", "prototype", "hasOwnProperty", "call", "Number", "isInteger", "Error", "limit", "stackTraceLimit", "err", "slice", "assign", "code", "require_lib", "require_lib", "comment", "node", "node", "filter", "comment", "createElement", "define", "name", "props", "require_lib", "removePlugin", "plugins", "name", "indices", "forEach", "plugin", "i", "n", "Array", "isArray", "unshift", "splice", "declare", "api", "disallowAmbiguousJSXLike", "dts", "isTSX", "assertVersion", "manipulateOptions", "opts", "parserOpts", "push", "willPathCastToBoolean", "path", "maybeWrapped", "node", "parentPath", "isLogicalExpression", "operator", "right", "isSequenceExpression", "expressions", "length", "isConditional", "test", "isUnaryExpression", "isLoop", "LOGICAL_OPERATORS", "arrowFunctionExpression", "assignmentExpression", "binaryExpression", "booleanLiteral", "callExpression", "cloneNode", "conditionalExpression", "identifier", "isMemberExpression", "isOptionalCallExpression", "isOptionalMemberExpression", "isUpdateExpression", "logicalExpression", "memberExpression", "nullLiteral", "optionalCallExpression", "optionalMemberExpression", "sequenceExpression", "updateExpression", "_t", "AssignmentMemoiser", "constructor", "_map", "WeakMap", "has", "key", "get", "record", "value", "count", "set", "toNonOptional", "base", "property", "computed", "callee", "optional", "object", "context", "scope", "maybeGenerateMemoised", "replaceWith", "arguments", "isInDetachedTree", "isProgram", "container", "listKey", "parentNode", "handle", "memoise", "member", "noDocumentAll", "parent", "endPath", "find", "isPattern", "willEndPathCastToBoolean", "rootParentPath", "argument", "isAssignmentExpression", "left", "buildCodeFrameError", "isDeleteOperation", "isPrivateName", "startingOptional", "Error", "type", "startingNode", "baseNeedsMemoised", "baseRef", "parentIsOptionalCall", "isOptionalCall", "parentIsCall", "isCallExpression", "optionalCall", "call", "boundGet", "delete", "regular", "current", "endParentPath", "replacementPath", "baseMemoised", "nonNullishCheck", "buildUndefinedNode", "nullishCheck", "endParent", "simpleSet", "prefix", "ref", "generateUidIdentifierBasedOnNode", "push", "id", "seq", "ref2", "operatorTrunc", "slice", "includes", "isForXStatement", "isObjectProperty", "isObjectPattern", "isAssignmentPattern", "isArrayPattern", "isRestElement", "destructureSet", "isTaggedTemplateExpression", "memberExpressionToFunctions", "visitor", "state", "traverse", "memoiser", "require_lib", "identifier", "assignmentExpression", "booleanLiteral", "callExpression", "cloneNode", "identifier", "memberExpression", "sequenceExpression", "stringLiteral", "thisExpression", "getPrototypeOfExpression", "objectRef", "isStatic", "file", "isPrivateMethod", "targetRef", "addHelper", "visitor", "traverse", "visitors", "merge", "environmentVisitor", "Super", "path", "state", "node", "parentPath", "isMemberExpression", "object", "handle", "unshadowSuperBindingVisitor", "Scopable", "refName", "binding", "scope", "getOwnBinding", "name", "rename", "specHandlers", "memoise", "superMember", "count", "computed", "property", "memo", "maybeGenerateMemoised", "memoiser", "set", "prop", "has", "get", "_get", "_getThisRefs", "thisRefs", "proto", "getObjectRef", "this", "isDerivedConstructor", "thisRef", "generateDeclaredUidIdentifier", "value", "isInStrictMode", "destructureSet", "buildCodeFrameError", "call", "args", "optimiseCall", "optionalCall", "delete", "template", "expression", "ast", "looseHandlers", "getSuperRef", "ReplaceSupers", "constructor", "opts", "methodPath", "isClassMethod", "kind", "superRef", "isObjectMethod", "static", "isStaticBlock", "isPrivate", "isMethod", "constantSuper", "isLoose", "replace", "refToPreserve", "handler", "memberExpressionToFunctions", "bind", "boundGet", "isParenthesizedExpression", "isTSAsExpression", "isTSNonNullExpression", "isTSSatisfiesExpression", "isTSTypeAssertion", "isTypeCastExpression", "isTransparentExprWrapper", "node", "skipTransparentExprWrappers", "path", "get", "skipTransparentExprWrapperNodes", "expression", "assertFieldTransformed", "path", "node", "declare", "buildCodeFrameError", "buildPrivateNamesMap", "props", "privateNamesMap", "Map", "prop", "isPrivate", "name", "node", "key", "id", "update", "has", "get", "scope", "generateUidIdentifier", "static", "method", "isProperty", "isClassPrivateMethod", "kind", "getId", "setId", "methodId", "set", "buildPrivateNamesNodes", "privateFieldsAsProperties", "privateFieldsAsSymbols", "state", "initNodes", "value", "isStatic", "isMethod", "isAccessor", "t", "cloneNode", "init", "callExpression", "addHelper", "stringLiteral", "identifier", "newExpression", "annotateAsPure", "push", "template", "statement", "ast", "privateNameVisitorFactory", "visitor", "nestedVisitor", "traverse", "visitors", "merge", "environmentVisitor", "privateNameVisitor", "Class", "path", "body", "visiblePrivateNames", "redeclared", "delete", "length", "skipKey", "PrivateName", "noDocumentAll", "parentPath", "isMemberExpression", "property", "isOptionalMemberExpression", "includes", "handle", "unshadow", "innerBinding", "hasBinding", "bindingIdentifierEquals", "rename", "parent", "buildCheckInRHS", "rhs", "file", "inRHSIsObject", "availableHelper", "privateInVisitor", "BinaryExpression", "operator", "left", "right", "isPrivateName", "classRef", "replaceWith", "expression", "privateNameHandlerSpec", "memoise", "member", "count", "object", "memo", "maybeGenerateMemoised", "memoiser", "receiver", "helperName", "sequenceExpression", "console", "warn", "boundGet", "memberExpression", "destructureSet", "helper", "Error", "call", "args", "optimiseCall", "optionalCall", "privateNameHandlerLoose", "BASE", "REF", "PROP", "simpleSet", "optionalCallExpression", "transformPrivateNamesUsage", "ref", "size", "handler", "memberExpressionToFunctions", "buildPrivateFieldInitLoose", "buildUndefinedNode", "inheritPropComments", "buildPrivateInstanceFieldInitSpec", "thisExpression", "buildPrivateStaticFieldInitSpec", "privateName", "initAdded", "buildPrivateMethodInitLoose", "buildPrivateInstanceMethodInitSpec", "buildPrivateAccessorInitialization", "buildPrivateInstanceMethodInitialization", "buildPublicFieldInitLoose", "computed", "expressionStatement", "assignmentExpression", "isLiteral", "buildPublicFieldInitSpec", "buildPrivateStaticMethodInitLoose", "buildPrivateMethodDeclaration", "getterDeclared", "setterDeclared", "params", "generator", "async", "isGetter", "isSetter", "declId", "functionDeclaration", "thisContextVisitor", "ThisExpression", "findParent", "isTransparentExprWrapper", "isUnaryExpression", "booleanLiteral", "needsClassRef", "MetaProperty", "meta", "isIdentifier", "innerReferencesVisitor", "ReferencedIdentifier", "replaceThisContext", "getSuperRef", "isStaticBlock", "constantSuper", "innerBindingRef", "replacer", "ReplaceSupers", "methodPath", "refToPreserve", "getObjectRef", "replace", "isNameOrLength", "type", "inheritLeadingComments", "inheritInnerComments", "buildFieldsInitNodes", "superRef", "setPublicClassFields", "injectSuperRef", "staticNodes", "instanceNodes", "pureStaticNodes", "generateUidIdentifierBasedOnNode", "isClassProperty", "ts", "assertFieldTransformed", "isInstance", "isPublic", "isField", "replaced", "blockBody", "isExpressionStatement", "inheritsComments", "unshift", "filter", "Boolean", "wrapClass", "remove", "superClass", "isClassExpression", "hasOwnDecorators", "node", "decorators", "length", "hasDecorators", "body", "some", "prop", "key", "value", "t", "objectProperty", "identifier", "method", "objectMethod", "blockStatement", "takeDecorators", "result", "arrayExpression", "map", "decorator", "expression", "undefined", "getKey", "computed", "isIdentifier", "stringLiteral", "name", "String", "extractElementDescriptor", "file", "classRef", "superRef", "path", "isMethod", "isClassMethod", "isPrivate", "buildCodeFrameError", "type", "scope", "isTSDeclareMethod", "ReplaceSupers", "methodPath", "objectRef", "refToPreserve", "replace", "properties", "kind", "static", "booleanLiteral", "filter", "Boolean", "id", "transformed", "toExpression", "push", "nameFunction", "isClassProperty", "template", "statements", "ast", "buildUndefinedNode", "remove", "objectExpression", "addDecorateHelper", "addHelper", "buildDecoratedClass", "ref", "elements", "initializeId", "generateUidIdentifier", "isDeclaration", "isStrict", "isInStrictMode", "superClass", "cloneNode", "superId", "generateUidIdentifierBasedOnNode", "classDecorators", "definitions", "element", "abstract", "wrapperCall", "nullLiteral", "arguments", "directives", "directive", "directiveLiteral", "replacement", "classPathDesc", "statement", "instanceNodes", "wrapClass", "replaceWith", "get", "findBareSupers", "traverse", "visitors", "merge", "Super", "path", "node", "parentPath", "isCallExpression", "callee", "push", "environmentVisitor", "referenceVisitor", "skip", "ReferencedIdentifier", "scope", "hasOwnBinding", "name", "rename", "handleClassTDZ", "state", "classBinding", "getBinding", "classNameTDZError", "file", "addHelper", "throwNode", "t", "callExpression", "stringLiteral", "replaceWith", "sequenceExpression", "classFieldDefinitionEvaluationTDZVisitor", "injectInitialization", "constructor", "nodes", "renamer", "length", "isDerived", "superClass", "newConstructor", "classMethod", "identifier", "blockStatement", "params", "restElement", "body", "template", "statement", "ast", "get", "unshiftContainer", "bareSupers", "isFirst", "bareSuper", "insertAfter", "map", "n", "cloneNode", "extractComputedKeys", "computedPaths", "declarations", "id", "computedPath", "computedKey", "isReferencedIdentifier", "computedNode", "isConstantExpression", "ident", "generateUidIdentifierBasedOnNode", "key", "kind", "expressionStatement", "assignmentExpression", "FEATURES", "Object", "freeze", "fields", "privateMethods", "decorators", "privateIn", "staticBlocks", "featuresSameLoose", "Map", "featuresKey", "looseKey", "looseLowPriorityKey", "enableFeature", "file", "feature", "loose", "hasFeature", "canIgnoreLoose", "set", "get", "setLoose", "resolvedLoose", "higherPriorityPluginName", "mask", "name", "isLoose", "Error", "undefined", "console", "warn", "shouldTransform", "path", "decoratorPath", "publicFieldPath", "privateFieldPath", "privateMethodPath", "staticBlockPath", "hasOwnDecorators", "node", "el", "isClassProperty", "isClassPrivateProperty", "isClassPrivateMethod", "isStaticBlock", "buildCodeFrameError", "version", "split", "reduce", "v", "x", "versionKey", "createClassFeaturePlugin", "name", "feature", "loose", "manipulateOptions", "api", "assumption", "inherits", "setPublicClassFields", "privateFieldsAsSymbols", "privateFieldsAsProperties", "constantSuper", "noDocumentAll", "Error", "privateFieldsAsSymbolsOrProperties", "explicit", "undefined", "push", "length", "console", "warn", "join", "pre", "file", "enableFeature", "get", "set", "visitor", "Class", "path", "shouldTransform", "isClassDeclaration", "assertFieldTransformed", "isLoose", "constructor", "isDecorated", "hasDecorators", "node", "props", "elements", "computedPaths", "privateNames", "Set", "body", "isClassProperty", "isClassMethod", "computed", "isPrivate", "key", "id", "getName", "setName", "isClassPrivateMethod", "kind", "has", "buildCodeFrameError", "add", "isProperty", "isStaticBlock", "innerBinding", "ref", "isClassExpression", "nameFunction", "scope", "generateUidIdentifier", "t", "cloneNode", "privateNamesMap", "buildPrivateNamesMap", "privateNamesNodes", "buildPrivateNamesNodes", "transformPrivateNamesUsage", "keysNodes", "staticNodes", "instanceNodes", "pureStaticNodes", "wrapClass", "buildDecoratedClass", "extractComputedKeys", "buildFieldsInitNodes", "superClass", "injectInitialization", "referenceVisitor", "state", "prop", "static", "traverse", "wrappedPath", "insertBefore", "insertAfter", "find", "parent", "isStatement", "isDeclaration", "ExportDefaultDeclaration", "decl", "splitExportDeclaration", "type", "ENUMS", "WeakMap", "transpileEnum", "path", "t", "node", "declare", "remove", "name", "id", "wrapper", "fill", "data", "enumFill", "parent", "type", "insertAfter", "seen", "parentPath", "isGlobal", "isProgram", "scope", "registerDeclaration", "replaceWith", "makeVar", "set", "getBindingIdentifier", "Error", "isExportDeclaration", "getData", "setData", "kind", "variableDeclaration", "variableDeclarator", "buildEnumWrapper", "template", "buildStringAssignment", "buildNumericAssignment", "buildEnumMember", "isString", "options", "enumValues", "x", "translateEnumValues", "assignments", "map", "memberName", "memberValue", "isStringLiteral", "ENUM", "cloneNode", "NAME", "VALUE", "ID", "ASSIGNMENTS", "ReferencedIdentifier", "expr", "state", "has", "hasOwnBinding", "memberExpression", "skip", "enumSelfReferenceVisitor", "Map", "constValue", "lastName", "get", "memberPath", "member", "isIdentifier", "value", "initializerPath", "initializer", "computeConstantValue", "undefined", "numericLiteral", "assert", "stringLiteral", "isReferencedIdentifier", "traverse", "buildCodeFrameError", "lastRef", "binaryExpression", "prevMembers", "Set", "evaluate", "evaluateRef", "evalUnaryExpression", "evalBinaryExpression", "quasis", "length", "cooked", "paths", "str", "i", "isMemberExpression", "obj", "object", "prop", "property", "computed", "bindingIdentifier", "bindingInitPath", "resolve", "add", "operator", "left", "right", "transpileConstEnum", "path", "t", "name", "node", "id", "parentIsExport", "parentPath", "isExportNamedDeclaration", "isExported", "isProgram", "parent", "body", "some", "stmt", "exportKind", "source", "specifiers", "spec", "isExportSpecifier", "local", "enumValues", "entries", "translateEnumValues", "obj", "objectExpression", "map", "value", "objectProperty", "isValidIdentifier", "identifier", "stringLiteral", "scope", "hasOwnBinding", "replaceWith", "expressionStatement", "callExpression", "memberExpression", "variableDeclaration", "variableDeclarator", "registerDeclaration", "entriesMap", "Map", "traverse", "Scope", "skip", "MemberExpression", "isIdentifier", "object", "key", "computed", "isStringLiteral", "property", "has", "cloneNode", "get", "remove", "transpileNamespace", "path", "allowNamespaces", "node", "declare", "id", "type", "remove", "get", "buildCodeFrameError", "name", "value", "handleNested", "t", "cloneNode", "bound", "scope", "hasOwnBinding", "parent", "parentPath", "insertAfter", "replaceWith", "getDeclaration", "registerDeclaration", "replaceWithMultiple", "variableDeclaration", "variableDeclarator", "identifier", "getMemberExpression", "itemName", "memberExpression", "handleVariableDeclaration", "hub", "kind", "file", "declarations", "every", "declarator", "isIdentifier", "init", "assignmentExpression", "bindingIdentifiers", "getBindingIdentifiers", "assignments", "idName", "push", "expressionStatement", "sequenceExpression", "buildNestedAmbientModuleError", "buildError", "Error", "parentExport", "names", "Set", "realName", "assertIdentifier", "generateUid", "namespaceTopLevel", "isTSModuleBlock", "body", "exportNamedDeclaration", "i", "length", "subNode", "transformed", "moduleName", "has", "add", "splice", "declaration", "nodes", "fallthroughValue", "objectExpression", "memberExpr", "template", "expression", "ast", "statement", "isInType", "path", "parent", "type", "parentPath", "findParent", "exportKind", "GLOBAL_TYPES", "WeakMap", "NEEDS_EXPLICIT_ESM", "PARSED_PARAMS", "WeakSet", "isGlobalType", "scope", "name", "hasBinding", "get", "has", "console", "warn", "registerGlobalType", "programScope", "add", "safeRemove", "ids", "getBindingIdentifiers", "Object", "keys", "binding", "getBinding", "identifier", "removeBinding", "opts", "noScope", "remove", "declare", "api", "types", "t", "template", "assertVersion", "JSX_PRAGMA_REGEX", "allowNamespaces", "jsxPragma", "jsxPragmaFrag", "onlyRemoveTypeImports", "optimizeConstEnums", "allowDeclareFields", "classMemberVisitors", "field", "node", "buildCodeFrameError", "value", "decorators", "definite", "isClassPrivateProperty", "abstract", "accessibility", "readonly", "optional", "typeAnnotation", "override", "method", "constructor", "classPath", "assigns", "paramPath", "param", "parameter", "id", "isIdentifier", "isAssignmentPattern", "left", "push", "statement", "ast", "cloneNode", "replaceWith", "registerBinding", "injectInitialization", "inherits", "syntaxTypeScript", "visitor", "Pattern", "visitPattern", "Identifier", "RestElement", "Program", "enter", "state", "file", "fileJsxPragma", "fileJsxPragmaFrag", "set", "Set", "comments", "comment", "jsxMatches", "exec", "pragmaImportName", "split", "pragmaFragImportName", "stmt", "isImportDeclaration", "program", "importKind", "specifier", "specifiers", "local", "importsToRemove", "specifiersLength", "length", "isAllSpecifiersElided", "size", "isImportTypeOnly", "programPath", "importPath", "isExportDeclaration", "isVariableDeclaration", "isTSTypeAliasDeclaration", "isTSDeclareFunction", "isTSInterfaceDeclaration", "isClassDeclaration", "isTSEnumDeclaration", "isTSModuleDeclaration", "exit", "sourceType", "pushContainer", "exportNamedDeclaration", "ExportNamedDeclaration", "source", "every", "isExportSpecifier", "ExportAllDeclaration", "ExportSpecifier", "ExportDefaultDeclaration", "declaration", "TSDeclareFunction", "TSDeclareMethod", "VariableDeclaration", "VariableDeclarator", "TSIndexSignature", "ClassDeclaration", "Class", "typeParameters", "superTypeParameters", "implements", "forEach", "child", "isClassMethod", "isClassPrivateMethod", "kind", "isClassProperty", "isClassAccessorProperty", "Function", "returnType", "params", "shift", "TSModuleDeclaration", "transpileNamespace", "TSInterfaceDeclaration", "TSTypeAliasDeclaration", "TSEnumDeclaration", "const", "transpileConstEnum", "transpileEnum", "TSImportEqualsDeclaration", "isTSExternalModuleReference", "moduleReference", "expression", "variableDeclaration", "variableDeclarator", "entityNameToExpr", "TSExportAssignment", "TSTypeAssertion", "tsSatisfiesExpression", "isTSAsExpression", "isTSSatisfiesExpression", "tsInstantiationExpression", "CallExpression", "OptionalCallExpression", "NewExpression", "JSXOpeningElement", "TaggedTemplateExpression", "isTSQualifiedName", "memberExpression", "right", "referencePaths", "sourceFileHasJsx", "traverse", "stop", "v", "OptionValidator", "normalizeOptions", "options", "allowNamespaces", "jsxPragma", "onlyRemoveTypeImports", "TopLevelOptions", "allExtensions", "disallowAmbiguousJSXLike", "isTSX", "jsxPragmaFrag", "optimizeConstEnums", "validateStringOption", "validateBooleanOption", "invariant", "declarePreset", "api", "opts", "assertVersion", "pluginOptions", "allowDeclareFields", "overrides", "plugins", "transformTypeScript", "test", "sourceType", "require_browser", "Buffer", "serialize", "match", "Element", "impl", "childValues", "renderer", "copy", "resolve", "Element", "value", "record", "result", "iteration", "err", "match", "comment", "next", "equals", "i", "node", "import_prismjs", "Prism", "token", "env", "Prism", "Prism", "Prism", "prefix", "Prism", "length", "S.expand", "S.interleave", "S.intersection", "S.measure", "S.shrink", "S.union", "S.pushSegment", "prefix", "value", "S.align", "node", "invalidate", "cache", "StyleSheet", "hydrate", "isImportRule", "sheet", "flush", "from", "length", "length", "copy", "slice", "alloc", "slice", "from", "parse", "alloc", "length", "character", "characters", "from", "length", "length", "cache", "identifierWithPointTracking", "character", "slice", "toRules", "from", "getRules", "alloc", "compat", "removeLabel", "isIgnoringComment", "createUnsafeSelectorsAlarm", "cache", "node", "isImportRule", "isPrependedWithRegularRules", "nullifyElement", "incorrectImportAlarm", "length", "prefixer", "copy", "createCache", "stylis", "sheet", "insert", "isCustomProperty", "isProcessableValue", "processStyleValue", "match", "next", "serializeStyles", "toString", "registerStyles", "cache", "insertStyles", "cache", "css", "createEmotion", "keyframes", "injectGlobal", "cx", "hydrate", "flush", "classnames", "flush", "merge", "getRegisteredStyles", "cache", "token", "line", "Prism", "length", "line", "token", "resolve", "transform", "babelPresetTypeScript", "babelPluginSyntaxJSX", "babelPluginTransformReactJSX", "transform", "points", "fill", "measure", "Prism"] +} diff --git a/static/crank-IKBCNXHY.js b/static/crank-IKBCNXHY.js new file mode 100644 index 00000000..ddebfa85 --- /dev/null +++ b/static/crank-IKBCNXHY.js @@ -0,0 +1,3433 @@ +// node_modules/@esbuild-plugins/node-globals-polyfill/process.js +function defaultSetTimout() { + throw new Error("setTimeout has not been defined"); +} +function defaultClearTimeout() { + throw new Error("clearTimeout has not been defined"); +} +var cachedSetTimeout = defaultSetTimout; +var cachedClearTimeout = defaultClearTimeout; +if (typeof globalThis.setTimeout === "function") { + cachedSetTimeout = setTimeout; +} +if (typeof globalThis.clearTimeout === "function") { + cachedClearTimeout = clearTimeout; +} +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + return setTimeout(fun, 0); + } + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + return cachedSetTimeout(fun, 0); + } catch (e) { + try { + return cachedSetTimeout.call(null, fun, 0); + } catch (e2) { + return cachedSetTimeout.call(this, fun, 0); + } + } +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + return clearTimeout(marker); + } + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + return cachedClearTimeout(marker); + } catch (e) { + try { + return cachedClearTimeout.call(null, marker); + } catch (e2) { + return cachedClearTimeout.call(this, marker); + } + } +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + var len = queue.length; + while (len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} +function nextTick(fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +} +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function() { + this.fun.apply(null, this.array); +}; +var title = "browser"; +var platform = "browser"; +var browser = true; +var env = {}; +var argv = []; +var version = ""; +var versions = {}; +var release = {}; +var config = {}; +function noop() { +} +var on = noop; +var addListener = noop; +var once = noop; +var off = noop; +var removeListener = noop; +var removeAllListeners = noop; +var emit = noop; +function binding(name) { + throw new Error("process.binding is not supported"); +} +function cwd() { + return "/"; +} +function chdir(dir) { + throw new Error("process.chdir is not supported"); +} +function umask() { + return 0; +} +var performance = globalThis.performance || {}; +var performanceNow = performance.now || performance.mozNow || performance.msNow || performance.oNow || performance.webkitNow || function() { + return (/* @__PURE__ */ new Date()).getTime(); +}; +function hrtime(previousTimestamp) { + var clocktime = performanceNow.call(performance) * 1e-3; + var seconds = Math.floor(clocktime); + var nanoseconds = Math.floor(clocktime % 1 * 1e9); + if (previousTimestamp) { + seconds = seconds - previousTimestamp[0]; + nanoseconds = nanoseconds - previousTimestamp[1]; + if (nanoseconds < 0) { + seconds--; + nanoseconds += 1e9; + } + } + return [seconds, nanoseconds]; +} +var startTime = /* @__PURE__ */ new Date(); +function uptime() { + var currentTime = /* @__PURE__ */ new Date(); + var dif = currentTime - startTime; + return dif / 1e3; +} +var process = { + nextTick, + title, + browser, + env, + argv, + version, + versions, + on, + addListener, + once, + off, + removeListener, + removeAllListeners, + emit, + binding, + cwd, + chdir, + umask, + hrtime, + platform, + release, + config, + uptime +}; +var defines = {}; +Object.keys(defines).forEach((key) => { + const segs = key.split("."); + let target = process; + for (let i = 0; i < segs.length; i++) { + const seg = segs[i]; + if (i === segs.length - 1) { + target[seg] = defines[key]; + } else { + target = target[seg] || (target[seg] = {}); + } + } +}); + +// node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js +var lookup = []; +var revLookup = []; +var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array; +var inited = false; +function init() { + inited = true; + var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i]; + revLookup[code.charCodeAt(i)] = i; + } + revLookup["-".charCodeAt(0)] = 62; + revLookup["_".charCodeAt(0)] = 63; +} +function base64toByteArray(b64) { + if (!inited) { + init(); + } + var i, j, l, tmp, placeHolders, arr; + var len = b64.length; + if (len % 4 > 0) { + throw new Error("Invalid string. Length must be a multiple of 4"); + } + placeHolders = b64[len - 2] === "=" ? 2 : b64[len - 1] === "=" ? 1 : 0; + arr = new Arr(len * 3 / 4 - placeHolders); + l = placeHolders > 0 ? len - 4 : len; + var L = 0; + for (i = 0, j = 0; i < l; i += 4, j += 3) { + tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)]; + arr[L++] = tmp >> 16 & 255; + arr[L++] = tmp >> 8 & 255; + arr[L++] = tmp & 255; + } + if (placeHolders === 2) { + tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4; + arr[L++] = tmp & 255; + } else if (placeHolders === 1) { + tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2; + arr[L++] = tmp >> 8 & 255; + arr[L++] = tmp & 255; + } + return arr; +} +function tripletToBase64(num) { + return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63]; +} +function encodeChunk(uint8, start, end) { + var tmp; + var output = []; + for (var i = start; i < end; i += 3) { + tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2]; + output.push(tripletToBase64(tmp)); + } + return output.join(""); +} +function base64fromByteArray(uint8) { + if (!inited) { + init(); + } + var tmp; + var len = uint8.length; + var extraBytes = len % 3; + var output = ""; + var parts = []; + var maxChunkLength = 16383; + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push( + encodeChunk( + uint8, + i, + i + maxChunkLength > len2 ? len2 : i + maxChunkLength + ) + ); + } + if (extraBytes === 1) { + tmp = uint8[len - 1]; + output += lookup[tmp >> 2]; + output += lookup[tmp << 4 & 63]; + output += "=="; + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1]; + output += lookup[tmp >> 10]; + output += lookup[tmp >> 4 & 63]; + output += lookup[tmp << 2 & 63]; + output += "="; + } + parts.push(output); + return parts.join(""); +} +Buffer.TYPED_ARRAY_SUPPORT = globalThis.TYPED_ARRAY_SUPPORT !== void 0 ? globalThis.TYPED_ARRAY_SUPPORT : true; +function kMaxLength() { + return Buffer.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823; +} +function createBuffer(that, length) { + if (kMaxLength() < length) { + throw new RangeError("Invalid typed array length"); + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + that = new Uint8Array(length); + that.__proto__ = Buffer.prototype; + } else { + if (that === null) { + that = new Buffer(length); + } + that.length = length; + } + return that; +} +function Buffer(arg, encodingOrOffset, length) { + if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { + return new Buffer(arg, encodingOrOffset, length); + } + if (typeof arg === "number") { + if (typeof encodingOrOffset === "string") { + throw new Error( + "If encoding is specified then the first argument must be a string" + ); + } + return allocUnsafe(this, arg); + } + return from(this, arg, encodingOrOffset, length); +} +Buffer.poolSize = 8192; +Buffer._augment = function(arr) { + arr.__proto__ = Buffer.prototype; + return arr; +}; +function from(that, value, encodingOrOffset, length) { + if (typeof value === "number") { + throw new TypeError('"value" argument must not be a number'); + } + if (typeof ArrayBuffer !== "undefined" && value instanceof ArrayBuffer) { + return fromArrayBuffer(that, value, encodingOrOffset, length); + } + if (typeof value === "string") { + return fromString(that, value, encodingOrOffset); + } + return fromObject(that, value); +} +Buffer.from = function(value, encodingOrOffset, length) { + return from(null, value, encodingOrOffset, length); +}; +Buffer.kMaxLength = kMaxLength(); +if (Buffer.TYPED_ARRAY_SUPPORT) { + Buffer.prototype.__proto__ = Uint8Array.prototype; + Buffer.__proto__ = Uint8Array; + if (typeof Symbol !== "undefined" && Symbol.species && Buffer[Symbol.species] === Buffer) { + } +} +function assertSize(size) { + if (typeof size !== "number") { + throw new TypeError('"size" argument must be a number'); + } else if (size < 0) { + throw new RangeError('"size" argument must not be negative'); + } +} +function alloc(that, size, fill2, encoding) { + assertSize(size); + if (size <= 0) { + return createBuffer(that, size); + } + if (fill2 !== void 0) { + return typeof encoding === "string" ? createBuffer(that, size).fill(fill2, encoding) : createBuffer(that, size).fill(fill2); + } + return createBuffer(that, size); +} +Buffer.alloc = function(size, fill2, encoding) { + return alloc(null, size, fill2, encoding); +}; +function allocUnsafe(that, size) { + assertSize(size); + that = createBuffer(that, size < 0 ? 0 : checked(size) | 0); + if (!Buffer.TYPED_ARRAY_SUPPORT) { + for (var i = 0; i < size; ++i) { + that[i] = 0; + } + } + return that; +} +Buffer.allocUnsafe = function(size) { + return allocUnsafe(null, size); +}; +Buffer.allocUnsafeSlow = function(size) { + return allocUnsafe(null, size); +}; +function fromString(that, string, encoding) { + if (typeof encoding !== "string" || encoding === "") { + encoding = "utf8"; + } + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding'); + } + var length = byteLength(string, encoding) | 0; + that = createBuffer(that, length); + var actual = that.write(string, encoding); + if (actual !== length) { + that = that.slice(0, actual); + } + return that; +} +function fromArrayLike(that, array) { + var length = array.length < 0 ? 0 : checked(array.length) | 0; + that = createBuffer(that, length); + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255; + } + return that; +} +function fromArrayBuffer(that, array, byteOffset, length) { + array.byteLength; + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError("'offset' is out of bounds"); + } + if (array.byteLength < byteOffset + (length || 0)) { + throw new RangeError("'length' is out of bounds"); + } + if (byteOffset === void 0 && length === void 0) { + array = new Uint8Array(array); + } else if (length === void 0) { + array = new Uint8Array(array, byteOffset); + } else { + array = new Uint8Array(array, byteOffset, length); + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + that = array; + that.__proto__ = Buffer.prototype; + } else { + that = fromArrayLike(that, array); + } + return that; +} +function fromObject(that, obj) { + if (internalIsBuffer(obj)) { + var len = checked(obj.length) | 0; + that = createBuffer(that, len); + if (that.length === 0) { + return that; + } + obj.copy(that, 0, 0, len); + return that; + } + if (obj) { + if (typeof ArrayBuffer !== "undefined" && obj.buffer instanceof ArrayBuffer || "length" in obj) { + if (typeof obj.length !== "number" || isnan(obj.length)) { + return createBuffer(that, 0); + } + return fromArrayLike(that, obj); + } + if (obj.type === "Buffer" && Array.isArray(obj.data)) { + return fromArrayLike(that, obj.data); + } + } + throw new TypeError( + "First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object." + ); +} +function checked(length) { + if (length >= kMaxLength()) { + throw new RangeError( + "Attempt to allocate Buffer larger than maximum size: 0x" + kMaxLength().toString(16) + " bytes" + ); + } + return length | 0; +} +Buffer.isBuffer = isBuffer; +function internalIsBuffer(b) { + return !!(b != null && b._isBuffer); +} +Buffer.compare = function compare(a, b) { + if (!internalIsBuffer(a) || !internalIsBuffer(b)) { + throw new TypeError("Arguments must be Buffers"); + } + if (a === b) + return 0; + var x = a.length; + var y = b.length; + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i]; + y = b[i]; + break; + } + } + if (x < y) + return -1; + if (y < x) + return 1; + return 0; +}; +Buffer.isEncoding = function isEncoding(encoding) { + switch (String(encoding).toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "latin1": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return true; + default: + return false; + } +}; +Buffer.concat = function concat(list, length) { + if (!Array.isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + if (list.length === 0) { + return Buffer.alloc(0); + } + var i; + if (length === void 0) { + length = 0; + for (i = 0; i < list.length; ++i) { + length += list[i].length; + } + } + var buffer = Buffer.allocUnsafe(length); + var pos = 0; + for (i = 0; i < list.length; ++i) { + var buf = list[i]; + if (!internalIsBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + buf.copy(buffer, pos); + pos += buf.length; + } + return buffer; +}; +function byteLength(string, encoding) { + if (internalIsBuffer(string)) { + return string.length; + } + if (typeof ArrayBuffer !== "undefined" && typeof ArrayBuffer.isView === "function" && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { + return string.byteLength; + } + if (typeof string !== "string") { + string = "" + string; + } + var len = string.length; + if (len === 0) + return 0; + var loweredCase = false; + for (; ; ) { + switch (encoding) { + case "ascii": + case "latin1": + case "binary": + return len; + case "utf8": + case "utf-8": + case void 0: + return utf8ToBytes(string).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return len * 2; + case "hex": + return len >>> 1; + case "base64": + return base64ToBytes(string).length; + default: + if (loweredCase) + return utf8ToBytes(string).length; + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } +} +Buffer.byteLength = byteLength; +function slowToString(encoding, start, end) { + var loweredCase = false; + if (start === void 0 || start < 0) { + start = 0; + } + if (start > this.length) { + return ""; + } + if (end === void 0 || end > this.length) { + end = this.length; + } + if (end <= 0) { + return ""; + } + end >>>= 0; + start >>>= 0; + if (end <= start) { + return ""; + } + if (!encoding) + encoding = "utf8"; + while (true) { + switch (encoding) { + case "hex": + return hexSlice(this, start, end); + case "utf8": + case "utf-8": + return utf8Slice(this, start, end); + case "ascii": + return asciiSlice(this, start, end); + case "latin1": + case "binary": + return latin1Slice(this, start, end); + case "base64": + return base64Slice(this, start, end); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return utf16leSlice(this, start, end); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = (encoding + "").toLowerCase(); + loweredCase = true; + } + } +} +Buffer.prototype._isBuffer = true; +function swap(b, n, m) { + var i = b[n]; + b[n] = b[m]; + b[m] = i; +} +Buffer.prototype.swap16 = function swap16() { + var len = this.length; + if (len % 2 !== 0) { + throw new RangeError("Buffer size must be a multiple of 16-bits"); + } + for (var i = 0; i < len; i += 2) { + swap(this, i, i + 1); + } + return this; +}; +Buffer.prototype.swap32 = function swap32() { + var len = this.length; + if (len % 4 !== 0) { + throw new RangeError("Buffer size must be a multiple of 32-bits"); + } + for (var i = 0; i < len; i += 4) { + swap(this, i, i + 3); + swap(this, i + 1, i + 2); + } + return this; +}; +Buffer.prototype.swap64 = function swap64() { + var len = this.length; + if (len % 8 !== 0) { + throw new RangeError("Buffer size must be a multiple of 64-bits"); + } + for (var i = 0; i < len; i += 8) { + swap(this, i, i + 7); + swap(this, i + 1, i + 6); + swap(this, i + 2, i + 5); + swap(this, i + 3, i + 4); + } + return this; +}; +Buffer.prototype.toString = function toString() { + var length = this.length | 0; + if (length === 0) + return ""; + if (arguments.length === 0) + return utf8Slice(this, 0, length); + return slowToString.apply(this, arguments); +}; +Buffer.prototype.equals = function equals(b) { + if (!internalIsBuffer(b)) + throw new TypeError("Argument must be a Buffer"); + if (this === b) + return true; + return Buffer.compare(this, b) === 0; +}; +Buffer.prototype.compare = function compare2(target, start, end, thisStart, thisEnd) { + if (!internalIsBuffer(target)) { + throw new TypeError("Argument must be a Buffer"); + } + if (start === void 0) { + start = 0; + } + if (end === void 0) { + end = target ? target.length : 0; + } + if (thisStart === void 0) { + thisStart = 0; + } + if (thisEnd === void 0) { + thisEnd = this.length; + } + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError("out of range index"); + } + if (thisStart >= thisEnd && start >= end) { + return 0; + } + if (thisStart >= thisEnd) { + return -1; + } + if (start >= end) { + return 1; + } + start >>>= 0; + end >>>= 0; + thisStart >>>= 0; + thisEnd >>>= 0; + if (this === target) + return 0; + var x = thisEnd - thisStart; + var y = end - start; + var len = Math.min(x, y); + var thisCopy = this.slice(thisStart, thisEnd); + var targetCopy = target.slice(start, end); + for (var i = 0; i < len; ++i) { + if (thisCopy[i] !== targetCopy[i]) { + x = thisCopy[i]; + y = targetCopy[i]; + break; + } + } + if (x < y) + return -1; + if (y < x) + return 1; + return 0; +}; +function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { + if (buffer.length === 0) + return -1; + if (typeof byteOffset === "string") { + encoding = byteOffset; + byteOffset = 0; + } else if (byteOffset > 2147483647) { + byteOffset = 2147483647; + } else if (byteOffset < -2147483648) { + byteOffset = -2147483648; + } + byteOffset = +byteOffset; + if (isNaN(byteOffset)) { + byteOffset = dir ? 0 : buffer.length - 1; + } + if (byteOffset < 0) + byteOffset = buffer.length + byteOffset; + if (byteOffset >= buffer.length) { + if (dir) + return -1; + else + byteOffset = buffer.length - 1; + } else if (byteOffset < 0) { + if (dir) + byteOffset = 0; + else + return -1; + } + if (typeof val === "string") { + val = Buffer.from(val, encoding); + } + if (internalIsBuffer(val)) { + if (val.length === 0) { + return -1; + } + return arrayIndexOf(buffer, val, byteOffset, encoding, dir); + } else if (typeof val === "number") { + val = val & 255; + if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === "function") { + if (dir) { + return Uint8Array.prototype.indexOf.call( + buffer, + val, + byteOffset + ); + } else { + return Uint8Array.prototype.lastIndexOf.call( + buffer, + val, + byteOffset + ); + } + } + return arrayIndexOf(buffer, [val], byteOffset, encoding, dir); + } + throw new TypeError("val must be string, number or Buffer"); +} +function arrayIndexOf(arr, val, byteOffset, encoding, dir) { + var indexSize = 1; + var arrLength = arr.length; + var valLength = val.length; + if (encoding !== void 0) { + encoding = String(encoding).toLowerCase(); + if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") { + if (arr.length < 2 || val.length < 2) { + return -1; + } + indexSize = 2; + arrLength /= 2; + valLength /= 2; + byteOffset /= 2; + } + } + function read(buf, i2) { + if (indexSize === 1) { + return buf[i2]; + } else { + return buf.readUInt16BE(i2 * indexSize); + } + } + var i; + if (dir) { + var foundIndex = -1; + for (i = byteOffset; i < arrLength; i++) { + if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { + if (foundIndex === -1) + foundIndex = i; + if (i - foundIndex + 1 === valLength) + return foundIndex * indexSize; + } else { + if (foundIndex !== -1) + i -= i - foundIndex; + foundIndex = -1; + } + } + } else { + if (byteOffset + valLength > arrLength) + byteOffset = arrLength - valLength; + for (i = byteOffset; i >= 0; i--) { + var found = true; + for (var j = 0; j < valLength; j++) { + if (read(arr, i + j) !== read(val, j)) { + found = false; + break; + } + } + if (found) + return i; + } + } + return -1; +} +Buffer.prototype.includes = function includes(val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1; +}; +Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true); +}; +Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false); +}; +function hexWrite(buf, string, offset, length) { + offset = Number(offset) || 0; + var remaining = buf.length - offset; + if (!length) { + length = remaining; + } else { + length = Number(length); + if (length > remaining) { + length = remaining; + } + } + var strLen = string.length; + if (strLen % 2 !== 0) + throw new TypeError("Invalid hex string"); + if (length > strLen / 2) { + length = strLen / 2; + } + for (var i = 0; i < length; ++i) { + var parsed = parseInt(string.substr(i * 2, 2), 16); + if (isNaN(parsed)) + return i; + buf[offset + i] = parsed; + } + return i; +} +function utf8Write(buf, string, offset, length) { + return blitBuffer( + utf8ToBytes(string, buf.length - offset), + buf, + offset, + length + ); +} +function asciiWrite(buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length); +} +function latin1Write(buf, string, offset, length) { + return asciiWrite(buf, string, offset, length); +} +function base64Write(buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length); +} +function ucs2Write(buf, string, offset, length) { + return blitBuffer( + utf16leToBytes(string, buf.length - offset), + buf, + offset, + length + ); +} +Buffer.prototype.write = function write(string, offset, length, encoding) { + if (offset === void 0) { + encoding = "utf8"; + length = this.length; + offset = 0; + } else if (length === void 0 && typeof offset === "string") { + encoding = offset; + length = this.length; + offset = 0; + } else if (isFinite(offset)) { + offset = offset | 0; + if (isFinite(length)) { + length = length | 0; + if (encoding === void 0) + encoding = "utf8"; + } else { + encoding = length; + length = void 0; + } + } else { + throw new Error( + "Buffer.write(string, encoding, offset[, length]) is no longer supported" + ); + } + var remaining = this.length - offset; + if (length === void 0 || length > remaining) + length = remaining; + if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) { + throw new RangeError("Attempt to write outside buffer bounds"); + } + if (!encoding) + encoding = "utf8"; + var loweredCase = false; + for (; ; ) { + switch (encoding) { + case "hex": + return hexWrite(this, string, offset, length); + case "utf8": + case "utf-8": + return utf8Write(this, string, offset, length); + case "ascii": + return asciiWrite(this, string, offset, length); + case "latin1": + case "binary": + return latin1Write(this, string, offset, length); + case "base64": + return base64Write(this, string, offset, length); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return ucs2Write(this, string, offset, length); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } +}; +Buffer.prototype.toJSON = function toJSON() { + return { + type: "Buffer", + data: Array.prototype.slice.call(this._arr || this, 0) + }; +}; +function base64Slice(buf, start, end) { + if (start === 0 && end === buf.length) { + return base64fromByteArray(buf); + } else { + return base64fromByteArray(buf.slice(start, end)); + } +} +function utf8Slice(buf, start, end) { + end = Math.min(buf.length, end); + var res = []; + var i = start; + while (i < end) { + var firstByte = buf[i]; + var codePoint = null; + var bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1; + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint; + switch (bytesPerSequence) { + case 1: + if (firstByte < 128) { + codePoint = firstByte; + } + break; + case 2: + secondByte = buf[i + 1]; + if ((secondByte & 192) === 128) { + tempCodePoint = (firstByte & 31) << 6 | secondByte & 63; + if (tempCodePoint > 127) { + codePoint = tempCodePoint; + } + } + break; + case 3: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63; + if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) { + codePoint = tempCodePoint; + } + } + break; + case 4: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + fourthByte = buf[i + 3]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63; + if (tempCodePoint > 65535 && tempCodePoint < 1114112) { + codePoint = tempCodePoint; + } + } + } + } + if (codePoint === null) { + codePoint = 65533; + bytesPerSequence = 1; + } else if (codePoint > 65535) { + codePoint -= 65536; + res.push(codePoint >>> 10 & 1023 | 55296); + codePoint = 56320 | codePoint & 1023; + } + res.push(codePoint); + i += bytesPerSequence; + } + return decodeCodePointsArray(res); +} +var MAX_ARGUMENTS_LENGTH = 4096; +function decodeCodePointsArray(codePoints) { + var len = codePoints.length; + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints); + } + var res = ""; + var i = 0; + while (i < len) { + res += String.fromCharCode.apply( + String, + codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) + ); + } + return res; +} +function asciiSlice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i] & 127); + } + return ret; +} +function latin1Slice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i]); + } + return ret; +} +function hexSlice(buf, start, end) { + var len = buf.length; + if (!start || start < 0) + start = 0; + if (!end || end < 0 || end > len) + end = len; + var out = ""; + for (var i = start; i < end; ++i) { + out += toHex(buf[i]); + } + return out; +} +function utf16leSlice(buf, start, end) { + var bytes = buf.slice(start, end); + var res = ""; + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); + } + return res; +} +Buffer.prototype.slice = function slice(start, end) { + var len = this.length; + start = ~~start; + end = end === void 0 ? len : ~~end; + if (start < 0) { + start += len; + if (start < 0) + start = 0; + } else if (start > len) { + start = len; + } + if (end < 0) { + end += len; + if (end < 0) + end = 0; + } else if (end > len) { + end = len; + } + if (end < start) + end = start; + var newBuf; + if (Buffer.TYPED_ARRAY_SUPPORT) { + newBuf = this.subarray(start, end); + newBuf.__proto__ = Buffer.prototype; + } else { + var sliceLen = end - start; + newBuf = new Buffer(sliceLen, void 0); + for (var i = 0; i < sliceLen; ++i) { + newBuf[i] = this[i + start]; + } + } + return newBuf; +}; +function checkOffset(offset, ext, length) { + if (offset % 1 !== 0 || offset < 0) + throw new RangeError("offset is not uint"); + if (offset + ext > length) + throw new RangeError("Trying to access beyond buffer length"); +} +Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength2 && (mul *= 256)) { + val += this[offset + i] * mul; + } + return val; +}; +Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + checkOffset(offset, byteLength2, this.length); + } + var val = this[offset + --byteLength2]; + var mul = 1; + while (byteLength2 > 0 && (mul *= 256)) { + val += this[offset + --byteLength2] * mul; + } + return val; +}; +Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 1, this.length); + return this[offset]; +}; +Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] | this[offset + 1] << 8; +}; +Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] << 8 | this[offset + 1]; +}; +Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216; +}; +Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); +}; +Buffer.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength2 && (mul *= 256)) { + val += this[offset + i] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength2); + return val; +}; +Buffer.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var i = byteLength2; + var mul = 1; + var val = this[offset + --i]; + while (i > 0 && (mul *= 256)) { + val += this[offset + --i] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength2); + return val; +}; +Buffer.prototype.readInt8 = function readInt8(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 1, this.length); + if (!(this[offset] & 128)) + return this[offset]; + return (255 - this[offset] + 1) * -1; +}; +Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + var val = this[offset] | this[offset + 1] << 8; + return val & 32768 ? val | 4294901760 : val; +}; +Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + var val = this[offset + 1] | this[offset] << 8; + return val & 32768 ? val | 4294901760 : val; +}; +Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24; +}; +Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]; +}; +Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754read(this, offset, true, 23, 4); +}; +Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754read(this, offset, false, 23, 4); +}; +Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754read(this, offset, true, 52, 8); +}; +Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754read(this, offset, false, 52, 8); +}; +function checkInt(buf, value, offset, ext, max, min) { + if (!internalIsBuffer(buf)) + throw new TypeError('"buffer" argument must be a Buffer instance'); + if (value > max || value < min) + throw new RangeError('"value" argument is out of bounds'); + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); +} +Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength2) - 1; + checkInt(this, value, offset, byteLength2, maxBytes, 0); + } + var mul = 1; + var i = 0; + this[offset] = value & 255; + while (++i < byteLength2 && (mul *= 256)) { + this[offset + i] = value / mul & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength2) - 1; + checkInt(this, value, offset, byteLength2, maxBytes, 0); + } + var i = byteLength2 - 1; + var mul = 1; + this[offset + i] = value & 255; + while (--i >= 0 && (mul *= 256)) { + this[offset + i] = value / mul & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 1, 255, 0); + if (!Buffer.TYPED_ARRAY_SUPPORT) + value = Math.floor(value); + this[offset] = value & 255; + return offset + 1; +}; +function objectWriteUInt16(buf, value, offset, littleEndian) { + if (value < 0) + value = 65535 + value + 1; + for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { + buf[offset + i] = (value & 255 << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8; + } +} +Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + } else { + objectWriteUInt16(this, value, offset, true); + } + return offset + 2; +}; +Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + } else { + objectWriteUInt16(this, value, offset, false); + } + return offset + 2; +}; +function objectWriteUInt32(buf, value, offset, littleEndian) { + if (value < 0) + value = 4294967295 + value + 1; + for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { + buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 255; + } +} +Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset + 3] = value >>> 24; + this[offset + 2] = value >>> 16; + this[offset + 1] = value >>> 8; + this[offset] = value & 255; + } else { + objectWriteUInt32(this, value, offset, true); + } + return offset + 4; +}; +Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + } else { + objectWriteUInt32(this, value, offset, false); + } + return offset + 4; +}; +Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength2 - 1); + checkInt(this, value, offset, byteLength2, limit - 1, -limit); + } + var i = 0; + var mul = 1; + var sub = 0; + this[offset] = value & 255; + while (++i < byteLength2 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { + sub = 1; + } + this[offset + i] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength2 - 1); + checkInt(this, value, offset, byteLength2, limit - 1, -limit); + } + var i = byteLength2 - 1; + var mul = 1; + var sub = 0; + this[offset + i] = value & 255; + while (--i >= 0 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { + sub = 1; + } + this[offset + i] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 1, 127, -128); + if (!Buffer.TYPED_ARRAY_SUPPORT) + value = Math.floor(value); + if (value < 0) + value = 255 + value + 1; + this[offset] = value & 255; + return offset + 1; +}; +Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + } else { + objectWriteUInt16(this, value, offset, true); + } + return offset + 2; +}; +Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + } else { + objectWriteUInt16(this, value, offset, false); + } + return offset + 2; +}; +Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + this[offset + 2] = value >>> 16; + this[offset + 3] = value >>> 24; + } else { + objectWriteUInt32(this, value, offset, true); + } + return offset + 4; +}; +Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + if (value < 0) + value = 4294967295 + value + 1; + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + } else { + objectWriteUInt32(this, value, offset, false); + } + return offset + 4; +}; +function checkIEEE754(buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); + if (offset < 0) + throw new RangeError("Index out of range"); +} +function writeFloat(buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754( + buf, + value, + offset, + 4, + 34028234663852886e22, + -34028234663852886e22 + ); + } + ieee754write(buf, value, offset, littleEndian, 23, 4); + return offset + 4; +} +Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert); +}; +Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert); +}; +function writeDouble(buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754( + buf, + value, + offset, + 8, + 17976931348623157e292, + -17976931348623157e292 + ); + } + ieee754write(buf, value, offset, littleEndian, 52, 8); + return offset + 8; +} +Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert); +}; +Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert); +}; +Buffer.prototype.copy = function copy(target, targetStart, start, end) { + if (!start) + start = 0; + if (!end && end !== 0) + end = this.length; + if (targetStart >= target.length) + targetStart = target.length; + if (!targetStart) + targetStart = 0; + if (end > 0 && end < start) + end = start; + if (end === start) + return 0; + if (target.length === 0 || this.length === 0) + return 0; + if (targetStart < 0) { + throw new RangeError("targetStart out of bounds"); + } + if (start < 0 || start >= this.length) + throw new RangeError("sourceStart out of bounds"); + if (end < 0) + throw new RangeError("sourceEnd out of bounds"); + if (end > this.length) + end = this.length; + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start; + } + var len = end - start; + var i; + if (this === target && start < targetStart && targetStart < end) { + for (i = len - 1; i >= 0; --i) { + target[i + targetStart] = this[i + start]; + } + } else if (len < 1e3 || !Buffer.TYPED_ARRAY_SUPPORT) { + for (i = 0; i < len; ++i) { + target[i + targetStart] = this[i + start]; + } + } else { + Uint8Array.prototype.set.call( + target, + this.subarray(start, start + len), + targetStart + ); + } + return len; +}; +Buffer.prototype.fill = function fill(val, start, end, encoding) { + if (typeof val === "string") { + if (typeof start === "string") { + encoding = start; + start = 0; + end = this.length; + } else if (typeof end === "string") { + encoding = end; + end = this.length; + } + if (val.length === 1) { + var code = val.charCodeAt(0); + if (code < 256) { + val = code; + } + } + if (encoding !== void 0 && typeof encoding !== "string") { + throw new TypeError("encoding must be a string"); + } + if (typeof encoding === "string" && !Buffer.isEncoding(encoding)) { + throw new TypeError("Unknown encoding: " + encoding); + } + } else if (typeof val === "number") { + val = val & 255; + } + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError("Out of range index"); + } + if (end <= start) { + return this; + } + start = start >>> 0; + end = end === void 0 ? this.length : end >>> 0; + if (!val) + val = 0; + var i; + if (typeof val === "number") { + for (i = start; i < end; ++i) { + this[i] = val; + } + } else { + var bytes = internalIsBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString()); + var len = bytes.length; + for (i = 0; i < end - start; ++i) { + this[i + start] = bytes[i % len]; + } + } + return this; +}; +var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g; +function base64clean(str) { + str = stringtrim(str).replace(INVALID_BASE64_RE, ""); + if (str.length < 2) + return ""; + while (str.length % 4 !== 0) { + str = str + "="; + } + return str; +} +function stringtrim(str) { + if (str.trim) + return str.trim(); + return str.replace(/^\s+|\s+$/g, ""); +} +function toHex(n) { + if (n < 16) + return "0" + n.toString(16); + return n.toString(16); +} +function utf8ToBytes(string, units) { + units = units || Infinity; + var codePoint; + var length = string.length; + var leadSurrogate = null; + var bytes = []; + for (var i = 0; i < length; ++i) { + codePoint = string.charCodeAt(i); + if (codePoint > 55295 && codePoint < 57344) { + if (!leadSurrogate) { + if (codePoint > 56319) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } else if (i + 1 === length) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } + leadSurrogate = codePoint; + continue; + } + if (codePoint < 56320) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + leadSurrogate = codePoint; + continue; + } + codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536; + } else if (leadSurrogate) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + } + leadSurrogate = null; + if (codePoint < 128) { + if ((units -= 1) < 0) + break; + bytes.push(codePoint); + } else if (codePoint < 2048) { + if ((units -= 2) < 0) + break; + bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128); + } else if (codePoint < 65536) { + if ((units -= 3) < 0) + break; + bytes.push( + codePoint >> 12 | 224, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else if (codePoint < 1114112) { + if ((units -= 4) < 0) + break; + bytes.push( + codePoint >> 18 | 240, + codePoint >> 12 & 63 | 128, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else { + throw new Error("Invalid code point"); + } + } + return bytes; +} +function asciiToBytes(str) { + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + byteArray.push(str.charCodeAt(i) & 255); + } + return byteArray; +} +function utf16leToBytes(str, units) { + var c, hi, lo; + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + if ((units -= 2) < 0) + break; + c = str.charCodeAt(i); + hi = c >> 8; + lo = c % 256; + byteArray.push(lo); + byteArray.push(hi); + } + return byteArray; +} +function base64ToBytes(str) { + return base64toByteArray(base64clean(str)); +} +function blitBuffer(src, dst, offset, length) { + for (var i = 0; i < length; ++i) { + if (i + offset >= dst.length || i >= src.length) + break; + dst[i + offset] = src[i]; + } + return i; +} +function isnan(val) { + return val !== val; +} +function isBuffer(obj) { + return obj != null && (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj)); +} +function isFastBuffer(obj) { + return !!obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj); +} +function isSlowBuffer(obj) { + return typeof obj.readFloatLE === "function" && typeof obj.slice === "function" && isFastBuffer(obj.slice(0, 0)); +} +function ieee754read(buffer, offset, isLE, mLen, nBytes) { + var e, m; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = -7; + var i = isLE ? nBytes - 1 : 0; + var d = isLE ? -1 : 1; + var s = buffer[offset + i]; + i += d; + e = s & (1 << -nBits) - 1; + s >>= -nBits; + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : (s ? -1 : 1) * Infinity; + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); +} +function ieee754write(buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; + var i = isLE ? 0 : nBytes - 1; + var d = isLE ? 1 : -1; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + value = Math.abs(value); + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) { + } + e = e << mLen | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) { + } + buffer[offset + i - d] |= s * 128; +} + +// node_modules/@b9g/crank/crank.js +var NOOP = () => { +}; +var IDENTITY = (value) => value; +function wrap(value) { + return value === void 0 ? [] : Array.isArray(value) ? value : [value]; +} +function unwrap(arr) { + return arr.length === 0 ? void 0 : arr.length === 1 ? arr[0] : arr; +} +function arrayify(value) { + return value == null ? [] : Array.isArray(value) ? value : typeof value === "string" || typeof value[Symbol.iterator] !== "function" ? [value] : ( + // TODO: inference broke in TypeScript 3.9. + [...value] + ); +} +function isIteratorLike(value) { + return value != null && typeof value.next === "function"; +} +function isPromiseLike(value) { + return value != null && typeof value.then === "function"; +} +var Fragment = ""; +var Portal = Symbol.for("crank.Portal"); +var Copy = Symbol.for("crank.Copy"); +var Raw = Symbol.for("crank.Raw"); +var ElementSymbol = Symbol.for("crank.Element"); +var Element = class { + constructor(tag, props) { + this.tag = tag; + this.props = props; + } + get key() { + return this.props.key; + } + get ref() { + return this.props.ref; + } + get copy() { + return !!this.props.copy; + } +}; +Element.prototype.$$typeof = ElementSymbol; +function isElement(value) { + return value != null && value.$$typeof === ElementSymbol; +} +var DEPRECATED_PROP_PREFIXES = ["crank-", "c-", "$"]; +var DEPRECATED_SPECIAL_PROP_BASES = ["key", "ref", "static"]; +var SPECIAL_PROPS = /* @__PURE__ */ new Set(["children", "key", "ref", "copy"]); +for (const propPrefix of DEPRECATED_PROP_PREFIXES) { + for (const propBase of DEPRECATED_SPECIAL_PROP_BASES) { + SPECIAL_PROPS.add(propPrefix + propBase); + } +} +function createElement(tag, props, ...children) { + if (props == null) { + props = {}; + } + for (let i = 0; i < DEPRECATED_PROP_PREFIXES.length; i++) { + const propPrefix = DEPRECATED_PROP_PREFIXES[i]; + for (let j = 0; j < DEPRECATED_SPECIAL_PROP_BASES.length; j++) { + const propBase = DEPRECATED_SPECIAL_PROP_BASES[j]; + const deprecatedPropName = propPrefix + propBase; + const targetPropBase = propBase === "static" ? "copy" : propBase; + if (deprecatedPropName in props) { + console.warn(`The \`${deprecatedPropName}\` prop is deprecated. Use \`${targetPropBase}\` instead.`); + props[targetPropBase] = props[deprecatedPropName]; + } + } + } + if (children.length > 1) { + props.children = children; + } else if (children.length === 1) { + props.children = children[0]; + } + return new Element(tag, props); +} +function cloneElement(el) { + if (!isElement(el)) { + throw new TypeError("Cannot clone non-element"); + } + return new Element(el.tag, { ...el.props }); +} +function narrow(value) { + if (typeof value === "boolean" || value == null) { + return void 0; + } else if (typeof value === "string" || isElement(value)) { + return value; + } else if (typeof value[Symbol.iterator] === "function") { + return createElement(Fragment, null, value); + } + return value.toString(); +} +function normalize(values) { + const result = []; + let buffer; + for (let i = 0; i < values.length; i++) { + const value = values[i]; + if (!value) + ; + else if (typeof value === "string") { + buffer = (buffer || "") + value; + } else if (!Array.isArray(value)) { + if (buffer) { + result.push(buffer); + buffer = void 0; + } + result.push(value); + } else { + for (let j = 0; j < value.length; j++) { + const value1 = value[j]; + if (!value1) + ; + else if (typeof value1 === "string") { + buffer = (buffer || "") + value1; + } else { + if (buffer) { + result.push(buffer); + buffer = void 0; + } + result.push(value1); + } + } + } + } + if (buffer) { + result.push(buffer); + } + return result; +} +var Retainer = class { + constructor(el) { + this.el = el; + this.ctx = void 0; + this.children = void 0; + this.value = void 0; + this.cachedChildValues = void 0; + this.fallbackValue = void 0; + this.inflightValue = void 0; + this.onNextValues = void 0; + } +}; +function getValue(ret) { + if (typeof ret.fallbackValue !== "undefined") { + return typeof ret.fallbackValue === "object" ? getValue(ret.fallbackValue) : ret.fallbackValue; + } else if (ret.el.tag === Portal) { + return; + } else if (typeof ret.el.tag !== "function" && ret.el.tag !== Fragment) { + return ret.value; + } + return unwrap(getChildValues(ret)); +} +function getChildValues(ret) { + if (ret.cachedChildValues) { + return wrap(ret.cachedChildValues); + } + const values = []; + const children = wrap(ret.children); + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child) { + values.push(typeof child === "string" ? child : getValue(child)); + } + } + const values1 = normalize(values); + const tag = ret.el.tag; + if (typeof tag === "function" || tag !== Fragment && tag !== Raw) { + ret.cachedChildValues = unwrap(values1); + } + return values1; +} +var defaultRendererImpl = { + create() { + throw new Error("Not implemented"); + }, + hydrate() { + throw new Error("Not implemented"); + }, + scope: IDENTITY, + read: IDENTITY, + text: IDENTITY, + raw: IDENTITY, + patch: NOOP, + arrange: NOOP, + dispose: NOOP, + flush: NOOP +}; +var _RendererImpl = Symbol.for("crank.RendererImpl"); +var Renderer = class { + constructor(impl) { + this.cache = /* @__PURE__ */ new WeakMap(); + this[_RendererImpl] = { + ...defaultRendererImpl, + ...impl + }; + } + /** + * Renders an element tree into a specific root. + * + * @param children - An element tree. You can render null with a previously + * used root to delete the previously rendered element tree from the cache. + * @param root - The node to be rendered into. The renderer will cache + * element trees per root. + * @param bridge - An optional context that will be the ancestor context of all + * elements in the tree. Useful for connecting different renderers so that + * events/provisions properly propagate. The context for a given root must be + * the same or an error will be thrown. + * + * @returns The result of rendering the children, or a possible promise of + * the result if the element tree renders asynchronously. + */ + render(children, root, bridge) { + let ret; + const ctx = bridge && bridge[_ContextImpl]; + if (typeof root === "object" && root !== null) { + ret = this.cache.get(root); + } + let oldProps; + if (ret === void 0) { + ret = new Retainer(createElement(Portal, { children, root })); + ret.value = root; + ret.ctx = ctx; + if (typeof root === "object" && root !== null && children != null) { + this.cache.set(root, ret); + } + } else if (ret.ctx !== ctx) { + throw new Error("Context mismatch"); + } else { + oldProps = ret.el.props; + ret.el = createElement(Portal, { children, root }); + if (typeof root === "object" && root !== null && children == null) { + this.cache.delete(root); + } + } + const impl = this[_RendererImpl]; + const childValues = diffChildren(impl, root, ret, ctx, impl.scope(void 0, Portal, ret.el.props), ret, children, void 0); + if (isPromiseLike(childValues)) { + return childValues.then((childValues2) => commitRootRender(impl, root, ctx, ret, childValues2, oldProps)); + } + return commitRootRender(impl, root, ctx, ret, childValues, oldProps); + } + hydrate(children, root, bridge) { + const impl = this[_RendererImpl]; + const ctx = bridge && bridge[_ContextImpl]; + let ret; + ret = this.cache.get(root); + if (ret !== void 0) { + return this.render(children, root, bridge); + } + let oldProps; + ret = new Retainer(createElement(Portal, { children, root })); + ret.value = root; + if (typeof root === "object" && root !== null && children != null) { + this.cache.set(root, ret); + } + const hydrationData = impl.hydrate(Portal, root, {}); + const childValues = diffChildren(impl, root, ret, ctx, impl.scope(void 0, Portal, ret.el.props), ret, children, hydrationData); + if (isPromiseLike(childValues)) { + return childValues.then((childValues2) => commitRootRender(impl, root, ctx, ret, childValues2, oldProps)); + } + return commitRootRender(impl, root, ctx, ret, childValues, oldProps); + } +}; +function commitRootRender(renderer, root, ctx, ret, childValues, oldProps) { + if (root != null) { + renderer.arrange(Portal, root, ret.el.props, childValues, oldProps, wrap(ret.cachedChildValues)); + flush(renderer, root); + } + ret.cachedChildValues = unwrap(childValues); + if (root == null) { + unmount(renderer, ret, ctx, ret); + } + return renderer.read(ret.cachedChildValues); +} +function diffChildren(renderer, root, host, ctx, scope, parent, children, hydrationData) { + const oldRetained = wrap(parent.children); + const newRetained = []; + const newChildren = arrayify(children); + const values = []; + let graveyard; + let childrenByKey; + let seenKeys; + let isAsync = false; + let hydrationBlock; + let oi = 0; + let oldLength = oldRetained.length; + for (let ni = 0, newLength = newChildren.length; ni < newLength; ni++) { + let ret = oi >= oldLength ? void 0 : oldRetained[oi]; + let child = narrow(newChildren[ni]); + { + let oldKey = typeof ret === "object" ? ret.el.key : void 0; + let newKey = typeof child === "object" ? child.key : void 0; + if (newKey !== void 0 && seenKeys && seenKeys.has(newKey)) { + console.error("Duplicate key", newKey); + newKey = void 0; + } + if (oldKey === newKey) { + if (childrenByKey !== void 0 && newKey !== void 0) { + childrenByKey.delete(newKey); + } + oi++; + } else { + childrenByKey = childrenByKey || createChildrenByKey(oldRetained, oi); + if (newKey === void 0) { + while (ret !== void 0 && oldKey !== void 0) { + oi++; + ret = oldRetained[oi]; + oldKey = typeof ret === "object" ? ret.el.key : void 0; + } + oi++; + } else { + ret = childrenByKey.get(newKey); + if (ret !== void 0) { + childrenByKey.delete(newKey); + } + (seenKeys = seenKeys || /* @__PURE__ */ new Set()).add(newKey); + } + } + } + let value; + if (typeof child === "object") { + if (child.tag === Copy || typeof ret === "object" && ret.el === child) { + value = getInflightValue(ret); + } else { + let oldProps; + let copy2 = false; + if (typeof ret === "object" && ret.el.tag === child.tag) { + oldProps = ret.el.props; + ret.el = child; + if (child.copy) { + value = getInflightValue(ret); + copy2 = true; + } + } else { + if (typeof ret === "object") { + (graveyard = graveyard || []).push(ret); + } + const fallback = ret; + ret = new Retainer(child); + ret.fallbackValue = fallback; + } + if (copy2) + ; + else if (child.tag === Raw) { + value = hydrationBlock ? hydrationBlock.then(() => updateRaw(renderer, ret, scope, oldProps, hydrationData)) : updateRaw(renderer, ret, scope, oldProps, hydrationData); + } else if (child.tag === Fragment) { + value = hydrationBlock ? hydrationBlock.then(() => updateFragment(renderer, root, host, ctx, scope, ret, hydrationData)) : updateFragment(renderer, root, host, ctx, scope, ret, hydrationData); + } else if (typeof child.tag === "function") { + value = hydrationBlock ? hydrationBlock.then(() => updateComponent(renderer, root, host, ctx, scope, ret, oldProps, hydrationData)) : updateComponent(renderer, root, host, ctx, scope, ret, oldProps, hydrationData); + } else { + value = hydrationBlock ? hydrationBlock.then(() => updateHost(renderer, root, ctx, scope, ret, oldProps, hydrationData)) : updateHost(renderer, root, ctx, scope, ret, oldProps, hydrationData); + } + } + if (isPromiseLike(value)) { + isAsync = true; + if (hydrationData !== void 0) { + hydrationBlock = value; + } + } + } else { + if (typeof ret === "object") { + (graveyard = graveyard || []).push(ret); + } + if (typeof child === "string") { + value = ret = renderer.text(child, scope, hydrationData); + } else { + ret = void 0; + } + } + values[ni] = value; + newRetained[ni] = ret; + } + for (; oi < oldLength; oi++) { + const ret = oldRetained[oi]; + if (typeof ret === "object" && (typeof ret.el.key === "undefined" || !seenKeys || !seenKeys.has(ret.el.key))) { + (graveyard = graveyard || []).push(ret); + } + } + if (childrenByKey !== void 0 && childrenByKey.size > 0) { + (graveyard = graveyard || []).push(...childrenByKey.values()); + } + parent.children = unwrap(newRetained); + if (isAsync) { + let childValues1 = Promise.all(values).finally(() => { + if (graveyard) { + for (let i = 0; i < graveyard.length; i++) { + unmount(renderer, host, ctx, graveyard[i]); + } + } + }); + let onChildValues; + childValues1 = Promise.race([ + childValues1, + new Promise((resolve) => onChildValues = resolve) + ]); + if (parent.onNextValues) { + parent.onNextValues(childValues1); + } + parent.onNextValues = onChildValues; + return childValues1.then((childValues) => { + parent.inflightValue = parent.fallbackValue = void 0; + return normalize(childValues); + }); + } else { + if (graveyard) { + for (let i = 0; i < graveyard.length; i++) { + unmount(renderer, host, ctx, graveyard[i]); + } + } + if (parent.onNextValues) { + parent.onNextValues(values); + parent.onNextValues = void 0; + } + parent.inflightValue = parent.fallbackValue = void 0; + return normalize(values); + } +} +function createChildrenByKey(children, offset) { + const childrenByKey = /* @__PURE__ */ new Map(); + for (let i = offset; i < children.length; i++) { + const child = children[i]; + if (typeof child === "object" && typeof child.el.key !== "undefined") { + childrenByKey.set(child.el.key, child); + } + } + return childrenByKey; +} +function getInflightValue(child) { + if (typeof child !== "object") { + return child; + } + const ctx = typeof child.el.tag === "function" ? child.ctx : void 0; + if (ctx && ctx.f & IsUpdating && ctx.inflightValue) { + return ctx.inflightValue; + } else if (child.inflightValue) { + return child.inflightValue; + } + return getValue(child); +} +function updateRaw(renderer, ret, scope, oldProps, hydrationData) { + const props = ret.el.props; + if (!oldProps || oldProps.value !== props.value) { + ret.value = renderer.raw(props.value, scope, hydrationData); + if (typeof ret.el.ref === "function") { + ret.el.ref(ret.value); + } + } + return ret.value; +} +function updateFragment(renderer, root, host, ctx, scope, ret, hydrationData) { + const childValues = diffChildren(renderer, root, host, ctx, scope, ret, ret.el.props.children, hydrationData); + if (isPromiseLike(childValues)) { + ret.inflightValue = childValues.then((childValues2) => unwrap(childValues2)); + return ret.inflightValue; + } + return unwrap(childValues); +} +function updateHost(renderer, root, ctx, scope, ret, oldProps, hydrationData) { + const el = ret.el; + const tag = el.tag; + let hydrationValue; + if (el.tag === Portal) { + root = ret.value = el.props.root; + } else { + if (hydrationData !== void 0) { + const value = hydrationData.children.shift(); + hydrationValue = value; + } + } + scope = renderer.scope(scope, tag, el.props); + let childHydrationData; + if (hydrationValue != null && typeof hydrationValue !== "string") { + childHydrationData = renderer.hydrate(tag, hydrationValue, el.props); + if (childHydrationData === void 0) { + hydrationValue = void 0; + } + } + const childValues = diffChildren(renderer, root, ret, ctx, scope, ret, ret.el.props.children, childHydrationData); + if (isPromiseLike(childValues)) { + ret.inflightValue = childValues.then((childValues2) => commitHost(renderer, scope, ret, childValues2, oldProps, hydrationValue)); + return ret.inflightValue; + } + return commitHost(renderer, scope, ret, childValues, oldProps, hydrationValue); +} +function commitHost(renderer, scope, ret, childValues, oldProps, hydrationValue) { + const tag = ret.el.tag; + let value = ret.value; + if (hydrationValue != null) { + value = ret.value = hydrationValue; + if (typeof ret.el.ref === "function") { + ret.el.ref(value); + } + } + let props = ret.el.props; + let copied; + if (tag !== Portal) { + if (value == null) { + value = ret.value = renderer.create(tag, props, scope); + if (typeof ret.el.ref === "function") { + ret.el.ref(value); + } + } + for (const propName in { ...oldProps, ...props }) { + const propValue = props[propName]; + if (propValue === Copy) { + (copied = copied || /* @__PURE__ */ new Set()).add(propName); + } else if (!SPECIAL_PROPS.has(propName)) { + renderer.patch(tag, value, propName, propValue, oldProps && oldProps[propName], scope); + } + } + } + if (copied) { + props = { ...ret.el.props }; + for (const name of copied) { + props[name] = oldProps && oldProps[name]; + } + ret.el = new Element(tag, props); + } + renderer.arrange(tag, value, props, childValues, oldProps, wrap(ret.cachedChildValues)); + ret.cachedChildValues = unwrap(childValues); + if (tag === Portal) { + flush(renderer, ret.value); + return; + } + return value; +} +function flush(renderer, root, initiator) { + renderer.flush(root); + if (typeof root !== "object" || root === null) { + return; + } + const flushMap = flushMaps.get(root); + if (flushMap) { + if (initiator) { + const flushMap1 = /* @__PURE__ */ new Map(); + for (let [ctx, callbacks] of flushMap) { + if (!ctxContains(initiator, ctx)) { + flushMap.delete(ctx); + flushMap1.set(ctx, callbacks); + } + } + if (flushMap1.size) { + flushMaps.set(root, flushMap1); + } else { + flushMaps.delete(root); + } + } else { + flushMaps.delete(root); + } + for (const [ctx, callbacks] of flushMap) { + const value = renderer.read(getValue(ctx.ret)); + for (const callback of callbacks) { + callback(value); + } + } + } +} +function unmount(renderer, host, ctx, ret) { + if (typeof ret.el.tag === "function") { + ctx = ret.ctx; + unmountComponent(ctx); + } else if (ret.el.tag === Portal) { + host = ret; + renderer.arrange(Portal, host.value, host.el.props, [], host.el.props, wrap(host.cachedChildValues)); + flush(renderer, host.value); + } else if (ret.el.tag !== Fragment) { + if (isEventTarget(ret.value)) { + const records = getListenerRecords(ctx, host); + for (let i = 0; i < records.length; i++) { + const record = records[i]; + ret.value.removeEventListener(record.type, record.callback, record.options); + } + } + renderer.dispose(ret.el.tag, ret.value, ret.el.props); + host = ret; + } + const children = wrap(ret.children); + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (typeof child === "object") { + unmount(renderer, host, ctx, child); + } + } +} +var IsUpdating = 1 << 0; +var IsSyncExecuting = 1 << 1; +var IsInForOfLoop = 1 << 2; +var IsInForAwaitOfLoop = 1 << 3; +var NeedsToYield = 1 << 4; +var PropsAvailable = 1 << 5; +var IsErrored = 1 << 6; +var IsUnmounted = 1 << 7; +var IsSyncGen = 1 << 8; +var IsAsyncGen = 1 << 9; +var IsScheduling = 1 << 10; +var IsSchedulingRefresh = 1 << 11; +var provisionMaps = /* @__PURE__ */ new WeakMap(); +var scheduleMap = /* @__PURE__ */ new WeakMap(); +var cleanupMap = /* @__PURE__ */ new WeakMap(); +var flushMaps = /* @__PURE__ */ new WeakMap(); +var ContextImpl = class { + constructor(renderer, root, host, parent, scope, ret) { + this.f = 0; + this.owner = new Context(this); + this.renderer = renderer; + this.root = root; + this.host = host; + this.parent = parent; + this.scope = scope; + this.ret = ret; + this.iterator = void 0; + this.inflightBlock = void 0; + this.inflightValue = void 0; + this.enqueuedBlock = void 0; + this.enqueuedValue = void 0; + this.onProps = void 0; + this.onPropsRequested = void 0; + } +}; +var _ContextImpl = Symbol.for("crank.ContextImpl"); +var Context = class { + // TODO: If we could make the constructor function take a nicer value, it + // would be useful for testing purposes. + constructor(impl) { + this[_ContextImpl] = impl; + } + /** + * The current props of the associated element. + */ + get props() { + return this[_ContextImpl].ret.el.props; + } + /** + * The current value of the associated element. + * + * @deprecated + */ + get value() { + return this[_ContextImpl].renderer.read(getValue(this[_ContextImpl].ret)); + } + *[Symbol.iterator]() { + const ctx = this[_ContextImpl]; + try { + ctx.f |= IsInForOfLoop; + while (!(ctx.f & IsUnmounted)) { + if (ctx.f & NeedsToYield) { + throw new Error("Context iterated twice without a yield"); + } else { + ctx.f |= NeedsToYield; + } + yield ctx.ret.el.props; + } + } finally { + ctx.f &= ~IsInForOfLoop; + } + } + async *[Symbol.asyncIterator]() { + const ctx = this[_ContextImpl]; + if (ctx.f & IsSyncGen) { + throw new Error("Use for...of in sync generator components"); + } + try { + ctx.f |= IsInForAwaitOfLoop; + while (!(ctx.f & IsUnmounted)) { + if (ctx.f & NeedsToYield) { + throw new Error("Context iterated twice without a yield"); + } else { + ctx.f |= NeedsToYield; + } + if (ctx.f & PropsAvailable) { + ctx.f &= ~PropsAvailable; + yield ctx.ret.el.props; + } else { + const props = await new Promise((resolve) => ctx.onProps = resolve); + if (ctx.f & IsUnmounted) { + break; + } + yield props; + } + if (ctx.onPropsRequested) { + ctx.onPropsRequested(); + ctx.onPropsRequested = void 0; + } + } + } finally { + ctx.f &= ~IsInForAwaitOfLoop; + if (ctx.onPropsRequested) { + ctx.onPropsRequested(); + ctx.onPropsRequested = void 0; + } + } + } + /** + * Re-executes a component. + * + * @returns The rendered value of the component or a promise thereof if the + * component or its children execute asynchronously. + * + * The refresh method works a little differently for async generator + * components, in that it will resume the Context’s props async iterator + * rather than resuming execution. This is because async generator components + * are perpetually resumed independent of updates, and rely on the props + * async iterator to suspend. + */ + refresh() { + const ctx = this[_ContextImpl]; + if (ctx.f & IsUnmounted) { + console.error("Component is unmounted"); + return ctx.renderer.read(void 0); + } else if (ctx.f & IsSyncExecuting) { + console.error("Component is already executing"); + return ctx.renderer.read(getValue(ctx.ret)); + } + const value = enqueueComponentRun(ctx); + if (isPromiseLike(value)) { + return value.then((value2) => ctx.renderer.read(value2)); + } + return ctx.renderer.read(value); + } + /** + * Registers a callback which fires when the component commits. Will only + * fire once per callback and update. + */ + schedule(callback) { + const ctx = this[_ContextImpl]; + let callbacks = scheduleMap.get(ctx); + if (!callbacks) { + callbacks = /* @__PURE__ */ new Set(); + scheduleMap.set(ctx, callbacks); + } + callbacks.add(callback); + } + /** + * Registers a callback which fires when the component’s children are + * rendered into the root. Will only fire once per callback and render. + */ + flush(callback) { + const ctx = this[_ContextImpl]; + if (typeof ctx.root !== "object" || ctx.root === null) { + return; + } + let flushMap = flushMaps.get(ctx.root); + if (!flushMap) { + flushMap = /* @__PURE__ */ new Map(); + flushMaps.set(ctx.root, flushMap); + } + let callbacks = flushMap.get(ctx); + if (!callbacks) { + callbacks = /* @__PURE__ */ new Set(); + flushMap.set(ctx, callbacks); + } + callbacks.add(callback); + } + /** + * Registers a callback which fires when the component unmounts. Will only + * fire once per callback. + */ + cleanup(callback) { + const ctx = this[_ContextImpl]; + if (ctx.f & IsUnmounted) { + const value = ctx.renderer.read(getValue(ctx.ret)); + callback(value); + return; + } + let callbacks = cleanupMap.get(ctx); + if (!callbacks) { + callbacks = /* @__PURE__ */ new Set(); + cleanupMap.set(ctx, callbacks); + } + callbacks.add(callback); + } + consume(key) { + for (let ctx = this[_ContextImpl].parent; ctx !== void 0; ctx = ctx.parent) { + const provisions = provisionMaps.get(ctx); + if (provisions && provisions.has(key)) { + return provisions.get(key); + } + } + } + provide(key, value) { + const ctx = this[_ContextImpl]; + let provisions = provisionMaps.get(ctx); + if (!provisions) { + provisions = /* @__PURE__ */ new Map(); + provisionMaps.set(ctx, provisions); + } + provisions.set(key, value); + } + addEventListener(type, listener, options) { + const ctx = this[_ContextImpl]; + let listeners; + if (!isListenerOrListenerObject(listener)) { + return; + } else { + const listeners1 = listenersMap.get(ctx); + if (listeners1) { + listeners = listeners1; + } else { + listeners = []; + listenersMap.set(ctx, listeners); + } + } + options = normalizeListenerOptions(options); + let callback; + if (typeof listener === "object") { + callback = () => listener.handleEvent.apply(listener, arguments); + } else { + callback = listener; + } + const record = { type, listener, callback, options }; + if (options.once) { + record.callback = function() { + const i = listeners.indexOf(record); + if (i !== -1) { + listeners.splice(i, 1); + } + return callback.apply(this, arguments); + }; + } + if (listeners.some((record1) => record.type === record1.type && record.listener === record1.listener && !record.options.capture === !record1.options.capture)) { + return; + } + listeners.push(record); + for (const value of getChildValues(ctx.ret)) { + if (isEventTarget(value)) { + value.addEventListener(record.type, record.callback, record.options); + } + } + } + removeEventListener(type, listener, options) { + const ctx = this[_ContextImpl]; + const listeners = listenersMap.get(ctx); + if (listeners == null || !isListenerOrListenerObject(listener)) { + return; + } + const options1 = normalizeListenerOptions(options); + const i = listeners.findIndex((record2) => record2.type === type && record2.listener === listener && !record2.options.capture === !options1.capture); + if (i === -1) { + return; + } + const record = listeners[i]; + listeners.splice(i, 1); + for (const value of getChildValues(ctx.ret)) { + if (isEventTarget(value)) { + value.removeEventListener(record.type, record.callback, record.options); + } + } + } + dispatchEvent(ev) { + const ctx = this[_ContextImpl]; + const path = []; + for (let parent = ctx.parent; parent !== void 0; parent = parent.parent) { + path.push(parent); + } + let immediateCancelBubble = false; + const stopImmediatePropagation = ev.stopImmediatePropagation; + setEventProperty(ev, "stopImmediatePropagation", () => { + immediateCancelBubble = true; + return stopImmediatePropagation.call(ev); + }); + setEventProperty(ev, "target", ctx.owner); + try { + setEventProperty(ev, "eventPhase", CAPTURING_PHASE); + for (let i = path.length - 1; i >= 0; i--) { + const target = path[i]; + const listeners = listenersMap.get(target); + if (listeners) { + setEventProperty(ev, "currentTarget", target.owner); + for (const record of listeners) { + if (record.type === ev.type && record.options.capture) { + try { + record.callback.call(target.owner, ev); + } catch (err) { + console.error(err); + } + if (immediateCancelBubble) { + return true; + } + } + } + } + if (ev.cancelBubble) { + return true; + } + } + { + setEventProperty(ev, "eventPhase", AT_TARGET); + setEventProperty(ev, "currentTarget", ctx.owner); + let propCallback = ctx.ret.el.props["on" + ev.type]; + if (typeof propCallback === "function") { + propCallback(ev); + if (immediateCancelBubble || ev.cancelBubble) { + return true; + } + } else { + for (const propName in ctx.ret.el.props) { + if (propName.toLowerCase() === "on" + ev.type.toLowerCase()) { + propCallback = ctx.ret.el.props[propName]; + if (typeof propCallback === "function") { + propCallback(ev); + if (immediateCancelBubble || ev.cancelBubble) { + return true; + } + } + } + } + } + const listeners = listenersMap.get(ctx); + if (listeners) { + for (const record of listeners) { + if (record.type === ev.type) { + try { + record.callback.call(ctx.owner, ev); + } catch (err) { + console.error(err); + } + if (immediateCancelBubble) { + return true; + } + } + } + if (ev.cancelBubble) { + return true; + } + } + } + if (ev.bubbles) { + setEventProperty(ev, "eventPhase", BUBBLING_PHASE); + for (let i = 0; i < path.length; i++) { + const target = path[i]; + const listeners = listenersMap.get(target); + if (listeners) { + setEventProperty(ev, "currentTarget", target.owner); + for (const record of listeners) { + if (record.type === ev.type && !record.options.capture) { + try { + record.callback.call(target.owner, ev); + } catch (err) { + console.error(err); + } + if (immediateCancelBubble) { + return true; + } + } + } + } + if (ev.cancelBubble) { + return true; + } + } + } + } finally { + setEventProperty(ev, "eventPhase", NONE); + setEventProperty(ev, "currentTarget", null); + return !ev.defaultPrevented; + } + } +}; +function ctxContains(parent, child) { + for (let current = child; current !== void 0; current = current.parent) { + if (current === parent) { + return true; + } + } + return false; +} +function updateComponent(renderer, root, host, parent, scope, ret, oldProps, hydrationData) { + let ctx; + if (oldProps) { + ctx = ret.ctx; + if (ctx.f & IsSyncExecuting) { + console.error("Component is already executing"); + return ret.cachedChildValues; + } + } else { + ctx = ret.ctx = new ContextImpl(renderer, root, host, parent, scope, ret); + } + ctx.f |= IsUpdating; + return enqueueComponentRun(ctx, hydrationData); +} +function updateComponentChildren(ctx, children, hydrationData) { + if (ctx.f & IsUnmounted) { + return; + } else if (ctx.f & IsErrored) { + return; + } else if (children === void 0) { + console.error("A component has returned or yielded undefined. If this was intentional, return or yield null instead."); + } + let childValues; + try { + ctx.f |= IsSyncExecuting; + childValues = diffChildren(ctx.renderer, ctx.root, ctx.host, ctx, ctx.scope, ctx.ret, narrow(children), hydrationData); + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isPromiseLike(childValues)) { + ctx.ret.inflightValue = childValues.then((childValues2) => commitComponent(ctx, childValues2)); + return ctx.ret.inflightValue; + } + return commitComponent(ctx, childValues); +} +function commitComponent(ctx, values) { + if (ctx.f & IsUnmounted) { + return; + } + const listeners = listenersMap.get(ctx); + if (listeners && listeners.length) { + for (let i = 0; i < values.length; i++) { + const value2 = values[i]; + if (isEventTarget(value2)) { + for (let j = 0; j < listeners.length; j++) { + const record = listeners[j]; + value2.addEventListener(record.type, record.callback, record.options); + } + } + } + } + const oldValues = wrap(ctx.ret.cachedChildValues); + let value = ctx.ret.cachedChildValues = unwrap(values); + if (ctx.f & IsScheduling) { + ctx.f |= IsSchedulingRefresh; + } else if (!(ctx.f & IsUpdating)) { + if (!arrayEqual(oldValues, values)) { + const records = getListenerRecords(ctx.parent, ctx.host); + if (records.length) { + for (let i = 0; i < values.length; i++) { + const value2 = values[i]; + if (isEventTarget(value2)) { + for (let j = 0; j < records.length; j++) { + const record = records[j]; + value2.addEventListener(record.type, record.callback, record.options); + } + } + } + } + const host = ctx.host; + const oldHostValues = wrap(host.cachedChildValues); + invalidate(ctx, host); + const hostValues = getChildValues(host); + ctx.renderer.arrange( + host.el.tag, + host.value, + host.el.props, + hostValues, + // props and oldProps are the same because the host isn’t updated. + host.el.props, + oldHostValues + ); + } + flush(ctx.renderer, ctx.root, ctx); + } + const callbacks = scheduleMap.get(ctx); + if (callbacks) { + scheduleMap.delete(ctx); + ctx.f |= IsScheduling; + const value1 = ctx.renderer.read(value); + for (const callback of callbacks) { + callback(value1); + } + ctx.f &= ~IsScheduling; + if (ctx.f & IsSchedulingRefresh) { + ctx.f &= ~IsSchedulingRefresh; + value = getValue(ctx.ret); + } + } + ctx.f &= ~IsUpdating; + return value; +} +function invalidate(ctx, host) { + for (let parent = ctx.parent; parent !== void 0 && parent.host === host; parent = parent.parent) { + parent.ret.cachedChildValues = void 0; + } + host.cachedChildValues = void 0; +} +function arrayEqual(arr1, arr2) { + if (arr1.length !== arr2.length) { + return false; + } + for (let i = 0; i < arr1.length; i++) { + const value1 = arr1[i]; + const value2 = arr2[i]; + if (value1 !== value2) { + return false; + } + } + return true; +} +function enqueueComponentRun(ctx, hydrationData) { + if (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) { + if (hydrationData !== void 0) { + throw new Error("Hydration error"); + } + const isAtLoopbottom = ctx.f & IsInForAwaitOfLoop && !ctx.onProps; + resumePropsAsyncIterator(ctx); + if (isAtLoopbottom) { + if (ctx.inflightBlock == null) { + ctx.inflightBlock = new Promise((resolve) => ctx.onPropsRequested = resolve); + } + return ctx.inflightBlock.then(() => { + ctx.inflightBlock = void 0; + return ctx.inflightValue; + }); + } + return ctx.inflightValue; + } else if (!ctx.inflightBlock) { + try { + const [block, value] = runComponent(ctx, hydrationData); + if (block) { + ctx.inflightBlock = block.then((v) => v).finally(() => advanceComponent(ctx)); + ctx.inflightValue = value; + } + return value; + } catch (err) { + if (!(ctx.f & IsUpdating)) { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + } + throw err; + } + } else if (!ctx.enqueuedBlock) { + if (hydrationData !== void 0) { + throw new Error("Hydration error"); + } + let resolveEnqueuedBlock; + ctx.enqueuedBlock = new Promise((resolve) => resolveEnqueuedBlock = resolve); + ctx.enqueuedValue = ctx.inflightBlock.then(() => { + try { + const [block, value] = runComponent(ctx); + if (block) { + resolveEnqueuedBlock(block.finally(() => advanceComponent(ctx))); + } + return value; + } catch (err) { + if (!(ctx.f & IsUpdating)) { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + } + throw err; + } + }); + } + return ctx.enqueuedValue; +} +function advanceComponent(ctx) { + if (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) { + return; + } + ctx.inflightBlock = ctx.enqueuedBlock; + ctx.inflightValue = ctx.enqueuedValue; + ctx.enqueuedBlock = void 0; + ctx.enqueuedValue = void 0; +} +function runComponent(ctx, hydrationData) { + const ret = ctx.ret; + const initial = !ctx.iterator; + if (initial) { + resumePropsAsyncIterator(ctx); + ctx.f |= IsSyncExecuting; + clearEventListeners(ctx); + let result; + try { + result = ret.el.tag.call(ctx.owner, ret.el.props, ctx.owner); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isIteratorLike(result)) { + ctx.iterator = result; + } else if (isPromiseLike(result)) { + const result1 = result instanceof Promise ? result : Promise.resolve(result); + const value = result1.then((result2) => updateComponentChildren(ctx, result2, hydrationData), (err) => { + ctx.f |= IsErrored; + throw err; + }); + return [result1.catch(NOOP), value]; + } else { + return [ + void 0, + updateComponentChildren(ctx, result, hydrationData) + ]; + } + } else if (hydrationData !== void 0) { + throw new Error("Hydration error"); + } + let iteration; + if (initial) { + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.next(); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isPromiseLike(iteration)) { + ctx.f |= IsAsyncGen; + } else { + ctx.f |= IsSyncGen; + } + } + if (ctx.f & IsSyncGen) { + if (!initial) { + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.next(ctx.renderer.read(getValue(ret))); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + } + if (isPromiseLike(iteration)) { + throw new Error("Mixed generator component"); + } + if (ctx.f & IsInForOfLoop && !(ctx.f & NeedsToYield) && !(ctx.f & IsUnmounted)) { + console.error("Component yielded more than once in for...of loop"); + } + ctx.f &= ~NeedsToYield; + if (iteration.done) { + ctx.f &= ~IsSyncGen; + ctx.iterator = void 0; + } + let value; + try { + value = updateComponentChildren( + ctx, + // Children can be void so we eliminate that here + iteration.value, + hydrationData + ); + if (isPromiseLike(value)) { + value = value.catch((err) => handleChildError(ctx, err)); + } + } catch (err) { + value = handleChildError(ctx, err); + } + const block = isPromiseLike(value) ? value.catch(NOOP) : void 0; + return [block, value]; + } else { + if (ctx.f & IsInForOfLoop) { + if (!initial) { + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.next(ctx.renderer.read(getValue(ret))); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + } + if (!isPromiseLike(iteration)) { + throw new Error("Mixed generator component"); + } + const block = iteration.catch(NOOP); + const value = iteration.then((iteration2) => { + let value2; + if (!(ctx.f & IsInForOfLoop)) { + runAsyncGenComponent(ctx, Promise.resolve(iteration2), hydrationData); + } else { + if (!(ctx.f & NeedsToYield) && !(ctx.f & IsUnmounted)) { + console.error("Component yielded more than once in for...of loop"); + } + } + ctx.f &= ~NeedsToYield; + try { + value2 = updateComponentChildren( + ctx, + // Children can be void so we eliminate that here + iteration2.value, + hydrationData + ); + if (isPromiseLike(value2)) { + value2 = value2.catch((err) => handleChildError(ctx, err)); + } + } catch (err) { + value2 = handleChildError(ctx, err); + } + return value2; + }, (err) => { + ctx.f |= IsErrored; + throw err; + }); + return [block, value]; + } else { + runAsyncGenComponent(ctx, iteration, hydrationData, initial); + return [ctx.inflightBlock, ctx.inflightValue]; + } + } +} +async function runAsyncGenComponent(ctx, iterationP, hydrationData, initial = false) { + let done = false; + try { + while (!done) { + if (ctx.f & IsInForOfLoop) { + break; + } + let onValue; + ctx.inflightValue = new Promise((resolve) => onValue = resolve); + if (ctx.f & IsUpdating) { + ctx.inflightValue.catch(NOOP); + } + let iteration; + try { + iteration = await iterationP; + } catch (err) { + done = true; + ctx.f |= IsErrored; + onValue(Promise.reject(err)); + break; + } + if (!(ctx.f & IsInForAwaitOfLoop)) { + ctx.f &= ~PropsAvailable; + } + done = !!iteration.done; + let value; + try { + if (!(ctx.f & NeedsToYield) && ctx.f & PropsAvailable && ctx.f & IsInForAwaitOfLoop && !initial && !done) { + value = ctx.ret.inflightValue || getValue(ctx.ret); + } else { + value = updateComponentChildren(ctx, iteration.value, hydrationData); + hydrationData = void 0; + if (isPromiseLike(value)) { + value = value.catch((err) => handleChildError(ctx, err)); + } + } + ctx.f &= ~NeedsToYield; + } catch (err) { + value = handleChildError(ctx, err); + } finally { + onValue(value); + } + let oldResult; + if (ctx.ret.inflightValue) { + oldResult = ctx.ret.inflightValue.then((value2) => ctx.renderer.read(value2)); + oldResult.catch((err) => { + if (ctx.f & IsUpdating) { + return; + } + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } else { + oldResult = ctx.renderer.read(getValue(ctx.ret)); + } + if (ctx.f & IsUnmounted) { + if (ctx.f & IsInForAwaitOfLoop) { + try { + ctx.f |= IsSyncExecuting; + iterationP = ctx.iterator.next(oldResult); + } finally { + ctx.f &= ~IsSyncExecuting; + } + } else { + returnComponent(ctx); + break; + } + } else if (!done && !(ctx.f & IsInForOfLoop)) { + try { + ctx.f |= IsSyncExecuting; + iterationP = ctx.iterator.next(oldResult); + } finally { + ctx.f &= ~IsSyncExecuting; + } + } + initial = false; + } + } finally { + if (done) { + ctx.f &= ~IsAsyncGen; + ctx.iterator = void 0; + } + } +} +function resumePropsAsyncIterator(ctx) { + if (ctx.onProps) { + ctx.onProps(ctx.ret.el.props); + ctx.onProps = void 0; + ctx.f &= ~PropsAvailable; + } else { + ctx.f |= PropsAvailable; + } +} +function unmountComponent(ctx) { + if (ctx.f & IsUnmounted) { + return; + } + clearEventListeners(ctx); + const callbacks = cleanupMap.get(ctx); + if (callbacks) { + cleanupMap.delete(ctx); + const value = ctx.renderer.read(getValue(ctx.ret)); + for (const callback of callbacks) { + callback(value); + } + } + ctx.f |= IsUnmounted; + if (ctx.iterator) { + if (ctx.f & IsSyncGen) { + let value; + if (ctx.f & IsInForOfLoop) { + value = enqueueComponentRun(ctx); + } + if (isPromiseLike(value)) { + value.then(() => { + if (ctx.f & IsInForOfLoop) { + unmountComponent(ctx); + } else { + returnComponent(ctx); + } + }, (err) => { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } else { + if (ctx.f & IsInForOfLoop) { + unmountComponent(ctx); + } else { + returnComponent(ctx); + } + } + } else if (ctx.f & IsAsyncGen) { + if (ctx.f & IsInForOfLoop) { + const value = enqueueComponentRun(ctx); + value.then(() => { + if (ctx.f & IsInForOfLoop) { + unmountComponent(ctx); + } else { + returnComponent(ctx); + } + }, (err) => { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } else { + resumePropsAsyncIterator(ctx); + } + } + } +} +function returnComponent(ctx) { + resumePropsAsyncIterator(ctx); + if (ctx.iterator && typeof ctx.iterator.return === "function") { + try { + ctx.f |= IsSyncExecuting; + const iteration = ctx.iterator.return(); + if (isPromiseLike(iteration)) { + iteration.catch((err) => { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } + } finally { + ctx.f &= ~IsSyncExecuting; + } + } +} +var NONE = 0; +var CAPTURING_PHASE = 1; +var AT_TARGET = 2; +var BUBBLING_PHASE = 3; +var listenersMap = /* @__PURE__ */ new WeakMap(); +function isListenerOrListenerObject(value) { + return typeof value === "function" || value !== null && typeof value === "object" && typeof value.handleEvent === "function"; +} +function normalizeListenerOptions(options) { + if (typeof options === "boolean") { + return { capture: options }; + } else if (options == null) { + return {}; + } + return options; +} +function isEventTarget(value) { + return value != null && typeof value.addEventListener === "function" && typeof value.removeEventListener === "function" && typeof value.dispatchEvent === "function"; +} +function setEventProperty(ev, key, value) { + Object.defineProperty(ev, key, { value, writable: false, configurable: true }); +} +function getListenerRecords(ctx, ret) { + let listeners = []; + while (ctx !== void 0 && ctx.host === ret) { + const listeners1 = listenersMap.get(ctx); + if (listeners1) { + listeners = listeners.concat(listeners1); + } + ctx = ctx.parent; + } + return listeners; +} +function clearEventListeners(ctx) { + const listeners = listenersMap.get(ctx); + if (listeners && listeners.length) { + for (const value of getChildValues(ctx.ret)) { + if (isEventTarget(value)) { + for (const record of listeners) { + value.removeEventListener(record.type, record.callback, record.options); + } + } + } + listeners.length = 0; + } +} +function handleChildError(ctx, err) { + if (!ctx.iterator || typeof ctx.iterator.throw !== "function") { + throw err; + } + resumePropsAsyncIterator(ctx); + let iteration; + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.throw(err); + } catch (err2) { + ctx.f |= IsErrored; + throw err2; + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isPromiseLike(iteration)) { + return iteration.then((iteration2) => { + if (iteration2.done) { + ctx.f &= ~IsAsyncGen; + ctx.iterator = void 0; + } + return updateComponentChildren(ctx, iteration2.value); + }, (err2) => { + ctx.f |= IsErrored; + throw err2; + }); + } + if (iteration.done) { + ctx.f &= ~IsSyncGen; + ctx.f &= ~IsAsyncGen; + ctx.iterator = void 0; + } + return updateComponentChildren(ctx, iteration.value); +} +function propagateError(ctx, err) { + let result; + try { + result = handleChildError(ctx, err); + } catch (err2) { + if (!ctx.parent) { + throw err2; + } + return propagateError(ctx.parent, err2); + } + if (isPromiseLike(result)) { + return result.catch((err2) => { + if (!ctx.parent) { + throw err2; + } + return propagateError(ctx.parent, err2); + }); + } + return result; +} +export { + Context, + Copy, + Element, + Fragment, + Portal, + Raw, + Renderer, + cloneElement, + createElement, + isElement +}; +/*! Bundled license information: + +@esbuild-plugins/node-globals-polyfill/Buffer.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) +*/ +//# sourceMappingURL=crank-IKBCNXHY.js.map diff --git a/static/crank-IKBCNXHY.js.map b/static/crank-IKBCNXHY.js.map new file mode 100644 index 00000000..491a24bc --- /dev/null +++ b/static/crank-IKBCNXHY.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/@esbuild-plugins/node-globals-polyfill/process.js", "../node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js", "../node_modules/@b9g/src/crank.ts"], + "sourcesContent": ["// shim for using process in browser\n// based off https://github.com/defunctzombie/node-process/blob/master/browser.js\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined')\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined')\n}\nvar cachedSetTimeout = defaultSetTimout\nvar cachedClearTimeout = defaultClearTimeout\nif (typeof global.setTimeout === 'function') {\n cachedSetTimeout = setTimeout\n}\nif (typeof global.clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout\n}\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0)\n }\n // if setTimeout wasn't available but was latter defined\n if (\n (cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) &&\n setTimeout\n ) {\n cachedSetTimeout = setTimeout\n return setTimeout(fun, 0)\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0)\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0)\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0)\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker)\n }\n // if clearTimeout wasn't available but was latter defined\n if (\n (cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) &&\n clearTimeout\n ) {\n cachedClearTimeout = clearTimeout\n return clearTimeout(marker)\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker)\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker)\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker)\n }\n }\n}\nvar queue = []\nvar draining = false\nvar currentQueue\nvar queueIndex = -1\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return\n }\n draining = false\n if (currentQueue.length) {\n queue = currentQueue.concat(queue)\n } else {\n queueIndex = -1\n }\n if (queue.length) {\n drainQueue()\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return\n }\n var timeout = runTimeout(cleanUpNextTick)\n draining = true\n\n var len = queue.length\n while (len) {\n currentQueue = queue\n queue = []\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run()\n }\n }\n queueIndex = -1\n len = queue.length\n }\n currentQueue = null\n draining = false\n runClearTimeout(timeout)\n}\nfunction nextTick(fun) {\n var args = new Array(arguments.length - 1)\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i]\n }\n }\n queue.push(new Item(fun, args))\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue)\n }\n}\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun\n this.array = array\n}\nItem.prototype.run = function() {\n this.fun.apply(null, this.array)\n}\nvar title = 'browser'\nvar platform = 'browser'\nvar browser = true\nvar env = {}\nvar argv = []\nvar version = '' // empty string to avoid regexp issues\nvar versions = {}\nvar release = {}\nvar config = {}\n\nfunction noop() {}\n\nvar on = noop\nvar addListener = noop\nvar once = noop\nvar off = noop\nvar removeListener = noop\nvar removeAllListeners = noop\nvar emit = noop\n\nfunction binding(name) {\n throw new Error('process.binding is not supported')\n}\n\nfunction cwd() {\n return '/'\n}\nfunction chdir(dir) {\n throw new Error('process.chdir is not supported')\n}\nfunction umask() {\n return 0\n}\n\n// from https://github.com/kumavis/browser-process-hrtime/blob/master/index.js\nvar performance = global.performance || {}\nvar performanceNow =\n performance.now ||\n performance.mozNow ||\n performance.msNow ||\n performance.oNow ||\n performance.webkitNow ||\n function() {\n return new Date().getTime()\n }\n\n// generate timestamp or delta\n// see http://nodejs.org/api/process.html#process_process_hrtime\nfunction hrtime(previousTimestamp) {\n var clocktime = performanceNow.call(performance) * 1e-3\n var seconds = Math.floor(clocktime)\n var nanoseconds = Math.floor((clocktime % 1) * 1e9)\n if (previousTimestamp) {\n seconds = seconds - previousTimestamp[0]\n nanoseconds = nanoseconds - previousTimestamp[1]\n if (nanoseconds < 0) {\n seconds--\n nanoseconds += 1e9\n }\n }\n return [seconds, nanoseconds]\n}\n\nvar startTime = new Date()\nfunction uptime() {\n var currentTime = new Date()\n var dif = currentTime - startTime\n return dif / 1000\n}\n\nexport var process = {\n nextTick: nextTick,\n title: title,\n browser: browser,\n env: env,\n argv: argv,\n version: version,\n versions: versions,\n on: on,\n addListener: addListener,\n once: once,\n off: off,\n removeListener: removeListener,\n removeAllListeners: removeAllListeners,\n emit: emit,\n binding: binding,\n cwd: cwd,\n chdir: chdir,\n umask: umask,\n hrtime: hrtime,\n platform: platform,\n release: release,\n config: config,\n uptime: uptime,\n}\n\n// replace process.env.VAR with define\n\nconst defines = {}\nObject.keys(defines).forEach((key) => {\n const segs = key.split('.')\n let target = process\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n if (i === segs.length - 1) {\n target[seg] = defines[key]\n } else {\n target = target[seg] || (target[seg] = {})\n }\n }\n})\n", "// taken from https://github.com/calvinmetcalf/buffer-es6\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\nvar inited = false\nfunction init() {\n inited = true\n var code =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n for (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n }\n\n revLookup['-'.charCodeAt(0)] = 62\n revLookup['_'.charCodeAt(0)] = 63\n}\n\nfunction base64toByteArray(b64) {\n if (!inited) {\n init()\n }\n var i, j, l, tmp, placeHolders, arr\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n placeHolders = b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n\n // base64 is 4/3 + up to two characters of the original data\n arr = new Arr((len * 3) / 4 - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0, j = 0; i < l; i += 4, j += 3) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xff\n arr[L++] = (tmp >> 8) & 0xff\n arr[L++] = tmp & 0xff\n }\n\n if (placeHolders === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xff\n } else if (placeHolders === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xff\n arr[L++] = tmp & 0xff\n }\n\n return arr\n}\n\nfunction tripletToBase64(num) {\n return (\n lookup[(num >> 18) & 0x3f] +\n lookup[(num >> 12) & 0x3f] +\n lookup[(num >> 6) & 0x3f] +\n lookup[num & 0x3f]\n )\n}\n\nfunction encodeChunk(uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2]\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction base64fromByteArray(uint8) {\n if (!inited) {\n init()\n }\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(\n encodeChunk(\n uint8,\n i,\n i + maxChunkLength > len2 ? len2 : i + maxChunkLength,\n ),\n )\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3f]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3f]\n output += lookup[(tmp << 2) & 0x3f]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\nvar INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT =\n global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : true\n\nfunction kMaxLength() {\n return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff\n}\n\nfunction createBuffer(that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nexport function Buffer(arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string',\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function(arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from(that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function(value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nBuffer.kMaxLength = kMaxLength()\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (\n typeof Symbol !== 'undefined' &&\n Symbol.species &&\n Buffer[Symbol.species] === Buffer\n ) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n // Object.defineProperty(Buffer, Symbol.species, {\n // value: null,\n // configurable: true\n // })\n }\n}\n\nfunction assertSize(size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc(that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function(size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe(that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function(size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function(size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString(that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike(that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer(that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\"'offset' is out of bounds\")\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\"'length' is out of bounds\")\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject(that, obj) {\n if (internalIsBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if (\n (typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) ||\n 'length' in obj\n ) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError(\n 'First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.',\n )\n}\n\nfunction checked(length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError(\n 'Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' +\n kMaxLength().toString(16) +\n ' bytes',\n )\n }\n return length | 0\n}\n\nexport function SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\nBuffer.isBuffer = isBuffer\nfunction internalIsBuffer(b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare(a, b) {\n if (!internalIsBuffer(a) || !internalIsBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!internalIsBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength(string, encoding) {\n if (internalIsBuffer(string)) {\n return string.length\n }\n if (\n typeof ArrayBuffer !== 'undefined' &&\n typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)\n ) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString(encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase)\n throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap(b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16() {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32() {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64() {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString() {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals(b) {\n if (!internalIsBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\n\nBuffer.prototype.compare = function compare(\n target,\n start,\n end,\n thisStart,\n thisEnd,\n) {\n if (!internalIsBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (\n start < 0 ||\n end > target.length ||\n thisStart < 0 ||\n thisEnd > this.length\n ) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (internalIsBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xff // Search for a byte value [0-255]\n if (\n Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function'\n ) {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(\n buffer,\n val,\n byteOffset,\n )\n } else {\n return Uint8Array.prototype.lastIndexOf.call(\n buffer,\n val,\n byteOffset,\n )\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (\n encoding === 'ucs2' ||\n encoding === 'ucs-2' ||\n encoding === 'utf16le' ||\n encoding === 'utf-16le'\n ) {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (\n read(arr, i) ===\n read(val, foundIndex === -1 ? 0 : i - foundIndex)\n ) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength)\n return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength)\n byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write(buf, string, offset, length) {\n return blitBuffer(\n utf8ToBytes(string, buf.length - offset),\n buf,\n offset,\n length,\n )\n}\n\nfunction asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write(buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write(buf, string, offset, length) {\n return blitBuffer(\n utf16leToBytes(string, buf.length - offset),\n buf,\n offset,\n length,\n )\n}\n\nBuffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported',\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if (\n (string.length > 0 && (length < 0 || offset < 0)) ||\n offset > this.length\n ) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase)\n throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON() {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0),\n }\n}\n\nfunction base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64fromByteArray(buf)\n } else {\n return base64fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence =\n firstByte > 0xef\n ? 4\n : firstByte > 0xdf\n ? 3\n : firstByte > 0xbf\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xc0) === 0x80) {\n tempCodePoint =\n ((firstByte & 0x1f) << 0x6) | (secondByte & 0x3f)\n if (tempCodePoint > 0x7f) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if (\n (secondByte & 0xc0) === 0x80 &&\n (thirdByte & 0xc0) === 0x80\n ) {\n tempCodePoint =\n ((firstByte & 0xf) << 0xc) |\n ((secondByte & 0x3f) << 0x6) |\n (thirdByte & 0x3f)\n if (\n tempCodePoint > 0x7ff &&\n (tempCodePoint < 0xd800 || tempCodePoint > 0xdfff)\n ) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if (\n (secondByte & 0xc0) === 0x80 &&\n (thirdByte & 0xc0) === 0x80 &&\n (fourthByte & 0xc0) === 0x80\n ) {\n tempCodePoint =\n ((firstByte & 0xf) << 0x12) |\n ((secondByte & 0x3f) << 0xc) |\n ((thirdByte & 0x3f) << 0x6) |\n (fourthByte & 0x3f)\n if (\n tempCodePoint > 0xffff &&\n tempCodePoint < 0x110000\n ) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xfffd\n bytesPerSequence = 1\n } else if (codePoint > 0xffff) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(((codePoint >>> 10) & 0x3ff) | 0xd800)\n codePoint = 0xdc00 | (codePoint & 0x3ff)\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray(codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, (i += MAX_ARGUMENTS_LENGTH)),\n )\n }\n return res\n}\n\nfunction asciiSlice(buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7f)\n }\n return ret\n}\n\nfunction latin1Slice(buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice(buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice(buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice(start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0)\n throw new RangeError('offset is not uint')\n if (offset + ext > length)\n throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE(\n offset,\n byteLength,\n noAssert,\n) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE(\n offset,\n byteLength,\n noAssert,\n) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n (this[offset] | (this[offset + 1] << 8) | (this[offset + 2] << 16)) +\n this[offset + 3] * 0x1000000\n )\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n this[offset] * 0x1000000 +\n ((this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3])\n )\n}\n\nBuffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return this[offset]\n return (0xff - this[offset] + 1) * -1\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return val & 0x8000 ? val | 0xffff0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return val & 0x8000 ? val | 0xffff0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n this[offset] |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n )\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3]\n )\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754read(this, offset, false, 52, 8)\n}\n\nfunction checkInt(buf, value, offset, ext, max, min) {\n if (!internalIsBuffer(buf))\n throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min)\n throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xff\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xff\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = value & 0xff\n return offset + 1\n}\n\nfunction objectWriteUInt16(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] =\n (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n ((littleEndian ? i : 1 - i) * 8)\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8\n this[offset + 1] = value & 0xff\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> ((littleEndian ? i : 3 - i) * 8)) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = value >>> 24\n this[offset + 2] = value >>> 16\n this[offset + 1] = value >>> 8\n this[offset] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24\n this[offset + 1] = value >>> 16\n this[offset + 2] = value >>> 8\n this[offset + 3] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xff\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xff\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = value & 0xff\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8\n this[offset + 1] = value & 0xff\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n this[offset + 2] = value >>> 16\n this[offset + 3] = value >>> 24\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24\n this[offset + 1] = value >>> 16\n this[offset + 2] = value >>> 8\n this[offset + 3] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(\n buf,\n value,\n offset,\n 4,\n 3.4028234663852886e38,\n -3.4028234663852886e38,\n )\n }\n ieee754write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(\n buf,\n value,\n offset,\n 8,\n 1.7976931348623157e308,\n -1.7976931348623157e308,\n )\n }\n ieee754write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE(\n value,\n offset,\n noAssert,\n) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE(\n value,\n offset,\n noAssert,\n) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length)\n throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart,\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = internalIsBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean(str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim(str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex(n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes(string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xd7ff && codePoint < 0xe000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xdbff) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xdc00) {\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint =\n (((leadSurrogate - 0xd800) << 10) | (codePoint - 0xdc00)) +\n 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push((codePoint >> 0x6) | 0xc0, (codePoint & 0x3f) | 0x80)\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n (codePoint >> 0xc) | 0xe0,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80,\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n (codePoint >> 0x12) | 0xf0,\n ((codePoint >> 0xc) & 0x3f) | 0x80,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80,\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes(str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xff)\n }\n return byteArray\n}\n\nfunction utf16leToBytes(str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes(str) {\n return base64toByteArray(base64clean(str))\n}\n\nfunction blitBuffer(src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan(val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n// the following is from is-buffer, also by Feross Aboukhadijeh and with same lisence\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nfunction isBuffer(obj) {\n return (\n obj != null &&\n (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj))\n )\n}\n\nfunction isFastBuffer(obj) {\n return (\n !!obj.constructor &&\n typeof obj.constructor.isBuffer === 'function' &&\n obj.constructor.isBuffer(obj)\n )\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer(obj) {\n return (\n typeof obj.readFloatLE === 'function' &&\n typeof obj.slice === 'function' &&\n isFastBuffer(obj.slice(0, 0))\n )\n}\n\nfunction ieee754read(buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? nBytes - 1 : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << -nBits) - 1)\n s >>= -nBits\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << -nBits) - 1)\n e >>= -nBits\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nfunction ieee754write(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0\n var i = isLE ? 0 : nBytes - 1\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (\n ;\n mLen >= 8;\n buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8\n ) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (\n ;\n eLen > 0;\n buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8\n ) {}\n\n buffer[offset + i - d] |= s * 128\n}\n", "const NOOP = () => {};\nconst IDENTITY = (value: T): T => value;\n\nfunction wrap(value: Array | T | undefined): Array {\n\treturn value === undefined ? [] : Array.isArray(value) ? value : [value];\n}\n\nfunction unwrap(arr: Array): Array | T | undefined {\n\treturn arr.length === 0 ? undefined : arr.length === 1 ? arr[0] : arr;\n}\n\ntype NonStringIterable = Iterable & object;\n\n/**\n * Ensures a value is an array.\n *\n * This function does the same thing as wrap() above except it handles nulls\n * and iterables, so it is appropriate for wrapping user-provided element\n * children.\n */\nfunction arrayify(\n\tvalue: NonStringIterable | T | null | undefined,\n): Array {\n\treturn value == null\n\t\t? []\n\t\t: Array.isArray(value)\n\t\t\t? value\n\t\t\t: typeof value === \"string\" ||\n\t\t\t\t typeof (value as any)[Symbol.iterator] !== \"function\"\n\t\t\t\t? [value]\n\t\t\t\t: // TODO: inference broke in TypeScript 3.9.\n\t\t\t\t\t[...(value as any)];\n}\n\nfunction isIteratorLike(\n\tvalue: any,\n): value is Iterator | AsyncIterator {\n\treturn value != null && typeof value.next === \"function\";\n}\n\nfunction isPromiseLike(value: any): value is PromiseLike {\n\treturn value != null && typeof value.then === \"function\";\n}\n\n/**\n * A type which represents all valid values for an element tag.\n */\nexport type Tag = string | symbol | Component;\n\n/**\n * A helper type to map the tag of an element to its expected props.\n *\n * @template TTag - The tag associated with the props. Can be a string, symbol\n * or a component function.\n */\nexport type TagProps = TTag extends string\n\t? JSX.IntrinsicElements[TTag]\n\t: TTag extends Component\n\t\t? TProps & JSX.IntrinsicAttributes\n\t\t: Record & JSX.IntrinsicAttributes;\n\n/***\n * SPECIAL TAGS\n *\n * Crank provides a couple tags which have special meaning for the renderer.\n ***/\n\n/**\n * A special tag for grouping multiple children within the same parent.\n *\n * All non-string iterables which appear in the element tree are implicitly\n * wrapped in a fragment element.\n *\n * This tag is just the empty string, and you can use the empty string in\n * createElement calls or transpiler options directly to avoid having to\n * reference this export.\n */\nexport const Fragment = \"\";\nexport type Fragment = typeof Fragment;\n\n// TODO: We assert the following symbol tags as any because TypeScript support\n// for symbol tags in JSX doesn’t exist yet.\n// https://github.com/microsoft/TypeScript/issues/38367\n\n/**\n * A special tag for rendering into a new root node via a root prop.\n *\n * This tag is useful for creating element trees with multiple roots, for\n * things like modals or tooltips.\n *\n * Renderer.prototype.render() will implicitly wrap top-level element trees in\n * a Portal element.\n */\nexport const Portal = Symbol.for(\"crank.Portal\") as any;\nexport type Portal = typeof Portal;\n\n/**\n * A special tag which preserves whatever was previously rendered in the\n * element’s position.\n *\n * Copy elements are useful for when you want to prevent a subtree from\n * rerendering as a performance optimization. Copy elements can also be keyed,\n * in which case the previously rendered keyed element will be copied.\n */\nexport const Copy = Symbol.for(\"crank.Copy\") as any;\nexport type Copy = typeof Copy;\n\n/**\n * A special tag for injecting raw nodes or strings via a value prop.\n *\n * Renderer.prototype.raw() is called with the value prop.\n */\nexport const Raw = Symbol.for(\"crank.Raw\") as any;\nexport type Raw = typeof Raw;\n\n/**\n * Describes all valid values of an element tree, excluding iterables.\n *\n * Arbitrary objects can also be safely rendered, but will be converted to a\n * string using the toString() method. We exclude them from this type to catch\n * potential mistakes.\n */\nexport type Child = Element | string | number | boolean | null | undefined;\n\n/**\n * An arbitrarily nested iterable of Child values.\n *\n * We use a recursive interface here rather than making the Children type\n * directly recursive because recursive type aliases were added in TypeScript\n * 3.7.\n *\n * You should avoid referencing this type directly, as it is mainly exported to\n * prevent TypeScript errors.\n */\nexport interface ChildIterable extends Iterable {}\n\n/**\n * Describes all valid values of an element tree, including arbitrarily nested\n * iterables of such values.\n */\nexport type Children = Child | ChildIterable;\n\n/**\n * Represents all functions which can be used as a component.\n *\n * @template [TProps=*] - The expected props for the component.\n */\nexport type Component = any> = (\n\tthis: Context,\n\tprops: TProps,\n\tctx: Context,\n) =>\n\t| Children\n\t| PromiseLike\n\t// The return type of iterators must include void because TypeScript will\n\t// infer generators which return implicitly as having a void return type.\n\t| Iterator\n\t| AsyncIterator;\n\ntype ChildrenIteratorResult = IteratorResult;\n\n/**\n * A type to keep track of keys. Any value can be a key, though null and\n * undefined are ignored.\n */\ntype Key = unknown;\n\nconst ElementSymbol = Symbol.for(\"crank.Element\");\n\n// To maximize compatibility between Crank versions, starting with 0.2.0, any\n// changes to the Element properties will be considered a breaking change.\nexport interface Element {\n\t/**\n\t * @internal\n\t * A unique symbol to identify elements as elements across versions and\n\t * realms, and to protect against basic injection attacks.\n\t * https://overreacted.io/why-do-react-elements-have-typeof-property/\n\t *\n\t * This property is defined on the element prototype rather than per\n\t * instance, because it is the same for every Element.\n\t */\n\t$$typeof: typeof ElementSymbol;\n\n\t/**\n\t * The tag of the element. Can be a string, symbol or function.\n\t */\n\ttag: TTag;\n\n\t/**\n\t * An object containing the \"properties\" of an element. These correspond to\n\t * the attribute syntax from JSX.\n\t */\n\tprops: TagProps;\n}\n\n/**\n * Elements are the basic building blocks of Crank applications. They are\n * JavaScript objects which are interpreted by special classes called renderers\n * to produce and manage stateful nodes.\n *\n * @template {Tag} [TTag=Tag] - The type of the tag of the element.\n *\n * @example\n * // specific element types\n * let div: Element<\"div\">;\n * let portal: Element;\n * let myEl: Element;\n *\n * // general element types\n * let host: Element;\n * let component: Element;\n *\n * Typically, you use a helper function like createElement to create elements\n * rather than instatiating this class directly.\n */\nexport class Element {\n\tconstructor(tag: TTag, props: TagProps) {\n\t\tthis.tag = tag;\n\t\tthis.props = props;\n\t}\n\n\tget key(): Key {\n\t\treturn this.props.key;\n\t}\n\n\tget ref(): unknown {\n\t\treturn this.props.ref;\n\t}\n\n\tget copy(): boolean {\n\t\treturn !!this.props.copy;\n\t}\n}\n\n// See Element interface\nElement.prototype.$$typeof = ElementSymbol;\n\nexport function isElement(value: any): value is Element {\n\treturn value != null && value.$$typeof === ElementSymbol;\n}\n\nconst DEPRECATED_PROP_PREFIXES = [\"crank-\", \"c-\", \"$\"];\n\nconst DEPRECATED_SPECIAL_PROP_BASES = [\"key\", \"ref\", \"static\"];\n\nconst SPECIAL_PROPS = new Set([\"children\", \"key\", \"ref\", \"copy\"]);\nfor (const propPrefix of DEPRECATED_PROP_PREFIXES) {\n\tfor (const propBase of DEPRECATED_SPECIAL_PROP_BASES) {\n\t\tSPECIAL_PROPS.add(propPrefix + propBase);\n\t}\n}\n\n/**\n * Creates an element with the specified tag, props and children.\n *\n * This function is usually used as a transpilation target for JSX transpilers,\n * but it can also be called directly. It additionally extracts special props so\n * they aren’t accessible to renderer methods or components, and assigns the\n * children prop according to any additional arguments passed to the function.\n */\nexport function createElement(\n\ttag: TTag,\n\tprops?: TagProps | null | undefined,\n\t...children: Array\n): Element {\n\tif (props == null) {\n\t\tprops = {} as TagProps;\n\t}\n\n\tfor (let i = 0; i < DEPRECATED_PROP_PREFIXES.length; i++) {\n\t\tconst propPrefix = DEPRECATED_PROP_PREFIXES[i];\n\t\tfor (let j = 0; j < DEPRECATED_SPECIAL_PROP_BASES.length; j++) {\n\t\t\tconst propBase = DEPRECATED_SPECIAL_PROP_BASES[j];\n\t\t\tconst deprecatedPropName = propPrefix + propBase;\n\t\t\tconst targetPropBase = propBase === \"static\" ? \"copy\" : propBase;\n\t\t\tif (deprecatedPropName in (props as TagProps)) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`The \\`${deprecatedPropName}\\` prop is deprecated. Use \\`${targetPropBase}\\` instead.`,\n\t\t\t\t);\n\t\t\t\t(props as TagProps)[targetPropBase] = (props as TagProps)[\n\t\t\t\t\tdeprecatedPropName\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (children.length > 1) {\n\t\t(props as TagProps).children = children;\n\t} else if (children.length === 1) {\n\t\t(props as TagProps).children = children[0];\n\t}\n\n\treturn new Element(tag, props as TagProps);\n}\n\n/** Clones a given element, shallowly copying the props object. */\nexport function cloneElement(\n\tel: Element,\n): Element {\n\tif (!isElement(el)) {\n\t\tthrow new TypeError(\"Cannot clone non-element\");\n\t}\n\n\treturn new Element(el.tag, {...el.props});\n}\n\n/*** ELEMENT UTILITIES ***/\n\n// WHAT ARE WE DOING TO THE CHILDREN???\n/**\n * All values in the element tree are narrowed from the union in Child to\n * NarrowedChild during rendering, to simplify element diffing.\n */\ntype NarrowedChild = Element | string | undefined;\n\nfunction narrow(value: Children): NarrowedChild {\n\tif (typeof value === \"boolean\" || value == null) {\n\t\treturn undefined;\n\t} else if (typeof value === \"string\" || isElement(value)) {\n\t\treturn value;\n\t} else if (typeof (value as any)[Symbol.iterator] === \"function\") {\n\t\treturn createElement(Fragment, null, value);\n\t}\n\n\treturn value.toString();\n}\n\n/**\n * A helper type which repesents all possible rendered values of an element.\n *\n * @template TNode - The node type for the element provided by the renderer.\n *\n * When asking the question, what is the \"value\" of a specific element, the\n * answer varies depending on the tag:\n *\n * For host elements, the value is the nodes created for the element, e.g. the\n * DOM node in the case of the DOMRenderer.\n *\n * For fragments, the value is the value of the\n *\n * For portals, the value is undefined, because a Portal element’s root and\n * children are opaque to its parent.\n *\n * For components, the value can be any of the above, because the value of a\n * component is determined by its immediate children.\n *\n * Rendered values can also be strings or arrays of nodes and strings, in the\n * case of component or fragment elements with strings or multiple children.\n *\n * All of these possible values are reflected in this utility type.\n */\nexport type ElementValue =\n\t| Array\n\t| TNode\n\t| string\n\t| undefined;\n\n/**\n * Takes an array of element values and normalizes the output as an array of\n * nodes and strings.\n *\n * @returns Normalized array of nodes and/or strings.\n *\n * Normalize will flatten only one level of nested arrays, because it is\n * designed to be called once at each level of the tree. It will also\n * concatenate adjacent strings and remove all undefined values.\n */\nfunction normalize(\n\tvalues: Array>,\n): Array {\n\tconst result: Array = [];\n\tlet buffer: string | undefined;\n\tfor (let i = 0; i < values.length; i++) {\n\t\tconst value = values[i];\n\t\tif (!value) {\n\t\t\t// pass\n\t\t} else if (typeof value === \"string\") {\n\t\t\tbuffer = (buffer || \"\") + value;\n\t\t} else if (!Array.isArray(value)) {\n\t\t\tif (buffer) {\n\t\t\t\tresult.push(buffer);\n\t\t\t\tbuffer = undefined;\n\t\t\t}\n\n\t\t\tresult.push(value);\n\t\t} else {\n\t\t\t// We could use recursion here but it’s just easier to do it inline.\n\t\t\tfor (let j = 0; j < value.length; j++) {\n\t\t\t\tconst value1 = value[j];\n\t\t\t\tif (!value1) {\n\t\t\t\t\t// pass\n\t\t\t\t} else if (typeof value1 === \"string\") {\n\t\t\t\t\tbuffer = (buffer || \"\") + value1;\n\t\t\t\t} else {\n\t\t\t\t\tif (buffer) {\n\t\t\t\t\t\tresult.push(buffer);\n\t\t\t\t\t\tbuffer = undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\tresult.push(value1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (buffer) {\n\t\tresult.push(buffer);\n\t}\n\n\treturn result;\n}\n\n/**\n * @internal\n * The internal nodes which are cached and diffed against new elements when\n * rendering element trees.\n */\nclass Retainer {\n\t/**\n\t * The element associated with this retainer.\n\t */\n\tdeclare el: Element;\n\t/**\n\t * The context associated with this element. Will only be defined for\n\t * component elements.\n\t */\n\tdeclare ctx: ContextImpl | undefined;\n\t/**\n\t * The retainer children of this element. Retainers form a tree which mirrors\n\t * elements. Can be a single child or undefined as a memory optimization.\n\t */\n\tdeclare children: Array> | RetainerChild;\n\t/**\n\t * The value associated with this element.\n\t */\n\tdeclare value: ElementValue;\n\t/**\n\t * The cached child values of this element. Only host and component elements\n\t * will use this property.\n\t */\n\tdeclare cachedChildValues: ElementValue;\n\t/**\n\t * The child which this retainer replaces. This property is used when an\n\t * async retainer tree replaces previously rendered elements, so that the\n\t * previously rendered elements can remain visible until the async tree\n\t * fulfills. Will be set to undefined once this subtree fully renders.\n\t */\n\tdeclare fallbackValue: RetainerChild;\n\n\tdeclare inflightValue: Promise> | undefined;\n\tdeclare onNextValues: Function | undefined;\n\tconstructor(el: Element) {\n\t\tthis.el = el;\n\t\tthis.ctx = undefined;\n\t\tthis.children = undefined;\n\t\tthis.value = undefined;\n\t\tthis.cachedChildValues = undefined;\n\t\tthis.fallbackValue = undefined;\n\t\tthis.inflightValue = undefined;\n\t\tthis.onNextValues = undefined;\n\t}\n}\n\n/**\n * The retainer equivalent of ElementValue\n */\ntype RetainerChild = Retainer | string | undefined;\n\n/**\n * Finds the value of the element according to its type.\n *\n * @returns The value of the element.\n */\nfunction getValue(ret: Retainer): ElementValue {\n\tif (typeof ret.fallbackValue !== \"undefined\") {\n\t\treturn typeof ret.fallbackValue === \"object\"\n\t\t\t? getValue(ret.fallbackValue)\n\t\t\t: ret.fallbackValue;\n\t} else if (ret.el.tag === Portal) {\n\t\treturn;\n\t} else if (typeof ret.el.tag !== \"function\" && ret.el.tag !== Fragment) {\n\t\treturn ret.value;\n\t}\n\n\treturn unwrap(getChildValues(ret));\n}\n\n/**\n * Walks an element’s children to find its child values.\n *\n * @returns A normalized array of nodes and strings.\n */\nfunction getChildValues(ret: Retainer): Array {\n\tif (ret.cachedChildValues) {\n\t\treturn wrap(ret.cachedChildValues);\n\t}\n\n\tconst values: Array> = [];\n\tconst children = wrap(ret.children);\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (child) {\n\t\t\tvalues.push(typeof child === \"string\" ? child : getValue(child));\n\t\t}\n\t}\n\n\tconst values1 = normalize(values);\n\tconst tag = ret.el.tag;\n\tif (typeof tag === \"function\" || (tag !== Fragment && tag !== Raw)) {\n\t\tret.cachedChildValues = unwrap(values1);\n\t}\n\treturn values1;\n}\n\nexport interface HydrationData {\n\tprops: Record;\n\tchildren: Array;\n}\n\n// TODO: Document the interface and methods\nexport interface RendererImpl<\n\tTNode,\n\tTScope,\n\tTRoot extends TNode = TNode,\n\tTResult = ElementValue,\n> {\n\tscope(\n\t\tscope: TScope | undefined,\n\t\ttag: TTag,\n\t\tprops: TagProps,\n\t): TScope | undefined;\n\n\tcreate(\n\t\ttag: TTag,\n\t\tprops: TagProps,\n\t\tscope: TScope | undefined,\n\t): TNode;\n\n\thydrate(\n\t\ttag: TTag,\n\t\tnode: TNode | TRoot,\n\t\tprops: TagProps,\n\t): HydrationData | undefined;\n\n\t/**\n\t * Called when an element’s rendered value is exposed via render, schedule,\n\t * refresh, refs, or generator yield expressions.\n\t *\n\t * @param value - The value of the element being read. Can be a node, a\n\t * string, undefined, or an array of nodes and strings, depending on the\n\t * element.\n\t *\n\t * @returns Varies according to the specific renderer subclass. By default,\n\t * it exposes the element’s value.\n\t *\n\t * This is useful for renderers which don’t want to expose their internal\n\t * nodes. For instance, the HTML renderer will convert all internal nodes to\n\t * strings.\n\t */\n\tread(value: ElementValue): TResult;\n\n\t/**\n\t * Called for each string in an element tree.\n\t *\n\t * @param text - The string child.\n\t * @param scope - The current scope.\n\t *\n\t * @returns A string to be passed to arrange.\n\t *\n\t * Rather than returning Text nodes as we would in the DOM case, for example,\n\t * we delay that step for Renderer.prototype.arrange. We do this so that\n\t * adjacent strings can be concatenated, and the actual element tree can be\n\t * rendered in normalized form.\n\t */\n\ttext(\n\t\ttext: string,\n\t\tscope: TScope | undefined,\n\t\thydration: HydrationData | undefined,\n\t): string;\n\n\t/**\n\t * Called for each Raw element whose value prop is a string.\n\t *\n\t * @param text - The string child.\n\t * @param scope - The current scope.\n\t *\n\t * @returns The parsed node or string.\n\t */\n\traw(\n\t\tvalue: string | TNode,\n\t\tscope: TScope | undefined,\n\t\thydration: HydrationData | undefined,\n\t): ElementValue;\n\n\tpatch(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tname: TName,\n\t\tvalue: unknown,\n\t\toldValue: unknown,\n\t\tscope: TScope,\n\t): unknown;\n\n\tarrange(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tprops: Record,\n\t\tchildren: Array,\n\t\toldProps: Record | undefined,\n\t\toldChildren: Array | undefined,\n\t): unknown;\n\n\tdispose(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tprops: Record,\n\t): unknown;\n\n\tflush(root: TRoot): unknown;\n}\n\nconst defaultRendererImpl: RendererImpl = {\n\tcreate() {\n\t\tthrow new Error(\"Not implemented\");\n\t},\n\thydrate() {\n\t\tthrow new Error(\"Not implemented\");\n\t},\n\tscope: IDENTITY,\n\tread: IDENTITY,\n\ttext: IDENTITY,\n\traw: IDENTITY,\n\tpatch: NOOP,\n\tarrange: NOOP,\n\tdispose: NOOP,\n\tflush: NOOP,\n};\n\nconst _RendererImpl = Symbol.for(\"crank.RendererImpl\");\n/**\n * An abstract class which is subclassed to render to different target\n * environments. Subclasses will typically call super() with a custom\n * RendererImpl. This class is responsible for kicking off the rendering\n * process and caching previous trees by root.\n *\n * @template TNode - The type of the node for a rendering environment.\n * @template TScope - Data which is passed down the tree.\n * @template TRoot - The type of the root for a rendering environment.\n * @template TResult - The type of exposed values.\n */\nexport class Renderer<\n\tTNode extends object = object,\n\tTScope = unknown,\n\tTRoot extends TNode = TNode,\n\tTResult = ElementValue,\n> {\n\t/**\n\t * @internal\n\t * A weakmap which stores element trees by root.\n\t */\n\tdeclare cache: WeakMap>;\n\n\tdeclare [_RendererImpl]: RendererImpl;\n\tconstructor(impl: Partial>) {\n\t\tthis.cache = new WeakMap();\n\t\tthis[_RendererImpl] = {\n\t\t\t...(defaultRendererImpl as RendererImpl),\n\t\t\t...impl,\n\t\t};\n\t}\n\n\t/**\n\t * Renders an element tree into a specific root.\n\t *\n\t * @param children - An element tree. You can render null with a previously\n\t * used root to delete the previously rendered element tree from the cache.\n\t * @param root - The node to be rendered into. The renderer will cache\n\t * element trees per root.\n\t * @param bridge - An optional context that will be the ancestor context of all\n\t * elements in the tree. Useful for connecting different renderers so that\n\t * events/provisions properly propagate. The context for a given root must be\n\t * the same or an error will be thrown.\n\t *\n\t * @returns The result of rendering the children, or a possible promise of\n\t * the result if the element tree renders asynchronously.\n\t */\n\trender(\n\t\tchildren: Children,\n\t\troot?: TRoot | undefined,\n\t\tbridge?: Context | undefined,\n\t): Promise | TResult {\n\t\tlet ret: Retainer | undefined;\n\t\tconst ctx = bridge && (bridge[_ContextImpl] as ContextImpl);\n\t\tif (typeof root === \"object\" && root !== null) {\n\t\t\tret = this.cache.get(root);\n\t\t}\n\n\t\tlet oldProps: Record | undefined;\n\t\tif (ret === undefined) {\n\t\t\tret = new Retainer(createElement(Portal, {children, root}));\n\t\t\tret.value = root;\n\t\t\tret.ctx = ctx;\n\t\t\tif (typeof root === \"object\" && root !== null && children != null) {\n\t\t\t\tthis.cache.set(root, ret);\n\t\t\t}\n\t\t} else if (ret.ctx !== ctx) {\n\t\t\tthrow new Error(\"Context mismatch\");\n\t\t} else {\n\t\t\toldProps = ret.el.props;\n\t\t\tret.el = createElement(Portal, {children, root});\n\t\t\tif (typeof root === \"object\" && root !== null && children == null) {\n\t\t\t\tthis.cache.delete(root);\n\t\t\t}\n\t\t}\n\n\t\tconst impl = this[_RendererImpl];\n\t\tconst childValues = diffChildren(\n\t\t\timpl,\n\t\t\troot,\n\t\t\tret,\n\t\t\tctx,\n\t\t\timpl.scope(undefined, Portal, ret.el.props),\n\t\t\tret,\n\t\t\tchildren,\n\t\t\tundefined, // hydration data\n\t\t);\n\n\t\t// We return the child values of the portal because portal elements\n\t\t// themselves have no readable value.\n\t\tif (isPromiseLike(childValues)) {\n\t\t\treturn childValues.then((childValues) =>\n\t\t\t\tcommitRootRender(impl, root, ctx, ret!, childValues, oldProps),\n\t\t\t);\n\t\t}\n\n\t\treturn commitRootRender(impl, root, ctx, ret, childValues, oldProps);\n\t}\n\n\thydrate(\n\t\tchildren: Children,\n\t\troot: TRoot,\n\t\tbridge?: Context | undefined,\n\t): Promise | TResult {\n\t\tconst impl = this[_RendererImpl];\n\t\tconst ctx = bridge && (bridge[_ContextImpl] as ContextImpl);\n\t\tlet ret: Retainer | undefined;\n\t\tret = this.cache.get(root);\n\t\tif (ret !== undefined) {\n\t\t\t// If there is a retainer for the root, hydration is not necessary.\n\t\t\treturn this.render(children, root, bridge);\n\t\t}\n\n\t\tlet oldProps: Record | undefined;\n\t\tret = new Retainer(createElement(Portal, {children, root}));\n\t\tret.value = root;\n\t\tif (typeof root === \"object\" && root !== null && children != null) {\n\t\t\tthis.cache.set(root, ret);\n\t\t}\n\n\t\tconst hydrationData = impl.hydrate(Portal, root, {});\n\t\tconst childValues = diffChildren(\n\t\t\timpl,\n\t\t\troot,\n\t\t\tret,\n\t\t\tctx,\n\t\t\timpl.scope(undefined, Portal, ret.el.props),\n\t\t\tret,\n\t\t\tchildren,\n\t\t\thydrationData,\n\t\t);\n\n\t\t// We return the child values of the portal because portal elements\n\t\t// themselves have no readable value.\n\t\tif (isPromiseLike(childValues)) {\n\t\t\treturn childValues.then((childValues) =>\n\t\t\t\tcommitRootRender(impl, root, ctx, ret!, childValues, oldProps),\n\t\t\t);\n\t\t}\n\n\t\treturn commitRootRender(impl, root, ctx, ret, childValues, oldProps);\n\t}\n}\n\n/*** PRIVATE RENDERER FUNCTIONS ***/\nfunction commitRootRender(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n\tchildValues: Array,\n\toldProps: Record | undefined,\n): TResult {\n\t// element is a host or portal element\n\tif (root != null) {\n\t\trenderer.arrange(\n\t\t\tPortal,\n\t\t\troot,\n\t\t\tret.el.props,\n\t\t\tchildValues,\n\t\t\toldProps,\n\t\t\twrap(ret.cachedChildValues),\n\t\t);\n\t\tflush(renderer, root);\n\t}\n\n\tret.cachedChildValues = unwrap(childValues);\n\tif (root == null) {\n\t\tunmount(renderer, ret, ctx, ret);\n\t}\n\n\treturn renderer.read(ret.cachedChildValues);\n}\n\nfunction diffChildren(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tparent: Retainer,\n\tchildren: Children,\n\thydrationData: HydrationData | undefined,\n): Promise> | Array {\n\tconst oldRetained = wrap(parent.children);\n\tconst newRetained: typeof oldRetained = [];\n\tconst newChildren = arrayify(children);\n\tconst values: Array> | ElementValue> = [];\n\tlet graveyard: Array> | undefined;\n\tlet childrenByKey: Map> | undefined;\n\tlet seenKeys: Set | undefined;\n\tlet isAsync = false;\n\t// When hydrating, sibling element trees must be rendered in order, because\n\t// we do not know how many DOM nodes an element will render.\n\tlet hydrationBlock: Promise | undefined;\n\tlet oi = 0;\n\tlet oldLength = oldRetained.length;\n\tfor (let ni = 0, newLength = newChildren.length; ni < newLength; ni++) {\n\t\t// length checks to prevent index out of bounds deoptimizations.\n\t\tlet ret = oi >= oldLength ? undefined : oldRetained[oi];\n\t\tlet child = narrow(newChildren[ni]);\n\t\t{\n\t\t\t// aligning new children with old retainers\n\t\t\tlet oldKey = typeof ret === \"object\" ? ret.el.key : undefined;\n\t\t\tlet newKey = typeof child === \"object\" ? child.key : undefined;\n\t\t\tif (newKey !== undefined && seenKeys && seenKeys.has(newKey)) {\n\t\t\t\tconsole.error(\"Duplicate key\", newKey);\n\t\t\t\tnewKey = undefined;\n\t\t\t}\n\n\t\t\tif (oldKey === newKey) {\n\t\t\t\tif (childrenByKey !== undefined && newKey !== undefined) {\n\t\t\t\t\tchildrenByKey.delete(newKey);\n\t\t\t\t}\n\n\t\t\t\toi++;\n\t\t\t} else {\n\t\t\t\tchildrenByKey = childrenByKey || createChildrenByKey(oldRetained, oi);\n\t\t\t\tif (newKey === undefined) {\n\t\t\t\t\twhile (ret !== undefined && oldKey !== undefined) {\n\t\t\t\t\t\toi++;\n\t\t\t\t\t\tret = oldRetained[oi];\n\t\t\t\t\t\toldKey = typeof ret === \"object\" ? ret.el.key : undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\toi++;\n\t\t\t\t} else {\n\t\t\t\t\tret = childrenByKey.get(newKey);\n\t\t\t\t\tif (ret !== undefined) {\n\t\t\t\t\t\tchildrenByKey.delete(newKey);\n\t\t\t\t\t}\n\n\t\t\t\t\t(seenKeys = seenKeys || new Set()).add(newKey);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Updating\n\t\tlet value: Promise> | ElementValue;\n\t\tif (typeof child === \"object\") {\n\t\t\tif (child.tag === Copy || (typeof ret === \"object\" && ret.el === child)) {\n\t\t\t\tvalue = getInflightValue(ret);\n\t\t\t} else {\n\t\t\t\tlet oldProps: Record | undefined;\n\t\t\t\tlet copy = false;\n\t\t\t\tif (typeof ret === \"object\" && ret.el.tag === child.tag) {\n\t\t\t\t\toldProps = ret.el.props;\n\t\t\t\t\tret.el = child;\n\t\t\t\t\tif (child.copy) {\n\t\t\t\t\t\tvalue = getInflightValue(ret);\n\t\t\t\t\t\tcopy = true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof ret === \"object\") {\n\t\t\t\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fallback = ret;\n\t\t\t\t\tret = new Retainer(child);\n\t\t\t\t\tret.fallbackValue = fallback;\n\t\t\t\t}\n\n\t\t\t\tif (copy) {\n\t\t\t\t\t// pass\n\t\t\t\t} else if (child.tag === Raw) {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateRaw(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateRaw(renderer, ret, scope, oldProps, hydrationData);\n\t\t\t\t} else if (child.tag === Fragment) {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateFragment(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateFragment(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t} else if (typeof child.tag === \"function\") {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateComponent(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateComponent(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateHost(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateHost(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tisAsync = true;\n\t\t\t\tif (hydrationData !== undefined) {\n\t\t\t\t\thydrationBlock = value;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// child is a string or undefined\n\t\t\tif (typeof ret === \"object\") {\n\t\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t\t}\n\n\t\t\tif (typeof child === \"string\") {\n\t\t\t\tvalue = ret = renderer.text(child, scope, hydrationData);\n\t\t\t} else {\n\t\t\t\tret = undefined;\n\t\t\t}\n\t\t}\n\n\t\tvalues[ni] = value;\n\t\tnewRetained[ni] = ret;\n\t}\n\n\t// cleanup remaining retainers\n\tfor (; oi < oldLength; oi++) {\n\t\tconst ret = oldRetained[oi];\n\t\tif (\n\t\t\ttypeof ret === \"object\" &&\n\t\t\t(typeof ret.el.key === \"undefined\" ||\n\t\t\t\t!seenKeys ||\n\t\t\t\t!seenKeys.has(ret.el.key))\n\t\t) {\n\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t}\n\t}\n\n\tif (childrenByKey !== undefined && childrenByKey.size > 0) {\n\t\t(graveyard = graveyard || []).push(...childrenByKey.values());\n\t}\n\n\tparent.children = unwrap(newRetained);\n\tif (isAsync) {\n\t\tlet childValues1 = Promise.all(values).finally(() => {\n\t\t\tif (graveyard) {\n\t\t\t\tfor (let i = 0; i < graveyard.length; i++) {\n\t\t\t\t\tunmount(renderer, host, ctx, graveyard[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tlet onChildValues!: Function;\n\t\tchildValues1 = Promise.race([\n\t\t\tchildValues1,\n\t\t\tnew Promise((resolve) => (onChildValues = resolve)),\n\t\t]);\n\n\t\tif (parent.onNextValues) {\n\t\t\tparent.onNextValues(childValues1);\n\t\t}\n\n\t\tparent.onNextValues = onChildValues;\n\t\treturn childValues1.then((childValues) => {\n\t\t\tparent.inflightValue = parent.fallbackValue = undefined;\n\t\t\treturn normalize(childValues);\n\t\t});\n\t} else {\n\t\tif (graveyard) {\n\t\t\tfor (let i = 0; i < graveyard.length; i++) {\n\t\t\t\tunmount(renderer, host, ctx, graveyard[i]);\n\t\t\t}\n\t\t}\n\n\t\tif (parent.onNextValues) {\n\t\t\tparent.onNextValues(values);\n\t\t\tparent.onNextValues = undefined;\n\t\t}\n\n\t\tparent.inflightValue = parent.fallbackValue = undefined;\n\t\t// We can assert there are no promises in the array because isAsync is false\n\t\treturn normalize(values as Array>);\n\t}\n}\n\nfunction createChildrenByKey(\n\tchildren: Array>,\n\toffset: number,\n): Map> {\n\tconst childrenByKey = new Map>();\n\tfor (let i = offset; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (typeof child === \"object\" && typeof child.el.key !== \"undefined\") {\n\t\t\tchildrenByKey.set(child.el.key, child);\n\t\t}\n\t}\n\n\treturn childrenByKey;\n}\n\nfunction getInflightValue(\n\tchild: RetainerChild,\n): Promise> | ElementValue {\n\tif (typeof child !== \"object\") {\n\t\treturn child;\n\t}\n\n\tconst ctx: ContextImpl | undefined =\n\t\ttypeof child.el.tag === \"function\" ? child.ctx : undefined;\n\tif (ctx && ctx.f & IsUpdating && ctx.inflightValue) {\n\t\treturn ctx.inflightValue;\n\t} else if (child.inflightValue) {\n\t\treturn child.inflightValue;\n\t}\n\n\treturn getValue(child);\n}\n\nfunction updateRaw(\n\trenderer: RendererImpl,\n\tret: Retainer,\n\tscope: TScope | undefined,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): ElementValue {\n\tconst props = ret.el.props;\n\tif (!oldProps || oldProps.value !== props.value) {\n\t\tret.value = renderer.raw(props.value as any, scope, hydrationData);\n\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\tret.el.ref(ret.value);\n\t\t}\n\t}\n\n\treturn ret.value;\n}\n\nfunction updateFragment(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tconst childValues = diffChildren(\n\t\trenderer,\n\t\troot,\n\t\thost,\n\t\tctx,\n\t\tscope,\n\t\tret,\n\t\tret.el.props.children as any,\n\t\thydrationData,\n\t);\n\n\tif (isPromiseLike(childValues)) {\n\t\tret.inflightValue = childValues.then((childValues) => unwrap(childValues));\n\t\treturn ret.inflightValue;\n\t}\n\n\treturn unwrap(childValues);\n}\n\nfunction updateHost(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tconst el = ret.el;\n\tconst tag = el.tag as string | symbol;\n\tlet hydrationValue: TNode | string | undefined;\n\tif (el.tag === Portal) {\n\t\troot = ret.value = el.props.root as any;\n\t} else {\n\t\tif (hydrationData !== undefined) {\n\t\t\tconst value = hydrationData.children.shift();\n\t\t\thydrationValue = value;\n\t\t}\n\t}\n\n\tscope = renderer.scope(scope, tag, el.props);\n\tlet childHydrationData: HydrationData | undefined;\n\tif (hydrationValue != null && typeof hydrationValue !== \"string\") {\n\t\tchildHydrationData = renderer.hydrate(tag, hydrationValue, el.props);\n\n\t\tif (childHydrationData === undefined) {\n\t\t\thydrationValue = undefined;\n\t\t}\n\t}\n\tconst childValues = diffChildren(\n\t\trenderer,\n\t\troot,\n\t\tret,\n\t\tctx,\n\t\tscope,\n\t\tret,\n\t\tret.el.props.children as any,\n\t\tchildHydrationData,\n\t);\n\n\tif (isPromiseLike(childValues)) {\n\t\tret.inflightValue = childValues.then((childValues) =>\n\t\t\tcommitHost(renderer, scope, ret, childValues, oldProps, hydrationValue),\n\t\t);\n\n\t\treturn ret.inflightValue;\n\t}\n\n\treturn commitHost(\n\t\trenderer,\n\t\tscope,\n\t\tret,\n\t\tchildValues,\n\t\toldProps,\n\t\thydrationValue,\n\t);\n}\n\nfunction commitHost(\n\trenderer: RendererImpl,\n\tscope: TScope,\n\tret: Retainer,\n\tchildValues: Array,\n\toldProps: Record | undefined,\n\thydrationValue: TNode | undefined,\n): ElementValue {\n\tconst tag = ret.el.tag as string | symbol;\n\tlet value = ret.value as TNode;\n\tif (hydrationValue != null) {\n\t\tvalue = ret.value = hydrationValue;\n\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\tret.el.ref(value);\n\t\t}\n\t}\n\n\tlet props = ret.el.props;\n\tlet copied: Set | undefined;\n\tif (tag !== Portal) {\n\t\tif (value == null) {\n\t\t\t// This assumes that renderer.create does not return nullish values.\n\t\t\tvalue = ret.value = renderer.create(tag, props, scope);\n\t\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\t\tret.el.ref(value);\n\t\t\t}\n\t\t}\n\n\t\tfor (const propName in {...oldProps, ...props}) {\n\t\t\tconst propValue = props[propName];\n\t\t\tif (propValue === Copy) {\n\t\t\t\t// TODO: The Copy tag doubles as a way to skip the patching of a prop.\n\t\t\t\t// Not sure about this feature. Should probably be removed.\n\t\t\t\t(copied = copied || new Set()).add(propName);\n\t\t\t} else if (!SPECIAL_PROPS.has(propName)) {\n\t\t\t\trenderer.patch(\n\t\t\t\t\ttag,\n\t\t\t\t\tvalue,\n\t\t\t\t\tpropName,\n\t\t\t\t\tpropValue,\n\t\t\t\t\toldProps && oldProps[propName],\n\t\t\t\t\tscope,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (copied) {\n\t\tprops = {...ret.el.props};\n\t\tfor (const name of copied) {\n\t\t\tprops[name] = oldProps && oldProps[name];\n\t\t}\n\n\t\tret.el = new Element(tag, props);\n\t}\n\n\trenderer.arrange(\n\t\ttag,\n\t\tvalue,\n\t\tprops,\n\t\tchildValues,\n\t\toldProps,\n\t\twrap(ret.cachedChildValues),\n\t);\n\tret.cachedChildValues = unwrap(childValues);\n\tif (tag === Portal) {\n\t\tflush(renderer, ret.value);\n\t\treturn;\n\t}\n\n\treturn value;\n}\n\nfunction flush(\n\trenderer: RendererImpl,\n\troot: TRoot,\n\tinitiator?: ContextImpl,\n) {\n\trenderer.flush(root);\n\tif (typeof root !== \"object\" || root === null) {\n\t\treturn;\n\t}\n\n\tconst flushMap = flushMaps.get(root as any);\n\tif (flushMap) {\n\t\tif (initiator) {\n\t\t\tconst flushMap1 = new Map>();\n\t\t\tfor (let [ctx, callbacks] of flushMap) {\n\t\t\t\tif (!ctxContains(initiator, ctx)) {\n\t\t\t\t\tflushMap.delete(ctx);\n\t\t\t\t\tflushMap1.set(ctx, callbacks);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (flushMap1.size) {\n\t\t\t\tflushMaps.set(root as any, flushMap1);\n\t\t\t} else {\n\t\t\t\tflushMaps.delete(root as any);\n\t\t\t}\n\t\t} else {\n\t\t\tflushMaps.delete(root as any);\n\t\t}\n\n\t\tfor (const [ctx, callbacks] of flushMap) {\n\t\t\tconst value = renderer.read(getValue(ctx.ret));\n\t\t\tfor (const callback of callbacks) {\n\t\t\t\tcallback(value);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction unmount(\n\trenderer: RendererImpl,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n): void {\n\tif (typeof ret.el.tag === \"function\") {\n\t\tctx = ret.ctx as ContextImpl;\n\t\tunmountComponent(ctx);\n\t} else if (ret.el.tag === Portal) {\n\t\thost = ret;\n\t\trenderer.arrange(\n\t\t\tPortal,\n\t\t\thost.value as TNode,\n\t\t\thost.el.props,\n\t\t\t[],\n\t\t\thost.el.props,\n\t\t\twrap(host.cachedChildValues),\n\t\t);\n\t\tflush(renderer, host.value);\n\t} else if (ret.el.tag !== Fragment) {\n\t\tif (isEventTarget(ret.value)) {\n\t\t\tconst records = getListenerRecords(ctx, host);\n\t\t\tfor (let i = 0; i < records.length; i++) {\n\t\t\t\tconst record = records[i];\n\t\t\t\tret.value.removeEventListener(\n\t\t\t\t\trecord.type,\n\t\t\t\t\trecord.callback,\n\t\t\t\t\trecord.options,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\trenderer.dispose(ret.el.tag, ret.value as TNode, ret.el.props);\n\t\thost = ret;\n\t}\n\n\tconst children = wrap(ret.children);\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (typeof child === \"object\") {\n\t\t\tunmount(renderer, host, ctx, child);\n\t\t}\n\t}\n}\n\n/*** CONTEXT FLAGS ***/\n/**\n * A flag which is true when the component is initialized or updated by an\n * ancestor component or the root render call.\n *\n * Used to determine things like whether the nearest host ancestor needs to be\n * rearranged.\n */\nconst IsUpdating = 1 << 0;\n\n/**\n * A flag which is true when the component is synchronously executing.\n *\n * Used to guard against components triggering stack overflow or generator error.\n */\nconst IsSyncExecuting = 1 << 1;\n\n/**\n * A flag which is true when the component is in a for...of loop.\n */\nconst IsInForOfLoop = 1 << 2;\n\n/**\n * A flag which is true when the component is in a for await...of loop.\n */\nconst IsInForAwaitOfLoop = 1 << 3;\n\n/**\n * A flag which is true when the component starts the render loop but has not\n * yielded yet.\n *\n * Used to make sure that components yield at least once per loop.\n */\nconst NeedsToYield = 1 << 4;\n\n/**\n * A flag used by async generator components in conjunction with the\n * onAvailable callback to mark whether new props can be pulled via the context\n * async iterator. See the Symbol.asyncIterator method and the\n * resumeCtxIterator function.\n */\nconst PropsAvailable = 1 << 5;\n\n/**\n * A flag which is set when a component errors.\n *\n * This is mainly used to prevent some false positives in \"component yields or\n * returns undefined\" warnings. The reason we’re using this versus IsUnmounted\n * is a very troubling test (cascades sync generator parent and sync generator\n * child) where synchronous code causes a stack overflow error in a\n * non-deterministic way. Deeply disturbing stuff.\n */\nconst IsErrored = 1 << 6;\n\n/**\n * A flag which is set when the component is unmounted. Unmounted components\n * are no longer in the element tree and cannot refresh or rerender.\n */\nconst IsUnmounted = 1 << 7;\n\n/**\n * A flag which indicates that the component is a sync generator component.\n */\nconst IsSyncGen = 1 << 8;\n\n/**\n * A flag which indicates that the component is an async generator component.\n */\nconst IsAsyncGen = 1 << 9;\n\n/**\n * A flag which is set while schedule callbacks are called.\n */\nconst IsScheduling = 1 << 10;\n\n/**\n * A flag which is set when a schedule callback calls refresh.\n */\nconst IsSchedulingRefresh = 1 << 11;\n\nexport interface Context extends Crank.Context {}\n\n/**\n * An interface which can be extended to provide strongly typed provisions.\n * See Context.prototype.consume and Context.prototype.provide.\n */\nexport interface ProvisionMap extends Crank.ProvisionMap {}\n\nconst provisionMaps = new WeakMap>();\n\nconst scheduleMap = new WeakMap>();\n\nconst cleanupMap = new WeakMap>();\n\n// keys are roots\nconst flushMaps = new WeakMap>>();\n\n/**\n * @internal\n * The internal class which holds context data.\n */\nclass ContextImpl<\n\tTNode = unknown,\n\tTScope = unknown,\n\tTRoot extends TNode = TNode,\n\tTResult = unknown,\n> {\n\t/** A bitmask. See CONTEXT FLAGS above. */\n\tdeclare f: number;\n\n\t/** The actual context associated with this impl. */\n\tdeclare owner: Context;\n\n\t/**\n\t * The renderer which created this context.\n\t */\n\tdeclare renderer: RendererImpl;\n\n\t/** The root node as set by the nearest ancestor portal. */\n\tdeclare root: TRoot | undefined;\n\n\t/**\n\t * The nearest ancestor host or portal retainer.\n\t *\n\t * When refresh is called, the host element will be arranged as the last step\n\t * of the commit, to make sure the parent’s children properly reflects the\n\t * components’s children.\n\t */\n\tdeclare host: Retainer;\n\n\t/** The parent context impl. */\n\tdeclare parent: ContextImpl | undefined;\n\n\t/** The value of the scope at the point of element’s creation. */\n\tdeclare scope: TScope | undefined;\n\n\t/** The internal node associated with this context. */\n\tdeclare ret: Retainer;\n\n\t/**\n\t * The iterator returned by the component function.\n\t *\n\t * Existence of this property implies that the component is a generator\n\t * component. It is deleted when a component is returned.\n\t */\n\tdeclare iterator:\n\t\t| Iterator\n\t\t| AsyncIterator\n\t\t| undefined;\n\n\t// A \"block\" is a promise which represents the duration during which new\n\t// updates are queued, whereas \"value\" is a promise which represents the\n\t// actual pending result of rendering.\n\tdeclare inflightBlock: Promise | undefined;\n\tdeclare inflightValue: Promise> | undefined;\n\tdeclare enqueuedBlock: Promise | undefined;\n\tdeclare enqueuedValue: Promise> | undefined;\n\n\t// The following callbacks are used to implement the async generator render\n\t// loop behavior.\n\tdeclare onProps: ((props: Record) => unknown) | undefined;\n\tdeclare onPropsRequested: Function | undefined;\n\tconstructor(\n\t\trenderer: RendererImpl,\n\t\troot: TRoot | undefined,\n\t\thost: Retainer,\n\t\tparent: ContextImpl | undefined,\n\t\tscope: TScope | undefined,\n\t\tret: Retainer,\n\t) {\n\t\tthis.f = 0;\n\t\tthis.owner = new Context(this);\n\t\tthis.renderer = renderer;\n\t\tthis.root = root;\n\t\tthis.host = host;\n\t\tthis.parent = parent;\n\t\tthis.scope = scope;\n\t\tthis.ret = ret;\n\n\t\tthis.iterator = undefined;\n\t\tthis.inflightBlock = undefined;\n\t\tthis.inflightValue = undefined;\n\t\tthis.enqueuedBlock = undefined;\n\t\tthis.enqueuedValue = undefined;\n\t\tthis.onProps = undefined;\n\t\tthis.onPropsRequested = undefined;\n\t}\n}\n\nconst _ContextImpl = Symbol.for(\"crank.ContextImpl\");\n\ntype ComponentProps = T extends () => any\n\t? {}\n\t: T extends (props: infer U) => any\n\t\t? U\n\t\t: T;\n/**\n * A class which is instantiated and passed to every component as its this\n * value. Contexts form a tree just like elements and all components in the\n * element tree are connected via contexts. Components can use this tree to\n * communicate data upwards via events and downwards via provisions.\n *\n * @template [T=*] - The expected shape of the props passed to the component,\n * or a component function. Used to strongly type the Context iterator methods.\n * @template [TResult=*] - The readable element value type. It is used in\n * places such as the return value of refresh and the argument passed to\n * schedule and cleanup callbacks.\n */\nexport class Context implements EventTarget {\n\t/**\n\t * @internal\n\t */\n\tdeclare [_ContextImpl]: ContextImpl;\n\n\t// TODO: If we could make the constructor function take a nicer value, it\n\t// would be useful for testing purposes.\n\tconstructor(impl: ContextImpl) {\n\t\tthis[_ContextImpl] = impl;\n\t}\n\n\t/**\n\t * The current props of the associated element.\n\t */\n\tget props(): ComponentProps {\n\t\treturn this[_ContextImpl].ret.el.props as ComponentProps;\n\t}\n\n\t/**\n\t * The current value of the associated element.\n\t *\n\t * @deprecated\n\t */\n\tget value(): TResult {\n\t\treturn this[_ContextImpl].renderer.read(getValue(this[_ContextImpl].ret));\n\t}\n\n\t*[Symbol.iterator](): Generator> {\n\t\tconst ctx = this[_ContextImpl];\n\t\ttry {\n\t\t\tctx.f |= IsInForOfLoop;\n\t\t\twhile (!(ctx.f & IsUnmounted)) {\n\t\t\t\tif (ctx.f & NeedsToYield) {\n\t\t\t\t\tthrow new Error(\"Context iterated twice without a yield\");\n\t\t\t\t} else {\n\t\t\t\t\tctx.f |= NeedsToYield;\n\t\t\t\t}\n\n\t\t\t\tyield ctx.ret.el.props as ComponentProps;\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsInForOfLoop;\n\t\t}\n\t}\n\n\tasync *[Symbol.asyncIterator](): AsyncGenerator> {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (ctx.f & IsSyncGen) {\n\t\t\tthrow new Error(\"Use for...of in sync generator components\");\n\t\t}\n\n\t\ttry {\n\t\t\tctx.f |= IsInForAwaitOfLoop;\n\t\t\twhile (!(ctx.f & IsUnmounted)) {\n\t\t\t\tif (ctx.f & NeedsToYield) {\n\t\t\t\t\tthrow new Error(\"Context iterated twice without a yield\");\n\t\t\t\t} else {\n\t\t\t\t\tctx.f |= NeedsToYield;\n\t\t\t\t}\n\n\t\t\t\tif (ctx.f & PropsAvailable) {\n\t\t\t\t\tctx.f &= ~PropsAvailable;\n\t\t\t\t\tyield ctx.ret.el.props as ComponentProps;\n\t\t\t\t} else {\n\t\t\t\t\tconst props = await new Promise((resolve) => (ctx.onProps = resolve));\n\t\t\t\t\tif (ctx.f & IsUnmounted) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tyield props as ComponentProps;\n\t\t\t\t}\n\n\t\t\t\tif (ctx.onPropsRequested) {\n\t\t\t\t\tctx.onPropsRequested();\n\t\t\t\t\tctx.onPropsRequested = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsInForAwaitOfLoop;\n\t\t\tif (ctx.onPropsRequested) {\n\t\t\t\tctx.onPropsRequested();\n\t\t\t\tctx.onPropsRequested = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Re-executes a component.\n\t *\n\t * @returns The rendered value of the component or a promise thereof if the\n\t * component or its children execute asynchronously.\n\t *\n\t * The refresh method works a little differently for async generator\n\t * components, in that it will resume the Context’s props async iterator\n\t * rather than resuming execution. This is because async generator components\n\t * are perpetually resumed independent of updates, and rely on the props\n\t * async iterator to suspend.\n\t */\n\trefresh(): Promise | TResult {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (ctx.f & IsUnmounted) {\n\t\t\tconsole.error(\"Component is unmounted\");\n\t\t\treturn ctx.renderer.read(undefined);\n\t\t} else if (ctx.f & IsSyncExecuting) {\n\t\t\tconsole.error(\"Component is already executing\");\n\t\t\treturn ctx.renderer.read(getValue(ctx.ret));\n\t\t}\n\n\t\tconst value = enqueueComponentRun(ctx);\n\t\tif (isPromiseLike(value)) {\n\t\t\treturn (value as Promise).then((value) => ctx.renderer.read(value));\n\t\t}\n\n\t\treturn ctx.renderer.read(value);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component commits. Will only\n\t * fire once per callback and update.\n\t */\n\tschedule(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet callbacks = scheduleMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tscheduleMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component’s children are\n\t * rendered into the root. Will only fire once per callback and render.\n\t */\n\tflush(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (typeof ctx.root !== \"object\" || ctx.root === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet flushMap = flushMaps.get(ctx.root);\n\t\tif (!flushMap) {\n\t\t\tflushMap = new Map>();\n\t\t\tflushMaps.set(ctx.root, flushMap);\n\t\t}\n\n\t\tlet callbacks = flushMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tflushMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component unmounts. Will only\n\t * fire once per callback.\n\t */\n\tcleanup(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\n\t\tif (ctx.f & IsUnmounted) {\n\t\t\tconst value = ctx.renderer.read(getValue(ctx.ret));\n\t\t\tcallback(value);\n\t\t\treturn;\n\t\t}\n\n\t\tlet callbacks = cleanupMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tcleanupMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\tconsume(key: TKey): ProvisionMap[TKey];\n\tconsume(key: unknown): any;\n\tconsume(key: unknown): any {\n\t\tfor (\n\t\t\tlet ctx = this[_ContextImpl].parent;\n\t\t\tctx !== undefined;\n\t\t\tctx = ctx.parent\n\t\t) {\n\t\t\tconst provisions = provisionMaps.get(ctx);\n\t\t\tif (provisions && provisions.has(key)) {\n\t\t\t\treturn provisions.get(key)!;\n\t\t\t}\n\t\t}\n\t}\n\n\tprovide(\n\t\tkey: TKey,\n\t\tvalue: ProvisionMap[TKey],\n\t): void;\n\tprovide(key: unknown, value: any): void;\n\tprovide(key: unknown, value: any): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet provisions = provisionMaps.get(ctx);\n\t\tif (!provisions) {\n\t\t\tprovisions = new Map();\n\t\t\tprovisionMaps.set(ctx, provisions);\n\t\t}\n\n\t\tprovisions.set(key, value);\n\t}\n\n\taddEventListener(\n\t\ttype: T,\n\t\tlistener: MappedEventListenerOrEventListenerObject | null,\n\t\toptions?: boolean | AddEventListenerOptions,\n\t): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet listeners: Array;\n\t\tif (!isListenerOrListenerObject(listener)) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tconst listeners1 = listenersMap.get(ctx);\n\t\t\tif (listeners1) {\n\t\t\t\tlisteners = listeners1;\n\t\t\t} else {\n\t\t\t\tlisteners = [];\n\t\t\t\tlistenersMap.set(ctx, listeners);\n\t\t\t}\n\t\t}\n\n\t\toptions = normalizeListenerOptions(options);\n\t\tlet callback: MappedEventListener;\n\t\tif (typeof listener === \"object\") {\n\t\t\tcallback = () => listener.handleEvent.apply(listener, arguments as any);\n\t\t} else {\n\t\t\tcallback = listener;\n\t\t}\n\n\t\tconst record: EventListenerRecord = {type, listener, callback, options};\n\t\tif (options.once) {\n\t\t\trecord.callback = function (this: any) {\n\t\t\t\tconst i = listeners.indexOf(record);\n\t\t\t\tif (i !== -1) {\n\t\t\t\t\tlisteners.splice(i, 1);\n\t\t\t\t}\n\n\t\t\t\treturn callback.apply(this, arguments as any);\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tlisteners.some(\n\t\t\t\t(record1) =>\n\t\t\t\t\trecord.type === record1.type &&\n\t\t\t\t\trecord.listener === record1.listener &&\n\t\t\t\t\t!record.options.capture === !record1.options.capture,\n\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tlisteners.push(record);\n\n\t\t// TODO: is it possible to separate out the EventTarget delegation logic\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tvalue.addEventListener(record.type, record.callback, record.options);\n\t\t\t}\n\t\t}\n\t}\n\n\tremoveEventListener(\n\t\ttype: T,\n\t\tlistener: MappedEventListenerOrEventListenerObject | null,\n\t\toptions?: EventListenerOptions | boolean,\n\t): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tconst listeners = listenersMap.get(ctx);\n\t\tif (listeners == null || !isListenerOrListenerObject(listener)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options1 = normalizeListenerOptions(options);\n\t\tconst i = listeners.findIndex(\n\t\t\t(record) =>\n\t\t\t\trecord.type === type &&\n\t\t\t\trecord.listener === listener &&\n\t\t\t\t!record.options.capture === !options1.capture,\n\t\t);\n\n\t\tif (i === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst record = listeners[i];\n\t\tlisteners.splice(i, 1);\n\n\t\t// TODO: is it possible to separate out the EventTarget delegation logic\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tvalue.removeEventListener(record.type, record.callback, record.options);\n\t\t\t}\n\t\t}\n\t}\n\n\tdispatchEvent(ev: Event): boolean {\n\t\tconst ctx = this[_ContextImpl];\n\t\tconst path: Array = [];\n\t\tfor (\n\t\t\tlet parent = ctx.parent;\n\t\t\tparent !== undefined;\n\t\t\tparent = parent.parent\n\t\t) {\n\t\t\tpath.push(parent);\n\t\t}\n\n\t\t// We patch the stopImmediatePropagation method because ev.cancelBubble\n\t\t// only informs us if stopPropagation was called and there are no\n\t\t// properties which inform us if stopImmediatePropagation was called.\n\t\tlet immediateCancelBubble = false;\n\t\tconst stopImmediatePropagation = ev.stopImmediatePropagation;\n\t\tsetEventProperty(ev, \"stopImmediatePropagation\", () => {\n\t\t\timmediateCancelBubble = true;\n\t\t\treturn stopImmediatePropagation.call(ev);\n\t\t});\n\t\tsetEventProperty(ev, \"target\", ctx.owner);\n\n\t\t// The only possible errors in this block are errors thrown by callbacks,\n\t\t// and dispatchEvent will only log these errors rather than throwing\n\t\t// them. Therefore, we place all code in a try block, log errors in the\n\t\t// catch block, and use an unsafe return statement in the finally block.\n\t\t//\n\t\t// Each early return within the try block returns true because while the\n\t\t// return value is overridden in the finally block, TypeScript\n\t\t// (justifiably) does not recognize the unsafe return statement.\n\t\ttry {\n\t\t\tsetEventProperty(ev, \"eventPhase\", CAPTURING_PHASE);\n\t\t\tfor (let i = path.length - 1; i >= 0; i--) {\n\t\t\t\tconst target = path[i];\n\t\t\t\tconst listeners = listenersMap.get(target);\n\t\t\t\tif (listeners) {\n\t\t\t\t\tsetEventProperty(ev, \"currentTarget\", target.owner);\n\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\tif (record.type === ev.type && record.options.capture) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\trecord.callback.call(target.owner, ev);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t{\n\t\t\t\tsetEventProperty(ev, \"eventPhase\", AT_TARGET);\n\t\t\t\tsetEventProperty(ev, \"currentTarget\", ctx.owner);\n\n\t\t\t\t// dispatchEvent calls the prop callback if it exists\n\t\t\t\tlet propCallback = ctx.ret.el.props[\"on\" + ev.type] as unknown;\n\t\t\t\tif (typeof propCallback === \"function\") {\n\t\t\t\t\tpropCallback(ev);\n\t\t\t\t\tif (immediateCancelBubble || ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Checks for camel-cased event props\n\t\t\t\t\tfor (const propName in ctx.ret.el.props) {\n\t\t\t\t\t\tif (propName.toLowerCase() === \"on\" + ev.type.toLowerCase()) {\n\t\t\t\t\t\t\tpropCallback = ctx.ret.el.props[propName] as unknown;\n\t\t\t\t\t\t\tif (typeof propCallback === \"function\") {\n\t\t\t\t\t\t\t\tpropCallback(ev);\n\t\t\t\t\t\t\t\tif (immediateCancelBubble || ev.cancelBubble) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst listeners = listenersMap.get(ctx);\n\t\t\t\tif (listeners) {\n\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\tif (record.type === ev.type) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\trecord.callback.call(ctx.owner, ev);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (ev.bubbles) {\n\t\t\t\tsetEventProperty(ev, \"eventPhase\", BUBBLING_PHASE);\n\t\t\t\tfor (let i = 0; i < path.length; i++) {\n\t\t\t\t\tconst target = path[i];\n\t\t\t\t\tconst listeners = listenersMap.get(target);\n\t\t\t\t\tif (listeners) {\n\t\t\t\t\t\tsetEventProperty(ev, \"currentTarget\", target.owner);\n\t\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\t\tif (record.type === ev.type && !record.options.capture) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\trecord.callback.call(target.owner, ev);\n\t\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tsetEventProperty(ev, \"eventPhase\", NONE);\n\t\t\tsetEventProperty(ev, \"currentTarget\", null);\n\t\t\t// eslint-disable-next-line no-unsafe-finally\n\t\t\treturn !ev.defaultPrevented;\n\t\t}\n\t}\n}\n\n/*** PRIVATE CONTEXT FUNCTIONS ***/\nfunction ctxContains(parent: ContextImpl, child: ContextImpl): boolean {\n\tfor (\n\t\tlet current: ContextImpl | undefined = child;\n\t\tcurrent !== undefined;\n\t\tcurrent = current.parent\n\t) {\n\t\tif (current === parent) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nfunction updateComponent(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tparent: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tlet ctx: ContextImpl;\n\tif (oldProps) {\n\t\tctx = ret.ctx as ContextImpl;\n\t\tif (ctx.f & IsSyncExecuting) {\n\t\t\tconsole.error(\"Component is already executing\");\n\t\t\treturn ret.cachedChildValues;\n\t\t}\n\t} else {\n\t\tctx = ret.ctx = new ContextImpl(renderer, root, host, parent, scope, ret);\n\t}\n\n\tctx.f |= IsUpdating;\n\treturn enqueueComponentRun(ctx, hydrationData);\n}\n\nfunction updateComponentChildren(\n\tctx: ContextImpl,\n\tchildren: Children,\n\thydrationData?: HydrationData | undefined,\n): Promise> | ElementValue {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t} else if (ctx.f & IsErrored) {\n\t\t// This branch is necessary for some race conditions where this function is\n\t\t// called after iterator.throw() in async generator components.\n\t\treturn;\n\t} else if (children === undefined) {\n\t\tconsole.error(\n\t\t\t\"A component has returned or yielded undefined. If this was intentional, return or yield null instead.\",\n\t\t);\n\t}\n\n\tlet childValues: Promise> | Array;\n\ttry {\n\t\t// TODO: WAT\n\t\t// We set the isExecuting flag in case a child component dispatches an event\n\t\t// which bubbles to this component and causes a synchronous refresh().\n\t\tctx.f |= IsSyncExecuting;\n\t\tchildValues = diffChildren(\n\t\t\tctx.renderer,\n\t\t\tctx.root,\n\t\t\tctx.host,\n\t\t\tctx,\n\t\t\tctx.scope,\n\t\t\tctx.ret,\n\t\t\tnarrow(children),\n\t\t\thydrationData,\n\t\t);\n\t} finally {\n\t\tctx.f &= ~IsSyncExecuting;\n\t}\n\n\tif (isPromiseLike(childValues)) {\n\t\tctx.ret.inflightValue = childValues.then((childValues) =>\n\t\t\tcommitComponent(ctx, childValues),\n\t\t);\n\n\t\treturn ctx.ret.inflightValue;\n\t}\n\n\treturn commitComponent(ctx, childValues);\n}\n\nfunction commitComponent(\n\tctx: ContextImpl,\n\tvalues: Array,\n): ElementValue {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t}\n\n\tconst listeners = listenersMap.get(ctx);\n\tif (listeners && listeners.length) {\n\t\tfor (let i = 0; i < values.length; i++) {\n\t\t\tconst value = values[i];\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tfor (let j = 0; j < listeners.length; j++) {\n\t\t\t\t\tconst record = listeners[j];\n\t\t\t\t\tvalue.addEventListener(record.type, record.callback, record.options);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst oldValues = wrap(ctx.ret.cachedChildValues);\n\tlet value = (ctx.ret.cachedChildValues = unwrap(values));\n\tif (ctx.f & IsScheduling) {\n\t\tctx.f |= IsSchedulingRefresh;\n\t} else if (!(ctx.f & IsUpdating)) {\n\t\t// If we’re not updating the component, which happens when components are\n\t\t// refreshed, or when async generator components iterate, we have to do a\n\t\t// little bit housekeeping when a component’s child values have changed.\n\t\tif (!arrayEqual(oldValues, values)) {\n\t\t\tconst records = getListenerRecords(ctx.parent, ctx.host);\n\t\t\tif (records.length) {\n\t\t\t\tfor (let i = 0; i < values.length; i++) {\n\t\t\t\t\tconst value = values[i];\n\t\t\t\t\tif (isEventTarget(value)) {\n\t\t\t\t\t\tfor (let j = 0; j < records.length; j++) {\n\t\t\t\t\t\t\tconst record = records[j];\n\t\t\t\t\t\t\tvalue.addEventListener(\n\t\t\t\t\t\t\t\trecord.type,\n\t\t\t\t\t\t\t\trecord.callback,\n\t\t\t\t\t\t\t\trecord.options,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// rearranging the nearest ancestor host element\n\t\t\tconst host = ctx.host;\n\t\t\tconst oldHostValues = wrap(host.cachedChildValues);\n\t\t\tinvalidate(ctx, host);\n\t\t\tconst hostValues = getChildValues(host);\n\t\t\tctx.renderer.arrange(\n\t\t\t\thost.el.tag as string | symbol,\n\t\t\t\thost.value as TNode,\n\t\t\t\thost.el.props,\n\t\t\t\thostValues,\n\t\t\t\t// props and oldProps are the same because the host isn’t updated.\n\t\t\t\thost.el.props,\n\t\t\t\toldHostValues,\n\t\t\t);\n\t\t}\n\n\t\tflush(ctx.renderer, ctx.root, ctx);\n\t}\n\n\tconst callbacks = scheduleMap.get(ctx);\n\tif (callbacks) {\n\t\tscheduleMap.delete(ctx);\n\t\tctx.f |= IsScheduling;\n\t\tconst value1 = ctx.renderer.read(value);\n\t\tfor (const callback of callbacks) {\n\t\t\tcallback(value1);\n\t\t}\n\n\t\tctx.f &= ~IsScheduling;\n\t\t// Handles an edge case where refresh() is called during a schedule().\n\t\tif (ctx.f & IsSchedulingRefresh) {\n\t\t\tctx.f &= ~IsSchedulingRefresh;\n\t\t\tvalue = getValue(ctx.ret);\n\t\t}\n\t}\n\n\tctx.f &= ~IsUpdating;\n\treturn value;\n}\n\nfunction invalidate(ctx: ContextImpl, host: Retainer): void {\n\tfor (\n\t\tlet parent = ctx.parent;\n\t\tparent !== undefined && parent.host === host;\n\t\tparent = parent.parent\n\t) {\n\t\tparent.ret.cachedChildValues = undefined;\n\t}\n\n\thost.cachedChildValues = undefined;\n}\n\nfunction arrayEqual(arr1: Array, arr2: Array): boolean {\n\tif (arr1.length !== arr2.length) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < arr1.length; i++) {\n\t\tconst value1 = arr1[i];\n\t\tconst value2 = arr2[i];\n\t\tif (value1 !== value2) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/** Enqueues and executes the component associated with the context. */\nfunction enqueueComponentRun(\n\tctx: ContextImpl,\n\thydrationData?: HydrationData | undefined,\n): Promise> | ElementValue {\n\tif (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) {\n\t\tif (hydrationData !== undefined) {\n\t\t\tthrow new Error(\"Hydration error\");\n\t\t}\n\n\t\t// This branch will run for non-initial renders of async generator\n\t\t// components when they are not in for...of loops. When in a for...of loop,\n\t\t// async generator components will behave normally.\n\t\t//\n\t\t// Async gen componennts can be in one of three states:\n\t\t//\n\t\t// 1. propsAvailable flag is true: \"available\"\n\t\t//\n\t\t// The component is suspended somewhere in the loop. When the component\n\t\t// reaches the bottom of the loop, it will run again with the next props.\n\t\t//\n\t\t// 2. onAvailable callback is defined: \"suspended\"\n\t\t//\n\t\t// The component has suspended at the bottom of the loop and is waiting\n\t\t// for new props.\n\t\t//\n\t\t// 3. neither 1 or 2: \"Running\"\n\t\t//\n\t\t// The component is suspended somewhere in the loop. When the component\n\t\t// reaches the bottom of the loop, it will suspend.\n\t\t//\n\t\t// Components will never be both available and suspended at\n\t\t// the same time.\n\t\t//\n\t\t// If the component is at the loop bottom, this means that the next value\n\t\t// produced by the component will have the most up to date props, so we can\n\t\t// simply return the current inflight value. Otherwise, we have to wait for\n\t\t// the bottom of the loop to be reached before returning the inflight\n\t\t// value.\n\t\tconst isAtLoopbottom = ctx.f & IsInForAwaitOfLoop && !ctx.onProps;\n\t\tresumePropsAsyncIterator(ctx);\n\t\tif (isAtLoopbottom) {\n\t\t\tif (ctx.inflightBlock == null) {\n\t\t\t\tctx.inflightBlock = new Promise(\n\t\t\t\t\t(resolve) => (ctx.onPropsRequested = resolve),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn ctx.inflightBlock.then(() => {\n\t\t\t\tctx.inflightBlock = undefined;\n\t\t\t\treturn ctx.inflightValue;\n\t\t\t});\n\t\t}\n\n\t\treturn ctx.inflightValue;\n\t} else if (!ctx.inflightBlock) {\n\t\ttry {\n\t\t\tconst [block, value] = runComponent(ctx, hydrationData);\n\t\t\tif (block) {\n\t\t\t\tctx.inflightBlock = block\n\t\t\t\t\t// TODO: there is some fuckery going on here related to async\n\t\t\t\t\t// generator components resuming when they’re meant to be returned.\n\t\t\t\t\t.then((v) => v)\n\t\t\t\t\t.finally(() => advanceComponent(ctx));\n\t\t\t\t// stepComponent will only return a block if the value is asynchronous\n\t\t\t\tctx.inflightValue = value as Promise>;\n\t\t\t}\n\n\t\t\treturn value;\n\t\t} catch (err) {\n\t\t\tif (!(ctx.f & IsUpdating)) {\n\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t}\n\n\t\t\tthrow err;\n\t\t}\n\t} else if (!ctx.enqueuedBlock) {\n\t\tif (hydrationData !== undefined) {\n\t\t\tthrow new Error(\"Hydration error\");\n\t\t}\n\t\t// We need to assign enqueuedBlock and enqueuedValue synchronously, hence\n\t\t// the Promise constructor call here.\n\t\tlet resolveEnqueuedBlock: Function;\n\t\tctx.enqueuedBlock = new Promise(\n\t\t\t(resolve) => (resolveEnqueuedBlock = resolve),\n\t\t);\n\n\t\tctx.enqueuedValue = ctx.inflightBlock.then(() => {\n\t\t\ttry {\n\t\t\t\tconst [block, value] = runComponent(ctx);\n\t\t\t\tif (block) {\n\t\t\t\t\tresolveEnqueuedBlock(block.finally(() => advanceComponent(ctx)));\n\t\t\t\t}\n\n\t\t\t\treturn value;\n\t\t\t} catch (err) {\n\t\t\t\tif (!(ctx.f & IsUpdating)) {\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t}\n\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t});\n\t}\n\n\treturn ctx.enqueuedValue;\n}\n\n/** Called when the inflight block promise settles. */\nfunction advanceComponent(ctx: ContextImpl): void {\n\tif (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) {\n\t\treturn;\n\t}\n\n\tctx.inflightBlock = ctx.enqueuedBlock;\n\tctx.inflightValue = ctx.enqueuedValue;\n\tctx.enqueuedBlock = undefined;\n\tctx.enqueuedValue = undefined;\n}\n\n/**\n * This function is responsible for executing the component and handling all\n * the different component types. We cannot identify whether a component is a\n * generator or async without calling it and inspecting the return value.\n *\n * @returns {[block, value]} A tuple where\n * block - A possible promise which represents the duration during which the\n * component is blocked from updating.\n * value - A possible promise resolving to the rendered value of children.\n *\n * Each component type will block according to the type of the component.\n * - Sync function components never block and will transparently pass updates\n * to children.\n * - Async function components and async generator components block while\n * executing itself, but will not block for async children.\n * - Sync generator components block while any children are executing, because\n * they are expected to only resume when they’ve actually rendered.\n */\nfunction runComponent(\n\tctx: ContextImpl,\n\thydrationData?: HydrationData | undefined,\n): [\n\tPromise | undefined,\n\tPromise> | ElementValue,\n] {\n\tconst ret = ctx.ret;\n\tconst initial = !ctx.iterator;\n\tif (initial) {\n\t\tresumePropsAsyncIterator(ctx);\n\t\tctx.f |= IsSyncExecuting;\n\t\tclearEventListeners(ctx);\n\t\tlet result: ReturnType;\n\t\ttry {\n\t\t\tresult = (ret.el.tag as Component).call(\n\t\t\t\tctx.owner,\n\t\t\t\tret.el.props,\n\t\t\t\tctx.owner,\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tctx.f |= IsErrored;\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\n\t\tif (isIteratorLike(result)) {\n\t\t\tctx.iterator = result;\n\t\t} else if (isPromiseLike(result)) {\n\t\t\t// async function component\n\t\t\tconst result1 =\n\t\t\t\tresult instanceof Promise ? result : Promise.resolve(result);\n\t\t\tconst value = result1.then(\n\t\t\t\t(result) =>\n\t\t\t\t\tupdateComponentChildren(ctx, result, hydrationData),\n\t\t\t\t(err) => {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t},\n\t\t\t);\n\t\t\treturn [result1.catch(NOOP), value];\n\t\t} else {\n\t\t\t// sync function component\n\t\t\treturn [\n\t\t\t\tundefined,\n\t\t\t\tupdateComponentChildren(ctx, result, hydrationData),\n\t\t\t];\n\t\t}\n\t} else if (hydrationData !== undefined) {\n\t\t// hydration data should only be passed on the initial render\n\t\tthrow new Error(\"Hydration error\");\n\t}\n\n\tlet iteration!: Promise | ChildrenIteratorResult;\n\tif (initial) {\n\t\ttry {\n\t\t\tctx.f |= IsSyncExecuting;\n\t\t\titeration = ctx.iterator!.next();\n\t\t} catch (err) {\n\t\t\tctx.f |= IsErrored;\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\n\t\tif (isPromiseLike(iteration)) {\n\t\t\tctx.f |= IsAsyncGen;\n\t\t} else {\n\t\t\tctx.f |= IsSyncGen;\n\t\t}\n\t}\n\n\tif (ctx.f & IsSyncGen) {\n\t\t// sync generator component\n\t\tif (!initial) {\n\t\t\ttry {\n\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\titeration = ctx.iterator!.next(ctx.renderer.read(getValue(ret)));\n\t\t\t} catch (err) {\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t}\n\t\t}\n\n\t\tif (isPromiseLike(iteration)) {\n\t\t\tthrow new Error(\"Mixed generator component\");\n\t\t}\n\n\t\tif (\n\t\t\tctx.f & IsInForOfLoop &&\n\t\t\t!(ctx.f & NeedsToYield) &&\n\t\t\t!(ctx.f & IsUnmounted)\n\t\t) {\n\t\t\tconsole.error(\"Component yielded more than once in for...of loop\");\n\t\t}\n\n\t\tctx.f &= ~NeedsToYield;\n\t\tif (iteration.done) {\n\t\t\tctx.f &= ~IsSyncGen;\n\t\t\tctx.iterator = undefined;\n\t\t}\n\n\t\tlet value: Promise> | ElementValue;\n\t\ttry {\n\t\t\tvalue = updateComponentChildren(\n\t\t\t\tctx,\n\t\t\t\t// Children can be void so we eliminate that here\n\t\t\t\titeration.value as Children,\n\t\t\t\thydrationData,\n\t\t\t);\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tvalue = value.catch((err) => handleChildError(ctx, err));\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tvalue = handleChildError(ctx, err);\n\t\t}\n\n\t\tconst block = isPromiseLike(value) ? value.catch(NOOP) : undefined;\n\t\treturn [block, value];\n\t} else {\n\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t// Async generator component using for...of loops behave similar to sync\n\t\t\t// generator components. This allows for easier refactoring of sync to\n\t\t\t// async generator components.\n\t\t\tif (!initial) {\n\t\t\t\ttry {\n\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\titeration = ctx.iterator!.next(ctx.renderer.read(getValue(ret)));\n\t\t\t\t} catch (err) {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t} finally {\n\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!isPromiseLike(iteration)) {\n\t\t\t\tthrow new Error(\"Mixed generator component\");\n\t\t\t}\n\n\t\t\tconst block = iteration.catch(NOOP);\n\t\t\tconst value = iteration.then(\n\t\t\t\t(iteration) => {\n\t\t\t\t\tlet value: Promise> | ElementValue;\n\t\t\t\t\tif (!(ctx.f & IsInForOfLoop)) {\n\t\t\t\t\t\trunAsyncGenComponent(\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\tPromise.resolve(iteration),\n\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!(ctx.f & NeedsToYield) && !(ctx.f & IsUnmounted)) {\n\t\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\t\t\"Component yielded more than once in for...of loop\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tctx.f &= ~NeedsToYield;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tvalue = updateComponentChildren(\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t// Children can be void so we eliminate that here\n\t\t\t\t\t\t\titeration.value as Children,\n\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (isPromiseLike(value)) {\n\t\t\t\t\t\t\tvalue = value.catch((err) => handleChildError(ctx, err));\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tvalue = handleChildError(ctx, err);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn value;\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn [block, value];\n\t\t} else {\n\t\t\trunAsyncGenComponent(\n\t\t\t\tctx,\n\t\t\t\titeration as Promise,\n\t\t\t\thydrationData,\n\t\t\t\tinitial,\n\t\t\t);\n\t\t\treturn [ctx.inflightBlock, ctx.inflightValue];\n\t\t}\n\t}\n}\n\nasync function runAsyncGenComponent(\n\tctx: ContextImpl,\n\titerationP: Promise,\n\thydrationData: HydrationData | undefined,\n\tinitial: boolean = false,\n): Promise {\n\tlet done = false;\n\ttry {\n\t\twhile (!done) {\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// inflightValue must be set synchronously.\n\t\t\tlet onValue!: Function;\n\t\t\tctx.inflightValue = new Promise((resolve) => (onValue = resolve));\n\t\t\tif (ctx.f & IsUpdating) {\n\t\t\t\t// We should not swallow unhandled promise rejections if the component is\n\t\t\t\t// updating independently.\n\t\t\t\t// TODO: Does this handle this.refresh() calls?\n\t\t\t\tctx.inflightValue.catch(NOOP);\n\t\t\t}\n\n\t\t\tlet iteration: ChildrenIteratorResult;\n\t\t\ttry {\n\t\t\t\titeration = await iterationP;\n\t\t\t} catch (err) {\n\t\t\t\tdone = true;\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tonValue(Promise.reject(err));\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (!(ctx.f & IsInForAwaitOfLoop)) {\n\t\t\t\tctx.f &= ~PropsAvailable;\n\t\t\t}\n\n\t\t\tdone = !!iteration.done;\n\t\t\tlet value: Promise> | ElementValue;\n\t\t\ttry {\n\t\t\t\tif (\n\t\t\t\t\t!(ctx.f & NeedsToYield) &&\n\t\t\t\t\tctx.f & PropsAvailable &&\n\t\t\t\t\tctx.f & IsInForAwaitOfLoop &&\n\t\t\t\t\t!initial &&\n\t\t\t\t\t!done\n\t\t\t\t) {\n\t\t\t\t\t// We skip stale iterations in for await...of loops.\n\t\t\t\t\tvalue = ctx.ret.inflightValue || getValue(ctx.ret);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = updateComponentChildren(\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\titeration.value!,\n\t\t\t\t\t\thydrationData,\n\t\t\t\t\t);\n\t\t\t\t\thydrationData = undefined;\n\t\t\t\t\tif (isPromiseLike(value)) {\n\t\t\t\t\t\tvalue = value.catch((err: any) => handleChildError(ctx, err));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tctx.f &= ~NeedsToYield;\n\t\t\t} catch (err) {\n\t\t\t\t// Do we need to catch potential errors here in the case of unhandled\n\t\t\t\t// promise rejections?\n\t\t\t\tvalue = handleChildError(ctx, err);\n\t\t\t} finally {\n\t\t\t\tonValue(value);\n\t\t\t}\n\n\t\t\tlet oldResult: Promise | TResult;\n\t\t\tif (ctx.ret.inflightValue) {\n\t\t\t\t// The value passed back into the generator as the argument to the next\n\t\t\t\t// method is a promise if an async generator component has async\n\t\t\t\t// children. Sync generator components only resume when their children\n\t\t\t\t// have fulfilled so the element’s inflight child values will never be\n\t\t\t\t// defined.\n\t\t\t\toldResult = ctx.ret.inflightValue.then((value) =>\n\t\t\t\t\tctx.renderer.read(value),\n\t\t\t\t);\n\n\t\t\t\toldResult.catch((err) => {\n\t\t\t\t\tif (ctx.f & IsUpdating) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\toldResult = ctx.renderer.read(getValue(ctx.ret));\n\t\t\t}\n\n\t\t\tif (ctx.f & IsUnmounted) {\n\t\t\t\tif (ctx.f & IsInForAwaitOfLoop) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\t\titerationP = ctx.iterator!.next(\n\t\t\t\t\t\t\toldResult,\n\t\t\t\t\t\t) as Promise;\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (!done && !(ctx.f & IsInForOfLoop)) {\n\t\t\t\ttry {\n\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\titerationP = ctx.iterator!.next(\n\t\t\t\t\t\toldResult,\n\t\t\t\t\t) as Promise;\n\t\t\t\t} finally {\n\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tinitial = false;\n\t\t}\n\t} finally {\n\t\tif (done) {\n\t\t\tctx.f &= ~IsAsyncGen;\n\t\t\tctx.iterator = undefined;\n\t\t}\n\t}\n}\n\n/**\n * Called to resume the props async iterator for async generator components.\n */\nfunction resumePropsAsyncIterator(ctx: ContextImpl): void {\n\tif (ctx.onProps) {\n\t\tctx.onProps(ctx.ret.el.props);\n\t\tctx.onProps = undefined;\n\t\tctx.f &= ~PropsAvailable;\n\t} else {\n\t\tctx.f |= PropsAvailable;\n\t}\n}\n\n// TODO: async unmounting\nfunction unmountComponent(ctx: ContextImpl): void {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t}\n\n\tclearEventListeners(ctx);\n\n\tconst callbacks = cleanupMap.get(ctx);\n\tif (callbacks) {\n\t\tcleanupMap.delete(ctx);\n\t\tconst value = ctx.renderer.read(getValue(ctx.ret));\n\t\tfor (const callback of callbacks) {\n\t\t\tcallback(value);\n\t\t}\n\t}\n\n\tctx.f |= IsUnmounted;\n\tif (ctx.iterator) {\n\t\tif (ctx.f & IsSyncGen) {\n\t\t\tlet value: unknown;\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tvalue = enqueueComponentRun(ctx);\n\t\t\t}\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tvalue.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t(err) => {\n\t\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t} else {\n\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (ctx.f & IsAsyncGen) {\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tconst value = enqueueComponentRun(ctx) as Promise;\n\t\t\t\tvalue.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t(err) => {\n\t\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// The logic for unmounting async generator components is in the\n\t\t\t\t// runAsyncGenComponent function.\n\t\t\t\tresumePropsAsyncIterator(ctx);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction returnComponent(ctx: ContextImpl): void {\n\tresumePropsAsyncIterator(ctx);\n\tif (ctx.iterator && typeof ctx.iterator!.return === \"function\") {\n\t\ttry {\n\t\t\tctx.f |= IsSyncExecuting;\n\t\t\tconst iteration = ctx.iterator!.return();\n\t\t\tif (isPromiseLike(iteration)) {\n\t\t\t\titeration.catch((err) => {\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t});\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\t}\n}\n\n/*** EVENT TARGET UTILITIES ***/\n// EVENT PHASE CONSTANTS\n// https://developer.mozilla.org/en-US/docs/Web/API/Event/eventPhase\nconst NONE = 0;\nconst CAPTURING_PHASE = 1;\nconst AT_TARGET = 2;\nconst BUBBLING_PHASE = 3;\n\nconst listenersMap = new WeakMap>();\n/**\n * A map of event type strings to Event subclasses. Can be extended via\n * TypeScript module augmentation to have strongly typed event listeners.\n */\nexport interface EventMap extends Crank.EventMap {\n\t[type: string]: Event;\n}\n\ntype MappedEventListener = (ev: EventMap[T]) => unknown;\n\ntype MappedEventListenerOrEventListenerObject =\n\t| MappedEventListener\n\t| {handleEvent: MappedEventListener};\n\nfunction isListenerOrListenerObject(\n\tvalue: unknown,\n): value is MappedEventListenerOrEventListenerObject {\n\treturn (\n\t\ttypeof value === \"function\" ||\n\t\t(value !== null &&\n\t\t\ttypeof value === \"object\" &&\n\t\t\ttypeof (value as any).handleEvent === \"function\")\n\t);\n}\n\ninterface EventListenerRecord {\n\ttype: string;\n\t// listener is the original value passed to addEventListener, callback is the\n\t// transformed function\n\tlistener: MappedEventListenerOrEventListenerObject;\n\tcallback: MappedEventListener;\n\toptions: AddEventListenerOptions;\n}\n\nfunction normalizeListenerOptions(\n\toptions: AddEventListenerOptions | boolean | null | undefined,\n): AddEventListenerOptions {\n\tif (typeof options === \"boolean\") {\n\t\treturn {capture: options};\n\t} else if (options == null) {\n\t\treturn {};\n\t}\n\n\treturn options;\n}\n\nfunction isEventTarget(value: any): value is EventTarget {\n\treturn (\n\t\tvalue != null &&\n\t\ttypeof value.addEventListener === \"function\" &&\n\t\ttypeof value.removeEventListener === \"function\" &&\n\t\ttypeof value.dispatchEvent === \"function\"\n\t);\n}\n\nfunction setEventProperty(\n\tev: Event,\n\tkey: T,\n\tvalue: Event[T],\n): void {\n\tObject.defineProperty(ev, key, {value, writable: false, configurable: true});\n}\n\n// TODO: Maybe we can pass in the current context directly, rather than\n// starting from the parent?\n/**\n * A function to reconstruct an array of every listener given a context and a\n * host element.\n *\n * This function exploits the fact that contexts retain their nearest ancestor\n * host element. We can determine all the contexts which are directly listening\n * to an element by traversing up the context tree and checking that the host\n * element passed in matches the parent context’s host element.\n */\nfunction getListenerRecords(\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n): Array {\n\tlet listeners: Array = [];\n\twhile (ctx !== undefined && ctx.host === ret) {\n\t\tconst listeners1 = listenersMap.get(ctx);\n\t\tif (listeners1) {\n\t\t\tlisteners = listeners.concat(listeners1);\n\t\t}\n\n\t\tctx = ctx.parent;\n\t}\n\n\treturn listeners;\n}\n\nfunction clearEventListeners(ctx: ContextImpl): void {\n\tconst listeners = listenersMap.get(ctx);\n\tif (listeners && listeners.length) {\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\tvalue.removeEventListener(\n\t\t\t\t\t\trecord.type,\n\t\t\t\t\t\trecord.callback,\n\t\t\t\t\t\trecord.options,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlisteners.length = 0;\n\t}\n}\n\n/*** ERROR HANDLING UTILITIES ***/\nfunction handleChildError(\n\tctx: ContextImpl,\n\terr: unknown,\n): Promise> | ElementValue {\n\tif (!ctx.iterator || typeof ctx.iterator.throw !== \"function\") {\n\t\tthrow err;\n\t}\n\n\tresumePropsAsyncIterator(ctx);\n\tlet iteration: ChildrenIteratorResult | Promise;\n\ttry {\n\t\tctx.f |= IsSyncExecuting;\n\t\titeration = ctx.iterator.throw(err);\n\t} catch (err) {\n\t\tctx.f |= IsErrored;\n\t\tthrow err;\n\t} finally {\n\t\tctx.f &= ~IsSyncExecuting;\n\t}\n\n\tif (isPromiseLike(iteration)) {\n\t\treturn iteration.then(\n\t\t\t(iteration) => {\n\t\t\t\tif (iteration.done) {\n\t\t\t\t\tctx.f &= ~IsAsyncGen;\n\t\t\t\t\tctx.iterator = undefined;\n\t\t\t\t}\n\n\t\t\t\treturn updateComponentChildren(ctx, iteration.value as Children);\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tthrow err;\n\t\t\t},\n\t\t);\n\t}\n\n\tif (iteration.done) {\n\t\tctx.f &= ~IsSyncGen;\n\t\tctx.f &= ~IsAsyncGen;\n\t\tctx.iterator = undefined;\n\t}\n\n\treturn updateComponentChildren(ctx, iteration.value as Children);\n}\n\nfunction propagateError(\n\tctx: ContextImpl,\n\terr: unknown,\n): Promise> | ElementValue {\n\tlet result: Promise> | ElementValue;\n\ttry {\n\t\tresult = handleChildError(ctx, err);\n\t} catch (err) {\n\t\tif (!ctx.parent) {\n\t\t\tthrow err;\n\t\t}\n\n\t\treturn propagateError(ctx.parent, err);\n\t}\n\n\tif (isPromiseLike(result)) {\n\t\treturn result.catch((err) => {\n\t\t\tif (!ctx.parent) {\n\t\t\t\tthrow err;\n\t\t\t}\n\n\t\t\treturn propagateError(ctx.parent, err);\n\t\t});\n\t}\n\n\treturn result;\n}\n\n// TODO: uncomment and use in the Element interface below\n// type CrankElement = Element;\ndeclare global {\n\tnamespace Crank {\n\t\texport interface EventMap {}\n\n\t\texport interface ProvisionMap {}\n\n\t\texport interface Context {}\n\t}\n\n\tnamespace JSX {\n\t\t// TODO: JSX Element type (the result of JSX expressions) don’t work\n\t\t// because TypeScript demands that all Components return JSX elements for\n\t\t// some reason.\n\t\t// interface Element extends CrankElement {}\n\n\t\texport interface IntrinsicElements {\n\t\t\t[tag: string]: any;\n\t\t}\n\n\t\texport interface IntrinsicAttributes {\n\t\t\tchildren?: unknown;\n\t\t\tkey?: unknown;\n\t\t\tref?: unknown;\n\t\t\t[\"static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-key\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-ref\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-key\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-ref\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$key?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$ref?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$static?: unknown;\n\t\t}\n\n\t\texport interface ElementChildrenAttribute {\n\t\t\tchildren: {};\n\t\t}\n\t}\n}\n\n// Some JSX transpilation tools expect these functions to be defined on the\n// default export. Prefer named exports when importing directly.\nexport default {createElement, Fragment};\n"], + "mappings": "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", + "names": ["e", "fill", "compare", "i", "byteLength", "childValues", "copy", "value", "record", "result", "iteration", "err"] +} diff --git a/static/dom-P6RTISBD.js b/static/dom-P6RTISBD.js new file mode 100644 index 00000000..a9864c89 --- /dev/null +++ b/static/dom-P6RTISBD.js @@ -0,0 +1,3664 @@ +// node_modules/@esbuild-plugins/node-globals-polyfill/process.js +function defaultSetTimout() { + throw new Error("setTimeout has not been defined"); +} +function defaultClearTimeout() { + throw new Error("clearTimeout has not been defined"); +} +var cachedSetTimeout = defaultSetTimout; +var cachedClearTimeout = defaultClearTimeout; +if (typeof globalThis.setTimeout === "function") { + cachedSetTimeout = setTimeout; +} +if (typeof globalThis.clearTimeout === "function") { + cachedClearTimeout = clearTimeout; +} +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + return setTimeout(fun, 0); + } + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + return cachedSetTimeout(fun, 0); + } catch (e) { + try { + return cachedSetTimeout.call(null, fun, 0); + } catch (e2) { + return cachedSetTimeout.call(this, fun, 0); + } + } +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + return clearTimeout(marker); + } + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + return cachedClearTimeout(marker); + } catch (e) { + try { + return cachedClearTimeout.call(null, marker); + } catch (e2) { + return cachedClearTimeout.call(this, marker); + } + } +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + var len = queue.length; + while (len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} +function nextTick(fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +} +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function() { + this.fun.apply(null, this.array); +}; +var title = "browser"; +var platform = "browser"; +var browser = true; +var env = {}; +var argv = []; +var version = ""; +var versions = {}; +var release = {}; +var config = {}; +function noop() { +} +var on = noop; +var addListener = noop; +var once = noop; +var off = noop; +var removeListener = noop; +var removeAllListeners = noop; +var emit = noop; +function binding(name) { + throw new Error("process.binding is not supported"); +} +function cwd() { + return "/"; +} +function chdir(dir) { + throw new Error("process.chdir is not supported"); +} +function umask() { + return 0; +} +var performance = globalThis.performance || {}; +var performanceNow = performance.now || performance.mozNow || performance.msNow || performance.oNow || performance.webkitNow || function() { + return (/* @__PURE__ */ new Date()).getTime(); +}; +function hrtime(previousTimestamp) { + var clocktime = performanceNow.call(performance) * 1e-3; + var seconds = Math.floor(clocktime); + var nanoseconds = Math.floor(clocktime % 1 * 1e9); + if (previousTimestamp) { + seconds = seconds - previousTimestamp[0]; + nanoseconds = nanoseconds - previousTimestamp[1]; + if (nanoseconds < 0) { + seconds--; + nanoseconds += 1e9; + } + } + return [seconds, nanoseconds]; +} +var startTime = /* @__PURE__ */ new Date(); +function uptime() { + var currentTime = /* @__PURE__ */ new Date(); + var dif = currentTime - startTime; + return dif / 1e3; +} +var process = { + nextTick, + title, + browser, + env, + argv, + version, + versions, + on, + addListener, + once, + off, + removeListener, + removeAllListeners, + emit, + binding, + cwd, + chdir, + umask, + hrtime, + platform, + release, + config, + uptime +}; +var defines = {}; +Object.keys(defines).forEach((key) => { + const segs = key.split("."); + let target = process; + for (let i = 0; i < segs.length; i++) { + const seg = segs[i]; + if (i === segs.length - 1) { + target[seg] = defines[key]; + } else { + target = target[seg] || (target[seg] = {}); + } + } +}); + +// node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js +var lookup = []; +var revLookup = []; +var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array; +var inited = false; +function init() { + inited = true; + var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i]; + revLookup[code.charCodeAt(i)] = i; + } + revLookup["-".charCodeAt(0)] = 62; + revLookup["_".charCodeAt(0)] = 63; +} +function base64toByteArray(b64) { + if (!inited) { + init(); + } + var i, j, l, tmp, placeHolders, arr; + var len = b64.length; + if (len % 4 > 0) { + throw new Error("Invalid string. Length must be a multiple of 4"); + } + placeHolders = b64[len - 2] === "=" ? 2 : b64[len - 1] === "=" ? 1 : 0; + arr = new Arr(len * 3 / 4 - placeHolders); + l = placeHolders > 0 ? len - 4 : len; + var L = 0; + for (i = 0, j = 0; i < l; i += 4, j += 3) { + tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)]; + arr[L++] = tmp >> 16 & 255; + arr[L++] = tmp >> 8 & 255; + arr[L++] = tmp & 255; + } + if (placeHolders === 2) { + tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4; + arr[L++] = tmp & 255; + } else if (placeHolders === 1) { + tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2; + arr[L++] = tmp >> 8 & 255; + arr[L++] = tmp & 255; + } + return arr; +} +function tripletToBase64(num) { + return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63]; +} +function encodeChunk(uint8, start, end) { + var tmp; + var output = []; + for (var i = start; i < end; i += 3) { + tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2]; + output.push(tripletToBase64(tmp)); + } + return output.join(""); +} +function base64fromByteArray(uint8) { + if (!inited) { + init(); + } + var tmp; + var len = uint8.length; + var extraBytes = len % 3; + var output = ""; + var parts = []; + var maxChunkLength = 16383; + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push( + encodeChunk( + uint8, + i, + i + maxChunkLength > len2 ? len2 : i + maxChunkLength + ) + ); + } + if (extraBytes === 1) { + tmp = uint8[len - 1]; + output += lookup[tmp >> 2]; + output += lookup[tmp << 4 & 63]; + output += "=="; + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1]; + output += lookup[tmp >> 10]; + output += lookup[tmp >> 4 & 63]; + output += lookup[tmp << 2 & 63]; + output += "="; + } + parts.push(output); + return parts.join(""); +} +Buffer.TYPED_ARRAY_SUPPORT = globalThis.TYPED_ARRAY_SUPPORT !== void 0 ? globalThis.TYPED_ARRAY_SUPPORT : true; +function kMaxLength() { + return Buffer.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823; +} +function createBuffer(that, length) { + if (kMaxLength() < length) { + throw new RangeError("Invalid typed array length"); + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + that = new Uint8Array(length); + that.__proto__ = Buffer.prototype; + } else { + if (that === null) { + that = new Buffer(length); + } + that.length = length; + } + return that; +} +function Buffer(arg, encodingOrOffset, length) { + if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { + return new Buffer(arg, encodingOrOffset, length); + } + if (typeof arg === "number") { + if (typeof encodingOrOffset === "string") { + throw new Error( + "If encoding is specified then the first argument must be a string" + ); + } + return allocUnsafe(this, arg); + } + return from(this, arg, encodingOrOffset, length); +} +Buffer.poolSize = 8192; +Buffer._augment = function(arr) { + arr.__proto__ = Buffer.prototype; + return arr; +}; +function from(that, value, encodingOrOffset, length) { + if (typeof value === "number") { + throw new TypeError('"value" argument must not be a number'); + } + if (typeof ArrayBuffer !== "undefined" && value instanceof ArrayBuffer) { + return fromArrayBuffer(that, value, encodingOrOffset, length); + } + if (typeof value === "string") { + return fromString(that, value, encodingOrOffset); + } + return fromObject(that, value); +} +Buffer.from = function(value, encodingOrOffset, length) { + return from(null, value, encodingOrOffset, length); +}; +Buffer.kMaxLength = kMaxLength(); +if (Buffer.TYPED_ARRAY_SUPPORT) { + Buffer.prototype.__proto__ = Uint8Array.prototype; + Buffer.__proto__ = Uint8Array; + if (typeof Symbol !== "undefined" && Symbol.species && Buffer[Symbol.species] === Buffer) { + } +} +function assertSize(size) { + if (typeof size !== "number") { + throw new TypeError('"size" argument must be a number'); + } else if (size < 0) { + throw new RangeError('"size" argument must not be negative'); + } +} +function alloc(that, size, fill2, encoding) { + assertSize(size); + if (size <= 0) { + return createBuffer(that, size); + } + if (fill2 !== void 0) { + return typeof encoding === "string" ? createBuffer(that, size).fill(fill2, encoding) : createBuffer(that, size).fill(fill2); + } + return createBuffer(that, size); +} +Buffer.alloc = function(size, fill2, encoding) { + return alloc(null, size, fill2, encoding); +}; +function allocUnsafe(that, size) { + assertSize(size); + that = createBuffer(that, size < 0 ? 0 : checked(size) | 0); + if (!Buffer.TYPED_ARRAY_SUPPORT) { + for (var i = 0; i < size; ++i) { + that[i] = 0; + } + } + return that; +} +Buffer.allocUnsafe = function(size) { + return allocUnsafe(null, size); +}; +Buffer.allocUnsafeSlow = function(size) { + return allocUnsafe(null, size); +}; +function fromString(that, string, encoding) { + if (typeof encoding !== "string" || encoding === "") { + encoding = "utf8"; + } + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding'); + } + var length = byteLength(string, encoding) | 0; + that = createBuffer(that, length); + var actual = that.write(string, encoding); + if (actual !== length) { + that = that.slice(0, actual); + } + return that; +} +function fromArrayLike(that, array) { + var length = array.length < 0 ? 0 : checked(array.length) | 0; + that = createBuffer(that, length); + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255; + } + return that; +} +function fromArrayBuffer(that, array, byteOffset, length) { + array.byteLength; + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError("'offset' is out of bounds"); + } + if (array.byteLength < byteOffset + (length || 0)) { + throw new RangeError("'length' is out of bounds"); + } + if (byteOffset === void 0 && length === void 0) { + array = new Uint8Array(array); + } else if (length === void 0) { + array = new Uint8Array(array, byteOffset); + } else { + array = new Uint8Array(array, byteOffset, length); + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + that = array; + that.__proto__ = Buffer.prototype; + } else { + that = fromArrayLike(that, array); + } + return that; +} +function fromObject(that, obj) { + if (internalIsBuffer(obj)) { + var len = checked(obj.length) | 0; + that = createBuffer(that, len); + if (that.length === 0) { + return that; + } + obj.copy(that, 0, 0, len); + return that; + } + if (obj) { + if (typeof ArrayBuffer !== "undefined" && obj.buffer instanceof ArrayBuffer || "length" in obj) { + if (typeof obj.length !== "number" || isnan(obj.length)) { + return createBuffer(that, 0); + } + return fromArrayLike(that, obj); + } + if (obj.type === "Buffer" && Array.isArray(obj.data)) { + return fromArrayLike(that, obj.data); + } + } + throw new TypeError( + "First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object." + ); +} +function checked(length) { + if (length >= kMaxLength()) { + throw new RangeError( + "Attempt to allocate Buffer larger than maximum size: 0x" + kMaxLength().toString(16) + " bytes" + ); + } + return length | 0; +} +Buffer.isBuffer = isBuffer; +function internalIsBuffer(b) { + return !!(b != null && b._isBuffer); +} +Buffer.compare = function compare(a, b) { + if (!internalIsBuffer(a) || !internalIsBuffer(b)) { + throw new TypeError("Arguments must be Buffers"); + } + if (a === b) + return 0; + var x = a.length; + var y = b.length; + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i]; + y = b[i]; + break; + } + } + if (x < y) + return -1; + if (y < x) + return 1; + return 0; +}; +Buffer.isEncoding = function isEncoding(encoding) { + switch (String(encoding).toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "latin1": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return true; + default: + return false; + } +}; +Buffer.concat = function concat(list, length) { + if (!Array.isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + if (list.length === 0) { + return Buffer.alloc(0); + } + var i; + if (length === void 0) { + length = 0; + for (i = 0; i < list.length; ++i) { + length += list[i].length; + } + } + var buffer = Buffer.allocUnsafe(length); + var pos = 0; + for (i = 0; i < list.length; ++i) { + var buf = list[i]; + if (!internalIsBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + buf.copy(buffer, pos); + pos += buf.length; + } + return buffer; +}; +function byteLength(string, encoding) { + if (internalIsBuffer(string)) { + return string.length; + } + if (typeof ArrayBuffer !== "undefined" && typeof ArrayBuffer.isView === "function" && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { + return string.byteLength; + } + if (typeof string !== "string") { + string = "" + string; + } + var len = string.length; + if (len === 0) + return 0; + var loweredCase = false; + for (; ; ) { + switch (encoding) { + case "ascii": + case "latin1": + case "binary": + return len; + case "utf8": + case "utf-8": + case void 0: + return utf8ToBytes(string).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return len * 2; + case "hex": + return len >>> 1; + case "base64": + return base64ToBytes(string).length; + default: + if (loweredCase) + return utf8ToBytes(string).length; + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } +} +Buffer.byteLength = byteLength; +function slowToString(encoding, start, end) { + var loweredCase = false; + if (start === void 0 || start < 0) { + start = 0; + } + if (start > this.length) { + return ""; + } + if (end === void 0 || end > this.length) { + end = this.length; + } + if (end <= 0) { + return ""; + } + end >>>= 0; + start >>>= 0; + if (end <= start) { + return ""; + } + if (!encoding) + encoding = "utf8"; + while (true) { + switch (encoding) { + case "hex": + return hexSlice(this, start, end); + case "utf8": + case "utf-8": + return utf8Slice(this, start, end); + case "ascii": + return asciiSlice(this, start, end); + case "latin1": + case "binary": + return latin1Slice(this, start, end); + case "base64": + return base64Slice(this, start, end); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return utf16leSlice(this, start, end); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = (encoding + "").toLowerCase(); + loweredCase = true; + } + } +} +Buffer.prototype._isBuffer = true; +function swap(b, n, m) { + var i = b[n]; + b[n] = b[m]; + b[m] = i; +} +Buffer.prototype.swap16 = function swap16() { + var len = this.length; + if (len % 2 !== 0) { + throw new RangeError("Buffer size must be a multiple of 16-bits"); + } + for (var i = 0; i < len; i += 2) { + swap(this, i, i + 1); + } + return this; +}; +Buffer.prototype.swap32 = function swap32() { + var len = this.length; + if (len % 4 !== 0) { + throw new RangeError("Buffer size must be a multiple of 32-bits"); + } + for (var i = 0; i < len; i += 4) { + swap(this, i, i + 3); + swap(this, i + 1, i + 2); + } + return this; +}; +Buffer.prototype.swap64 = function swap64() { + var len = this.length; + if (len % 8 !== 0) { + throw new RangeError("Buffer size must be a multiple of 64-bits"); + } + for (var i = 0; i < len; i += 8) { + swap(this, i, i + 7); + swap(this, i + 1, i + 6); + swap(this, i + 2, i + 5); + swap(this, i + 3, i + 4); + } + return this; +}; +Buffer.prototype.toString = function toString() { + var length = this.length | 0; + if (length === 0) + return ""; + if (arguments.length === 0) + return utf8Slice(this, 0, length); + return slowToString.apply(this, arguments); +}; +Buffer.prototype.equals = function equals(b) { + if (!internalIsBuffer(b)) + throw new TypeError("Argument must be a Buffer"); + if (this === b) + return true; + return Buffer.compare(this, b) === 0; +}; +Buffer.prototype.compare = function compare2(target, start, end, thisStart, thisEnd) { + if (!internalIsBuffer(target)) { + throw new TypeError("Argument must be a Buffer"); + } + if (start === void 0) { + start = 0; + } + if (end === void 0) { + end = target ? target.length : 0; + } + if (thisStart === void 0) { + thisStart = 0; + } + if (thisEnd === void 0) { + thisEnd = this.length; + } + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError("out of range index"); + } + if (thisStart >= thisEnd && start >= end) { + return 0; + } + if (thisStart >= thisEnd) { + return -1; + } + if (start >= end) { + return 1; + } + start >>>= 0; + end >>>= 0; + thisStart >>>= 0; + thisEnd >>>= 0; + if (this === target) + return 0; + var x = thisEnd - thisStart; + var y = end - start; + var len = Math.min(x, y); + var thisCopy = this.slice(thisStart, thisEnd); + var targetCopy = target.slice(start, end); + for (var i = 0; i < len; ++i) { + if (thisCopy[i] !== targetCopy[i]) { + x = thisCopy[i]; + y = targetCopy[i]; + break; + } + } + if (x < y) + return -1; + if (y < x) + return 1; + return 0; +}; +function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { + if (buffer.length === 0) + return -1; + if (typeof byteOffset === "string") { + encoding = byteOffset; + byteOffset = 0; + } else if (byteOffset > 2147483647) { + byteOffset = 2147483647; + } else if (byteOffset < -2147483648) { + byteOffset = -2147483648; + } + byteOffset = +byteOffset; + if (isNaN(byteOffset)) { + byteOffset = dir ? 0 : buffer.length - 1; + } + if (byteOffset < 0) + byteOffset = buffer.length + byteOffset; + if (byteOffset >= buffer.length) { + if (dir) + return -1; + else + byteOffset = buffer.length - 1; + } else if (byteOffset < 0) { + if (dir) + byteOffset = 0; + else + return -1; + } + if (typeof val === "string") { + val = Buffer.from(val, encoding); + } + if (internalIsBuffer(val)) { + if (val.length === 0) { + return -1; + } + return arrayIndexOf(buffer, val, byteOffset, encoding, dir); + } else if (typeof val === "number") { + val = val & 255; + if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === "function") { + if (dir) { + return Uint8Array.prototype.indexOf.call( + buffer, + val, + byteOffset + ); + } else { + return Uint8Array.prototype.lastIndexOf.call( + buffer, + val, + byteOffset + ); + } + } + return arrayIndexOf(buffer, [val], byteOffset, encoding, dir); + } + throw new TypeError("val must be string, number or Buffer"); +} +function arrayIndexOf(arr, val, byteOffset, encoding, dir) { + var indexSize = 1; + var arrLength = arr.length; + var valLength = val.length; + if (encoding !== void 0) { + encoding = String(encoding).toLowerCase(); + if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") { + if (arr.length < 2 || val.length < 2) { + return -1; + } + indexSize = 2; + arrLength /= 2; + valLength /= 2; + byteOffset /= 2; + } + } + function read(buf, i2) { + if (indexSize === 1) { + return buf[i2]; + } else { + return buf.readUInt16BE(i2 * indexSize); + } + } + var i; + if (dir) { + var foundIndex = -1; + for (i = byteOffset; i < arrLength; i++) { + if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { + if (foundIndex === -1) + foundIndex = i; + if (i - foundIndex + 1 === valLength) + return foundIndex * indexSize; + } else { + if (foundIndex !== -1) + i -= i - foundIndex; + foundIndex = -1; + } + } + } else { + if (byteOffset + valLength > arrLength) + byteOffset = arrLength - valLength; + for (i = byteOffset; i >= 0; i--) { + var found = true; + for (var j = 0; j < valLength; j++) { + if (read(arr, i + j) !== read(val, j)) { + found = false; + break; + } + } + if (found) + return i; + } + } + return -1; +} +Buffer.prototype.includes = function includes(val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1; +}; +Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true); +}; +Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false); +}; +function hexWrite(buf, string, offset, length) { + offset = Number(offset) || 0; + var remaining = buf.length - offset; + if (!length) { + length = remaining; + } else { + length = Number(length); + if (length > remaining) { + length = remaining; + } + } + var strLen = string.length; + if (strLen % 2 !== 0) + throw new TypeError("Invalid hex string"); + if (length > strLen / 2) { + length = strLen / 2; + } + for (var i = 0; i < length; ++i) { + var parsed = parseInt(string.substr(i * 2, 2), 16); + if (isNaN(parsed)) + return i; + buf[offset + i] = parsed; + } + return i; +} +function utf8Write(buf, string, offset, length) { + return blitBuffer( + utf8ToBytes(string, buf.length - offset), + buf, + offset, + length + ); +} +function asciiWrite(buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length); +} +function latin1Write(buf, string, offset, length) { + return asciiWrite(buf, string, offset, length); +} +function base64Write(buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length); +} +function ucs2Write(buf, string, offset, length) { + return blitBuffer( + utf16leToBytes(string, buf.length - offset), + buf, + offset, + length + ); +} +Buffer.prototype.write = function write(string, offset, length, encoding) { + if (offset === void 0) { + encoding = "utf8"; + length = this.length; + offset = 0; + } else if (length === void 0 && typeof offset === "string") { + encoding = offset; + length = this.length; + offset = 0; + } else if (isFinite(offset)) { + offset = offset | 0; + if (isFinite(length)) { + length = length | 0; + if (encoding === void 0) + encoding = "utf8"; + } else { + encoding = length; + length = void 0; + } + } else { + throw new Error( + "Buffer.write(string, encoding, offset[, length]) is no longer supported" + ); + } + var remaining = this.length - offset; + if (length === void 0 || length > remaining) + length = remaining; + if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) { + throw new RangeError("Attempt to write outside buffer bounds"); + } + if (!encoding) + encoding = "utf8"; + var loweredCase = false; + for (; ; ) { + switch (encoding) { + case "hex": + return hexWrite(this, string, offset, length); + case "utf8": + case "utf-8": + return utf8Write(this, string, offset, length); + case "ascii": + return asciiWrite(this, string, offset, length); + case "latin1": + case "binary": + return latin1Write(this, string, offset, length); + case "base64": + return base64Write(this, string, offset, length); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return ucs2Write(this, string, offset, length); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } +}; +Buffer.prototype.toJSON = function toJSON() { + return { + type: "Buffer", + data: Array.prototype.slice.call(this._arr || this, 0) + }; +}; +function base64Slice(buf, start, end) { + if (start === 0 && end === buf.length) { + return base64fromByteArray(buf); + } else { + return base64fromByteArray(buf.slice(start, end)); + } +} +function utf8Slice(buf, start, end) { + end = Math.min(buf.length, end); + var res = []; + var i = start; + while (i < end) { + var firstByte = buf[i]; + var codePoint = null; + var bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1; + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint; + switch (bytesPerSequence) { + case 1: + if (firstByte < 128) { + codePoint = firstByte; + } + break; + case 2: + secondByte = buf[i + 1]; + if ((secondByte & 192) === 128) { + tempCodePoint = (firstByte & 31) << 6 | secondByte & 63; + if (tempCodePoint > 127) { + codePoint = tempCodePoint; + } + } + break; + case 3: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63; + if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) { + codePoint = tempCodePoint; + } + } + break; + case 4: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + fourthByte = buf[i + 3]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63; + if (tempCodePoint > 65535 && tempCodePoint < 1114112) { + codePoint = tempCodePoint; + } + } + } + } + if (codePoint === null) { + codePoint = 65533; + bytesPerSequence = 1; + } else if (codePoint > 65535) { + codePoint -= 65536; + res.push(codePoint >>> 10 & 1023 | 55296); + codePoint = 56320 | codePoint & 1023; + } + res.push(codePoint); + i += bytesPerSequence; + } + return decodeCodePointsArray(res); +} +var MAX_ARGUMENTS_LENGTH = 4096; +function decodeCodePointsArray(codePoints) { + var len = codePoints.length; + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints); + } + var res = ""; + var i = 0; + while (i < len) { + res += String.fromCharCode.apply( + String, + codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) + ); + } + return res; +} +function asciiSlice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i] & 127); + } + return ret; +} +function latin1Slice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i]); + } + return ret; +} +function hexSlice(buf, start, end) { + var len = buf.length; + if (!start || start < 0) + start = 0; + if (!end || end < 0 || end > len) + end = len; + var out = ""; + for (var i = start; i < end; ++i) { + out += toHex(buf[i]); + } + return out; +} +function utf16leSlice(buf, start, end) { + var bytes = buf.slice(start, end); + var res = ""; + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); + } + return res; +} +Buffer.prototype.slice = function slice(start, end) { + var len = this.length; + start = ~~start; + end = end === void 0 ? len : ~~end; + if (start < 0) { + start += len; + if (start < 0) + start = 0; + } else if (start > len) { + start = len; + } + if (end < 0) { + end += len; + if (end < 0) + end = 0; + } else if (end > len) { + end = len; + } + if (end < start) + end = start; + var newBuf; + if (Buffer.TYPED_ARRAY_SUPPORT) { + newBuf = this.subarray(start, end); + newBuf.__proto__ = Buffer.prototype; + } else { + var sliceLen = end - start; + newBuf = new Buffer(sliceLen, void 0); + for (var i = 0; i < sliceLen; ++i) { + newBuf[i] = this[i + start]; + } + } + return newBuf; +}; +function checkOffset(offset, ext, length) { + if (offset % 1 !== 0 || offset < 0) + throw new RangeError("offset is not uint"); + if (offset + ext > length) + throw new RangeError("Trying to access beyond buffer length"); +} +Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength2 && (mul *= 256)) { + val += this[offset + i] * mul; + } + return val; +}; +Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + checkOffset(offset, byteLength2, this.length); + } + var val = this[offset + --byteLength2]; + var mul = 1; + while (byteLength2 > 0 && (mul *= 256)) { + val += this[offset + --byteLength2] * mul; + } + return val; +}; +Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 1, this.length); + return this[offset]; +}; +Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] | this[offset + 1] << 8; +}; +Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] << 8 | this[offset + 1]; +}; +Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216; +}; +Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); +}; +Buffer.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength2 && (mul *= 256)) { + val += this[offset + i] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength2); + return val; +}; +Buffer.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var i = byteLength2; + var mul = 1; + var val = this[offset + --i]; + while (i > 0 && (mul *= 256)) { + val += this[offset + --i] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength2); + return val; +}; +Buffer.prototype.readInt8 = function readInt8(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 1, this.length); + if (!(this[offset] & 128)) + return this[offset]; + return (255 - this[offset] + 1) * -1; +}; +Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + var val = this[offset] | this[offset + 1] << 8; + return val & 32768 ? val | 4294901760 : val; +}; +Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + var val = this[offset + 1] | this[offset] << 8; + return val & 32768 ? val | 4294901760 : val; +}; +Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24; +}; +Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]; +}; +Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754read(this, offset, true, 23, 4); +}; +Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754read(this, offset, false, 23, 4); +}; +Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754read(this, offset, true, 52, 8); +}; +Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754read(this, offset, false, 52, 8); +}; +function checkInt(buf, value, offset, ext, max, min) { + if (!internalIsBuffer(buf)) + throw new TypeError('"buffer" argument must be a Buffer instance'); + if (value > max || value < min) + throw new RangeError('"value" argument is out of bounds'); + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); +} +Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength2) - 1; + checkInt(this, value, offset, byteLength2, maxBytes, 0); + } + var mul = 1; + var i = 0; + this[offset] = value & 255; + while (++i < byteLength2 && (mul *= 256)) { + this[offset + i] = value / mul & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength2) - 1; + checkInt(this, value, offset, byteLength2, maxBytes, 0); + } + var i = byteLength2 - 1; + var mul = 1; + this[offset + i] = value & 255; + while (--i >= 0 && (mul *= 256)) { + this[offset + i] = value / mul & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 1, 255, 0); + if (!Buffer.TYPED_ARRAY_SUPPORT) + value = Math.floor(value); + this[offset] = value & 255; + return offset + 1; +}; +function objectWriteUInt16(buf, value, offset, littleEndian) { + if (value < 0) + value = 65535 + value + 1; + for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { + buf[offset + i] = (value & 255 << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8; + } +} +Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + } else { + objectWriteUInt16(this, value, offset, true); + } + return offset + 2; +}; +Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + } else { + objectWriteUInt16(this, value, offset, false); + } + return offset + 2; +}; +function objectWriteUInt32(buf, value, offset, littleEndian) { + if (value < 0) + value = 4294967295 + value + 1; + for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { + buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 255; + } +} +Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset + 3] = value >>> 24; + this[offset + 2] = value >>> 16; + this[offset + 1] = value >>> 8; + this[offset] = value & 255; + } else { + objectWriteUInt32(this, value, offset, true); + } + return offset + 4; +}; +Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + } else { + objectWriteUInt32(this, value, offset, false); + } + return offset + 4; +}; +Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength2 - 1); + checkInt(this, value, offset, byteLength2, limit - 1, -limit); + } + var i = 0; + var mul = 1; + var sub = 0; + this[offset] = value & 255; + while (++i < byteLength2 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { + sub = 1; + } + this[offset + i] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength2 - 1); + checkInt(this, value, offset, byteLength2, limit - 1, -limit); + } + var i = byteLength2 - 1; + var mul = 1; + var sub = 0; + this[offset + i] = value & 255; + while (--i >= 0 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { + sub = 1; + } + this[offset + i] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 1, 127, -128); + if (!Buffer.TYPED_ARRAY_SUPPORT) + value = Math.floor(value); + if (value < 0) + value = 255 + value + 1; + this[offset] = value & 255; + return offset + 1; +}; +Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + } else { + objectWriteUInt16(this, value, offset, true); + } + return offset + 2; +}; +Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + } else { + objectWriteUInt16(this, value, offset, false); + } + return offset + 2; +}; +Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + this[offset + 2] = value >>> 16; + this[offset + 3] = value >>> 24; + } else { + objectWriteUInt32(this, value, offset, true); + } + return offset + 4; +}; +Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + if (value < 0) + value = 4294967295 + value + 1; + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + } else { + objectWriteUInt32(this, value, offset, false); + } + return offset + 4; +}; +function checkIEEE754(buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); + if (offset < 0) + throw new RangeError("Index out of range"); +} +function writeFloat(buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754( + buf, + value, + offset, + 4, + 34028234663852886e22, + -34028234663852886e22 + ); + } + ieee754write(buf, value, offset, littleEndian, 23, 4); + return offset + 4; +} +Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert); +}; +Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert); +}; +function writeDouble(buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754( + buf, + value, + offset, + 8, + 17976931348623157e292, + -17976931348623157e292 + ); + } + ieee754write(buf, value, offset, littleEndian, 52, 8); + return offset + 8; +} +Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert); +}; +Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert); +}; +Buffer.prototype.copy = function copy(target, targetStart, start, end) { + if (!start) + start = 0; + if (!end && end !== 0) + end = this.length; + if (targetStart >= target.length) + targetStart = target.length; + if (!targetStart) + targetStart = 0; + if (end > 0 && end < start) + end = start; + if (end === start) + return 0; + if (target.length === 0 || this.length === 0) + return 0; + if (targetStart < 0) { + throw new RangeError("targetStart out of bounds"); + } + if (start < 0 || start >= this.length) + throw new RangeError("sourceStart out of bounds"); + if (end < 0) + throw new RangeError("sourceEnd out of bounds"); + if (end > this.length) + end = this.length; + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start; + } + var len = end - start; + var i; + if (this === target && start < targetStart && targetStart < end) { + for (i = len - 1; i >= 0; --i) { + target[i + targetStart] = this[i + start]; + } + } else if (len < 1e3 || !Buffer.TYPED_ARRAY_SUPPORT) { + for (i = 0; i < len; ++i) { + target[i + targetStart] = this[i + start]; + } + } else { + Uint8Array.prototype.set.call( + target, + this.subarray(start, start + len), + targetStart + ); + } + return len; +}; +Buffer.prototype.fill = function fill(val, start, end, encoding) { + if (typeof val === "string") { + if (typeof start === "string") { + encoding = start; + start = 0; + end = this.length; + } else if (typeof end === "string") { + encoding = end; + end = this.length; + } + if (val.length === 1) { + var code = val.charCodeAt(0); + if (code < 256) { + val = code; + } + } + if (encoding !== void 0 && typeof encoding !== "string") { + throw new TypeError("encoding must be a string"); + } + if (typeof encoding === "string" && !Buffer.isEncoding(encoding)) { + throw new TypeError("Unknown encoding: " + encoding); + } + } else if (typeof val === "number") { + val = val & 255; + } + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError("Out of range index"); + } + if (end <= start) { + return this; + } + start = start >>> 0; + end = end === void 0 ? this.length : end >>> 0; + if (!val) + val = 0; + var i; + if (typeof val === "number") { + for (i = start; i < end; ++i) { + this[i] = val; + } + } else { + var bytes = internalIsBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString()); + var len = bytes.length; + for (i = 0; i < end - start; ++i) { + this[i + start] = bytes[i % len]; + } + } + return this; +}; +var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g; +function base64clean(str) { + str = stringtrim(str).replace(INVALID_BASE64_RE, ""); + if (str.length < 2) + return ""; + while (str.length % 4 !== 0) { + str = str + "="; + } + return str; +} +function stringtrim(str) { + if (str.trim) + return str.trim(); + return str.replace(/^\s+|\s+$/g, ""); +} +function toHex(n) { + if (n < 16) + return "0" + n.toString(16); + return n.toString(16); +} +function utf8ToBytes(string, units) { + units = units || Infinity; + var codePoint; + var length = string.length; + var leadSurrogate = null; + var bytes = []; + for (var i = 0; i < length; ++i) { + codePoint = string.charCodeAt(i); + if (codePoint > 55295 && codePoint < 57344) { + if (!leadSurrogate) { + if (codePoint > 56319) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } else if (i + 1 === length) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } + leadSurrogate = codePoint; + continue; + } + if (codePoint < 56320) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + leadSurrogate = codePoint; + continue; + } + codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536; + } else if (leadSurrogate) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + } + leadSurrogate = null; + if (codePoint < 128) { + if ((units -= 1) < 0) + break; + bytes.push(codePoint); + } else if (codePoint < 2048) { + if ((units -= 2) < 0) + break; + bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128); + } else if (codePoint < 65536) { + if ((units -= 3) < 0) + break; + bytes.push( + codePoint >> 12 | 224, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else if (codePoint < 1114112) { + if ((units -= 4) < 0) + break; + bytes.push( + codePoint >> 18 | 240, + codePoint >> 12 & 63 | 128, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else { + throw new Error("Invalid code point"); + } + } + return bytes; +} +function asciiToBytes(str) { + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + byteArray.push(str.charCodeAt(i) & 255); + } + return byteArray; +} +function utf16leToBytes(str, units) { + var c, hi, lo; + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + if ((units -= 2) < 0) + break; + c = str.charCodeAt(i); + hi = c >> 8; + lo = c % 256; + byteArray.push(lo); + byteArray.push(hi); + } + return byteArray; +} +function base64ToBytes(str) { + return base64toByteArray(base64clean(str)); +} +function blitBuffer(src, dst, offset, length) { + for (var i = 0; i < length; ++i) { + if (i + offset >= dst.length || i >= src.length) + break; + dst[i + offset] = src[i]; + } + return i; +} +function isnan(val) { + return val !== val; +} +function isBuffer(obj) { + return obj != null && (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj)); +} +function isFastBuffer(obj) { + return !!obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj); +} +function isSlowBuffer(obj) { + return typeof obj.readFloatLE === "function" && typeof obj.slice === "function" && isFastBuffer(obj.slice(0, 0)); +} +function ieee754read(buffer, offset, isLE, mLen, nBytes) { + var e, m; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = -7; + var i = isLE ? nBytes - 1 : 0; + var d = isLE ? -1 : 1; + var s = buffer[offset + i]; + i += d; + e = s & (1 << -nBits) - 1; + s >>= -nBits; + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : (s ? -1 : 1) * Infinity; + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); +} +function ieee754write(buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; + var i = isLE ? 0 : nBytes - 1; + var d = isLE ? 1 : -1; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + value = Math.abs(value); + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) { + } + e = e << mLen | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) { + } + buffer[offset + i - d] |= s * 128; +} + +// node_modules/@b9g/crank/crank.js +var NOOP = () => { +}; +var IDENTITY = (value) => value; +function wrap(value) { + return value === void 0 ? [] : Array.isArray(value) ? value : [value]; +} +function unwrap(arr) { + return arr.length === 0 ? void 0 : arr.length === 1 ? arr[0] : arr; +} +function arrayify(value) { + return value == null ? [] : Array.isArray(value) ? value : typeof value === "string" || typeof value[Symbol.iterator] !== "function" ? [value] : ( + // TODO: inference broke in TypeScript 3.9. + [...value] + ); +} +function isIteratorLike(value) { + return value != null && typeof value.next === "function"; +} +function isPromiseLike(value) { + return value != null && typeof value.then === "function"; +} +var Fragment = ""; +var Portal = Symbol.for("crank.Portal"); +var Copy = Symbol.for("crank.Copy"); +var Raw = Symbol.for("crank.Raw"); +var ElementSymbol = Symbol.for("crank.Element"); +var Element = class { + constructor(tag, props) { + this.tag = tag; + this.props = props; + } + get key() { + return this.props.key; + } + get ref() { + return this.props.ref; + } + get copy() { + return !!this.props.copy; + } +}; +Element.prototype.$$typeof = ElementSymbol; +function isElement(value) { + return value != null && value.$$typeof === ElementSymbol; +} +var DEPRECATED_PROP_PREFIXES = ["crank-", "c-", "$"]; +var DEPRECATED_SPECIAL_PROP_BASES = ["key", "ref", "static"]; +var SPECIAL_PROPS = /* @__PURE__ */ new Set(["children", "key", "ref", "copy"]); +for (const propPrefix of DEPRECATED_PROP_PREFIXES) { + for (const propBase of DEPRECATED_SPECIAL_PROP_BASES) { + SPECIAL_PROPS.add(propPrefix + propBase); + } +} +function createElement(tag, props, ...children) { + if (props == null) { + props = {}; + } + for (let i = 0; i < DEPRECATED_PROP_PREFIXES.length; i++) { + const propPrefix = DEPRECATED_PROP_PREFIXES[i]; + for (let j = 0; j < DEPRECATED_SPECIAL_PROP_BASES.length; j++) { + const propBase = DEPRECATED_SPECIAL_PROP_BASES[j]; + const deprecatedPropName = propPrefix + propBase; + const targetPropBase = propBase === "static" ? "copy" : propBase; + if (deprecatedPropName in props) { + console.warn(`The \`${deprecatedPropName}\` prop is deprecated. Use \`${targetPropBase}\` instead.`); + props[targetPropBase] = props[deprecatedPropName]; + } + } + } + if (children.length > 1) { + props.children = children; + } else if (children.length === 1) { + props.children = children[0]; + } + return new Element(tag, props); +} +function narrow(value) { + if (typeof value === "boolean" || value == null) { + return void 0; + } else if (typeof value === "string" || isElement(value)) { + return value; + } else if (typeof value[Symbol.iterator] === "function") { + return createElement(Fragment, null, value); + } + return value.toString(); +} +function normalize(values) { + const result = []; + let buffer; + for (let i = 0; i < values.length; i++) { + const value = values[i]; + if (!value) + ; + else if (typeof value === "string") { + buffer = (buffer || "") + value; + } else if (!Array.isArray(value)) { + if (buffer) { + result.push(buffer); + buffer = void 0; + } + result.push(value); + } else { + for (let j = 0; j < value.length; j++) { + const value1 = value[j]; + if (!value1) + ; + else if (typeof value1 === "string") { + buffer = (buffer || "") + value1; + } else { + if (buffer) { + result.push(buffer); + buffer = void 0; + } + result.push(value1); + } + } + } + } + if (buffer) { + result.push(buffer); + } + return result; +} +var Retainer = class { + constructor(el) { + this.el = el; + this.ctx = void 0; + this.children = void 0; + this.value = void 0; + this.cachedChildValues = void 0; + this.fallbackValue = void 0; + this.inflightValue = void 0; + this.onNextValues = void 0; + } +}; +function getValue(ret) { + if (typeof ret.fallbackValue !== "undefined") { + return typeof ret.fallbackValue === "object" ? getValue(ret.fallbackValue) : ret.fallbackValue; + } else if (ret.el.tag === Portal) { + return; + } else if (typeof ret.el.tag !== "function" && ret.el.tag !== Fragment) { + return ret.value; + } + return unwrap(getChildValues(ret)); +} +function getChildValues(ret) { + if (ret.cachedChildValues) { + return wrap(ret.cachedChildValues); + } + const values = []; + const children = wrap(ret.children); + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child) { + values.push(typeof child === "string" ? child : getValue(child)); + } + } + const values1 = normalize(values); + const tag = ret.el.tag; + if (typeof tag === "function" || tag !== Fragment && tag !== Raw) { + ret.cachedChildValues = unwrap(values1); + } + return values1; +} +var defaultRendererImpl = { + create() { + throw new Error("Not implemented"); + }, + hydrate() { + throw new Error("Not implemented"); + }, + scope: IDENTITY, + read: IDENTITY, + text: IDENTITY, + raw: IDENTITY, + patch: NOOP, + arrange: NOOP, + dispose: NOOP, + flush: NOOP +}; +var _RendererImpl = Symbol.for("crank.RendererImpl"); +var Renderer = class { + constructor(impl2) { + this.cache = /* @__PURE__ */ new WeakMap(); + this[_RendererImpl] = { + ...defaultRendererImpl, + ...impl2 + }; + } + /** + * Renders an element tree into a specific root. + * + * @param children - An element tree. You can render null with a previously + * used root to delete the previously rendered element tree from the cache. + * @param root - The node to be rendered into. The renderer will cache + * element trees per root. + * @param bridge - An optional context that will be the ancestor context of all + * elements in the tree. Useful for connecting different renderers so that + * events/provisions properly propagate. The context for a given root must be + * the same or an error will be thrown. + * + * @returns The result of rendering the children, or a possible promise of + * the result if the element tree renders asynchronously. + */ + render(children, root, bridge) { + let ret; + const ctx = bridge && bridge[_ContextImpl]; + if (typeof root === "object" && root !== null) { + ret = this.cache.get(root); + } + let oldProps; + if (ret === void 0) { + ret = new Retainer(createElement(Portal, { children, root })); + ret.value = root; + ret.ctx = ctx; + if (typeof root === "object" && root !== null && children != null) { + this.cache.set(root, ret); + } + } else if (ret.ctx !== ctx) { + throw new Error("Context mismatch"); + } else { + oldProps = ret.el.props; + ret.el = createElement(Portal, { children, root }); + if (typeof root === "object" && root !== null && children == null) { + this.cache.delete(root); + } + } + const impl2 = this[_RendererImpl]; + const childValues = diffChildren(impl2, root, ret, ctx, impl2.scope(void 0, Portal, ret.el.props), ret, children, void 0); + if (isPromiseLike(childValues)) { + return childValues.then((childValues2) => commitRootRender(impl2, root, ctx, ret, childValues2, oldProps)); + } + return commitRootRender(impl2, root, ctx, ret, childValues, oldProps); + } + hydrate(children, root, bridge) { + const impl2 = this[_RendererImpl]; + const ctx = bridge && bridge[_ContextImpl]; + let ret; + ret = this.cache.get(root); + if (ret !== void 0) { + return this.render(children, root, bridge); + } + let oldProps; + ret = new Retainer(createElement(Portal, { children, root })); + ret.value = root; + if (typeof root === "object" && root !== null && children != null) { + this.cache.set(root, ret); + } + const hydrationData = impl2.hydrate(Portal, root, {}); + const childValues = diffChildren(impl2, root, ret, ctx, impl2.scope(void 0, Portal, ret.el.props), ret, children, hydrationData); + if (isPromiseLike(childValues)) { + return childValues.then((childValues2) => commitRootRender(impl2, root, ctx, ret, childValues2, oldProps)); + } + return commitRootRender(impl2, root, ctx, ret, childValues, oldProps); + } +}; +function commitRootRender(renderer2, root, ctx, ret, childValues, oldProps) { + if (root != null) { + renderer2.arrange(Portal, root, ret.el.props, childValues, oldProps, wrap(ret.cachedChildValues)); + flush(renderer2, root); + } + ret.cachedChildValues = unwrap(childValues); + if (root == null) { + unmount(renderer2, ret, ctx, ret); + } + return renderer2.read(ret.cachedChildValues); +} +function diffChildren(renderer2, root, host, ctx, scope, parent, children, hydrationData) { + const oldRetained = wrap(parent.children); + const newRetained = []; + const newChildren = arrayify(children); + const values = []; + let graveyard; + let childrenByKey; + let seenKeys; + let isAsync = false; + let hydrationBlock; + let oi = 0; + let oldLength = oldRetained.length; + for (let ni = 0, newLength = newChildren.length; ni < newLength; ni++) { + let ret = oi >= oldLength ? void 0 : oldRetained[oi]; + let child = narrow(newChildren[ni]); + { + let oldKey = typeof ret === "object" ? ret.el.key : void 0; + let newKey = typeof child === "object" ? child.key : void 0; + if (newKey !== void 0 && seenKeys && seenKeys.has(newKey)) { + console.error("Duplicate key", newKey); + newKey = void 0; + } + if (oldKey === newKey) { + if (childrenByKey !== void 0 && newKey !== void 0) { + childrenByKey.delete(newKey); + } + oi++; + } else { + childrenByKey = childrenByKey || createChildrenByKey(oldRetained, oi); + if (newKey === void 0) { + while (ret !== void 0 && oldKey !== void 0) { + oi++; + ret = oldRetained[oi]; + oldKey = typeof ret === "object" ? ret.el.key : void 0; + } + oi++; + } else { + ret = childrenByKey.get(newKey); + if (ret !== void 0) { + childrenByKey.delete(newKey); + } + (seenKeys = seenKeys || /* @__PURE__ */ new Set()).add(newKey); + } + } + } + let value; + if (typeof child === "object") { + if (child.tag === Copy || typeof ret === "object" && ret.el === child) { + value = getInflightValue(ret); + } else { + let oldProps; + let copy2 = false; + if (typeof ret === "object" && ret.el.tag === child.tag) { + oldProps = ret.el.props; + ret.el = child; + if (child.copy) { + value = getInflightValue(ret); + copy2 = true; + } + } else { + if (typeof ret === "object") { + (graveyard = graveyard || []).push(ret); + } + const fallback = ret; + ret = new Retainer(child); + ret.fallbackValue = fallback; + } + if (copy2) + ; + else if (child.tag === Raw) { + value = hydrationBlock ? hydrationBlock.then(() => updateRaw(renderer2, ret, scope, oldProps, hydrationData)) : updateRaw(renderer2, ret, scope, oldProps, hydrationData); + } else if (child.tag === Fragment) { + value = hydrationBlock ? hydrationBlock.then(() => updateFragment(renderer2, root, host, ctx, scope, ret, hydrationData)) : updateFragment(renderer2, root, host, ctx, scope, ret, hydrationData); + } else if (typeof child.tag === "function") { + value = hydrationBlock ? hydrationBlock.then(() => updateComponent(renderer2, root, host, ctx, scope, ret, oldProps, hydrationData)) : updateComponent(renderer2, root, host, ctx, scope, ret, oldProps, hydrationData); + } else { + value = hydrationBlock ? hydrationBlock.then(() => updateHost(renderer2, root, ctx, scope, ret, oldProps, hydrationData)) : updateHost(renderer2, root, ctx, scope, ret, oldProps, hydrationData); + } + } + if (isPromiseLike(value)) { + isAsync = true; + if (hydrationData !== void 0) { + hydrationBlock = value; + } + } + } else { + if (typeof ret === "object") { + (graveyard = graveyard || []).push(ret); + } + if (typeof child === "string") { + value = ret = renderer2.text(child, scope, hydrationData); + } else { + ret = void 0; + } + } + values[ni] = value; + newRetained[ni] = ret; + } + for (; oi < oldLength; oi++) { + const ret = oldRetained[oi]; + if (typeof ret === "object" && (typeof ret.el.key === "undefined" || !seenKeys || !seenKeys.has(ret.el.key))) { + (graveyard = graveyard || []).push(ret); + } + } + if (childrenByKey !== void 0 && childrenByKey.size > 0) { + (graveyard = graveyard || []).push(...childrenByKey.values()); + } + parent.children = unwrap(newRetained); + if (isAsync) { + let childValues1 = Promise.all(values).finally(() => { + if (graveyard) { + for (let i = 0; i < graveyard.length; i++) { + unmount(renderer2, host, ctx, graveyard[i]); + } + } + }); + let onChildValues; + childValues1 = Promise.race([ + childValues1, + new Promise((resolve) => onChildValues = resolve) + ]); + if (parent.onNextValues) { + parent.onNextValues(childValues1); + } + parent.onNextValues = onChildValues; + return childValues1.then((childValues) => { + parent.inflightValue = parent.fallbackValue = void 0; + return normalize(childValues); + }); + } else { + if (graveyard) { + for (let i = 0; i < graveyard.length; i++) { + unmount(renderer2, host, ctx, graveyard[i]); + } + } + if (parent.onNextValues) { + parent.onNextValues(values); + parent.onNextValues = void 0; + } + parent.inflightValue = parent.fallbackValue = void 0; + return normalize(values); + } +} +function createChildrenByKey(children, offset) { + const childrenByKey = /* @__PURE__ */ new Map(); + for (let i = offset; i < children.length; i++) { + const child = children[i]; + if (typeof child === "object" && typeof child.el.key !== "undefined") { + childrenByKey.set(child.el.key, child); + } + } + return childrenByKey; +} +function getInflightValue(child) { + if (typeof child !== "object") { + return child; + } + const ctx = typeof child.el.tag === "function" ? child.ctx : void 0; + if (ctx && ctx.f & IsUpdating && ctx.inflightValue) { + return ctx.inflightValue; + } else if (child.inflightValue) { + return child.inflightValue; + } + return getValue(child); +} +function updateRaw(renderer2, ret, scope, oldProps, hydrationData) { + const props = ret.el.props; + if (!oldProps || oldProps.value !== props.value) { + ret.value = renderer2.raw(props.value, scope, hydrationData); + if (typeof ret.el.ref === "function") { + ret.el.ref(ret.value); + } + } + return ret.value; +} +function updateFragment(renderer2, root, host, ctx, scope, ret, hydrationData) { + const childValues = diffChildren(renderer2, root, host, ctx, scope, ret, ret.el.props.children, hydrationData); + if (isPromiseLike(childValues)) { + ret.inflightValue = childValues.then((childValues2) => unwrap(childValues2)); + return ret.inflightValue; + } + return unwrap(childValues); +} +function updateHost(renderer2, root, ctx, scope, ret, oldProps, hydrationData) { + const el = ret.el; + const tag = el.tag; + let hydrationValue; + if (el.tag === Portal) { + root = ret.value = el.props.root; + } else { + if (hydrationData !== void 0) { + const value = hydrationData.children.shift(); + hydrationValue = value; + } + } + scope = renderer2.scope(scope, tag, el.props); + let childHydrationData; + if (hydrationValue != null && typeof hydrationValue !== "string") { + childHydrationData = renderer2.hydrate(tag, hydrationValue, el.props); + if (childHydrationData === void 0) { + hydrationValue = void 0; + } + } + const childValues = diffChildren(renderer2, root, ret, ctx, scope, ret, ret.el.props.children, childHydrationData); + if (isPromiseLike(childValues)) { + ret.inflightValue = childValues.then((childValues2) => commitHost(renderer2, scope, ret, childValues2, oldProps, hydrationValue)); + return ret.inflightValue; + } + return commitHost(renderer2, scope, ret, childValues, oldProps, hydrationValue); +} +function commitHost(renderer2, scope, ret, childValues, oldProps, hydrationValue) { + const tag = ret.el.tag; + let value = ret.value; + if (hydrationValue != null) { + value = ret.value = hydrationValue; + if (typeof ret.el.ref === "function") { + ret.el.ref(value); + } + } + let props = ret.el.props; + let copied; + if (tag !== Portal) { + if (value == null) { + value = ret.value = renderer2.create(tag, props, scope); + if (typeof ret.el.ref === "function") { + ret.el.ref(value); + } + } + for (const propName in { ...oldProps, ...props }) { + const propValue = props[propName]; + if (propValue === Copy) { + (copied = copied || /* @__PURE__ */ new Set()).add(propName); + } else if (!SPECIAL_PROPS.has(propName)) { + renderer2.patch(tag, value, propName, propValue, oldProps && oldProps[propName], scope); + } + } + } + if (copied) { + props = { ...ret.el.props }; + for (const name of copied) { + props[name] = oldProps && oldProps[name]; + } + ret.el = new Element(tag, props); + } + renderer2.arrange(tag, value, props, childValues, oldProps, wrap(ret.cachedChildValues)); + ret.cachedChildValues = unwrap(childValues); + if (tag === Portal) { + flush(renderer2, ret.value); + return; + } + return value; +} +function flush(renderer2, root, initiator) { + renderer2.flush(root); + if (typeof root !== "object" || root === null) { + return; + } + const flushMap = flushMaps.get(root); + if (flushMap) { + if (initiator) { + const flushMap1 = /* @__PURE__ */ new Map(); + for (let [ctx, callbacks] of flushMap) { + if (!ctxContains(initiator, ctx)) { + flushMap.delete(ctx); + flushMap1.set(ctx, callbacks); + } + } + if (flushMap1.size) { + flushMaps.set(root, flushMap1); + } else { + flushMaps.delete(root); + } + } else { + flushMaps.delete(root); + } + for (const [ctx, callbacks] of flushMap) { + const value = renderer2.read(getValue(ctx.ret)); + for (const callback of callbacks) { + callback(value); + } + } + } +} +function unmount(renderer2, host, ctx, ret) { + if (typeof ret.el.tag === "function") { + ctx = ret.ctx; + unmountComponent(ctx); + } else if (ret.el.tag === Portal) { + host = ret; + renderer2.arrange(Portal, host.value, host.el.props, [], host.el.props, wrap(host.cachedChildValues)); + flush(renderer2, host.value); + } else if (ret.el.tag !== Fragment) { + if (isEventTarget(ret.value)) { + const records = getListenerRecords(ctx, host); + for (let i = 0; i < records.length; i++) { + const record = records[i]; + ret.value.removeEventListener(record.type, record.callback, record.options); + } + } + renderer2.dispose(ret.el.tag, ret.value, ret.el.props); + host = ret; + } + const children = wrap(ret.children); + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (typeof child === "object") { + unmount(renderer2, host, ctx, child); + } + } +} +var IsUpdating = 1 << 0; +var IsSyncExecuting = 1 << 1; +var IsInForOfLoop = 1 << 2; +var IsInForAwaitOfLoop = 1 << 3; +var NeedsToYield = 1 << 4; +var PropsAvailable = 1 << 5; +var IsErrored = 1 << 6; +var IsUnmounted = 1 << 7; +var IsSyncGen = 1 << 8; +var IsAsyncGen = 1 << 9; +var IsScheduling = 1 << 10; +var IsSchedulingRefresh = 1 << 11; +var provisionMaps = /* @__PURE__ */ new WeakMap(); +var scheduleMap = /* @__PURE__ */ new WeakMap(); +var cleanupMap = /* @__PURE__ */ new WeakMap(); +var flushMaps = /* @__PURE__ */ new WeakMap(); +var ContextImpl = class { + constructor(renderer2, root, host, parent, scope, ret) { + this.f = 0; + this.owner = new Context(this); + this.renderer = renderer2; + this.root = root; + this.host = host; + this.parent = parent; + this.scope = scope; + this.ret = ret; + this.iterator = void 0; + this.inflightBlock = void 0; + this.inflightValue = void 0; + this.enqueuedBlock = void 0; + this.enqueuedValue = void 0; + this.onProps = void 0; + this.onPropsRequested = void 0; + } +}; +var _ContextImpl = Symbol.for("crank.ContextImpl"); +var Context = class { + // TODO: If we could make the constructor function take a nicer value, it + // would be useful for testing purposes. + constructor(impl2) { + this[_ContextImpl] = impl2; + } + /** + * The current props of the associated element. + */ + get props() { + return this[_ContextImpl].ret.el.props; + } + /** + * The current value of the associated element. + * + * @deprecated + */ + get value() { + return this[_ContextImpl].renderer.read(getValue(this[_ContextImpl].ret)); + } + *[Symbol.iterator]() { + const ctx = this[_ContextImpl]; + try { + ctx.f |= IsInForOfLoop; + while (!(ctx.f & IsUnmounted)) { + if (ctx.f & NeedsToYield) { + throw new Error("Context iterated twice without a yield"); + } else { + ctx.f |= NeedsToYield; + } + yield ctx.ret.el.props; + } + } finally { + ctx.f &= ~IsInForOfLoop; + } + } + async *[Symbol.asyncIterator]() { + const ctx = this[_ContextImpl]; + if (ctx.f & IsSyncGen) { + throw new Error("Use for...of in sync generator components"); + } + try { + ctx.f |= IsInForAwaitOfLoop; + while (!(ctx.f & IsUnmounted)) { + if (ctx.f & NeedsToYield) { + throw new Error("Context iterated twice without a yield"); + } else { + ctx.f |= NeedsToYield; + } + if (ctx.f & PropsAvailable) { + ctx.f &= ~PropsAvailable; + yield ctx.ret.el.props; + } else { + const props = await new Promise((resolve) => ctx.onProps = resolve); + if (ctx.f & IsUnmounted) { + break; + } + yield props; + } + if (ctx.onPropsRequested) { + ctx.onPropsRequested(); + ctx.onPropsRequested = void 0; + } + } + } finally { + ctx.f &= ~IsInForAwaitOfLoop; + if (ctx.onPropsRequested) { + ctx.onPropsRequested(); + ctx.onPropsRequested = void 0; + } + } + } + /** + * Re-executes a component. + * + * @returns The rendered value of the component or a promise thereof if the + * component or its children execute asynchronously. + * + * The refresh method works a little differently for async generator + * components, in that it will resume the Context’s props async iterator + * rather than resuming execution. This is because async generator components + * are perpetually resumed independent of updates, and rely on the props + * async iterator to suspend. + */ + refresh() { + const ctx = this[_ContextImpl]; + if (ctx.f & IsUnmounted) { + console.error("Component is unmounted"); + return ctx.renderer.read(void 0); + } else if (ctx.f & IsSyncExecuting) { + console.error("Component is already executing"); + return ctx.renderer.read(getValue(ctx.ret)); + } + const value = enqueueComponentRun(ctx); + if (isPromiseLike(value)) { + return value.then((value2) => ctx.renderer.read(value2)); + } + return ctx.renderer.read(value); + } + /** + * Registers a callback which fires when the component commits. Will only + * fire once per callback and update. + */ + schedule(callback) { + const ctx = this[_ContextImpl]; + let callbacks = scheduleMap.get(ctx); + if (!callbacks) { + callbacks = /* @__PURE__ */ new Set(); + scheduleMap.set(ctx, callbacks); + } + callbacks.add(callback); + } + /** + * Registers a callback which fires when the component’s children are + * rendered into the root. Will only fire once per callback and render. + */ + flush(callback) { + const ctx = this[_ContextImpl]; + if (typeof ctx.root !== "object" || ctx.root === null) { + return; + } + let flushMap = flushMaps.get(ctx.root); + if (!flushMap) { + flushMap = /* @__PURE__ */ new Map(); + flushMaps.set(ctx.root, flushMap); + } + let callbacks = flushMap.get(ctx); + if (!callbacks) { + callbacks = /* @__PURE__ */ new Set(); + flushMap.set(ctx, callbacks); + } + callbacks.add(callback); + } + /** + * Registers a callback which fires when the component unmounts. Will only + * fire once per callback. + */ + cleanup(callback) { + const ctx = this[_ContextImpl]; + if (ctx.f & IsUnmounted) { + const value = ctx.renderer.read(getValue(ctx.ret)); + callback(value); + return; + } + let callbacks = cleanupMap.get(ctx); + if (!callbacks) { + callbacks = /* @__PURE__ */ new Set(); + cleanupMap.set(ctx, callbacks); + } + callbacks.add(callback); + } + consume(key) { + for (let ctx = this[_ContextImpl].parent; ctx !== void 0; ctx = ctx.parent) { + const provisions = provisionMaps.get(ctx); + if (provisions && provisions.has(key)) { + return provisions.get(key); + } + } + } + provide(key, value) { + const ctx = this[_ContextImpl]; + let provisions = provisionMaps.get(ctx); + if (!provisions) { + provisions = /* @__PURE__ */ new Map(); + provisionMaps.set(ctx, provisions); + } + provisions.set(key, value); + } + addEventListener(type, listener, options) { + const ctx = this[_ContextImpl]; + let listeners; + if (!isListenerOrListenerObject(listener)) { + return; + } else { + const listeners1 = listenersMap.get(ctx); + if (listeners1) { + listeners = listeners1; + } else { + listeners = []; + listenersMap.set(ctx, listeners); + } + } + options = normalizeListenerOptions(options); + let callback; + if (typeof listener === "object") { + callback = () => listener.handleEvent.apply(listener, arguments); + } else { + callback = listener; + } + const record = { type, listener, callback, options }; + if (options.once) { + record.callback = function() { + const i = listeners.indexOf(record); + if (i !== -1) { + listeners.splice(i, 1); + } + return callback.apply(this, arguments); + }; + } + if (listeners.some((record1) => record.type === record1.type && record.listener === record1.listener && !record.options.capture === !record1.options.capture)) { + return; + } + listeners.push(record); + for (const value of getChildValues(ctx.ret)) { + if (isEventTarget(value)) { + value.addEventListener(record.type, record.callback, record.options); + } + } + } + removeEventListener(type, listener, options) { + const ctx = this[_ContextImpl]; + const listeners = listenersMap.get(ctx); + if (listeners == null || !isListenerOrListenerObject(listener)) { + return; + } + const options1 = normalizeListenerOptions(options); + const i = listeners.findIndex((record2) => record2.type === type && record2.listener === listener && !record2.options.capture === !options1.capture); + if (i === -1) { + return; + } + const record = listeners[i]; + listeners.splice(i, 1); + for (const value of getChildValues(ctx.ret)) { + if (isEventTarget(value)) { + value.removeEventListener(record.type, record.callback, record.options); + } + } + } + dispatchEvent(ev) { + const ctx = this[_ContextImpl]; + const path = []; + for (let parent = ctx.parent; parent !== void 0; parent = parent.parent) { + path.push(parent); + } + let immediateCancelBubble = false; + const stopImmediatePropagation = ev.stopImmediatePropagation; + setEventProperty(ev, "stopImmediatePropagation", () => { + immediateCancelBubble = true; + return stopImmediatePropagation.call(ev); + }); + setEventProperty(ev, "target", ctx.owner); + try { + setEventProperty(ev, "eventPhase", CAPTURING_PHASE); + for (let i = path.length - 1; i >= 0; i--) { + const target = path[i]; + const listeners = listenersMap.get(target); + if (listeners) { + setEventProperty(ev, "currentTarget", target.owner); + for (const record of listeners) { + if (record.type === ev.type && record.options.capture) { + try { + record.callback.call(target.owner, ev); + } catch (err) { + console.error(err); + } + if (immediateCancelBubble) { + return true; + } + } + } + } + if (ev.cancelBubble) { + return true; + } + } + { + setEventProperty(ev, "eventPhase", AT_TARGET); + setEventProperty(ev, "currentTarget", ctx.owner); + let propCallback = ctx.ret.el.props["on" + ev.type]; + if (typeof propCallback === "function") { + propCallback(ev); + if (immediateCancelBubble || ev.cancelBubble) { + return true; + } + } else { + for (const propName in ctx.ret.el.props) { + if (propName.toLowerCase() === "on" + ev.type.toLowerCase()) { + propCallback = ctx.ret.el.props[propName]; + if (typeof propCallback === "function") { + propCallback(ev); + if (immediateCancelBubble || ev.cancelBubble) { + return true; + } + } + } + } + } + const listeners = listenersMap.get(ctx); + if (listeners) { + for (const record of listeners) { + if (record.type === ev.type) { + try { + record.callback.call(ctx.owner, ev); + } catch (err) { + console.error(err); + } + if (immediateCancelBubble) { + return true; + } + } + } + if (ev.cancelBubble) { + return true; + } + } + } + if (ev.bubbles) { + setEventProperty(ev, "eventPhase", BUBBLING_PHASE); + for (let i = 0; i < path.length; i++) { + const target = path[i]; + const listeners = listenersMap.get(target); + if (listeners) { + setEventProperty(ev, "currentTarget", target.owner); + for (const record of listeners) { + if (record.type === ev.type && !record.options.capture) { + try { + record.callback.call(target.owner, ev); + } catch (err) { + console.error(err); + } + if (immediateCancelBubble) { + return true; + } + } + } + } + if (ev.cancelBubble) { + return true; + } + } + } + } finally { + setEventProperty(ev, "eventPhase", NONE); + setEventProperty(ev, "currentTarget", null); + return !ev.defaultPrevented; + } + } +}; +function ctxContains(parent, child) { + for (let current = child; current !== void 0; current = current.parent) { + if (current === parent) { + return true; + } + } + return false; +} +function updateComponent(renderer2, root, host, parent, scope, ret, oldProps, hydrationData) { + let ctx; + if (oldProps) { + ctx = ret.ctx; + if (ctx.f & IsSyncExecuting) { + console.error("Component is already executing"); + return ret.cachedChildValues; + } + } else { + ctx = ret.ctx = new ContextImpl(renderer2, root, host, parent, scope, ret); + } + ctx.f |= IsUpdating; + return enqueueComponentRun(ctx, hydrationData); +} +function updateComponentChildren(ctx, children, hydrationData) { + if (ctx.f & IsUnmounted) { + return; + } else if (ctx.f & IsErrored) { + return; + } else if (children === void 0) { + console.error("A component has returned or yielded undefined. If this was intentional, return or yield null instead."); + } + let childValues; + try { + ctx.f |= IsSyncExecuting; + childValues = diffChildren(ctx.renderer, ctx.root, ctx.host, ctx, ctx.scope, ctx.ret, narrow(children), hydrationData); + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isPromiseLike(childValues)) { + ctx.ret.inflightValue = childValues.then((childValues2) => commitComponent(ctx, childValues2)); + return ctx.ret.inflightValue; + } + return commitComponent(ctx, childValues); +} +function commitComponent(ctx, values) { + if (ctx.f & IsUnmounted) { + return; + } + const listeners = listenersMap.get(ctx); + if (listeners && listeners.length) { + for (let i = 0; i < values.length; i++) { + const value2 = values[i]; + if (isEventTarget(value2)) { + for (let j = 0; j < listeners.length; j++) { + const record = listeners[j]; + value2.addEventListener(record.type, record.callback, record.options); + } + } + } + } + const oldValues = wrap(ctx.ret.cachedChildValues); + let value = ctx.ret.cachedChildValues = unwrap(values); + if (ctx.f & IsScheduling) { + ctx.f |= IsSchedulingRefresh; + } else if (!(ctx.f & IsUpdating)) { + if (!arrayEqual(oldValues, values)) { + const records = getListenerRecords(ctx.parent, ctx.host); + if (records.length) { + for (let i = 0; i < values.length; i++) { + const value2 = values[i]; + if (isEventTarget(value2)) { + for (let j = 0; j < records.length; j++) { + const record = records[j]; + value2.addEventListener(record.type, record.callback, record.options); + } + } + } + } + const host = ctx.host; + const oldHostValues = wrap(host.cachedChildValues); + invalidate(ctx, host); + const hostValues = getChildValues(host); + ctx.renderer.arrange( + host.el.tag, + host.value, + host.el.props, + hostValues, + // props and oldProps are the same because the host isn’t updated. + host.el.props, + oldHostValues + ); + } + flush(ctx.renderer, ctx.root, ctx); + } + const callbacks = scheduleMap.get(ctx); + if (callbacks) { + scheduleMap.delete(ctx); + ctx.f |= IsScheduling; + const value1 = ctx.renderer.read(value); + for (const callback of callbacks) { + callback(value1); + } + ctx.f &= ~IsScheduling; + if (ctx.f & IsSchedulingRefresh) { + ctx.f &= ~IsSchedulingRefresh; + value = getValue(ctx.ret); + } + } + ctx.f &= ~IsUpdating; + return value; +} +function invalidate(ctx, host) { + for (let parent = ctx.parent; parent !== void 0 && parent.host === host; parent = parent.parent) { + parent.ret.cachedChildValues = void 0; + } + host.cachedChildValues = void 0; +} +function arrayEqual(arr1, arr2) { + if (arr1.length !== arr2.length) { + return false; + } + for (let i = 0; i < arr1.length; i++) { + const value1 = arr1[i]; + const value2 = arr2[i]; + if (value1 !== value2) { + return false; + } + } + return true; +} +function enqueueComponentRun(ctx, hydrationData) { + if (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) { + if (hydrationData !== void 0) { + throw new Error("Hydration error"); + } + const isAtLoopbottom = ctx.f & IsInForAwaitOfLoop && !ctx.onProps; + resumePropsAsyncIterator(ctx); + if (isAtLoopbottom) { + if (ctx.inflightBlock == null) { + ctx.inflightBlock = new Promise((resolve) => ctx.onPropsRequested = resolve); + } + return ctx.inflightBlock.then(() => { + ctx.inflightBlock = void 0; + return ctx.inflightValue; + }); + } + return ctx.inflightValue; + } else if (!ctx.inflightBlock) { + try { + const [block, value] = runComponent(ctx, hydrationData); + if (block) { + ctx.inflightBlock = block.then((v) => v).finally(() => advanceComponent(ctx)); + ctx.inflightValue = value; + } + return value; + } catch (err) { + if (!(ctx.f & IsUpdating)) { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + } + throw err; + } + } else if (!ctx.enqueuedBlock) { + if (hydrationData !== void 0) { + throw new Error("Hydration error"); + } + let resolveEnqueuedBlock; + ctx.enqueuedBlock = new Promise((resolve) => resolveEnqueuedBlock = resolve); + ctx.enqueuedValue = ctx.inflightBlock.then(() => { + try { + const [block, value] = runComponent(ctx); + if (block) { + resolveEnqueuedBlock(block.finally(() => advanceComponent(ctx))); + } + return value; + } catch (err) { + if (!(ctx.f & IsUpdating)) { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + } + throw err; + } + }); + } + return ctx.enqueuedValue; +} +function advanceComponent(ctx) { + if (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) { + return; + } + ctx.inflightBlock = ctx.enqueuedBlock; + ctx.inflightValue = ctx.enqueuedValue; + ctx.enqueuedBlock = void 0; + ctx.enqueuedValue = void 0; +} +function runComponent(ctx, hydrationData) { + const ret = ctx.ret; + const initial = !ctx.iterator; + if (initial) { + resumePropsAsyncIterator(ctx); + ctx.f |= IsSyncExecuting; + clearEventListeners(ctx); + let result; + try { + result = ret.el.tag.call(ctx.owner, ret.el.props, ctx.owner); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isIteratorLike(result)) { + ctx.iterator = result; + } else if (isPromiseLike(result)) { + const result1 = result instanceof Promise ? result : Promise.resolve(result); + const value = result1.then((result2) => updateComponentChildren(ctx, result2, hydrationData), (err) => { + ctx.f |= IsErrored; + throw err; + }); + return [result1.catch(NOOP), value]; + } else { + return [ + void 0, + updateComponentChildren(ctx, result, hydrationData) + ]; + } + } else if (hydrationData !== void 0) { + throw new Error("Hydration error"); + } + let iteration; + if (initial) { + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.next(); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isPromiseLike(iteration)) { + ctx.f |= IsAsyncGen; + } else { + ctx.f |= IsSyncGen; + } + } + if (ctx.f & IsSyncGen) { + if (!initial) { + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.next(ctx.renderer.read(getValue(ret))); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + } + if (isPromiseLike(iteration)) { + throw new Error("Mixed generator component"); + } + if (ctx.f & IsInForOfLoop && !(ctx.f & NeedsToYield) && !(ctx.f & IsUnmounted)) { + console.error("Component yielded more than once in for...of loop"); + } + ctx.f &= ~NeedsToYield; + if (iteration.done) { + ctx.f &= ~IsSyncGen; + ctx.iterator = void 0; + } + let value; + try { + value = updateComponentChildren( + ctx, + // Children can be void so we eliminate that here + iteration.value, + hydrationData + ); + if (isPromiseLike(value)) { + value = value.catch((err) => handleChildError(ctx, err)); + } + } catch (err) { + value = handleChildError(ctx, err); + } + const block = isPromiseLike(value) ? value.catch(NOOP) : void 0; + return [block, value]; + } else { + if (ctx.f & IsInForOfLoop) { + if (!initial) { + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.next(ctx.renderer.read(getValue(ret))); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + } + if (!isPromiseLike(iteration)) { + throw new Error("Mixed generator component"); + } + const block = iteration.catch(NOOP); + const value = iteration.then((iteration2) => { + let value2; + if (!(ctx.f & IsInForOfLoop)) { + runAsyncGenComponent(ctx, Promise.resolve(iteration2), hydrationData); + } else { + if (!(ctx.f & NeedsToYield) && !(ctx.f & IsUnmounted)) { + console.error("Component yielded more than once in for...of loop"); + } + } + ctx.f &= ~NeedsToYield; + try { + value2 = updateComponentChildren( + ctx, + // Children can be void so we eliminate that here + iteration2.value, + hydrationData + ); + if (isPromiseLike(value2)) { + value2 = value2.catch((err) => handleChildError(ctx, err)); + } + } catch (err) { + value2 = handleChildError(ctx, err); + } + return value2; + }, (err) => { + ctx.f |= IsErrored; + throw err; + }); + return [block, value]; + } else { + runAsyncGenComponent(ctx, iteration, hydrationData, initial); + return [ctx.inflightBlock, ctx.inflightValue]; + } + } +} +async function runAsyncGenComponent(ctx, iterationP, hydrationData, initial = false) { + let done = false; + try { + while (!done) { + if (ctx.f & IsInForOfLoop) { + break; + } + let onValue; + ctx.inflightValue = new Promise((resolve) => onValue = resolve); + if (ctx.f & IsUpdating) { + ctx.inflightValue.catch(NOOP); + } + let iteration; + try { + iteration = await iterationP; + } catch (err) { + done = true; + ctx.f |= IsErrored; + onValue(Promise.reject(err)); + break; + } + if (!(ctx.f & IsInForAwaitOfLoop)) { + ctx.f &= ~PropsAvailable; + } + done = !!iteration.done; + let value; + try { + if (!(ctx.f & NeedsToYield) && ctx.f & PropsAvailable && ctx.f & IsInForAwaitOfLoop && !initial && !done) { + value = ctx.ret.inflightValue || getValue(ctx.ret); + } else { + value = updateComponentChildren(ctx, iteration.value, hydrationData); + hydrationData = void 0; + if (isPromiseLike(value)) { + value = value.catch((err) => handleChildError(ctx, err)); + } + } + ctx.f &= ~NeedsToYield; + } catch (err) { + value = handleChildError(ctx, err); + } finally { + onValue(value); + } + let oldResult; + if (ctx.ret.inflightValue) { + oldResult = ctx.ret.inflightValue.then((value2) => ctx.renderer.read(value2)); + oldResult.catch((err) => { + if (ctx.f & IsUpdating) { + return; + } + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } else { + oldResult = ctx.renderer.read(getValue(ctx.ret)); + } + if (ctx.f & IsUnmounted) { + if (ctx.f & IsInForAwaitOfLoop) { + try { + ctx.f |= IsSyncExecuting; + iterationP = ctx.iterator.next(oldResult); + } finally { + ctx.f &= ~IsSyncExecuting; + } + } else { + returnComponent(ctx); + break; + } + } else if (!done && !(ctx.f & IsInForOfLoop)) { + try { + ctx.f |= IsSyncExecuting; + iterationP = ctx.iterator.next(oldResult); + } finally { + ctx.f &= ~IsSyncExecuting; + } + } + initial = false; + } + } finally { + if (done) { + ctx.f &= ~IsAsyncGen; + ctx.iterator = void 0; + } + } +} +function resumePropsAsyncIterator(ctx) { + if (ctx.onProps) { + ctx.onProps(ctx.ret.el.props); + ctx.onProps = void 0; + ctx.f &= ~PropsAvailable; + } else { + ctx.f |= PropsAvailable; + } +} +function unmountComponent(ctx) { + if (ctx.f & IsUnmounted) { + return; + } + clearEventListeners(ctx); + const callbacks = cleanupMap.get(ctx); + if (callbacks) { + cleanupMap.delete(ctx); + const value = ctx.renderer.read(getValue(ctx.ret)); + for (const callback of callbacks) { + callback(value); + } + } + ctx.f |= IsUnmounted; + if (ctx.iterator) { + if (ctx.f & IsSyncGen) { + let value; + if (ctx.f & IsInForOfLoop) { + value = enqueueComponentRun(ctx); + } + if (isPromiseLike(value)) { + value.then(() => { + if (ctx.f & IsInForOfLoop) { + unmountComponent(ctx); + } else { + returnComponent(ctx); + } + }, (err) => { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } else { + if (ctx.f & IsInForOfLoop) { + unmountComponent(ctx); + } else { + returnComponent(ctx); + } + } + } else if (ctx.f & IsAsyncGen) { + if (ctx.f & IsInForOfLoop) { + const value = enqueueComponentRun(ctx); + value.then(() => { + if (ctx.f & IsInForOfLoop) { + unmountComponent(ctx); + } else { + returnComponent(ctx); + } + }, (err) => { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } else { + resumePropsAsyncIterator(ctx); + } + } + } +} +function returnComponent(ctx) { + resumePropsAsyncIterator(ctx); + if (ctx.iterator && typeof ctx.iterator.return === "function") { + try { + ctx.f |= IsSyncExecuting; + const iteration = ctx.iterator.return(); + if (isPromiseLike(iteration)) { + iteration.catch((err) => { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } + } finally { + ctx.f &= ~IsSyncExecuting; + } + } +} +var NONE = 0; +var CAPTURING_PHASE = 1; +var AT_TARGET = 2; +var BUBBLING_PHASE = 3; +var listenersMap = /* @__PURE__ */ new WeakMap(); +function isListenerOrListenerObject(value) { + return typeof value === "function" || value !== null && typeof value === "object" && typeof value.handleEvent === "function"; +} +function normalizeListenerOptions(options) { + if (typeof options === "boolean") { + return { capture: options }; + } else if (options == null) { + return {}; + } + return options; +} +function isEventTarget(value) { + return value != null && typeof value.addEventListener === "function" && typeof value.removeEventListener === "function" && typeof value.dispatchEvent === "function"; +} +function setEventProperty(ev, key, value) { + Object.defineProperty(ev, key, { value, writable: false, configurable: true }); +} +function getListenerRecords(ctx, ret) { + let listeners = []; + while (ctx !== void 0 && ctx.host === ret) { + const listeners1 = listenersMap.get(ctx); + if (listeners1) { + listeners = listeners.concat(listeners1); + } + ctx = ctx.parent; + } + return listeners; +} +function clearEventListeners(ctx) { + const listeners = listenersMap.get(ctx); + if (listeners && listeners.length) { + for (const value of getChildValues(ctx.ret)) { + if (isEventTarget(value)) { + for (const record of listeners) { + value.removeEventListener(record.type, record.callback, record.options); + } + } + } + listeners.length = 0; + } +} +function handleChildError(ctx, err) { + if (!ctx.iterator || typeof ctx.iterator.throw !== "function") { + throw err; + } + resumePropsAsyncIterator(ctx); + let iteration; + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.throw(err); + } catch (err2) { + ctx.f |= IsErrored; + throw err2; + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isPromiseLike(iteration)) { + return iteration.then((iteration2) => { + if (iteration2.done) { + ctx.f &= ~IsAsyncGen; + ctx.iterator = void 0; + } + return updateComponentChildren(ctx, iteration2.value); + }, (err2) => { + ctx.f |= IsErrored; + throw err2; + }); + } + if (iteration.done) { + ctx.f &= ~IsSyncGen; + ctx.f &= ~IsAsyncGen; + ctx.iterator = void 0; + } + return updateComponentChildren(ctx, iteration.value); +} +function propagateError(ctx, err) { + let result; + try { + result = handleChildError(ctx, err); + } catch (err2) { + if (!ctx.parent) { + throw err2; + } + return propagateError(ctx.parent, err2); + } + if (isPromiseLike(result)) { + return result.catch((err2) => { + if (!ctx.parent) { + throw err2; + } + return propagateError(ctx.parent, err2); + }); + } + return result; +} + +// node_modules/@b9g/crank/dom.js +var SVG_NAMESPACE = "http://www.w3.org/2000/svg"; +var impl = { + scope(xmlns, tag, props) { + switch (tag) { + case Portal: + xmlns = void 0; + break; + case "svg": + xmlns = SVG_NAMESPACE; + break; + } + return props.xmlns || xmlns; + }, + create(tag, _props, xmlns) { + if (typeof tag !== "string") { + throw new Error(`Unknown tag: ${tag.toString()}`); + } else if (tag.toLowerCase() === "svg") { + xmlns = SVG_NAMESPACE; + } + return xmlns ? document.createElementNS(xmlns, tag) : document.createElement(tag); + }, + hydrate(tag, node, props) { + if (typeof tag !== "string" && tag !== Portal) { + throw new Error(`Unknown tag: ${tag.toString()}`); + } + if (typeof tag === "string" && tag.toUpperCase() !== node.tagName) { + return void 0; + } + const children = []; + for (let i = 0; i < node.childNodes.length; i++) { + const child = node.childNodes[i]; + if (child.nodeType === Node.TEXT_NODE) { + children.push(child.data); + } else if (child.nodeType === Node.ELEMENT_NODE) { + children.push(child); + } + } + return { props, children }; + }, + patch(_tag, node, name, value, oldValue, xmlns) { + const isSVG = xmlns === SVG_NAMESPACE; + switch (name) { + case "style": { + const style = node.style; + if (style == null) { + node.setAttribute("style", value); + } else if (value == null || value === false) { + node.removeAttribute("style"); + } else if (value === true) { + node.setAttribute("style", ""); + } else if (typeof value === "string") { + if (style.cssText !== value) { + style.cssText = value; + } + } else { + if (typeof oldValue === "string") { + style.cssText = ""; + } + for (const styleName in { ...oldValue, ...value }) { + const styleValue = value && value[styleName]; + if (styleValue == null) { + style.removeProperty(styleName); + } else if (style.getPropertyValue(styleName) !== styleValue) { + style.setProperty(styleName, styleValue); + } + } + } + break; + } + case "class": + case "className": + if (value === true) { + node.setAttribute("class", ""); + } else if (value == null) { + node.removeAttribute("class"); + } else if (!isSVG) { + if (node.className !== value) { + node["className"] = value; + } + } else if (node.getAttribute("class") !== value) { + node.setAttribute("class", value); + } + break; + case "innerHTML": + if (value !== oldValue) { + node.innerHTML = value; + } + break; + default: { + if (name[0] === "o" && name[1] === "n" && name[2] === name[2].toUpperCase() && typeof value === "function") { + name = name.toLowerCase(); + } + if (name in node && // boolean properties will coerce strings, but sometimes they map to + // enumerated attributes, where truthy strings ("false", "no") map to + // falsy properties, so we use attributes in this case. + !(typeof value === "string" && typeof node[name] === "boolean")) { + let obj = node; + do { + if (Object.prototype.hasOwnProperty.call(obj, name)) { + break; + } + } while (obj = Object.getPrototypeOf(obj)); + const descriptor = Object.getOwnPropertyDescriptor(obj, name); + if (descriptor != null && (descriptor.writable === true || descriptor.set !== void 0)) { + if (node[name] !== value || oldValue === void 0) { + node[name] = value; + } + return; + } + } + if (value === true) { + value = ""; + } else if (value == null || value === false) { + node.removeAttribute(name); + return; + } + if (node.getAttribute(name) !== value) { + node.setAttribute(name, value); + } + } + } + }, + arrange(tag, node, props, children, _oldProps, oldChildren) { + if (tag === Portal && (node == null || typeof node.nodeType !== "number")) { + throw new TypeError(`Portal root is not a node. Received: ${JSON.stringify(node && node.toString())}`); + } + if (!("innerHTML" in props) && // We don’t want to update elements without explicit children (
    ), + // because these elements sometimes have child nodes added via raw + // DOM manipulations. + // However, if an element has previously rendered children, we clear the + // them because it would be surprising not to clear Crank managed + // children, even if the new element does not have explicit children. + ("children" in props || oldChildren && oldChildren.length)) { + if (children.length === 0) { + node.textContent = ""; + } else { + let oldChild = node.firstChild; + let i = 0; + while (oldChild !== null && i < children.length) { + const newChild = children[i]; + if (oldChild === newChild) { + oldChild = oldChild.nextSibling; + i++; + } else if (typeof newChild === "string") { + if (oldChild.nodeType === Node.TEXT_NODE) { + if (oldChild.data !== newChild) { + oldChild.data = newChild; + } + oldChild = oldChild.nextSibling; + } else { + node.insertBefore(document.createTextNode(newChild), oldChild); + } + i++; + } else if (oldChild.nodeType === Node.TEXT_NODE) { + const nextSibling = oldChild.nextSibling; + node.removeChild(oldChild); + oldChild = nextSibling; + } else { + node.insertBefore(newChild, oldChild); + i++; + if (oldChild !== children[i]) { + const nextSibling = oldChild.nextSibling; + node.removeChild(oldChild); + oldChild = nextSibling; + } + } + } + while (oldChild !== null) { + const nextSibling = oldChild.nextSibling; + node.removeChild(oldChild); + oldChild = nextSibling; + } + for (; i < children.length; i++) { + const newChild = children[i]; + node.appendChild(typeof newChild === "string" ? document.createTextNode(newChild) : newChild); + } + } + } + }, + text(text, _scope, hydrationData) { + if (hydrationData != null) { + let value = hydrationData.children.shift(); + if (typeof value !== "string" || !value.startsWith(text)) + ; + else if (text.length < value.length) { + value = value.slice(text.length); + hydrationData.children.unshift(value); + } + } + return text; + }, + raw(value, xmlns, hydrationData) { + let result; + if (typeof value === "string") { + const el = xmlns == null ? document.createElement("div") : document.createElementNS(xmlns, "svg"); + el.innerHTML = value; + if (el.childNodes.length === 0) { + result = void 0; + } else if (el.childNodes.length === 1) { + result = el.childNodes[0]; + } else { + result = Array.from(el.childNodes); + } + } else { + result = value; + } + if (hydrationData != null) { + if (Array.isArray(result)) { + for (let i = 0; i < result.length; i++) { + const node = result[i]; + if (typeof node !== "string" && (node.nodeType === Node.ELEMENT_NODE || node.nodeType === Node.TEXT_NODE)) { + hydrationData.children.shift(); + } + } + } else if (result != null && typeof result !== "string") { + if (result.nodeType === Node.ELEMENT_NODE || result.nodeType === Node.TEXT_NODE) { + hydrationData.children.shift(); + } + } + } + return result; + } +}; +var DOMRenderer = class extends Renderer { + constructor() { + super(impl); + } + render(children, root, ctx) { + validateRoot(root); + return super.render(children, root, ctx); + } + hydrate(children, root, ctx) { + validateRoot(root); + return super.hydrate(children, root, ctx); + } +}; +function validateRoot(root) { + if (root === null || typeof root === "object" && typeof root.nodeType !== "number") { + throw new TypeError(`Render root is not a node. Received: ${JSON.stringify(root && root.toString())}`); + } +} +var renderer = new DOMRenderer(); +export { + DOMRenderer, + impl, + renderer +}; +/*! Bundled license information: + +@esbuild-plugins/node-globals-polyfill/Buffer.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) +*/ +//# sourceMappingURL=dom-P6RTISBD.js.map diff --git a/static/dom-P6RTISBD.js.map b/static/dom-P6RTISBD.js.map new file mode 100644 index 00000000..0ac0d534 --- /dev/null +++ b/static/dom-P6RTISBD.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/@esbuild-plugins/node-globals-polyfill/process.js", "../node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js", "../node_modules/@b9g/src/crank.ts", "../node_modules/@b9g/src/dom.ts"], + "sourcesContent": ["// shim for using process in browser\n// based off https://github.com/defunctzombie/node-process/blob/master/browser.js\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined')\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined')\n}\nvar cachedSetTimeout = defaultSetTimout\nvar cachedClearTimeout = defaultClearTimeout\nif (typeof global.setTimeout === 'function') {\n cachedSetTimeout = setTimeout\n}\nif (typeof global.clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout\n}\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0)\n }\n // if setTimeout wasn't available but was latter defined\n if (\n (cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) &&\n setTimeout\n ) {\n cachedSetTimeout = setTimeout\n return setTimeout(fun, 0)\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0)\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0)\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0)\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker)\n }\n // if clearTimeout wasn't available but was latter defined\n if (\n (cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) &&\n clearTimeout\n ) {\n cachedClearTimeout = clearTimeout\n return clearTimeout(marker)\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker)\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker)\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker)\n }\n }\n}\nvar queue = []\nvar draining = false\nvar currentQueue\nvar queueIndex = -1\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return\n }\n draining = false\n if (currentQueue.length) {\n queue = currentQueue.concat(queue)\n } else {\n queueIndex = -1\n }\n if (queue.length) {\n drainQueue()\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return\n }\n var timeout = runTimeout(cleanUpNextTick)\n draining = true\n\n var len = queue.length\n while (len) {\n currentQueue = queue\n queue = []\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run()\n }\n }\n queueIndex = -1\n len = queue.length\n }\n currentQueue = null\n draining = false\n runClearTimeout(timeout)\n}\nfunction nextTick(fun) {\n var args = new Array(arguments.length - 1)\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i]\n }\n }\n queue.push(new Item(fun, args))\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue)\n }\n}\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun\n this.array = array\n}\nItem.prototype.run = function() {\n this.fun.apply(null, this.array)\n}\nvar title = 'browser'\nvar platform = 'browser'\nvar browser = true\nvar env = {}\nvar argv = []\nvar version = '' // empty string to avoid regexp issues\nvar versions = {}\nvar release = {}\nvar config = {}\n\nfunction noop() {}\n\nvar on = noop\nvar addListener = noop\nvar once = noop\nvar off = noop\nvar removeListener = noop\nvar removeAllListeners = noop\nvar emit = noop\n\nfunction binding(name) {\n throw new Error('process.binding is not supported')\n}\n\nfunction cwd() {\n return '/'\n}\nfunction chdir(dir) {\n throw new Error('process.chdir is not supported')\n}\nfunction umask() {\n return 0\n}\n\n// from https://github.com/kumavis/browser-process-hrtime/blob/master/index.js\nvar performance = global.performance || {}\nvar performanceNow =\n performance.now ||\n performance.mozNow ||\n performance.msNow ||\n performance.oNow ||\n performance.webkitNow ||\n function() {\n return new Date().getTime()\n }\n\n// generate timestamp or delta\n// see http://nodejs.org/api/process.html#process_process_hrtime\nfunction hrtime(previousTimestamp) {\n var clocktime = performanceNow.call(performance) * 1e-3\n var seconds = Math.floor(clocktime)\n var nanoseconds = Math.floor((clocktime % 1) * 1e9)\n if (previousTimestamp) {\n seconds = seconds - previousTimestamp[0]\n nanoseconds = nanoseconds - previousTimestamp[1]\n if (nanoseconds < 0) {\n seconds--\n nanoseconds += 1e9\n }\n }\n return [seconds, nanoseconds]\n}\n\nvar startTime = new Date()\nfunction uptime() {\n var currentTime = new Date()\n var dif = currentTime - startTime\n return dif / 1000\n}\n\nexport var process = {\n nextTick: nextTick,\n title: title,\n browser: browser,\n env: env,\n argv: argv,\n version: version,\n versions: versions,\n on: on,\n addListener: addListener,\n once: once,\n off: off,\n removeListener: removeListener,\n removeAllListeners: removeAllListeners,\n emit: emit,\n binding: binding,\n cwd: cwd,\n chdir: chdir,\n umask: umask,\n hrtime: hrtime,\n platform: platform,\n release: release,\n config: config,\n uptime: uptime,\n}\n\n// replace process.env.VAR with define\n\nconst defines = {}\nObject.keys(defines).forEach((key) => {\n const segs = key.split('.')\n let target = process\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n if (i === segs.length - 1) {\n target[seg] = defines[key]\n } else {\n target = target[seg] || (target[seg] = {})\n }\n }\n})\n", "// taken from https://github.com/calvinmetcalf/buffer-es6\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\nvar inited = false\nfunction init() {\n inited = true\n var code =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n for (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n }\n\n revLookup['-'.charCodeAt(0)] = 62\n revLookup['_'.charCodeAt(0)] = 63\n}\n\nfunction base64toByteArray(b64) {\n if (!inited) {\n init()\n }\n var i, j, l, tmp, placeHolders, arr\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n placeHolders = b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n\n // base64 is 4/3 + up to two characters of the original data\n arr = new Arr((len * 3) / 4 - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0, j = 0; i < l; i += 4, j += 3) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xff\n arr[L++] = (tmp >> 8) & 0xff\n arr[L++] = tmp & 0xff\n }\n\n if (placeHolders === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xff\n } else if (placeHolders === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xff\n arr[L++] = tmp & 0xff\n }\n\n return arr\n}\n\nfunction tripletToBase64(num) {\n return (\n lookup[(num >> 18) & 0x3f] +\n lookup[(num >> 12) & 0x3f] +\n lookup[(num >> 6) & 0x3f] +\n lookup[num & 0x3f]\n )\n}\n\nfunction encodeChunk(uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2]\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction base64fromByteArray(uint8) {\n if (!inited) {\n init()\n }\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(\n encodeChunk(\n uint8,\n i,\n i + maxChunkLength > len2 ? len2 : i + maxChunkLength,\n ),\n )\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3f]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3f]\n output += lookup[(tmp << 2) & 0x3f]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\nvar INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT =\n global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : true\n\nfunction kMaxLength() {\n return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff\n}\n\nfunction createBuffer(that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nexport function Buffer(arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string',\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function(arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from(that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function(value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nBuffer.kMaxLength = kMaxLength()\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (\n typeof Symbol !== 'undefined' &&\n Symbol.species &&\n Buffer[Symbol.species] === Buffer\n ) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n // Object.defineProperty(Buffer, Symbol.species, {\n // value: null,\n // configurable: true\n // })\n }\n}\n\nfunction assertSize(size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc(that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function(size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe(that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function(size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function(size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString(that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike(that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer(that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\"'offset' is out of bounds\")\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\"'length' is out of bounds\")\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject(that, obj) {\n if (internalIsBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if (\n (typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) ||\n 'length' in obj\n ) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError(\n 'First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.',\n )\n}\n\nfunction checked(length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError(\n 'Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' +\n kMaxLength().toString(16) +\n ' bytes',\n )\n }\n return length | 0\n}\n\nexport function SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\nBuffer.isBuffer = isBuffer\nfunction internalIsBuffer(b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare(a, b) {\n if (!internalIsBuffer(a) || !internalIsBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!internalIsBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength(string, encoding) {\n if (internalIsBuffer(string)) {\n return string.length\n }\n if (\n typeof ArrayBuffer !== 'undefined' &&\n typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)\n ) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString(encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase)\n throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap(b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16() {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32() {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64() {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString() {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals(b) {\n if (!internalIsBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\n\nBuffer.prototype.compare = function compare(\n target,\n start,\n end,\n thisStart,\n thisEnd,\n) {\n if (!internalIsBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (\n start < 0 ||\n end > target.length ||\n thisStart < 0 ||\n thisEnd > this.length\n ) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (internalIsBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xff // Search for a byte value [0-255]\n if (\n Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function'\n ) {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(\n buffer,\n val,\n byteOffset,\n )\n } else {\n return Uint8Array.prototype.lastIndexOf.call(\n buffer,\n val,\n byteOffset,\n )\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (\n encoding === 'ucs2' ||\n encoding === 'ucs-2' ||\n encoding === 'utf16le' ||\n encoding === 'utf-16le'\n ) {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (\n read(arr, i) ===\n read(val, foundIndex === -1 ? 0 : i - foundIndex)\n ) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength)\n return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength)\n byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write(buf, string, offset, length) {\n return blitBuffer(\n utf8ToBytes(string, buf.length - offset),\n buf,\n offset,\n length,\n )\n}\n\nfunction asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write(buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write(buf, string, offset, length) {\n return blitBuffer(\n utf16leToBytes(string, buf.length - offset),\n buf,\n offset,\n length,\n )\n}\n\nBuffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported',\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if (\n (string.length > 0 && (length < 0 || offset < 0)) ||\n offset > this.length\n ) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase)\n throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON() {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0),\n }\n}\n\nfunction base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64fromByteArray(buf)\n } else {\n return base64fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence =\n firstByte > 0xef\n ? 4\n : firstByte > 0xdf\n ? 3\n : firstByte > 0xbf\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xc0) === 0x80) {\n tempCodePoint =\n ((firstByte & 0x1f) << 0x6) | (secondByte & 0x3f)\n if (tempCodePoint > 0x7f) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if (\n (secondByte & 0xc0) === 0x80 &&\n (thirdByte & 0xc0) === 0x80\n ) {\n tempCodePoint =\n ((firstByte & 0xf) << 0xc) |\n ((secondByte & 0x3f) << 0x6) |\n (thirdByte & 0x3f)\n if (\n tempCodePoint > 0x7ff &&\n (tempCodePoint < 0xd800 || tempCodePoint > 0xdfff)\n ) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if (\n (secondByte & 0xc0) === 0x80 &&\n (thirdByte & 0xc0) === 0x80 &&\n (fourthByte & 0xc0) === 0x80\n ) {\n tempCodePoint =\n ((firstByte & 0xf) << 0x12) |\n ((secondByte & 0x3f) << 0xc) |\n ((thirdByte & 0x3f) << 0x6) |\n (fourthByte & 0x3f)\n if (\n tempCodePoint > 0xffff &&\n tempCodePoint < 0x110000\n ) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xfffd\n bytesPerSequence = 1\n } else if (codePoint > 0xffff) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(((codePoint >>> 10) & 0x3ff) | 0xd800)\n codePoint = 0xdc00 | (codePoint & 0x3ff)\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray(codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, (i += MAX_ARGUMENTS_LENGTH)),\n )\n }\n return res\n}\n\nfunction asciiSlice(buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7f)\n }\n return ret\n}\n\nfunction latin1Slice(buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice(buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice(buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice(start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0)\n throw new RangeError('offset is not uint')\n if (offset + ext > length)\n throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE(\n offset,\n byteLength,\n noAssert,\n) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE(\n offset,\n byteLength,\n noAssert,\n) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n (this[offset] | (this[offset + 1] << 8) | (this[offset + 2] << 16)) +\n this[offset + 3] * 0x1000000\n )\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n this[offset] * 0x1000000 +\n ((this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3])\n )\n}\n\nBuffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return this[offset]\n return (0xff - this[offset] + 1) * -1\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return val & 0x8000 ? val | 0xffff0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return val & 0x8000 ? val | 0xffff0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n this[offset] |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n )\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3]\n )\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754read(this, offset, false, 52, 8)\n}\n\nfunction checkInt(buf, value, offset, ext, max, min) {\n if (!internalIsBuffer(buf))\n throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min)\n throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xff\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xff\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = value & 0xff\n return offset + 1\n}\n\nfunction objectWriteUInt16(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] =\n (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n ((littleEndian ? i : 1 - i) * 8)\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8\n this[offset + 1] = value & 0xff\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> ((littleEndian ? i : 3 - i) * 8)) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = value >>> 24\n this[offset + 2] = value >>> 16\n this[offset + 1] = value >>> 8\n this[offset] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24\n this[offset + 1] = value >>> 16\n this[offset + 2] = value >>> 8\n this[offset + 3] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xff\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xff\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = value & 0xff\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8\n this[offset + 1] = value & 0xff\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n this[offset + 2] = value >>> 16\n this[offset + 3] = value >>> 24\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24\n this[offset + 1] = value >>> 16\n this[offset + 2] = value >>> 8\n this[offset + 3] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(\n buf,\n value,\n offset,\n 4,\n 3.4028234663852886e38,\n -3.4028234663852886e38,\n )\n }\n ieee754write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(\n buf,\n value,\n offset,\n 8,\n 1.7976931348623157e308,\n -1.7976931348623157e308,\n )\n }\n ieee754write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE(\n value,\n offset,\n noAssert,\n) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE(\n value,\n offset,\n noAssert,\n) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length)\n throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart,\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = internalIsBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean(str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim(str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex(n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes(string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xd7ff && codePoint < 0xe000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xdbff) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xdc00) {\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint =\n (((leadSurrogate - 0xd800) << 10) | (codePoint - 0xdc00)) +\n 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push((codePoint >> 0x6) | 0xc0, (codePoint & 0x3f) | 0x80)\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n (codePoint >> 0xc) | 0xe0,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80,\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n (codePoint >> 0x12) | 0xf0,\n ((codePoint >> 0xc) & 0x3f) | 0x80,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80,\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes(str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xff)\n }\n return byteArray\n}\n\nfunction utf16leToBytes(str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes(str) {\n return base64toByteArray(base64clean(str))\n}\n\nfunction blitBuffer(src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan(val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n// the following is from is-buffer, also by Feross Aboukhadijeh and with same lisence\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nfunction isBuffer(obj) {\n return (\n obj != null &&\n (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj))\n )\n}\n\nfunction isFastBuffer(obj) {\n return (\n !!obj.constructor &&\n typeof obj.constructor.isBuffer === 'function' &&\n obj.constructor.isBuffer(obj)\n )\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer(obj) {\n return (\n typeof obj.readFloatLE === 'function' &&\n typeof obj.slice === 'function' &&\n isFastBuffer(obj.slice(0, 0))\n )\n}\n\nfunction ieee754read(buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? nBytes - 1 : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << -nBits) - 1)\n s >>= -nBits\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << -nBits) - 1)\n e >>= -nBits\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nfunction ieee754write(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0\n var i = isLE ? 0 : nBytes - 1\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (\n ;\n mLen >= 8;\n buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8\n ) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (\n ;\n eLen > 0;\n buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8\n ) {}\n\n buffer[offset + i - d] |= s * 128\n}\n", "const NOOP = () => {};\nconst IDENTITY = (value: T): T => value;\n\nfunction wrap(value: Array | T | undefined): Array {\n\treturn value === undefined ? [] : Array.isArray(value) ? value : [value];\n}\n\nfunction unwrap(arr: Array): Array | T | undefined {\n\treturn arr.length === 0 ? undefined : arr.length === 1 ? arr[0] : arr;\n}\n\ntype NonStringIterable = Iterable & object;\n\n/**\n * Ensures a value is an array.\n *\n * This function does the same thing as wrap() above except it handles nulls\n * and iterables, so it is appropriate for wrapping user-provided element\n * children.\n */\nfunction arrayify(\n\tvalue: NonStringIterable | T | null | undefined,\n): Array {\n\treturn value == null\n\t\t? []\n\t\t: Array.isArray(value)\n\t\t\t? value\n\t\t\t: typeof value === \"string\" ||\n\t\t\t\t typeof (value as any)[Symbol.iterator] !== \"function\"\n\t\t\t\t? [value]\n\t\t\t\t: // TODO: inference broke in TypeScript 3.9.\n\t\t\t\t\t[...(value as any)];\n}\n\nfunction isIteratorLike(\n\tvalue: any,\n): value is Iterator | AsyncIterator {\n\treturn value != null && typeof value.next === \"function\";\n}\n\nfunction isPromiseLike(value: any): value is PromiseLike {\n\treturn value != null && typeof value.then === \"function\";\n}\n\n/**\n * A type which represents all valid values for an element tag.\n */\nexport type Tag = string | symbol | Component;\n\n/**\n * A helper type to map the tag of an element to its expected props.\n *\n * @template TTag - The tag associated with the props. Can be a string, symbol\n * or a component function.\n */\nexport type TagProps = TTag extends string\n\t? JSX.IntrinsicElements[TTag]\n\t: TTag extends Component\n\t\t? TProps & JSX.IntrinsicAttributes\n\t\t: Record & JSX.IntrinsicAttributes;\n\n/***\n * SPECIAL TAGS\n *\n * Crank provides a couple tags which have special meaning for the renderer.\n ***/\n\n/**\n * A special tag for grouping multiple children within the same parent.\n *\n * All non-string iterables which appear in the element tree are implicitly\n * wrapped in a fragment element.\n *\n * This tag is just the empty string, and you can use the empty string in\n * createElement calls or transpiler options directly to avoid having to\n * reference this export.\n */\nexport const Fragment = \"\";\nexport type Fragment = typeof Fragment;\n\n// TODO: We assert the following symbol tags as any because TypeScript support\n// for symbol tags in JSX doesn’t exist yet.\n// https://github.com/microsoft/TypeScript/issues/38367\n\n/**\n * A special tag for rendering into a new root node via a root prop.\n *\n * This tag is useful for creating element trees with multiple roots, for\n * things like modals or tooltips.\n *\n * Renderer.prototype.render() will implicitly wrap top-level element trees in\n * a Portal element.\n */\nexport const Portal = Symbol.for(\"crank.Portal\") as any;\nexport type Portal = typeof Portal;\n\n/**\n * A special tag which preserves whatever was previously rendered in the\n * element’s position.\n *\n * Copy elements are useful for when you want to prevent a subtree from\n * rerendering as a performance optimization. Copy elements can also be keyed,\n * in which case the previously rendered keyed element will be copied.\n */\nexport const Copy = Symbol.for(\"crank.Copy\") as any;\nexport type Copy = typeof Copy;\n\n/**\n * A special tag for injecting raw nodes or strings via a value prop.\n *\n * Renderer.prototype.raw() is called with the value prop.\n */\nexport const Raw = Symbol.for(\"crank.Raw\") as any;\nexport type Raw = typeof Raw;\n\n/**\n * Describes all valid values of an element tree, excluding iterables.\n *\n * Arbitrary objects can also be safely rendered, but will be converted to a\n * string using the toString() method. We exclude them from this type to catch\n * potential mistakes.\n */\nexport type Child = Element | string | number | boolean | null | undefined;\n\n/**\n * An arbitrarily nested iterable of Child values.\n *\n * We use a recursive interface here rather than making the Children type\n * directly recursive because recursive type aliases were added in TypeScript\n * 3.7.\n *\n * You should avoid referencing this type directly, as it is mainly exported to\n * prevent TypeScript errors.\n */\nexport interface ChildIterable extends Iterable {}\n\n/**\n * Describes all valid values of an element tree, including arbitrarily nested\n * iterables of such values.\n */\nexport type Children = Child | ChildIterable;\n\n/**\n * Represents all functions which can be used as a component.\n *\n * @template [TProps=*] - The expected props for the component.\n */\nexport type Component = any> = (\n\tthis: Context,\n\tprops: TProps,\n\tctx: Context,\n) =>\n\t| Children\n\t| PromiseLike\n\t// The return type of iterators must include void because TypeScript will\n\t// infer generators which return implicitly as having a void return type.\n\t| Iterator\n\t| AsyncIterator;\n\ntype ChildrenIteratorResult = IteratorResult;\n\n/**\n * A type to keep track of keys. Any value can be a key, though null and\n * undefined are ignored.\n */\ntype Key = unknown;\n\nconst ElementSymbol = Symbol.for(\"crank.Element\");\n\n// To maximize compatibility between Crank versions, starting with 0.2.0, any\n// changes to the Element properties will be considered a breaking change.\nexport interface Element {\n\t/**\n\t * @internal\n\t * A unique symbol to identify elements as elements across versions and\n\t * realms, and to protect against basic injection attacks.\n\t * https://overreacted.io/why-do-react-elements-have-typeof-property/\n\t *\n\t * This property is defined on the element prototype rather than per\n\t * instance, because it is the same for every Element.\n\t */\n\t$$typeof: typeof ElementSymbol;\n\n\t/**\n\t * The tag of the element. Can be a string, symbol or function.\n\t */\n\ttag: TTag;\n\n\t/**\n\t * An object containing the \"properties\" of an element. These correspond to\n\t * the attribute syntax from JSX.\n\t */\n\tprops: TagProps;\n}\n\n/**\n * Elements are the basic building blocks of Crank applications. They are\n * JavaScript objects which are interpreted by special classes called renderers\n * to produce and manage stateful nodes.\n *\n * @template {Tag} [TTag=Tag] - The type of the tag of the element.\n *\n * @example\n * // specific element types\n * let div: Element<\"div\">;\n * let portal: Element;\n * let myEl: Element;\n *\n * // general element types\n * let host: Element;\n * let component: Element;\n *\n * Typically, you use a helper function like createElement to create elements\n * rather than instatiating this class directly.\n */\nexport class Element {\n\tconstructor(tag: TTag, props: TagProps) {\n\t\tthis.tag = tag;\n\t\tthis.props = props;\n\t}\n\n\tget key(): Key {\n\t\treturn this.props.key;\n\t}\n\n\tget ref(): unknown {\n\t\treturn this.props.ref;\n\t}\n\n\tget copy(): boolean {\n\t\treturn !!this.props.copy;\n\t}\n}\n\n// See Element interface\nElement.prototype.$$typeof = ElementSymbol;\n\nexport function isElement(value: any): value is Element {\n\treturn value != null && value.$$typeof === ElementSymbol;\n}\n\nconst DEPRECATED_PROP_PREFIXES = [\"crank-\", \"c-\", \"$\"];\n\nconst DEPRECATED_SPECIAL_PROP_BASES = [\"key\", \"ref\", \"static\"];\n\nconst SPECIAL_PROPS = new Set([\"children\", \"key\", \"ref\", \"copy\"]);\nfor (const propPrefix of DEPRECATED_PROP_PREFIXES) {\n\tfor (const propBase of DEPRECATED_SPECIAL_PROP_BASES) {\n\t\tSPECIAL_PROPS.add(propPrefix + propBase);\n\t}\n}\n\n/**\n * Creates an element with the specified tag, props and children.\n *\n * This function is usually used as a transpilation target for JSX transpilers,\n * but it can also be called directly. It additionally extracts special props so\n * they aren’t accessible to renderer methods or components, and assigns the\n * children prop according to any additional arguments passed to the function.\n */\nexport function createElement(\n\ttag: TTag,\n\tprops?: TagProps | null | undefined,\n\t...children: Array\n): Element {\n\tif (props == null) {\n\t\tprops = {} as TagProps;\n\t}\n\n\tfor (let i = 0; i < DEPRECATED_PROP_PREFIXES.length; i++) {\n\t\tconst propPrefix = DEPRECATED_PROP_PREFIXES[i];\n\t\tfor (let j = 0; j < DEPRECATED_SPECIAL_PROP_BASES.length; j++) {\n\t\t\tconst propBase = DEPRECATED_SPECIAL_PROP_BASES[j];\n\t\t\tconst deprecatedPropName = propPrefix + propBase;\n\t\t\tconst targetPropBase = propBase === \"static\" ? \"copy\" : propBase;\n\t\t\tif (deprecatedPropName in (props as TagProps)) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`The \\`${deprecatedPropName}\\` prop is deprecated. Use \\`${targetPropBase}\\` instead.`,\n\t\t\t\t);\n\t\t\t\t(props as TagProps)[targetPropBase] = (props as TagProps)[\n\t\t\t\t\tdeprecatedPropName\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (children.length > 1) {\n\t\t(props as TagProps).children = children;\n\t} else if (children.length === 1) {\n\t\t(props as TagProps).children = children[0];\n\t}\n\n\treturn new Element(tag, props as TagProps);\n}\n\n/** Clones a given element, shallowly copying the props object. */\nexport function cloneElement(\n\tel: Element,\n): Element {\n\tif (!isElement(el)) {\n\t\tthrow new TypeError(\"Cannot clone non-element\");\n\t}\n\n\treturn new Element(el.tag, {...el.props});\n}\n\n/*** ELEMENT UTILITIES ***/\n\n// WHAT ARE WE DOING TO THE CHILDREN???\n/**\n * All values in the element tree are narrowed from the union in Child to\n * NarrowedChild during rendering, to simplify element diffing.\n */\ntype NarrowedChild = Element | string | undefined;\n\nfunction narrow(value: Children): NarrowedChild {\n\tif (typeof value === \"boolean\" || value == null) {\n\t\treturn undefined;\n\t} else if (typeof value === \"string\" || isElement(value)) {\n\t\treturn value;\n\t} else if (typeof (value as any)[Symbol.iterator] === \"function\") {\n\t\treturn createElement(Fragment, null, value);\n\t}\n\n\treturn value.toString();\n}\n\n/**\n * A helper type which repesents all possible rendered values of an element.\n *\n * @template TNode - The node type for the element provided by the renderer.\n *\n * When asking the question, what is the \"value\" of a specific element, the\n * answer varies depending on the tag:\n *\n * For host elements, the value is the nodes created for the element, e.g. the\n * DOM node in the case of the DOMRenderer.\n *\n * For fragments, the value is the value of the\n *\n * For portals, the value is undefined, because a Portal element’s root and\n * children are opaque to its parent.\n *\n * For components, the value can be any of the above, because the value of a\n * component is determined by its immediate children.\n *\n * Rendered values can also be strings or arrays of nodes and strings, in the\n * case of component or fragment elements with strings or multiple children.\n *\n * All of these possible values are reflected in this utility type.\n */\nexport type ElementValue =\n\t| Array\n\t| TNode\n\t| string\n\t| undefined;\n\n/**\n * Takes an array of element values and normalizes the output as an array of\n * nodes and strings.\n *\n * @returns Normalized array of nodes and/or strings.\n *\n * Normalize will flatten only one level of nested arrays, because it is\n * designed to be called once at each level of the tree. It will also\n * concatenate adjacent strings and remove all undefined values.\n */\nfunction normalize(\n\tvalues: Array>,\n): Array {\n\tconst result: Array = [];\n\tlet buffer: string | undefined;\n\tfor (let i = 0; i < values.length; i++) {\n\t\tconst value = values[i];\n\t\tif (!value) {\n\t\t\t// pass\n\t\t} else if (typeof value === \"string\") {\n\t\t\tbuffer = (buffer || \"\") + value;\n\t\t} else if (!Array.isArray(value)) {\n\t\t\tif (buffer) {\n\t\t\t\tresult.push(buffer);\n\t\t\t\tbuffer = undefined;\n\t\t\t}\n\n\t\t\tresult.push(value);\n\t\t} else {\n\t\t\t// We could use recursion here but it’s just easier to do it inline.\n\t\t\tfor (let j = 0; j < value.length; j++) {\n\t\t\t\tconst value1 = value[j];\n\t\t\t\tif (!value1) {\n\t\t\t\t\t// pass\n\t\t\t\t} else if (typeof value1 === \"string\") {\n\t\t\t\t\tbuffer = (buffer || \"\") + value1;\n\t\t\t\t} else {\n\t\t\t\t\tif (buffer) {\n\t\t\t\t\t\tresult.push(buffer);\n\t\t\t\t\t\tbuffer = undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\tresult.push(value1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (buffer) {\n\t\tresult.push(buffer);\n\t}\n\n\treturn result;\n}\n\n/**\n * @internal\n * The internal nodes which are cached and diffed against new elements when\n * rendering element trees.\n */\nclass Retainer {\n\t/**\n\t * The element associated with this retainer.\n\t */\n\tdeclare el: Element;\n\t/**\n\t * The context associated with this element. Will only be defined for\n\t * component elements.\n\t */\n\tdeclare ctx: ContextImpl | undefined;\n\t/**\n\t * The retainer children of this element. Retainers form a tree which mirrors\n\t * elements. Can be a single child or undefined as a memory optimization.\n\t */\n\tdeclare children: Array> | RetainerChild;\n\t/**\n\t * The value associated with this element.\n\t */\n\tdeclare value: ElementValue;\n\t/**\n\t * The cached child values of this element. Only host and component elements\n\t * will use this property.\n\t */\n\tdeclare cachedChildValues: ElementValue;\n\t/**\n\t * The child which this retainer replaces. This property is used when an\n\t * async retainer tree replaces previously rendered elements, so that the\n\t * previously rendered elements can remain visible until the async tree\n\t * fulfills. Will be set to undefined once this subtree fully renders.\n\t */\n\tdeclare fallbackValue: RetainerChild;\n\n\tdeclare inflightValue: Promise> | undefined;\n\tdeclare onNextValues: Function | undefined;\n\tconstructor(el: Element) {\n\t\tthis.el = el;\n\t\tthis.ctx = undefined;\n\t\tthis.children = undefined;\n\t\tthis.value = undefined;\n\t\tthis.cachedChildValues = undefined;\n\t\tthis.fallbackValue = undefined;\n\t\tthis.inflightValue = undefined;\n\t\tthis.onNextValues = undefined;\n\t}\n}\n\n/**\n * The retainer equivalent of ElementValue\n */\ntype RetainerChild = Retainer | string | undefined;\n\n/**\n * Finds the value of the element according to its type.\n *\n * @returns The value of the element.\n */\nfunction getValue(ret: Retainer): ElementValue {\n\tif (typeof ret.fallbackValue !== \"undefined\") {\n\t\treturn typeof ret.fallbackValue === \"object\"\n\t\t\t? getValue(ret.fallbackValue)\n\t\t\t: ret.fallbackValue;\n\t} else if (ret.el.tag === Portal) {\n\t\treturn;\n\t} else if (typeof ret.el.tag !== \"function\" && ret.el.tag !== Fragment) {\n\t\treturn ret.value;\n\t}\n\n\treturn unwrap(getChildValues(ret));\n}\n\n/**\n * Walks an element’s children to find its child values.\n *\n * @returns A normalized array of nodes and strings.\n */\nfunction getChildValues(ret: Retainer): Array {\n\tif (ret.cachedChildValues) {\n\t\treturn wrap(ret.cachedChildValues);\n\t}\n\n\tconst values: Array> = [];\n\tconst children = wrap(ret.children);\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (child) {\n\t\t\tvalues.push(typeof child === \"string\" ? child : getValue(child));\n\t\t}\n\t}\n\n\tconst values1 = normalize(values);\n\tconst tag = ret.el.tag;\n\tif (typeof tag === \"function\" || (tag !== Fragment && tag !== Raw)) {\n\t\tret.cachedChildValues = unwrap(values1);\n\t}\n\treturn values1;\n}\n\nexport interface HydrationData {\n\tprops: Record;\n\tchildren: Array;\n}\n\n// TODO: Document the interface and methods\nexport interface RendererImpl<\n\tTNode,\n\tTScope,\n\tTRoot extends TNode = TNode,\n\tTResult = ElementValue,\n> {\n\tscope(\n\t\tscope: TScope | undefined,\n\t\ttag: TTag,\n\t\tprops: TagProps,\n\t): TScope | undefined;\n\n\tcreate(\n\t\ttag: TTag,\n\t\tprops: TagProps,\n\t\tscope: TScope | undefined,\n\t): TNode;\n\n\thydrate(\n\t\ttag: TTag,\n\t\tnode: TNode | TRoot,\n\t\tprops: TagProps,\n\t): HydrationData | undefined;\n\n\t/**\n\t * Called when an element’s rendered value is exposed via render, schedule,\n\t * refresh, refs, or generator yield expressions.\n\t *\n\t * @param value - The value of the element being read. Can be a node, a\n\t * string, undefined, or an array of nodes and strings, depending on the\n\t * element.\n\t *\n\t * @returns Varies according to the specific renderer subclass. By default,\n\t * it exposes the element’s value.\n\t *\n\t * This is useful for renderers which don’t want to expose their internal\n\t * nodes. For instance, the HTML renderer will convert all internal nodes to\n\t * strings.\n\t */\n\tread(value: ElementValue): TResult;\n\n\t/**\n\t * Called for each string in an element tree.\n\t *\n\t * @param text - The string child.\n\t * @param scope - The current scope.\n\t *\n\t * @returns A string to be passed to arrange.\n\t *\n\t * Rather than returning Text nodes as we would in the DOM case, for example,\n\t * we delay that step for Renderer.prototype.arrange. We do this so that\n\t * adjacent strings can be concatenated, and the actual element tree can be\n\t * rendered in normalized form.\n\t */\n\ttext(\n\t\ttext: string,\n\t\tscope: TScope | undefined,\n\t\thydration: HydrationData | undefined,\n\t): string;\n\n\t/**\n\t * Called for each Raw element whose value prop is a string.\n\t *\n\t * @param text - The string child.\n\t * @param scope - The current scope.\n\t *\n\t * @returns The parsed node or string.\n\t */\n\traw(\n\t\tvalue: string | TNode,\n\t\tscope: TScope | undefined,\n\t\thydration: HydrationData | undefined,\n\t): ElementValue;\n\n\tpatch(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tname: TName,\n\t\tvalue: unknown,\n\t\toldValue: unknown,\n\t\tscope: TScope,\n\t): unknown;\n\n\tarrange(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tprops: Record,\n\t\tchildren: Array,\n\t\toldProps: Record | undefined,\n\t\toldChildren: Array | undefined,\n\t): unknown;\n\n\tdispose(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tprops: Record,\n\t): unknown;\n\n\tflush(root: TRoot): unknown;\n}\n\nconst defaultRendererImpl: RendererImpl = {\n\tcreate() {\n\t\tthrow new Error(\"Not implemented\");\n\t},\n\thydrate() {\n\t\tthrow new Error(\"Not implemented\");\n\t},\n\tscope: IDENTITY,\n\tread: IDENTITY,\n\ttext: IDENTITY,\n\traw: IDENTITY,\n\tpatch: NOOP,\n\tarrange: NOOP,\n\tdispose: NOOP,\n\tflush: NOOP,\n};\n\nconst _RendererImpl = Symbol.for(\"crank.RendererImpl\");\n/**\n * An abstract class which is subclassed to render to different target\n * environments. Subclasses will typically call super() with a custom\n * RendererImpl. This class is responsible for kicking off the rendering\n * process and caching previous trees by root.\n *\n * @template TNode - The type of the node for a rendering environment.\n * @template TScope - Data which is passed down the tree.\n * @template TRoot - The type of the root for a rendering environment.\n * @template TResult - The type of exposed values.\n */\nexport class Renderer<\n\tTNode extends object = object,\n\tTScope = unknown,\n\tTRoot extends TNode = TNode,\n\tTResult = ElementValue,\n> {\n\t/**\n\t * @internal\n\t * A weakmap which stores element trees by root.\n\t */\n\tdeclare cache: WeakMap>;\n\n\tdeclare [_RendererImpl]: RendererImpl;\n\tconstructor(impl: Partial>) {\n\t\tthis.cache = new WeakMap();\n\t\tthis[_RendererImpl] = {\n\t\t\t...(defaultRendererImpl as RendererImpl),\n\t\t\t...impl,\n\t\t};\n\t}\n\n\t/**\n\t * Renders an element tree into a specific root.\n\t *\n\t * @param children - An element tree. You can render null with a previously\n\t * used root to delete the previously rendered element tree from the cache.\n\t * @param root - The node to be rendered into. The renderer will cache\n\t * element trees per root.\n\t * @param bridge - An optional context that will be the ancestor context of all\n\t * elements in the tree. Useful for connecting different renderers so that\n\t * events/provisions properly propagate. The context for a given root must be\n\t * the same or an error will be thrown.\n\t *\n\t * @returns The result of rendering the children, or a possible promise of\n\t * the result if the element tree renders asynchronously.\n\t */\n\trender(\n\t\tchildren: Children,\n\t\troot?: TRoot | undefined,\n\t\tbridge?: Context | undefined,\n\t): Promise | TResult {\n\t\tlet ret: Retainer | undefined;\n\t\tconst ctx = bridge && (bridge[_ContextImpl] as ContextImpl);\n\t\tif (typeof root === \"object\" && root !== null) {\n\t\t\tret = this.cache.get(root);\n\t\t}\n\n\t\tlet oldProps: Record | undefined;\n\t\tif (ret === undefined) {\n\t\t\tret = new Retainer(createElement(Portal, {children, root}));\n\t\t\tret.value = root;\n\t\t\tret.ctx = ctx;\n\t\t\tif (typeof root === \"object\" && root !== null && children != null) {\n\t\t\t\tthis.cache.set(root, ret);\n\t\t\t}\n\t\t} else if (ret.ctx !== ctx) {\n\t\t\tthrow new Error(\"Context mismatch\");\n\t\t} else {\n\t\t\toldProps = ret.el.props;\n\t\t\tret.el = createElement(Portal, {children, root});\n\t\t\tif (typeof root === \"object\" && root !== null && children == null) {\n\t\t\t\tthis.cache.delete(root);\n\t\t\t}\n\t\t}\n\n\t\tconst impl = this[_RendererImpl];\n\t\tconst childValues = diffChildren(\n\t\t\timpl,\n\t\t\troot,\n\t\t\tret,\n\t\t\tctx,\n\t\t\timpl.scope(undefined, Portal, ret.el.props),\n\t\t\tret,\n\t\t\tchildren,\n\t\t\tundefined, // hydration data\n\t\t);\n\n\t\t// We return the child values of the portal because portal elements\n\t\t// themselves have no readable value.\n\t\tif (isPromiseLike(childValues)) {\n\t\t\treturn childValues.then((childValues) =>\n\t\t\t\tcommitRootRender(impl, root, ctx, ret!, childValues, oldProps),\n\t\t\t);\n\t\t}\n\n\t\treturn commitRootRender(impl, root, ctx, ret, childValues, oldProps);\n\t}\n\n\thydrate(\n\t\tchildren: Children,\n\t\troot: TRoot,\n\t\tbridge?: Context | undefined,\n\t): Promise | TResult {\n\t\tconst impl = this[_RendererImpl];\n\t\tconst ctx = bridge && (bridge[_ContextImpl] as ContextImpl);\n\t\tlet ret: Retainer | undefined;\n\t\tret = this.cache.get(root);\n\t\tif (ret !== undefined) {\n\t\t\t// If there is a retainer for the root, hydration is not necessary.\n\t\t\treturn this.render(children, root, bridge);\n\t\t}\n\n\t\tlet oldProps: Record | undefined;\n\t\tret = new Retainer(createElement(Portal, {children, root}));\n\t\tret.value = root;\n\t\tif (typeof root === \"object\" && root !== null && children != null) {\n\t\t\tthis.cache.set(root, ret);\n\t\t}\n\n\t\tconst hydrationData = impl.hydrate(Portal, root, {});\n\t\tconst childValues = diffChildren(\n\t\t\timpl,\n\t\t\troot,\n\t\t\tret,\n\t\t\tctx,\n\t\t\timpl.scope(undefined, Portal, ret.el.props),\n\t\t\tret,\n\t\t\tchildren,\n\t\t\thydrationData,\n\t\t);\n\n\t\t// We return the child values of the portal because portal elements\n\t\t// themselves have no readable value.\n\t\tif (isPromiseLike(childValues)) {\n\t\t\treturn childValues.then((childValues) =>\n\t\t\t\tcommitRootRender(impl, root, ctx, ret!, childValues, oldProps),\n\t\t\t);\n\t\t}\n\n\t\treturn commitRootRender(impl, root, ctx, ret, childValues, oldProps);\n\t}\n}\n\n/*** PRIVATE RENDERER FUNCTIONS ***/\nfunction commitRootRender(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n\tchildValues: Array,\n\toldProps: Record | undefined,\n): TResult {\n\t// element is a host or portal element\n\tif (root != null) {\n\t\trenderer.arrange(\n\t\t\tPortal,\n\t\t\troot,\n\t\t\tret.el.props,\n\t\t\tchildValues,\n\t\t\toldProps,\n\t\t\twrap(ret.cachedChildValues),\n\t\t);\n\t\tflush(renderer, root);\n\t}\n\n\tret.cachedChildValues = unwrap(childValues);\n\tif (root == null) {\n\t\tunmount(renderer, ret, ctx, ret);\n\t}\n\n\treturn renderer.read(ret.cachedChildValues);\n}\n\nfunction diffChildren(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tparent: Retainer,\n\tchildren: Children,\n\thydrationData: HydrationData | undefined,\n): Promise> | Array {\n\tconst oldRetained = wrap(parent.children);\n\tconst newRetained: typeof oldRetained = [];\n\tconst newChildren = arrayify(children);\n\tconst values: Array> | ElementValue> = [];\n\tlet graveyard: Array> | undefined;\n\tlet childrenByKey: Map> | undefined;\n\tlet seenKeys: Set | undefined;\n\tlet isAsync = false;\n\t// When hydrating, sibling element trees must be rendered in order, because\n\t// we do not know how many DOM nodes an element will render.\n\tlet hydrationBlock: Promise | undefined;\n\tlet oi = 0;\n\tlet oldLength = oldRetained.length;\n\tfor (let ni = 0, newLength = newChildren.length; ni < newLength; ni++) {\n\t\t// length checks to prevent index out of bounds deoptimizations.\n\t\tlet ret = oi >= oldLength ? undefined : oldRetained[oi];\n\t\tlet child = narrow(newChildren[ni]);\n\t\t{\n\t\t\t// aligning new children with old retainers\n\t\t\tlet oldKey = typeof ret === \"object\" ? ret.el.key : undefined;\n\t\t\tlet newKey = typeof child === \"object\" ? child.key : undefined;\n\t\t\tif (newKey !== undefined && seenKeys && seenKeys.has(newKey)) {\n\t\t\t\tconsole.error(\"Duplicate key\", newKey);\n\t\t\t\tnewKey = undefined;\n\t\t\t}\n\n\t\t\tif (oldKey === newKey) {\n\t\t\t\tif (childrenByKey !== undefined && newKey !== undefined) {\n\t\t\t\t\tchildrenByKey.delete(newKey);\n\t\t\t\t}\n\n\t\t\t\toi++;\n\t\t\t} else {\n\t\t\t\tchildrenByKey = childrenByKey || createChildrenByKey(oldRetained, oi);\n\t\t\t\tif (newKey === undefined) {\n\t\t\t\t\twhile (ret !== undefined && oldKey !== undefined) {\n\t\t\t\t\t\toi++;\n\t\t\t\t\t\tret = oldRetained[oi];\n\t\t\t\t\t\toldKey = typeof ret === \"object\" ? ret.el.key : undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\toi++;\n\t\t\t\t} else {\n\t\t\t\t\tret = childrenByKey.get(newKey);\n\t\t\t\t\tif (ret !== undefined) {\n\t\t\t\t\t\tchildrenByKey.delete(newKey);\n\t\t\t\t\t}\n\n\t\t\t\t\t(seenKeys = seenKeys || new Set()).add(newKey);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Updating\n\t\tlet value: Promise> | ElementValue;\n\t\tif (typeof child === \"object\") {\n\t\t\tif (child.tag === Copy || (typeof ret === \"object\" && ret.el === child)) {\n\t\t\t\tvalue = getInflightValue(ret);\n\t\t\t} else {\n\t\t\t\tlet oldProps: Record | undefined;\n\t\t\t\tlet copy = false;\n\t\t\t\tif (typeof ret === \"object\" && ret.el.tag === child.tag) {\n\t\t\t\t\toldProps = ret.el.props;\n\t\t\t\t\tret.el = child;\n\t\t\t\t\tif (child.copy) {\n\t\t\t\t\t\tvalue = getInflightValue(ret);\n\t\t\t\t\t\tcopy = true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof ret === \"object\") {\n\t\t\t\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fallback = ret;\n\t\t\t\t\tret = new Retainer(child);\n\t\t\t\t\tret.fallbackValue = fallback;\n\t\t\t\t}\n\n\t\t\t\tif (copy) {\n\t\t\t\t\t// pass\n\t\t\t\t} else if (child.tag === Raw) {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateRaw(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateRaw(renderer, ret, scope, oldProps, hydrationData);\n\t\t\t\t} else if (child.tag === Fragment) {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateFragment(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateFragment(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t} else if (typeof child.tag === \"function\") {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateComponent(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateComponent(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateHost(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateHost(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tisAsync = true;\n\t\t\t\tif (hydrationData !== undefined) {\n\t\t\t\t\thydrationBlock = value;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// child is a string or undefined\n\t\t\tif (typeof ret === \"object\") {\n\t\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t\t}\n\n\t\t\tif (typeof child === \"string\") {\n\t\t\t\tvalue = ret = renderer.text(child, scope, hydrationData);\n\t\t\t} else {\n\t\t\t\tret = undefined;\n\t\t\t}\n\t\t}\n\n\t\tvalues[ni] = value;\n\t\tnewRetained[ni] = ret;\n\t}\n\n\t// cleanup remaining retainers\n\tfor (; oi < oldLength; oi++) {\n\t\tconst ret = oldRetained[oi];\n\t\tif (\n\t\t\ttypeof ret === \"object\" &&\n\t\t\t(typeof ret.el.key === \"undefined\" ||\n\t\t\t\t!seenKeys ||\n\t\t\t\t!seenKeys.has(ret.el.key))\n\t\t) {\n\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t}\n\t}\n\n\tif (childrenByKey !== undefined && childrenByKey.size > 0) {\n\t\t(graveyard = graveyard || []).push(...childrenByKey.values());\n\t}\n\n\tparent.children = unwrap(newRetained);\n\tif (isAsync) {\n\t\tlet childValues1 = Promise.all(values).finally(() => {\n\t\t\tif (graveyard) {\n\t\t\t\tfor (let i = 0; i < graveyard.length; i++) {\n\t\t\t\t\tunmount(renderer, host, ctx, graveyard[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tlet onChildValues!: Function;\n\t\tchildValues1 = Promise.race([\n\t\t\tchildValues1,\n\t\t\tnew Promise((resolve) => (onChildValues = resolve)),\n\t\t]);\n\n\t\tif (parent.onNextValues) {\n\t\t\tparent.onNextValues(childValues1);\n\t\t}\n\n\t\tparent.onNextValues = onChildValues;\n\t\treturn childValues1.then((childValues) => {\n\t\t\tparent.inflightValue = parent.fallbackValue = undefined;\n\t\t\treturn normalize(childValues);\n\t\t});\n\t} else {\n\t\tif (graveyard) {\n\t\t\tfor (let i = 0; i < graveyard.length; i++) {\n\t\t\t\tunmount(renderer, host, ctx, graveyard[i]);\n\t\t\t}\n\t\t}\n\n\t\tif (parent.onNextValues) {\n\t\t\tparent.onNextValues(values);\n\t\t\tparent.onNextValues = undefined;\n\t\t}\n\n\t\tparent.inflightValue = parent.fallbackValue = undefined;\n\t\t// We can assert there are no promises in the array because isAsync is false\n\t\treturn normalize(values as Array>);\n\t}\n}\n\nfunction createChildrenByKey(\n\tchildren: Array>,\n\toffset: number,\n): Map> {\n\tconst childrenByKey = new Map>();\n\tfor (let i = offset; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (typeof child === \"object\" && typeof child.el.key !== \"undefined\") {\n\t\t\tchildrenByKey.set(child.el.key, child);\n\t\t}\n\t}\n\n\treturn childrenByKey;\n}\n\nfunction getInflightValue(\n\tchild: RetainerChild,\n): Promise> | ElementValue {\n\tif (typeof child !== \"object\") {\n\t\treturn child;\n\t}\n\n\tconst ctx: ContextImpl | undefined =\n\t\ttypeof child.el.tag === \"function\" ? child.ctx : undefined;\n\tif (ctx && ctx.f & IsUpdating && ctx.inflightValue) {\n\t\treturn ctx.inflightValue;\n\t} else if (child.inflightValue) {\n\t\treturn child.inflightValue;\n\t}\n\n\treturn getValue(child);\n}\n\nfunction updateRaw(\n\trenderer: RendererImpl,\n\tret: Retainer,\n\tscope: TScope | undefined,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): ElementValue {\n\tconst props = ret.el.props;\n\tif (!oldProps || oldProps.value !== props.value) {\n\t\tret.value = renderer.raw(props.value as any, scope, hydrationData);\n\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\tret.el.ref(ret.value);\n\t\t}\n\t}\n\n\treturn ret.value;\n}\n\nfunction updateFragment(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tconst childValues = diffChildren(\n\t\trenderer,\n\t\troot,\n\t\thost,\n\t\tctx,\n\t\tscope,\n\t\tret,\n\t\tret.el.props.children as any,\n\t\thydrationData,\n\t);\n\n\tif (isPromiseLike(childValues)) {\n\t\tret.inflightValue = childValues.then((childValues) => unwrap(childValues));\n\t\treturn ret.inflightValue;\n\t}\n\n\treturn unwrap(childValues);\n}\n\nfunction updateHost(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tconst el = ret.el;\n\tconst tag = el.tag as string | symbol;\n\tlet hydrationValue: TNode | string | undefined;\n\tif (el.tag === Portal) {\n\t\troot = ret.value = el.props.root as any;\n\t} else {\n\t\tif (hydrationData !== undefined) {\n\t\t\tconst value = hydrationData.children.shift();\n\t\t\thydrationValue = value;\n\t\t}\n\t}\n\n\tscope = renderer.scope(scope, tag, el.props);\n\tlet childHydrationData: HydrationData | undefined;\n\tif (hydrationValue != null && typeof hydrationValue !== \"string\") {\n\t\tchildHydrationData = renderer.hydrate(tag, hydrationValue, el.props);\n\n\t\tif (childHydrationData === undefined) {\n\t\t\thydrationValue = undefined;\n\t\t}\n\t}\n\tconst childValues = diffChildren(\n\t\trenderer,\n\t\troot,\n\t\tret,\n\t\tctx,\n\t\tscope,\n\t\tret,\n\t\tret.el.props.children as any,\n\t\tchildHydrationData,\n\t);\n\n\tif (isPromiseLike(childValues)) {\n\t\tret.inflightValue = childValues.then((childValues) =>\n\t\t\tcommitHost(renderer, scope, ret, childValues, oldProps, hydrationValue),\n\t\t);\n\n\t\treturn ret.inflightValue;\n\t}\n\n\treturn commitHost(\n\t\trenderer,\n\t\tscope,\n\t\tret,\n\t\tchildValues,\n\t\toldProps,\n\t\thydrationValue,\n\t);\n}\n\nfunction commitHost(\n\trenderer: RendererImpl,\n\tscope: TScope,\n\tret: Retainer,\n\tchildValues: Array,\n\toldProps: Record | undefined,\n\thydrationValue: TNode | undefined,\n): ElementValue {\n\tconst tag = ret.el.tag as string | symbol;\n\tlet value = ret.value as TNode;\n\tif (hydrationValue != null) {\n\t\tvalue = ret.value = hydrationValue;\n\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\tret.el.ref(value);\n\t\t}\n\t}\n\n\tlet props = ret.el.props;\n\tlet copied: Set | undefined;\n\tif (tag !== Portal) {\n\t\tif (value == null) {\n\t\t\t// This assumes that renderer.create does not return nullish values.\n\t\t\tvalue = ret.value = renderer.create(tag, props, scope);\n\t\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\t\tret.el.ref(value);\n\t\t\t}\n\t\t}\n\n\t\tfor (const propName in {...oldProps, ...props}) {\n\t\t\tconst propValue = props[propName];\n\t\t\tif (propValue === Copy) {\n\t\t\t\t// TODO: The Copy tag doubles as a way to skip the patching of a prop.\n\t\t\t\t// Not sure about this feature. Should probably be removed.\n\t\t\t\t(copied = copied || new Set()).add(propName);\n\t\t\t} else if (!SPECIAL_PROPS.has(propName)) {\n\t\t\t\trenderer.patch(\n\t\t\t\t\ttag,\n\t\t\t\t\tvalue,\n\t\t\t\t\tpropName,\n\t\t\t\t\tpropValue,\n\t\t\t\t\toldProps && oldProps[propName],\n\t\t\t\t\tscope,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (copied) {\n\t\tprops = {...ret.el.props};\n\t\tfor (const name of copied) {\n\t\t\tprops[name] = oldProps && oldProps[name];\n\t\t}\n\n\t\tret.el = new Element(tag, props);\n\t}\n\n\trenderer.arrange(\n\t\ttag,\n\t\tvalue,\n\t\tprops,\n\t\tchildValues,\n\t\toldProps,\n\t\twrap(ret.cachedChildValues),\n\t);\n\tret.cachedChildValues = unwrap(childValues);\n\tif (tag === Portal) {\n\t\tflush(renderer, ret.value);\n\t\treturn;\n\t}\n\n\treturn value;\n}\n\nfunction flush(\n\trenderer: RendererImpl,\n\troot: TRoot,\n\tinitiator?: ContextImpl,\n) {\n\trenderer.flush(root);\n\tif (typeof root !== \"object\" || root === null) {\n\t\treturn;\n\t}\n\n\tconst flushMap = flushMaps.get(root as any);\n\tif (flushMap) {\n\t\tif (initiator) {\n\t\t\tconst flushMap1 = new Map>();\n\t\t\tfor (let [ctx, callbacks] of flushMap) {\n\t\t\t\tif (!ctxContains(initiator, ctx)) {\n\t\t\t\t\tflushMap.delete(ctx);\n\t\t\t\t\tflushMap1.set(ctx, callbacks);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (flushMap1.size) {\n\t\t\t\tflushMaps.set(root as any, flushMap1);\n\t\t\t} else {\n\t\t\t\tflushMaps.delete(root as any);\n\t\t\t}\n\t\t} else {\n\t\t\tflushMaps.delete(root as any);\n\t\t}\n\n\t\tfor (const [ctx, callbacks] of flushMap) {\n\t\t\tconst value = renderer.read(getValue(ctx.ret));\n\t\t\tfor (const callback of callbacks) {\n\t\t\t\tcallback(value);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction unmount(\n\trenderer: RendererImpl,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n): void {\n\tif (typeof ret.el.tag === \"function\") {\n\t\tctx = ret.ctx as ContextImpl;\n\t\tunmountComponent(ctx);\n\t} else if (ret.el.tag === Portal) {\n\t\thost = ret;\n\t\trenderer.arrange(\n\t\t\tPortal,\n\t\t\thost.value as TNode,\n\t\t\thost.el.props,\n\t\t\t[],\n\t\t\thost.el.props,\n\t\t\twrap(host.cachedChildValues),\n\t\t);\n\t\tflush(renderer, host.value);\n\t} else if (ret.el.tag !== Fragment) {\n\t\tif (isEventTarget(ret.value)) {\n\t\t\tconst records = getListenerRecords(ctx, host);\n\t\t\tfor (let i = 0; i < records.length; i++) {\n\t\t\t\tconst record = records[i];\n\t\t\t\tret.value.removeEventListener(\n\t\t\t\t\trecord.type,\n\t\t\t\t\trecord.callback,\n\t\t\t\t\trecord.options,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\trenderer.dispose(ret.el.tag, ret.value as TNode, ret.el.props);\n\t\thost = ret;\n\t}\n\n\tconst children = wrap(ret.children);\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (typeof child === \"object\") {\n\t\t\tunmount(renderer, host, ctx, child);\n\t\t}\n\t}\n}\n\n/*** CONTEXT FLAGS ***/\n/**\n * A flag which is true when the component is initialized or updated by an\n * ancestor component or the root render call.\n *\n * Used to determine things like whether the nearest host ancestor needs to be\n * rearranged.\n */\nconst IsUpdating = 1 << 0;\n\n/**\n * A flag which is true when the component is synchronously executing.\n *\n * Used to guard against components triggering stack overflow or generator error.\n */\nconst IsSyncExecuting = 1 << 1;\n\n/**\n * A flag which is true when the component is in a for...of loop.\n */\nconst IsInForOfLoop = 1 << 2;\n\n/**\n * A flag which is true when the component is in a for await...of loop.\n */\nconst IsInForAwaitOfLoop = 1 << 3;\n\n/**\n * A flag which is true when the component starts the render loop but has not\n * yielded yet.\n *\n * Used to make sure that components yield at least once per loop.\n */\nconst NeedsToYield = 1 << 4;\n\n/**\n * A flag used by async generator components in conjunction with the\n * onAvailable callback to mark whether new props can be pulled via the context\n * async iterator. See the Symbol.asyncIterator method and the\n * resumeCtxIterator function.\n */\nconst PropsAvailable = 1 << 5;\n\n/**\n * A flag which is set when a component errors.\n *\n * This is mainly used to prevent some false positives in \"component yields or\n * returns undefined\" warnings. The reason we’re using this versus IsUnmounted\n * is a very troubling test (cascades sync generator parent and sync generator\n * child) where synchronous code causes a stack overflow error in a\n * non-deterministic way. Deeply disturbing stuff.\n */\nconst IsErrored = 1 << 6;\n\n/**\n * A flag which is set when the component is unmounted. Unmounted components\n * are no longer in the element tree and cannot refresh or rerender.\n */\nconst IsUnmounted = 1 << 7;\n\n/**\n * A flag which indicates that the component is a sync generator component.\n */\nconst IsSyncGen = 1 << 8;\n\n/**\n * A flag which indicates that the component is an async generator component.\n */\nconst IsAsyncGen = 1 << 9;\n\n/**\n * A flag which is set while schedule callbacks are called.\n */\nconst IsScheduling = 1 << 10;\n\n/**\n * A flag which is set when a schedule callback calls refresh.\n */\nconst IsSchedulingRefresh = 1 << 11;\n\nexport interface Context extends Crank.Context {}\n\n/**\n * An interface which can be extended to provide strongly typed provisions.\n * See Context.prototype.consume and Context.prototype.provide.\n */\nexport interface ProvisionMap extends Crank.ProvisionMap {}\n\nconst provisionMaps = new WeakMap>();\n\nconst scheduleMap = new WeakMap>();\n\nconst cleanupMap = new WeakMap>();\n\n// keys are roots\nconst flushMaps = new WeakMap>>();\n\n/**\n * @internal\n * The internal class which holds context data.\n */\nclass ContextImpl<\n\tTNode = unknown,\n\tTScope = unknown,\n\tTRoot extends TNode = TNode,\n\tTResult = unknown,\n> {\n\t/** A bitmask. See CONTEXT FLAGS above. */\n\tdeclare f: number;\n\n\t/** The actual context associated with this impl. */\n\tdeclare owner: Context;\n\n\t/**\n\t * The renderer which created this context.\n\t */\n\tdeclare renderer: RendererImpl;\n\n\t/** The root node as set by the nearest ancestor portal. */\n\tdeclare root: TRoot | undefined;\n\n\t/**\n\t * The nearest ancestor host or portal retainer.\n\t *\n\t * When refresh is called, the host element will be arranged as the last step\n\t * of the commit, to make sure the parent’s children properly reflects the\n\t * components’s children.\n\t */\n\tdeclare host: Retainer;\n\n\t/** The parent context impl. */\n\tdeclare parent: ContextImpl | undefined;\n\n\t/** The value of the scope at the point of element’s creation. */\n\tdeclare scope: TScope | undefined;\n\n\t/** The internal node associated with this context. */\n\tdeclare ret: Retainer;\n\n\t/**\n\t * The iterator returned by the component function.\n\t *\n\t * Existence of this property implies that the component is a generator\n\t * component. It is deleted when a component is returned.\n\t */\n\tdeclare iterator:\n\t\t| Iterator\n\t\t| AsyncIterator\n\t\t| undefined;\n\n\t// A \"block\" is a promise which represents the duration during which new\n\t// updates are queued, whereas \"value\" is a promise which represents the\n\t// actual pending result of rendering.\n\tdeclare inflightBlock: Promise | undefined;\n\tdeclare inflightValue: Promise> | undefined;\n\tdeclare enqueuedBlock: Promise | undefined;\n\tdeclare enqueuedValue: Promise> | undefined;\n\n\t// The following callbacks are used to implement the async generator render\n\t// loop behavior.\n\tdeclare onProps: ((props: Record) => unknown) | undefined;\n\tdeclare onPropsRequested: Function | undefined;\n\tconstructor(\n\t\trenderer: RendererImpl,\n\t\troot: TRoot | undefined,\n\t\thost: Retainer,\n\t\tparent: ContextImpl | undefined,\n\t\tscope: TScope | undefined,\n\t\tret: Retainer,\n\t) {\n\t\tthis.f = 0;\n\t\tthis.owner = new Context(this);\n\t\tthis.renderer = renderer;\n\t\tthis.root = root;\n\t\tthis.host = host;\n\t\tthis.parent = parent;\n\t\tthis.scope = scope;\n\t\tthis.ret = ret;\n\n\t\tthis.iterator = undefined;\n\t\tthis.inflightBlock = undefined;\n\t\tthis.inflightValue = undefined;\n\t\tthis.enqueuedBlock = undefined;\n\t\tthis.enqueuedValue = undefined;\n\t\tthis.onProps = undefined;\n\t\tthis.onPropsRequested = undefined;\n\t}\n}\n\nconst _ContextImpl = Symbol.for(\"crank.ContextImpl\");\n\ntype ComponentProps = T extends () => any\n\t? {}\n\t: T extends (props: infer U) => any\n\t\t? U\n\t\t: T;\n/**\n * A class which is instantiated and passed to every component as its this\n * value. Contexts form a tree just like elements and all components in the\n * element tree are connected via contexts. Components can use this tree to\n * communicate data upwards via events and downwards via provisions.\n *\n * @template [T=*] - The expected shape of the props passed to the component,\n * or a component function. Used to strongly type the Context iterator methods.\n * @template [TResult=*] - The readable element value type. It is used in\n * places such as the return value of refresh and the argument passed to\n * schedule and cleanup callbacks.\n */\nexport class Context implements EventTarget {\n\t/**\n\t * @internal\n\t */\n\tdeclare [_ContextImpl]: ContextImpl;\n\n\t// TODO: If we could make the constructor function take a nicer value, it\n\t// would be useful for testing purposes.\n\tconstructor(impl: ContextImpl) {\n\t\tthis[_ContextImpl] = impl;\n\t}\n\n\t/**\n\t * The current props of the associated element.\n\t */\n\tget props(): ComponentProps {\n\t\treturn this[_ContextImpl].ret.el.props as ComponentProps;\n\t}\n\n\t/**\n\t * The current value of the associated element.\n\t *\n\t * @deprecated\n\t */\n\tget value(): TResult {\n\t\treturn this[_ContextImpl].renderer.read(getValue(this[_ContextImpl].ret));\n\t}\n\n\t*[Symbol.iterator](): Generator> {\n\t\tconst ctx = this[_ContextImpl];\n\t\ttry {\n\t\t\tctx.f |= IsInForOfLoop;\n\t\t\twhile (!(ctx.f & IsUnmounted)) {\n\t\t\t\tif (ctx.f & NeedsToYield) {\n\t\t\t\t\tthrow new Error(\"Context iterated twice without a yield\");\n\t\t\t\t} else {\n\t\t\t\t\tctx.f |= NeedsToYield;\n\t\t\t\t}\n\n\t\t\t\tyield ctx.ret.el.props as ComponentProps;\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsInForOfLoop;\n\t\t}\n\t}\n\n\tasync *[Symbol.asyncIterator](): AsyncGenerator> {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (ctx.f & IsSyncGen) {\n\t\t\tthrow new Error(\"Use for...of in sync generator components\");\n\t\t}\n\n\t\ttry {\n\t\t\tctx.f |= IsInForAwaitOfLoop;\n\t\t\twhile (!(ctx.f & IsUnmounted)) {\n\t\t\t\tif (ctx.f & NeedsToYield) {\n\t\t\t\t\tthrow new Error(\"Context iterated twice without a yield\");\n\t\t\t\t} else {\n\t\t\t\t\tctx.f |= NeedsToYield;\n\t\t\t\t}\n\n\t\t\t\tif (ctx.f & PropsAvailable) {\n\t\t\t\t\tctx.f &= ~PropsAvailable;\n\t\t\t\t\tyield ctx.ret.el.props as ComponentProps;\n\t\t\t\t} else {\n\t\t\t\t\tconst props = await new Promise((resolve) => (ctx.onProps = resolve));\n\t\t\t\t\tif (ctx.f & IsUnmounted) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tyield props as ComponentProps;\n\t\t\t\t}\n\n\t\t\t\tif (ctx.onPropsRequested) {\n\t\t\t\t\tctx.onPropsRequested();\n\t\t\t\t\tctx.onPropsRequested = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsInForAwaitOfLoop;\n\t\t\tif (ctx.onPropsRequested) {\n\t\t\t\tctx.onPropsRequested();\n\t\t\t\tctx.onPropsRequested = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Re-executes a component.\n\t *\n\t * @returns The rendered value of the component or a promise thereof if the\n\t * component or its children execute asynchronously.\n\t *\n\t * The refresh method works a little differently for async generator\n\t * components, in that it will resume the Context’s props async iterator\n\t * rather than resuming execution. This is because async generator components\n\t * are perpetually resumed independent of updates, and rely on the props\n\t * async iterator to suspend.\n\t */\n\trefresh(): Promise | TResult {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (ctx.f & IsUnmounted) {\n\t\t\tconsole.error(\"Component is unmounted\");\n\t\t\treturn ctx.renderer.read(undefined);\n\t\t} else if (ctx.f & IsSyncExecuting) {\n\t\t\tconsole.error(\"Component is already executing\");\n\t\t\treturn ctx.renderer.read(getValue(ctx.ret));\n\t\t}\n\n\t\tconst value = enqueueComponentRun(ctx);\n\t\tif (isPromiseLike(value)) {\n\t\t\treturn (value as Promise).then((value) => ctx.renderer.read(value));\n\t\t}\n\n\t\treturn ctx.renderer.read(value);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component commits. Will only\n\t * fire once per callback and update.\n\t */\n\tschedule(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet callbacks = scheduleMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tscheduleMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component’s children are\n\t * rendered into the root. Will only fire once per callback and render.\n\t */\n\tflush(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (typeof ctx.root !== \"object\" || ctx.root === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet flushMap = flushMaps.get(ctx.root);\n\t\tif (!flushMap) {\n\t\t\tflushMap = new Map>();\n\t\t\tflushMaps.set(ctx.root, flushMap);\n\t\t}\n\n\t\tlet callbacks = flushMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tflushMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component unmounts. Will only\n\t * fire once per callback.\n\t */\n\tcleanup(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\n\t\tif (ctx.f & IsUnmounted) {\n\t\t\tconst value = ctx.renderer.read(getValue(ctx.ret));\n\t\t\tcallback(value);\n\t\t\treturn;\n\t\t}\n\n\t\tlet callbacks = cleanupMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tcleanupMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\tconsume(key: TKey): ProvisionMap[TKey];\n\tconsume(key: unknown): any;\n\tconsume(key: unknown): any {\n\t\tfor (\n\t\t\tlet ctx = this[_ContextImpl].parent;\n\t\t\tctx !== undefined;\n\t\t\tctx = ctx.parent\n\t\t) {\n\t\t\tconst provisions = provisionMaps.get(ctx);\n\t\t\tif (provisions && provisions.has(key)) {\n\t\t\t\treturn provisions.get(key)!;\n\t\t\t}\n\t\t}\n\t}\n\n\tprovide(\n\t\tkey: TKey,\n\t\tvalue: ProvisionMap[TKey],\n\t): void;\n\tprovide(key: unknown, value: any): void;\n\tprovide(key: unknown, value: any): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet provisions = provisionMaps.get(ctx);\n\t\tif (!provisions) {\n\t\t\tprovisions = new Map();\n\t\t\tprovisionMaps.set(ctx, provisions);\n\t\t}\n\n\t\tprovisions.set(key, value);\n\t}\n\n\taddEventListener(\n\t\ttype: T,\n\t\tlistener: MappedEventListenerOrEventListenerObject | null,\n\t\toptions?: boolean | AddEventListenerOptions,\n\t): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet listeners: Array;\n\t\tif (!isListenerOrListenerObject(listener)) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tconst listeners1 = listenersMap.get(ctx);\n\t\t\tif (listeners1) {\n\t\t\t\tlisteners = listeners1;\n\t\t\t} else {\n\t\t\t\tlisteners = [];\n\t\t\t\tlistenersMap.set(ctx, listeners);\n\t\t\t}\n\t\t}\n\n\t\toptions = normalizeListenerOptions(options);\n\t\tlet callback: MappedEventListener;\n\t\tif (typeof listener === \"object\") {\n\t\t\tcallback = () => listener.handleEvent.apply(listener, arguments as any);\n\t\t} else {\n\t\t\tcallback = listener;\n\t\t}\n\n\t\tconst record: EventListenerRecord = {type, listener, callback, options};\n\t\tif (options.once) {\n\t\t\trecord.callback = function (this: any) {\n\t\t\t\tconst i = listeners.indexOf(record);\n\t\t\t\tif (i !== -1) {\n\t\t\t\t\tlisteners.splice(i, 1);\n\t\t\t\t}\n\n\t\t\t\treturn callback.apply(this, arguments as any);\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tlisteners.some(\n\t\t\t\t(record1) =>\n\t\t\t\t\trecord.type === record1.type &&\n\t\t\t\t\trecord.listener === record1.listener &&\n\t\t\t\t\t!record.options.capture === !record1.options.capture,\n\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tlisteners.push(record);\n\n\t\t// TODO: is it possible to separate out the EventTarget delegation logic\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tvalue.addEventListener(record.type, record.callback, record.options);\n\t\t\t}\n\t\t}\n\t}\n\n\tremoveEventListener(\n\t\ttype: T,\n\t\tlistener: MappedEventListenerOrEventListenerObject | null,\n\t\toptions?: EventListenerOptions | boolean,\n\t): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tconst listeners = listenersMap.get(ctx);\n\t\tif (listeners == null || !isListenerOrListenerObject(listener)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options1 = normalizeListenerOptions(options);\n\t\tconst i = listeners.findIndex(\n\t\t\t(record) =>\n\t\t\t\trecord.type === type &&\n\t\t\t\trecord.listener === listener &&\n\t\t\t\t!record.options.capture === !options1.capture,\n\t\t);\n\n\t\tif (i === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst record = listeners[i];\n\t\tlisteners.splice(i, 1);\n\n\t\t// TODO: is it possible to separate out the EventTarget delegation logic\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tvalue.removeEventListener(record.type, record.callback, record.options);\n\t\t\t}\n\t\t}\n\t}\n\n\tdispatchEvent(ev: Event): boolean {\n\t\tconst ctx = this[_ContextImpl];\n\t\tconst path: Array = [];\n\t\tfor (\n\t\t\tlet parent = ctx.parent;\n\t\t\tparent !== undefined;\n\t\t\tparent = parent.parent\n\t\t) {\n\t\t\tpath.push(parent);\n\t\t}\n\n\t\t// We patch the stopImmediatePropagation method because ev.cancelBubble\n\t\t// only informs us if stopPropagation was called and there are no\n\t\t// properties which inform us if stopImmediatePropagation was called.\n\t\tlet immediateCancelBubble = false;\n\t\tconst stopImmediatePropagation = ev.stopImmediatePropagation;\n\t\tsetEventProperty(ev, \"stopImmediatePropagation\", () => {\n\t\t\timmediateCancelBubble = true;\n\t\t\treturn stopImmediatePropagation.call(ev);\n\t\t});\n\t\tsetEventProperty(ev, \"target\", ctx.owner);\n\n\t\t// The only possible errors in this block are errors thrown by callbacks,\n\t\t// and dispatchEvent will only log these errors rather than throwing\n\t\t// them. Therefore, we place all code in a try block, log errors in the\n\t\t// catch block, and use an unsafe return statement in the finally block.\n\t\t//\n\t\t// Each early return within the try block returns true because while the\n\t\t// return value is overridden in the finally block, TypeScript\n\t\t// (justifiably) does not recognize the unsafe return statement.\n\t\ttry {\n\t\t\tsetEventProperty(ev, \"eventPhase\", CAPTURING_PHASE);\n\t\t\tfor (let i = path.length - 1; i >= 0; i--) {\n\t\t\t\tconst target = path[i];\n\t\t\t\tconst listeners = listenersMap.get(target);\n\t\t\t\tif (listeners) {\n\t\t\t\t\tsetEventProperty(ev, \"currentTarget\", target.owner);\n\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\tif (record.type === ev.type && record.options.capture) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\trecord.callback.call(target.owner, ev);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t{\n\t\t\t\tsetEventProperty(ev, \"eventPhase\", AT_TARGET);\n\t\t\t\tsetEventProperty(ev, \"currentTarget\", ctx.owner);\n\n\t\t\t\t// dispatchEvent calls the prop callback if it exists\n\t\t\t\tlet propCallback = ctx.ret.el.props[\"on\" + ev.type] as unknown;\n\t\t\t\tif (typeof propCallback === \"function\") {\n\t\t\t\t\tpropCallback(ev);\n\t\t\t\t\tif (immediateCancelBubble || ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Checks for camel-cased event props\n\t\t\t\t\tfor (const propName in ctx.ret.el.props) {\n\t\t\t\t\t\tif (propName.toLowerCase() === \"on\" + ev.type.toLowerCase()) {\n\t\t\t\t\t\t\tpropCallback = ctx.ret.el.props[propName] as unknown;\n\t\t\t\t\t\t\tif (typeof propCallback === \"function\") {\n\t\t\t\t\t\t\t\tpropCallback(ev);\n\t\t\t\t\t\t\t\tif (immediateCancelBubble || ev.cancelBubble) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst listeners = listenersMap.get(ctx);\n\t\t\t\tif (listeners) {\n\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\tif (record.type === ev.type) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\trecord.callback.call(ctx.owner, ev);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (ev.bubbles) {\n\t\t\t\tsetEventProperty(ev, \"eventPhase\", BUBBLING_PHASE);\n\t\t\t\tfor (let i = 0; i < path.length; i++) {\n\t\t\t\t\tconst target = path[i];\n\t\t\t\t\tconst listeners = listenersMap.get(target);\n\t\t\t\t\tif (listeners) {\n\t\t\t\t\t\tsetEventProperty(ev, \"currentTarget\", target.owner);\n\t\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\t\tif (record.type === ev.type && !record.options.capture) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\trecord.callback.call(target.owner, ev);\n\t\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tsetEventProperty(ev, \"eventPhase\", NONE);\n\t\t\tsetEventProperty(ev, \"currentTarget\", null);\n\t\t\t// eslint-disable-next-line no-unsafe-finally\n\t\t\treturn !ev.defaultPrevented;\n\t\t}\n\t}\n}\n\n/*** PRIVATE CONTEXT FUNCTIONS ***/\nfunction ctxContains(parent: ContextImpl, child: ContextImpl): boolean {\n\tfor (\n\t\tlet current: ContextImpl | undefined = child;\n\t\tcurrent !== undefined;\n\t\tcurrent = current.parent\n\t) {\n\t\tif (current === parent) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nfunction updateComponent(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tparent: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tlet ctx: ContextImpl;\n\tif (oldProps) {\n\t\tctx = ret.ctx as ContextImpl;\n\t\tif (ctx.f & IsSyncExecuting) {\n\t\t\tconsole.error(\"Component is already executing\");\n\t\t\treturn ret.cachedChildValues;\n\t\t}\n\t} else {\n\t\tctx = ret.ctx = new ContextImpl(renderer, root, host, parent, scope, ret);\n\t}\n\n\tctx.f |= IsUpdating;\n\treturn enqueueComponentRun(ctx, hydrationData);\n}\n\nfunction updateComponentChildren(\n\tctx: ContextImpl,\n\tchildren: Children,\n\thydrationData?: HydrationData | undefined,\n): Promise> | ElementValue {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t} else if (ctx.f & IsErrored) {\n\t\t// This branch is necessary for some race conditions where this function is\n\t\t// called after iterator.throw() in async generator components.\n\t\treturn;\n\t} else if (children === undefined) {\n\t\tconsole.error(\n\t\t\t\"A component has returned or yielded undefined. If this was intentional, return or yield null instead.\",\n\t\t);\n\t}\n\n\tlet childValues: Promise> | Array;\n\ttry {\n\t\t// TODO: WAT\n\t\t// We set the isExecuting flag in case a child component dispatches an event\n\t\t// which bubbles to this component and causes a synchronous refresh().\n\t\tctx.f |= IsSyncExecuting;\n\t\tchildValues = diffChildren(\n\t\t\tctx.renderer,\n\t\t\tctx.root,\n\t\t\tctx.host,\n\t\t\tctx,\n\t\t\tctx.scope,\n\t\t\tctx.ret,\n\t\t\tnarrow(children),\n\t\t\thydrationData,\n\t\t);\n\t} finally {\n\t\tctx.f &= ~IsSyncExecuting;\n\t}\n\n\tif (isPromiseLike(childValues)) {\n\t\tctx.ret.inflightValue = childValues.then((childValues) =>\n\t\t\tcommitComponent(ctx, childValues),\n\t\t);\n\n\t\treturn ctx.ret.inflightValue;\n\t}\n\n\treturn commitComponent(ctx, childValues);\n}\n\nfunction commitComponent(\n\tctx: ContextImpl,\n\tvalues: Array,\n): ElementValue {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t}\n\n\tconst listeners = listenersMap.get(ctx);\n\tif (listeners && listeners.length) {\n\t\tfor (let i = 0; i < values.length; i++) {\n\t\t\tconst value = values[i];\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tfor (let j = 0; j < listeners.length; j++) {\n\t\t\t\t\tconst record = listeners[j];\n\t\t\t\t\tvalue.addEventListener(record.type, record.callback, record.options);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst oldValues = wrap(ctx.ret.cachedChildValues);\n\tlet value = (ctx.ret.cachedChildValues = unwrap(values));\n\tif (ctx.f & IsScheduling) {\n\t\tctx.f |= IsSchedulingRefresh;\n\t} else if (!(ctx.f & IsUpdating)) {\n\t\t// If we’re not updating the component, which happens when components are\n\t\t// refreshed, or when async generator components iterate, we have to do a\n\t\t// little bit housekeeping when a component’s child values have changed.\n\t\tif (!arrayEqual(oldValues, values)) {\n\t\t\tconst records = getListenerRecords(ctx.parent, ctx.host);\n\t\t\tif (records.length) {\n\t\t\t\tfor (let i = 0; i < values.length; i++) {\n\t\t\t\t\tconst value = values[i];\n\t\t\t\t\tif (isEventTarget(value)) {\n\t\t\t\t\t\tfor (let j = 0; j < records.length; j++) {\n\t\t\t\t\t\t\tconst record = records[j];\n\t\t\t\t\t\t\tvalue.addEventListener(\n\t\t\t\t\t\t\t\trecord.type,\n\t\t\t\t\t\t\t\trecord.callback,\n\t\t\t\t\t\t\t\trecord.options,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// rearranging the nearest ancestor host element\n\t\t\tconst host = ctx.host;\n\t\t\tconst oldHostValues = wrap(host.cachedChildValues);\n\t\t\tinvalidate(ctx, host);\n\t\t\tconst hostValues = getChildValues(host);\n\t\t\tctx.renderer.arrange(\n\t\t\t\thost.el.tag as string | symbol,\n\t\t\t\thost.value as TNode,\n\t\t\t\thost.el.props,\n\t\t\t\thostValues,\n\t\t\t\t// props and oldProps are the same because the host isn’t updated.\n\t\t\t\thost.el.props,\n\t\t\t\toldHostValues,\n\t\t\t);\n\t\t}\n\n\t\tflush(ctx.renderer, ctx.root, ctx);\n\t}\n\n\tconst callbacks = scheduleMap.get(ctx);\n\tif (callbacks) {\n\t\tscheduleMap.delete(ctx);\n\t\tctx.f |= IsScheduling;\n\t\tconst value1 = ctx.renderer.read(value);\n\t\tfor (const callback of callbacks) {\n\t\t\tcallback(value1);\n\t\t}\n\n\t\tctx.f &= ~IsScheduling;\n\t\t// Handles an edge case where refresh() is called during a schedule().\n\t\tif (ctx.f & IsSchedulingRefresh) {\n\t\t\tctx.f &= ~IsSchedulingRefresh;\n\t\t\tvalue = getValue(ctx.ret);\n\t\t}\n\t}\n\n\tctx.f &= ~IsUpdating;\n\treturn value;\n}\n\nfunction invalidate(ctx: ContextImpl, host: Retainer): void {\n\tfor (\n\t\tlet parent = ctx.parent;\n\t\tparent !== undefined && parent.host === host;\n\t\tparent = parent.parent\n\t) {\n\t\tparent.ret.cachedChildValues = undefined;\n\t}\n\n\thost.cachedChildValues = undefined;\n}\n\nfunction arrayEqual(arr1: Array, arr2: Array): boolean {\n\tif (arr1.length !== arr2.length) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < arr1.length; i++) {\n\t\tconst value1 = arr1[i];\n\t\tconst value2 = arr2[i];\n\t\tif (value1 !== value2) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/** Enqueues and executes the component associated with the context. */\nfunction enqueueComponentRun(\n\tctx: ContextImpl,\n\thydrationData?: HydrationData | undefined,\n): Promise> | ElementValue {\n\tif (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) {\n\t\tif (hydrationData !== undefined) {\n\t\t\tthrow new Error(\"Hydration error\");\n\t\t}\n\n\t\t// This branch will run for non-initial renders of async generator\n\t\t// components when they are not in for...of loops. When in a for...of loop,\n\t\t// async generator components will behave normally.\n\t\t//\n\t\t// Async gen componennts can be in one of three states:\n\t\t//\n\t\t// 1. propsAvailable flag is true: \"available\"\n\t\t//\n\t\t// The component is suspended somewhere in the loop. When the component\n\t\t// reaches the bottom of the loop, it will run again with the next props.\n\t\t//\n\t\t// 2. onAvailable callback is defined: \"suspended\"\n\t\t//\n\t\t// The component has suspended at the bottom of the loop and is waiting\n\t\t// for new props.\n\t\t//\n\t\t// 3. neither 1 or 2: \"Running\"\n\t\t//\n\t\t// The component is suspended somewhere in the loop. When the component\n\t\t// reaches the bottom of the loop, it will suspend.\n\t\t//\n\t\t// Components will never be both available and suspended at\n\t\t// the same time.\n\t\t//\n\t\t// If the component is at the loop bottom, this means that the next value\n\t\t// produced by the component will have the most up to date props, so we can\n\t\t// simply return the current inflight value. Otherwise, we have to wait for\n\t\t// the bottom of the loop to be reached before returning the inflight\n\t\t// value.\n\t\tconst isAtLoopbottom = ctx.f & IsInForAwaitOfLoop && !ctx.onProps;\n\t\tresumePropsAsyncIterator(ctx);\n\t\tif (isAtLoopbottom) {\n\t\t\tif (ctx.inflightBlock == null) {\n\t\t\t\tctx.inflightBlock = new Promise(\n\t\t\t\t\t(resolve) => (ctx.onPropsRequested = resolve),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn ctx.inflightBlock.then(() => {\n\t\t\t\tctx.inflightBlock = undefined;\n\t\t\t\treturn ctx.inflightValue;\n\t\t\t});\n\t\t}\n\n\t\treturn ctx.inflightValue;\n\t} else if (!ctx.inflightBlock) {\n\t\ttry {\n\t\t\tconst [block, value] = runComponent(ctx, hydrationData);\n\t\t\tif (block) {\n\t\t\t\tctx.inflightBlock = block\n\t\t\t\t\t// TODO: there is some fuckery going on here related to async\n\t\t\t\t\t// generator components resuming when they’re meant to be returned.\n\t\t\t\t\t.then((v) => v)\n\t\t\t\t\t.finally(() => advanceComponent(ctx));\n\t\t\t\t// stepComponent will only return a block if the value is asynchronous\n\t\t\t\tctx.inflightValue = value as Promise>;\n\t\t\t}\n\n\t\t\treturn value;\n\t\t} catch (err) {\n\t\t\tif (!(ctx.f & IsUpdating)) {\n\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t}\n\n\t\t\tthrow err;\n\t\t}\n\t} else if (!ctx.enqueuedBlock) {\n\t\tif (hydrationData !== undefined) {\n\t\t\tthrow new Error(\"Hydration error\");\n\t\t}\n\t\t// We need to assign enqueuedBlock and enqueuedValue synchronously, hence\n\t\t// the Promise constructor call here.\n\t\tlet resolveEnqueuedBlock: Function;\n\t\tctx.enqueuedBlock = new Promise(\n\t\t\t(resolve) => (resolveEnqueuedBlock = resolve),\n\t\t);\n\n\t\tctx.enqueuedValue = ctx.inflightBlock.then(() => {\n\t\t\ttry {\n\t\t\t\tconst [block, value] = runComponent(ctx);\n\t\t\t\tif (block) {\n\t\t\t\t\tresolveEnqueuedBlock(block.finally(() => advanceComponent(ctx)));\n\t\t\t\t}\n\n\t\t\t\treturn value;\n\t\t\t} catch (err) {\n\t\t\t\tif (!(ctx.f & IsUpdating)) {\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t}\n\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t});\n\t}\n\n\treturn ctx.enqueuedValue;\n}\n\n/** Called when the inflight block promise settles. */\nfunction advanceComponent(ctx: ContextImpl): void {\n\tif (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) {\n\t\treturn;\n\t}\n\n\tctx.inflightBlock = ctx.enqueuedBlock;\n\tctx.inflightValue = ctx.enqueuedValue;\n\tctx.enqueuedBlock = undefined;\n\tctx.enqueuedValue = undefined;\n}\n\n/**\n * This function is responsible for executing the component and handling all\n * the different component types. We cannot identify whether a component is a\n * generator or async without calling it and inspecting the return value.\n *\n * @returns {[block, value]} A tuple where\n * block - A possible promise which represents the duration during which the\n * component is blocked from updating.\n * value - A possible promise resolving to the rendered value of children.\n *\n * Each component type will block according to the type of the component.\n * - Sync function components never block and will transparently pass updates\n * to children.\n * - Async function components and async generator components block while\n * executing itself, but will not block for async children.\n * - Sync generator components block while any children are executing, because\n * they are expected to only resume when they’ve actually rendered.\n */\nfunction runComponent(\n\tctx: ContextImpl,\n\thydrationData?: HydrationData | undefined,\n): [\n\tPromise | undefined,\n\tPromise> | ElementValue,\n] {\n\tconst ret = ctx.ret;\n\tconst initial = !ctx.iterator;\n\tif (initial) {\n\t\tresumePropsAsyncIterator(ctx);\n\t\tctx.f |= IsSyncExecuting;\n\t\tclearEventListeners(ctx);\n\t\tlet result: ReturnType;\n\t\ttry {\n\t\t\tresult = (ret.el.tag as Component).call(\n\t\t\t\tctx.owner,\n\t\t\t\tret.el.props,\n\t\t\t\tctx.owner,\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tctx.f |= IsErrored;\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\n\t\tif (isIteratorLike(result)) {\n\t\t\tctx.iterator = result;\n\t\t} else if (isPromiseLike(result)) {\n\t\t\t// async function component\n\t\t\tconst result1 =\n\t\t\t\tresult instanceof Promise ? result : Promise.resolve(result);\n\t\t\tconst value = result1.then(\n\t\t\t\t(result) =>\n\t\t\t\t\tupdateComponentChildren(ctx, result, hydrationData),\n\t\t\t\t(err) => {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t},\n\t\t\t);\n\t\t\treturn [result1.catch(NOOP), value];\n\t\t} else {\n\t\t\t// sync function component\n\t\t\treturn [\n\t\t\t\tundefined,\n\t\t\t\tupdateComponentChildren(ctx, result, hydrationData),\n\t\t\t];\n\t\t}\n\t} else if (hydrationData !== undefined) {\n\t\t// hydration data should only be passed on the initial render\n\t\tthrow new Error(\"Hydration error\");\n\t}\n\n\tlet iteration!: Promise | ChildrenIteratorResult;\n\tif (initial) {\n\t\ttry {\n\t\t\tctx.f |= IsSyncExecuting;\n\t\t\titeration = ctx.iterator!.next();\n\t\t} catch (err) {\n\t\t\tctx.f |= IsErrored;\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\n\t\tif (isPromiseLike(iteration)) {\n\t\t\tctx.f |= IsAsyncGen;\n\t\t} else {\n\t\t\tctx.f |= IsSyncGen;\n\t\t}\n\t}\n\n\tif (ctx.f & IsSyncGen) {\n\t\t// sync generator component\n\t\tif (!initial) {\n\t\t\ttry {\n\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\titeration = ctx.iterator!.next(ctx.renderer.read(getValue(ret)));\n\t\t\t} catch (err) {\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t}\n\t\t}\n\n\t\tif (isPromiseLike(iteration)) {\n\t\t\tthrow new Error(\"Mixed generator component\");\n\t\t}\n\n\t\tif (\n\t\t\tctx.f & IsInForOfLoop &&\n\t\t\t!(ctx.f & NeedsToYield) &&\n\t\t\t!(ctx.f & IsUnmounted)\n\t\t) {\n\t\t\tconsole.error(\"Component yielded more than once in for...of loop\");\n\t\t}\n\n\t\tctx.f &= ~NeedsToYield;\n\t\tif (iteration.done) {\n\t\t\tctx.f &= ~IsSyncGen;\n\t\t\tctx.iterator = undefined;\n\t\t}\n\n\t\tlet value: Promise> | ElementValue;\n\t\ttry {\n\t\t\tvalue = updateComponentChildren(\n\t\t\t\tctx,\n\t\t\t\t// Children can be void so we eliminate that here\n\t\t\t\titeration.value as Children,\n\t\t\t\thydrationData,\n\t\t\t);\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tvalue = value.catch((err) => handleChildError(ctx, err));\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tvalue = handleChildError(ctx, err);\n\t\t}\n\n\t\tconst block = isPromiseLike(value) ? value.catch(NOOP) : undefined;\n\t\treturn [block, value];\n\t} else {\n\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t// Async generator component using for...of loops behave similar to sync\n\t\t\t// generator components. This allows for easier refactoring of sync to\n\t\t\t// async generator components.\n\t\t\tif (!initial) {\n\t\t\t\ttry {\n\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\titeration = ctx.iterator!.next(ctx.renderer.read(getValue(ret)));\n\t\t\t\t} catch (err) {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t} finally {\n\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!isPromiseLike(iteration)) {\n\t\t\t\tthrow new Error(\"Mixed generator component\");\n\t\t\t}\n\n\t\t\tconst block = iteration.catch(NOOP);\n\t\t\tconst value = iteration.then(\n\t\t\t\t(iteration) => {\n\t\t\t\t\tlet value: Promise> | ElementValue;\n\t\t\t\t\tif (!(ctx.f & IsInForOfLoop)) {\n\t\t\t\t\t\trunAsyncGenComponent(\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\tPromise.resolve(iteration),\n\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!(ctx.f & NeedsToYield) && !(ctx.f & IsUnmounted)) {\n\t\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\t\t\"Component yielded more than once in for...of loop\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tctx.f &= ~NeedsToYield;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tvalue = updateComponentChildren(\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t// Children can be void so we eliminate that here\n\t\t\t\t\t\t\titeration.value as Children,\n\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (isPromiseLike(value)) {\n\t\t\t\t\t\t\tvalue = value.catch((err) => handleChildError(ctx, err));\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tvalue = handleChildError(ctx, err);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn value;\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn [block, value];\n\t\t} else {\n\t\t\trunAsyncGenComponent(\n\t\t\t\tctx,\n\t\t\t\titeration as Promise,\n\t\t\t\thydrationData,\n\t\t\t\tinitial,\n\t\t\t);\n\t\t\treturn [ctx.inflightBlock, ctx.inflightValue];\n\t\t}\n\t}\n}\n\nasync function runAsyncGenComponent(\n\tctx: ContextImpl,\n\titerationP: Promise,\n\thydrationData: HydrationData | undefined,\n\tinitial: boolean = false,\n): Promise {\n\tlet done = false;\n\ttry {\n\t\twhile (!done) {\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// inflightValue must be set synchronously.\n\t\t\tlet onValue!: Function;\n\t\t\tctx.inflightValue = new Promise((resolve) => (onValue = resolve));\n\t\t\tif (ctx.f & IsUpdating) {\n\t\t\t\t// We should not swallow unhandled promise rejections if the component is\n\t\t\t\t// updating independently.\n\t\t\t\t// TODO: Does this handle this.refresh() calls?\n\t\t\t\tctx.inflightValue.catch(NOOP);\n\t\t\t}\n\n\t\t\tlet iteration: ChildrenIteratorResult;\n\t\t\ttry {\n\t\t\t\titeration = await iterationP;\n\t\t\t} catch (err) {\n\t\t\t\tdone = true;\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tonValue(Promise.reject(err));\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (!(ctx.f & IsInForAwaitOfLoop)) {\n\t\t\t\tctx.f &= ~PropsAvailable;\n\t\t\t}\n\n\t\t\tdone = !!iteration.done;\n\t\t\tlet value: Promise> | ElementValue;\n\t\t\ttry {\n\t\t\t\tif (\n\t\t\t\t\t!(ctx.f & NeedsToYield) &&\n\t\t\t\t\tctx.f & PropsAvailable &&\n\t\t\t\t\tctx.f & IsInForAwaitOfLoop &&\n\t\t\t\t\t!initial &&\n\t\t\t\t\t!done\n\t\t\t\t) {\n\t\t\t\t\t// We skip stale iterations in for await...of loops.\n\t\t\t\t\tvalue = ctx.ret.inflightValue || getValue(ctx.ret);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = updateComponentChildren(\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\titeration.value!,\n\t\t\t\t\t\thydrationData,\n\t\t\t\t\t);\n\t\t\t\t\thydrationData = undefined;\n\t\t\t\t\tif (isPromiseLike(value)) {\n\t\t\t\t\t\tvalue = value.catch((err: any) => handleChildError(ctx, err));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tctx.f &= ~NeedsToYield;\n\t\t\t} catch (err) {\n\t\t\t\t// Do we need to catch potential errors here in the case of unhandled\n\t\t\t\t// promise rejections?\n\t\t\t\tvalue = handleChildError(ctx, err);\n\t\t\t} finally {\n\t\t\t\tonValue(value);\n\t\t\t}\n\n\t\t\tlet oldResult: Promise | TResult;\n\t\t\tif (ctx.ret.inflightValue) {\n\t\t\t\t// The value passed back into the generator as the argument to the next\n\t\t\t\t// method is a promise if an async generator component has async\n\t\t\t\t// children. Sync generator components only resume when their children\n\t\t\t\t// have fulfilled so the element’s inflight child values will never be\n\t\t\t\t// defined.\n\t\t\t\toldResult = ctx.ret.inflightValue.then((value) =>\n\t\t\t\t\tctx.renderer.read(value),\n\t\t\t\t);\n\n\t\t\t\toldResult.catch((err) => {\n\t\t\t\t\tif (ctx.f & IsUpdating) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\toldResult = ctx.renderer.read(getValue(ctx.ret));\n\t\t\t}\n\n\t\t\tif (ctx.f & IsUnmounted) {\n\t\t\t\tif (ctx.f & IsInForAwaitOfLoop) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\t\titerationP = ctx.iterator!.next(\n\t\t\t\t\t\t\toldResult,\n\t\t\t\t\t\t) as Promise;\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (!done && !(ctx.f & IsInForOfLoop)) {\n\t\t\t\ttry {\n\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\titerationP = ctx.iterator!.next(\n\t\t\t\t\t\toldResult,\n\t\t\t\t\t) as Promise;\n\t\t\t\t} finally {\n\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tinitial = false;\n\t\t}\n\t} finally {\n\t\tif (done) {\n\t\t\tctx.f &= ~IsAsyncGen;\n\t\t\tctx.iterator = undefined;\n\t\t}\n\t}\n}\n\n/**\n * Called to resume the props async iterator for async generator components.\n */\nfunction resumePropsAsyncIterator(ctx: ContextImpl): void {\n\tif (ctx.onProps) {\n\t\tctx.onProps(ctx.ret.el.props);\n\t\tctx.onProps = undefined;\n\t\tctx.f &= ~PropsAvailable;\n\t} else {\n\t\tctx.f |= PropsAvailable;\n\t}\n}\n\n// TODO: async unmounting\nfunction unmountComponent(ctx: ContextImpl): void {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t}\n\n\tclearEventListeners(ctx);\n\n\tconst callbacks = cleanupMap.get(ctx);\n\tif (callbacks) {\n\t\tcleanupMap.delete(ctx);\n\t\tconst value = ctx.renderer.read(getValue(ctx.ret));\n\t\tfor (const callback of callbacks) {\n\t\t\tcallback(value);\n\t\t}\n\t}\n\n\tctx.f |= IsUnmounted;\n\tif (ctx.iterator) {\n\t\tif (ctx.f & IsSyncGen) {\n\t\t\tlet value: unknown;\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tvalue = enqueueComponentRun(ctx);\n\t\t\t}\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tvalue.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t(err) => {\n\t\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t} else {\n\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (ctx.f & IsAsyncGen) {\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tconst value = enqueueComponentRun(ctx) as Promise;\n\t\t\t\tvalue.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t(err) => {\n\t\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// The logic for unmounting async generator components is in the\n\t\t\t\t// runAsyncGenComponent function.\n\t\t\t\tresumePropsAsyncIterator(ctx);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction returnComponent(ctx: ContextImpl): void {\n\tresumePropsAsyncIterator(ctx);\n\tif (ctx.iterator && typeof ctx.iterator!.return === \"function\") {\n\t\ttry {\n\t\t\tctx.f |= IsSyncExecuting;\n\t\t\tconst iteration = ctx.iterator!.return();\n\t\t\tif (isPromiseLike(iteration)) {\n\t\t\t\titeration.catch((err) => {\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t});\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\t}\n}\n\n/*** EVENT TARGET UTILITIES ***/\n// EVENT PHASE CONSTANTS\n// https://developer.mozilla.org/en-US/docs/Web/API/Event/eventPhase\nconst NONE = 0;\nconst CAPTURING_PHASE = 1;\nconst AT_TARGET = 2;\nconst BUBBLING_PHASE = 3;\n\nconst listenersMap = new WeakMap>();\n/**\n * A map of event type strings to Event subclasses. Can be extended via\n * TypeScript module augmentation to have strongly typed event listeners.\n */\nexport interface EventMap extends Crank.EventMap {\n\t[type: string]: Event;\n}\n\ntype MappedEventListener = (ev: EventMap[T]) => unknown;\n\ntype MappedEventListenerOrEventListenerObject =\n\t| MappedEventListener\n\t| {handleEvent: MappedEventListener};\n\nfunction isListenerOrListenerObject(\n\tvalue: unknown,\n): value is MappedEventListenerOrEventListenerObject {\n\treturn (\n\t\ttypeof value === \"function\" ||\n\t\t(value !== null &&\n\t\t\ttypeof value === \"object\" &&\n\t\t\ttypeof (value as any).handleEvent === \"function\")\n\t);\n}\n\ninterface EventListenerRecord {\n\ttype: string;\n\t// listener is the original value passed to addEventListener, callback is the\n\t// transformed function\n\tlistener: MappedEventListenerOrEventListenerObject;\n\tcallback: MappedEventListener;\n\toptions: AddEventListenerOptions;\n}\n\nfunction normalizeListenerOptions(\n\toptions: AddEventListenerOptions | boolean | null | undefined,\n): AddEventListenerOptions {\n\tif (typeof options === \"boolean\") {\n\t\treturn {capture: options};\n\t} else if (options == null) {\n\t\treturn {};\n\t}\n\n\treturn options;\n}\n\nfunction isEventTarget(value: any): value is EventTarget {\n\treturn (\n\t\tvalue != null &&\n\t\ttypeof value.addEventListener === \"function\" &&\n\t\ttypeof value.removeEventListener === \"function\" &&\n\t\ttypeof value.dispatchEvent === \"function\"\n\t);\n}\n\nfunction setEventProperty(\n\tev: Event,\n\tkey: T,\n\tvalue: Event[T],\n): void {\n\tObject.defineProperty(ev, key, {value, writable: false, configurable: true});\n}\n\n// TODO: Maybe we can pass in the current context directly, rather than\n// starting from the parent?\n/**\n * A function to reconstruct an array of every listener given a context and a\n * host element.\n *\n * This function exploits the fact that contexts retain their nearest ancestor\n * host element. We can determine all the contexts which are directly listening\n * to an element by traversing up the context tree and checking that the host\n * element passed in matches the parent context’s host element.\n */\nfunction getListenerRecords(\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n): Array {\n\tlet listeners: Array = [];\n\twhile (ctx !== undefined && ctx.host === ret) {\n\t\tconst listeners1 = listenersMap.get(ctx);\n\t\tif (listeners1) {\n\t\t\tlisteners = listeners.concat(listeners1);\n\t\t}\n\n\t\tctx = ctx.parent;\n\t}\n\n\treturn listeners;\n}\n\nfunction clearEventListeners(ctx: ContextImpl): void {\n\tconst listeners = listenersMap.get(ctx);\n\tif (listeners && listeners.length) {\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\tvalue.removeEventListener(\n\t\t\t\t\t\trecord.type,\n\t\t\t\t\t\trecord.callback,\n\t\t\t\t\t\trecord.options,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlisteners.length = 0;\n\t}\n}\n\n/*** ERROR HANDLING UTILITIES ***/\nfunction handleChildError(\n\tctx: ContextImpl,\n\terr: unknown,\n): Promise> | ElementValue {\n\tif (!ctx.iterator || typeof ctx.iterator.throw !== \"function\") {\n\t\tthrow err;\n\t}\n\n\tresumePropsAsyncIterator(ctx);\n\tlet iteration: ChildrenIteratorResult | Promise;\n\ttry {\n\t\tctx.f |= IsSyncExecuting;\n\t\titeration = ctx.iterator.throw(err);\n\t} catch (err) {\n\t\tctx.f |= IsErrored;\n\t\tthrow err;\n\t} finally {\n\t\tctx.f &= ~IsSyncExecuting;\n\t}\n\n\tif (isPromiseLike(iteration)) {\n\t\treturn iteration.then(\n\t\t\t(iteration) => {\n\t\t\t\tif (iteration.done) {\n\t\t\t\t\tctx.f &= ~IsAsyncGen;\n\t\t\t\t\tctx.iterator = undefined;\n\t\t\t\t}\n\n\t\t\t\treturn updateComponentChildren(ctx, iteration.value as Children);\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tthrow err;\n\t\t\t},\n\t\t);\n\t}\n\n\tif (iteration.done) {\n\t\tctx.f &= ~IsSyncGen;\n\t\tctx.f &= ~IsAsyncGen;\n\t\tctx.iterator = undefined;\n\t}\n\n\treturn updateComponentChildren(ctx, iteration.value as Children);\n}\n\nfunction propagateError(\n\tctx: ContextImpl,\n\terr: unknown,\n): Promise> | ElementValue {\n\tlet result: Promise> | ElementValue;\n\ttry {\n\t\tresult = handleChildError(ctx, err);\n\t} catch (err) {\n\t\tif (!ctx.parent) {\n\t\t\tthrow err;\n\t\t}\n\n\t\treturn propagateError(ctx.parent, err);\n\t}\n\n\tif (isPromiseLike(result)) {\n\t\treturn result.catch((err) => {\n\t\t\tif (!ctx.parent) {\n\t\t\t\tthrow err;\n\t\t\t}\n\n\t\t\treturn propagateError(ctx.parent, err);\n\t\t});\n\t}\n\n\treturn result;\n}\n\n// TODO: uncomment and use in the Element interface below\n// type CrankElement = Element;\ndeclare global {\n\tnamespace Crank {\n\t\texport interface EventMap {}\n\n\t\texport interface ProvisionMap {}\n\n\t\texport interface Context {}\n\t}\n\n\tnamespace JSX {\n\t\t// TODO: JSX Element type (the result of JSX expressions) don’t work\n\t\t// because TypeScript demands that all Components return JSX elements for\n\t\t// some reason.\n\t\t// interface Element extends CrankElement {}\n\n\t\texport interface IntrinsicElements {\n\t\t\t[tag: string]: any;\n\t\t}\n\n\t\texport interface IntrinsicAttributes {\n\t\t\tchildren?: unknown;\n\t\t\tkey?: unknown;\n\t\t\tref?: unknown;\n\t\t\t[\"static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-key\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-ref\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-key\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-ref\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$key?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$ref?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$static?: unknown;\n\t\t}\n\n\t\texport interface ElementChildrenAttribute {\n\t\t\tchildren: {};\n\t\t}\n\t}\n}\n\n// Some JSX transpilation tools expect these functions to be defined on the\n// default export. Prefer named exports when importing directly.\nexport default {createElement, Fragment};\n", "import {\n\tChildren,\n\tContext,\n\tElementValue,\n\tHydrationData,\n\tPortal,\n\tRenderer,\n\tRendererImpl,\n} from \"./crank.js\";\n\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\n\nexport const impl: Partial> = {\n\tscope(\n\t\txmlns: string | undefined,\n\t\ttag: string | symbol,\n\t\tprops: Record,\n\t): string | undefined {\n\t\tswitch (tag) {\n\t\t\tcase Portal:\n\t\t\t\txmlns = undefined;\n\t\t\t\tbreak;\n\t\t\tcase \"svg\":\n\t\t\t\txmlns = SVG_NAMESPACE;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn props.xmlns || xmlns;\n\t},\n\n\tcreate(\n\t\ttag: string | symbol,\n\t\t_props: unknown,\n\t\txmlns: string | undefined,\n\t): Node {\n\t\tif (typeof tag !== \"string\") {\n\t\t\tthrow new Error(`Unknown tag: ${tag.toString()}`);\n\t\t} else if (tag.toLowerCase() === \"svg\") {\n\t\t\txmlns = SVG_NAMESPACE;\n\t\t}\n\n\t\treturn xmlns\n\t\t\t? document.createElementNS(xmlns, tag)\n\t\t\t: document.createElement(tag);\n\t},\n\n\thydrate(\n\t\ttag: string | symbol,\n\t\tnode: Element,\n\t\tprops: Record,\n\t): HydrationData | undefined {\n\t\tif (typeof tag !== \"string\" && tag !== Portal) {\n\t\t\tthrow new Error(`Unknown tag: ${tag.toString()}`);\n\t\t}\n\n\t\tif (\n\t\t\ttypeof tag === \"string\" &&\n\t\t\ttag.toUpperCase() !== (node as Element).tagName\n\t\t) {\n\t\t\t// TODO: consider pros and cons of hydration warnings\n\t\t\t//console.error(`Expected <${tag}> while hydrating but found:`, node);\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst children: Array = [];\n\t\tfor (let i = 0; i < node.childNodes.length; i++) {\n\t\t\tconst child = node.childNodes[i];\n\t\t\tif (child.nodeType === Node.TEXT_NODE) {\n\t\t\t\tchildren.push((child as Text).data);\n\t\t\t} else if (child.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\tchildren.push(child as Element);\n\t\t\t}\n\t\t}\n\n\t\t// TODO: extract props from nodes\n\t\treturn {props, children};\n\t},\n\n\tpatch(\n\t\t_tag: string | symbol,\n\t\t// TODO: Why does this assignment work?\n\t\tnode: HTMLElement | SVGElement,\n\t\tname: string,\n\t\t// TODO: Stricter typings?\n\t\tvalue: unknown,\n\t\toldValue: unknown,\n\t\txmlns: string | undefined,\n\t): void {\n\t\tconst isSVG = xmlns === SVG_NAMESPACE;\n\t\tswitch (name) {\n\t\t\tcase \"style\": {\n\t\t\t\tconst style: CSSStyleDeclaration = node.style;\n\t\t\t\tif (style == null) {\n\t\t\t\t\tnode.setAttribute(\"style\", value as string);\n\t\t\t\t} else if (value == null || value === false) {\n\t\t\t\t\tnode.removeAttribute(\"style\");\n\t\t\t\t} else if (value === true) {\n\t\t\t\t\tnode.setAttribute(\"style\", \"\");\n\t\t\t\t} else if (typeof value === \"string\") {\n\t\t\t\t\tif (style.cssText !== value) {\n\t\t\t\t\t\tstyle.cssText = value;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof oldValue === \"string\") {\n\t\t\t\t\t\tstyle.cssText = \"\";\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (const styleName in {...(oldValue as {}), ...(value as {})}) {\n\t\t\t\t\t\tconst styleValue = value && (value as any)[styleName];\n\t\t\t\t\t\tif (styleValue == null) {\n\t\t\t\t\t\t\tstyle.removeProperty(styleName);\n\t\t\t\t\t\t} else if (style.getPropertyValue(styleName) !== styleValue) {\n\t\t\t\t\t\t\tstyle.setProperty(styleName, styleValue);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"class\":\n\t\t\tcase \"className\":\n\t\t\t\tif (value === true) {\n\t\t\t\t\tnode.setAttribute(\"class\", \"\");\n\t\t\t\t} else if (value == null) {\n\t\t\t\t\tnode.removeAttribute(\"class\");\n\t\t\t\t} else if (!isSVG) {\n\t\t\t\t\tif (node.className !== value) {\n\t\t\t\t\t\t(node as any)[\"className\"] = value;\n\t\t\t\t\t}\n\t\t\t\t} else if (node.getAttribute(\"class\") !== value) {\n\t\t\t\t\tnode.setAttribute(\"class\", value as string);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"innerHTML\":\n\t\t\t\tif (value !== oldValue) {\n\t\t\t\t\tnode.innerHTML = value as any;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tdefault: {\n\t\t\t\tif (\n\t\t\t\t\tname[0] === \"o\" &&\n\t\t\t\t\tname[1] === \"n\" &&\n\t\t\t\t\tname[2] === name[2].toUpperCase() &&\n\t\t\t\t\ttypeof value === \"function\"\n\t\t\t\t) {\n\t\t\t\t\t// Support React-style event names (onClick, onChange, etc.)\n\t\t\t\t\tname = name.toLowerCase();\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tname in node &&\n\t\t\t\t\t// boolean properties will coerce strings, but sometimes they map to\n\t\t\t\t\t// enumerated attributes, where truthy strings (\"false\", \"no\") map to\n\t\t\t\t\t// falsy properties, so we use attributes in this case.\n\t\t\t\t\t!(\n\t\t\t\t\t\ttypeof value === \"string\" &&\n\t\t\t\t\t\ttypeof (node as any)[name] === \"boolean\"\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\t// walk up the object's prototype chain to find the owner of the\n\t\t\t\t\t// named property\n\t\t\t\t\tlet obj = node;\n\t\t\t\t\tdo {\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(obj, name)) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t} while ((obj = Object.getPrototypeOf(obj)));\n\n\t\t\t\t\t// get the descriptor for the named property and check whether it\n\t\t\t\t\t// implies that the property is writable\n\t\t\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(obj, name);\n\t\t\t\t\tif (\n\t\t\t\t\t\tdescriptor != null &&\n\t\t\t\t\t\t(descriptor.writable === true || descriptor.set !== undefined)\n\t\t\t\t\t) {\n\t\t\t\t\t\tif ((node as any)[name] !== value || oldValue === undefined) {\n\t\t\t\t\t\t\t(node as any)[name] = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// if the property wasn't writable, fall through to the code below\n\t\t\t\t\t// which uses setAttribute() instead of assigning directly.\n\t\t\t\t}\n\n\t\t\t\tif (value === true) {\n\t\t\t\t\tvalue = \"\";\n\t\t\t\t} else if (value == null || value === false) {\n\t\t\t\t\tnode.removeAttribute(name);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (node.getAttribute(name) !== value) {\n\t\t\t\t\tnode.setAttribute(name, value as any);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tarrange(\n\t\ttag: string | symbol,\n\t\tnode: Node,\n\t\tprops: Record,\n\t\tchildren: Array,\n\t\t_oldProps: Record | undefined,\n\t\toldChildren: Array | undefined,\n\t): void {\n\t\tif (tag === Portal && (node == null || typeof node.nodeType !== \"number\")) {\n\t\t\tthrow new TypeError(\n\t\t\t\t`Portal root is not a node. Received: ${JSON.stringify(\n\t\t\t\t\tnode && node.toString(),\n\t\t\t\t)}`,\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\t!(\"innerHTML\" in props) &&\n\t\t\t// We don’t want to update elements without explicit children (
    ),\n\t\t\t// because these elements sometimes have child nodes added via raw\n\t\t\t// DOM manipulations.\n\t\t\t// However, if an element has previously rendered children, we clear the\n\t\t\t// them because it would be surprising not to clear Crank managed\n\t\t\t// children, even if the new element does not have explicit children.\n\t\t\t(\"children\" in props || (oldChildren && oldChildren.length))\n\t\t) {\n\t\t\tif (children.length === 0) {\n\t\t\t\tnode.textContent = \"\";\n\t\t\t} else {\n\t\t\t\tlet oldChild = node.firstChild;\n\t\t\t\tlet i = 0;\n\t\t\t\twhile (oldChild !== null && i < children.length) {\n\t\t\t\t\tconst newChild = children[i];\n\t\t\t\t\tif (oldChild === newChild) {\n\t\t\t\t\t\toldChild = oldChild.nextSibling;\n\t\t\t\t\t\ti++;\n\t\t\t\t\t} else if (typeof newChild === \"string\") {\n\t\t\t\t\t\tif (oldChild.nodeType === Node.TEXT_NODE) {\n\t\t\t\t\t\t\tif ((oldChild as Text).data !== newChild) {\n\t\t\t\t\t\t\t\t(oldChild as Text).data = newChild;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\toldChild = oldChild.nextSibling;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnode.insertBefore(document.createTextNode(newChild), oldChild);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ti++;\n\t\t\t\t\t} else if (oldChild.nodeType === Node.TEXT_NODE) {\n\t\t\t\t\t\tconst nextSibling = oldChild.nextSibling;\n\t\t\t\t\t\tnode.removeChild(oldChild);\n\t\t\t\t\t\toldChild = nextSibling;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode.insertBefore(newChild, oldChild);\n\t\t\t\t\t\ti++;\n\t\t\t\t\t\t// TODO: This is an optimization but we need to think a little more about other cases like prepending.\n\t\t\t\t\t\tif (oldChild !== children[i]) {\n\t\t\t\t\t\t\tconst nextSibling = oldChild.nextSibling;\n\t\t\t\t\t\t\tnode.removeChild(oldChild);\n\t\t\t\t\t\t\toldChild = nextSibling;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// remove excess DOM nodes\n\t\t\t\twhile (oldChild !== null) {\n\t\t\t\t\tconst nextSibling = oldChild.nextSibling;\n\t\t\t\t\tnode.removeChild(oldChild);\n\t\t\t\t\toldChild = nextSibling;\n\t\t\t\t}\n\n\t\t\t\t// append excess children\n\t\t\t\tfor (; i < children.length; i++) {\n\t\t\t\t\tconst newChild = children[i];\n\t\t\t\t\tnode.appendChild(\n\t\t\t\t\t\ttypeof newChild === \"string\"\n\t\t\t\t\t\t\t? document.createTextNode(newChild)\n\t\t\t\t\t\t\t: newChild,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\ttext(\n\t\ttext: string,\n\t\t_scope: string | undefined,\n\t\thydrationData: HydrationData | undefined,\n\t): string {\n\t\tif (hydrationData != null) {\n\t\t\tlet value = hydrationData.children.shift();\n\t\t\tif (typeof value !== \"string\" || !value.startsWith(text)) {\n\t\t\t\t// TODO: consider pros and cons of hydration warnings\n\t\t\t\t//console.error(`Expected \"${text}\" while hydrating but found:`, value);\n\t\t\t} else if (text.length < value.length) {\n\t\t\t\tvalue = value.slice(text.length);\n\t\t\t\thydrationData.children.unshift(value);\n\t\t\t}\n\t\t}\n\n\t\treturn text;\n\t},\n\n\traw(\n\t\tvalue: string | Node,\n\t\txmlns: string | undefined,\n\t\thydrationData: HydrationData | undefined,\n\t): ElementValue {\n\t\tlet result: ElementValue;\n\t\tif (typeof value === \"string\") {\n\t\t\tconst el =\n\t\t\t\txmlns == null\n\t\t\t\t\t? document.createElement(\"div\")\n\t\t\t\t\t: document.createElementNS(xmlns, \"svg\");\n\t\t\tel.innerHTML = value;\n\t\t\tif (el.childNodes.length === 0) {\n\t\t\t\tresult = undefined;\n\t\t\t} else if (el.childNodes.length === 1) {\n\t\t\t\tresult = el.childNodes[0];\n\t\t\t} else {\n\t\t\t\tresult = Array.from(el.childNodes);\n\t\t\t}\n\t\t} else {\n\t\t\tresult = value;\n\t\t}\n\n\t\tif (hydrationData != null) {\n\t\t\t// TODO: maybe we should warn on incorrect values\n\t\t\tif (Array.isArray(result)) {\n\t\t\t\tfor (let i = 0; i < result.length; i++) {\n\t\t\t\t\tconst node = result[i];\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof node !== \"string\" &&\n\t\t\t\t\t\t(node.nodeType === Node.ELEMENT_NODE ||\n\t\t\t\t\t\t\tnode.nodeType === Node.TEXT_NODE)\n\t\t\t\t\t) {\n\t\t\t\t\t\thydrationData.children.shift();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (result != null && typeof result !== \"string\") {\n\t\t\t\tif (\n\t\t\t\t\tresult.nodeType === Node.ELEMENT_NODE ||\n\t\t\t\t\tresult.nodeType === Node.TEXT_NODE\n\t\t\t\t) {\n\t\t\t\t\thydrationData.children.shift();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t},\n};\n\nexport class DOMRenderer extends Renderer {\n\tconstructor() {\n\t\tsuper(impl);\n\t}\n\n\trender(\n\t\tchildren: Children,\n\t\troot: Node,\n\t\tctx?: Context,\n\t): Promise> | ElementValue {\n\t\tvalidateRoot(root);\n\t\treturn super.render(children, root, ctx);\n\t}\n\n\thydrate(\n\t\tchildren: Children,\n\t\troot: Node,\n\t\tctx?: Context,\n\t): Promise> | ElementValue {\n\t\tvalidateRoot(root);\n\t\treturn super.hydrate(children, root, ctx);\n\t}\n}\n\nfunction validateRoot(root: unknown): asserts root is Node {\n\tif (\n\t\troot === null ||\n\t\t(typeof root === \"object\" && typeof (root as any).nodeType !== \"number\")\n\t) {\n\t\tthrow new TypeError(\n\t\t\t`Render root is not a node. Received: ${JSON.stringify(\n\t\t\t\troot && root.toString(),\n\t\t\t)}`,\n\t\t);\n\t}\n}\n\nexport const renderer = new DOMRenderer();\n\ndeclare global {\n\tmodule Crank {\n\t\tinterface EventMap extends GlobalEventHandlersEventMap {}\n\t}\n}\n"], + "mappings": ";AAGA,SAAS,mBAAmB;AACxB,QAAM,IAAI,MAAM,iCAAiC;AACrD;AACA,SAAS,sBAAsB;AAC3B,QAAM,IAAI,MAAM,mCAAmC;AACvD;AACA,IAAI,mBAAmB;AACvB,IAAI,qBAAqB;AACzB,IAAI,OAAO,WAAO,eAAe,YAAY;AACzC,qBAAmB;AACvB;AACA,IAAI,OAAO,WAAO,iBAAiB,YAAY;AAC3C,uBAAqB;AACzB;AAEA,SAAS,WAAW,KAAK;AACrB,MAAI,qBAAqB,YAAY;AAEjC,WAAO,WAAW,KAAK,CAAC;AAAA,EAC5B;AAEA,OACK,qBAAqB,oBAAoB,CAAC,qBAC3C,YACF;AACE,uBAAmB;AACnB,WAAO,WAAW,KAAK,CAAC;AAAA,EAC5B;AACA,MAAI;AAEA,WAAO,iBAAiB,KAAK,CAAC;AAAA,EAClC,SAAS,GAAG;AACR,QAAI;AAEA,aAAO,iBAAiB,KAAK,MAAM,KAAK,CAAC;AAAA,IAC7C,SAASA,IAAG;AAER,aAAO,iBAAiB,KAAK,MAAM,KAAK,CAAC;AAAA,IAC7C;AAAA,EACJ;AACJ;AACA,SAAS,gBAAgB,QAAQ;AAC7B,MAAI,uBAAuB,cAAc;AAErC,WAAO,aAAa,MAAM;AAAA,EAC9B;AAEA,OACK,uBAAuB,uBAAuB,CAAC,uBAChD,cACF;AACE,yBAAqB;AACrB,WAAO,aAAa,MAAM;AAAA,EAC9B;AACA,MAAI;AAEA,WAAO,mBAAmB,MAAM;AAAA,EACpC,SAAS,GAAG;AACR,QAAI;AAEA,aAAO,mBAAmB,KAAK,MAAM,MAAM;AAAA,IAC/C,SAASA,IAAG;AAGR,aAAO,mBAAmB,KAAK,MAAM,MAAM;AAAA,IAC/C;AAAA,EACJ;AACJ;AACA,IAAI,QAAQ,CAAC;AACb,IAAI,WAAW;AACf,IAAI;AACJ,IAAI,aAAa;AAEjB,SAAS,kBAAkB;AACvB,MAAI,CAAC,YAAY,CAAC,cAAc;AAC5B;AAAA,EACJ;AACA,aAAW;AACX,MAAI,aAAa,QAAQ;AACrB,YAAQ,aAAa,OAAO,KAAK;AAAA,EACrC,OAAO;AACH,iBAAa;AAAA,EACjB;AACA,MAAI,MAAM,QAAQ;AACd,eAAW;AAAA,EACf;AACJ;AAEA,SAAS,aAAa;AAClB,MAAI,UAAU;AACV;AAAA,EACJ;AACA,MAAI,UAAU,WAAW,eAAe;AACxC,aAAW;AAEX,MAAI,MAAM,MAAM;AAChB,SAAO,KAAK;AACR,mBAAe;AACf,YAAQ,CAAC;AACT,WAAO,EAAE,aAAa,KAAK;AACvB,UAAI,cAAc;AACd,qBAAa,UAAU,EAAE,IAAI;AAAA,MACjC;AAAA,IACJ;AACA,iBAAa;AACb,UAAM,MAAM;AAAA,EAChB;AACA,iBAAe;AACf,aAAW;AACX,kBAAgB,OAAO;AAC3B;AACA,SAAS,SAAS,KAAK;AACnB,MAAI,OAAO,IAAI,MAAM,UAAU,SAAS,CAAC;AACzC,MAAI,UAAU,SAAS,GAAG;AACtB,aAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACvC,WAAK,IAAI,CAAC,IAAI,UAAU,CAAC;AAAA,IAC7B;AAAA,EACJ;AACA,QAAM,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC;AAC9B,MAAI,MAAM,WAAW,KAAK,CAAC,UAAU;AACjC,eAAW,UAAU;AAAA,EACzB;AACJ;AAEA,SAAS,KAAK,KAAK,OAAO;AACtB,OAAK,MAAM;AACX,OAAK,QAAQ;AACjB;AACA,KAAK,UAAU,MAAM,WAAW;AAC5B,OAAK,IAAI,MAAM,MAAM,KAAK,KAAK;AACnC;AACA,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,MAAM,CAAC;AACX,IAAI,OAAO,CAAC;AACZ,IAAI,UAAU;AACd,IAAI,WAAW,CAAC;AAChB,IAAI,UAAU,CAAC;AACf,IAAI,SAAS,CAAC;AAEd,SAAS,OAAO;AAAC;AAEjB,IAAI,KAAK;AACT,IAAI,cAAc;AAClB,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,iBAAiB;AACrB,IAAI,qBAAqB;AACzB,IAAI,OAAO;AAEX,SAAS,QAAQ,MAAM;AACnB,QAAM,IAAI,MAAM,kCAAkC;AACtD;AAEA,SAAS,MAAM;AACX,SAAO;AACX;AACA,SAAS,MAAM,KAAK;AAChB,QAAM,IAAI,MAAM,gCAAgC;AACpD;AACA,SAAS,QAAQ;AACb,SAAO;AACX;AAGA,IAAI,cAAc,WAAO,eAAe,CAAC;AACzC,IAAI,iBACA,YAAY,OACZ,YAAY,UACZ,YAAY,SACZ,YAAY,QACZ,YAAY,aACZ,WAAW;AACP,UAAO,oBAAI,KAAK,GAAE,QAAQ;AAC9B;AAIJ,SAAS,OAAO,mBAAmB;AAC/B,MAAI,YAAY,eAAe,KAAK,WAAW,IAAI;AACnD,MAAI,UAAU,KAAK,MAAM,SAAS;AAClC,MAAI,cAAc,KAAK,MAAO,YAAY,IAAK,GAAG;AAClD,MAAI,mBAAmB;AACnB,cAAU,UAAU,kBAAkB,CAAC;AACvC,kBAAc,cAAc,kBAAkB,CAAC;AAC/C,QAAI,cAAc,GAAG;AACjB;AACA,qBAAe;AAAA,IACnB;AAAA,EACJ;AACA,SAAO,CAAC,SAAS,WAAW;AAChC;AAEA,IAAI,YAAY,oBAAI,KAAK;AACzB,SAAS,SAAS;AACd,MAAI,cAAc,oBAAI,KAAK;AAC3B,MAAI,MAAM,cAAc;AACxB,SAAO,MAAM;AACjB;AAEO,IAAI,UAAU;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ;AAIA,IAAM,UAAU,CAAC;AACjB,OAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AAClC,QAAM,OAAO,IAAI,MAAM,GAAG;AAC1B,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AAClC,UAAM,MAAM,KAAK,CAAC;AAClB,QAAI,MAAM,KAAK,SAAS,GAAG;AACvB,aAAO,GAAG,IAAI,QAAQ,GAAG;AAAA,IAC7B,OAAO;AACH,eAAS,OAAO,GAAG,MAAM,OAAO,GAAG,IAAI,CAAC;AAAA,IAC5C;AAAA,EACJ;AACJ,CAAC;;;AC1OD,IAAI,SAAS,CAAC;AACd,IAAI,YAAY,CAAC;AACjB,IAAI,MAAM,OAAO,eAAe,cAAc,aAAa;AAC3D,IAAI,SAAS;AACb,SAAS,OAAO;AACZ,WAAS;AACT,MAAI,OACA;AACJ,WAAS,IAAI,GAAG,MAAM,KAAK,QAAQ,IAAI,KAAK,EAAE,GAAG;AAC7C,WAAO,CAAC,IAAI,KAAK,CAAC;AAClB,cAAU,KAAK,WAAW,CAAC,CAAC,IAAI;AAAA,EACpC;AAEA,YAAU,IAAI,WAAW,CAAC,CAAC,IAAI;AAC/B,YAAU,IAAI,WAAW,CAAC,CAAC,IAAI;AACnC;AAEA,SAAS,kBAAkB,KAAK;AAC5B,MAAI,CAAC,QAAQ;AACT,SAAK;AAAA,EACT;AACA,MAAI,GAAG,GAAG,GAAG,KAAK,cAAc;AAChC,MAAI,MAAM,IAAI;AAEd,MAAI,MAAM,IAAI,GAAG;AACb,UAAM,IAAI,MAAM,gDAAgD;AAAA,EACpE;AAOA,iBAAe,IAAI,MAAM,CAAC,MAAM,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,MAAM,IAAI;AAGrE,QAAM,IAAI,IAAK,MAAM,IAAK,IAAI,YAAY;AAG1C,MAAI,eAAe,IAAI,MAAM,IAAI;AAEjC,MAAI,IAAI;AAER,OAAK,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG;AACtC,UACK,UAAU,IAAI,WAAW,CAAC,CAAC,KAAK,KAChC,UAAU,IAAI,WAAW,IAAI,CAAC,CAAC,KAAK,KACpC,UAAU,IAAI,WAAW,IAAI,CAAC,CAAC,KAAK,IACrC,UAAU,IAAI,WAAW,IAAI,CAAC,CAAC;AACnC,QAAI,GAAG,IAAK,OAAO,KAAM;AACzB,QAAI,GAAG,IAAK,OAAO,IAAK;AACxB,QAAI,GAAG,IAAI,MAAM;AAAA,EACrB;AAEA,MAAI,iBAAiB,GAAG;AACpB,UACK,UAAU,IAAI,WAAW,CAAC,CAAC,KAAK,IAChC,UAAU,IAAI,WAAW,IAAI,CAAC,CAAC,KAAK;AACzC,QAAI,GAAG,IAAI,MAAM;AAAA,EACrB,WAAW,iBAAiB,GAAG;AAC3B,UACK,UAAU,IAAI,WAAW,CAAC,CAAC,KAAK,KAChC,UAAU,IAAI,WAAW,IAAI,CAAC,CAAC,KAAK,IACpC,UAAU,IAAI,WAAW,IAAI,CAAC,CAAC,KAAK;AACzC,QAAI,GAAG,IAAK,OAAO,IAAK;AACxB,QAAI,GAAG,IAAI,MAAM;AAAA,EACrB;AAEA,SAAO;AACX;AAEA,SAAS,gBAAgB,KAAK;AAC1B,SACI,OAAQ,OAAO,KAAM,EAAI,IACzB,OAAQ,OAAO,KAAM,EAAI,IACzB,OAAQ,OAAO,IAAK,EAAI,IACxB,OAAO,MAAM,EAAI;AAEzB;AAEA,SAAS,YAAY,OAAO,OAAO,KAAK;AACpC,MAAI;AACJ,MAAI,SAAS,CAAC;AACd,WAAS,IAAI,OAAO,IAAI,KAAK,KAAK,GAAG;AACjC,WAAO,MAAM,CAAC,KAAK,OAAO,MAAM,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC;AAC1D,WAAO,KAAK,gBAAgB,GAAG,CAAC;AAAA,EACpC;AACA,SAAO,OAAO,KAAK,EAAE;AACzB;AAEA,SAAS,oBAAoB,OAAO;AAChC,MAAI,CAAC,QAAQ;AACT,SAAK;AAAA,EACT;AACA,MAAI;AACJ,MAAI,MAAM,MAAM;AAChB,MAAI,aAAa,MAAM;AACvB,MAAI,SAAS;AACb,MAAI,QAAQ,CAAC;AACb,MAAI,iBAAiB;AAGrB,WAAS,IAAI,GAAG,OAAO,MAAM,YAAY,IAAI,MAAM,KAAK,gBAAgB;AACpE,UAAM;AAAA,MACF;AAAA,QACI;AAAA,QACA;AAAA,QACA,IAAI,iBAAiB,OAAO,OAAO,IAAI;AAAA,MAC3C;AAAA,IACJ;AAAA,EACJ;AAGA,MAAI,eAAe,GAAG;AAClB,UAAM,MAAM,MAAM,CAAC;AACnB,cAAU,OAAO,OAAO,CAAC;AACzB,cAAU,OAAQ,OAAO,IAAK,EAAI;AAClC,cAAU;AAAA,EACd,WAAW,eAAe,GAAG;AACzB,WAAO,MAAM,MAAM,CAAC,KAAK,KAAK,MAAM,MAAM,CAAC;AAC3C,cAAU,OAAO,OAAO,EAAE;AAC1B,cAAU,OAAQ,OAAO,IAAK,EAAI;AAClC,cAAU,OAAQ,OAAO,IAAK,EAAI;AAClC,cAAU;AAAA,EACd;AAEA,QAAM,KAAK,MAAM;AAEjB,SAAO,MAAM,KAAK,EAAE;AACxB;AA4BA,OAAO,sBACH,WAAO,wBAAwB,SAAY,WAAO,sBAAsB;AAE5E,SAAS,aAAa;AAClB,SAAO,OAAO,sBAAsB,aAAa;AACrD;AAEA,SAAS,aAAa,MAAM,QAAQ;AAChC,MAAI,WAAW,IAAI,QAAQ;AACvB,UAAM,IAAI,WAAW,4BAA4B;AAAA,EACrD;AACA,MAAI,OAAO,qBAAqB;AAE5B,WAAO,IAAI,WAAW,MAAM;AAC5B,SAAK,YAAY,OAAO;AAAA,EAC5B,OAAO;AAEH,QAAI,SAAS,MAAM;AACf,aAAO,IAAI,OAAO,MAAM;AAAA,IAC5B;AACA,SAAK,SAAS;AAAA,EAClB;AAEA,SAAO;AACX;AAYO,SAAS,OAAO,KAAK,kBAAkB,QAAQ;AAClD,MAAI,CAAC,OAAO,uBAAuB,EAAE,gBAAgB,SAAS;AAC1D,WAAO,IAAI,OAAO,KAAK,kBAAkB,MAAM;AAAA,EACnD;AAGA,MAAI,OAAO,QAAQ,UAAU;AACzB,QAAI,OAAO,qBAAqB,UAAU;AACtC,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AACA,WAAO,YAAY,MAAM,GAAG;AAAA,EAChC;AACA,SAAO,KAAK,MAAM,KAAK,kBAAkB,MAAM;AACnD;AAEA,OAAO,WAAW;AAGlB,OAAO,WAAW,SAAS,KAAK;AAC5B,MAAI,YAAY,OAAO;AACvB,SAAO;AACX;AAEA,SAAS,KAAK,MAAM,OAAO,kBAAkB,QAAQ;AACjD,MAAI,OAAO,UAAU,UAAU;AAC3B,UAAM,IAAI,UAAU,uCAAuC;AAAA,EAC/D;AAEA,MAAI,OAAO,gBAAgB,eAAe,iBAAiB,aAAa;AACpE,WAAO,gBAAgB,MAAM,OAAO,kBAAkB,MAAM;AAAA,EAChE;AAEA,MAAI,OAAO,UAAU,UAAU;AAC3B,WAAO,WAAW,MAAM,OAAO,gBAAgB;AAAA,EACnD;AAEA,SAAO,WAAW,MAAM,KAAK;AACjC;AAUA,OAAO,OAAO,SAAS,OAAO,kBAAkB,QAAQ;AACpD,SAAO,KAAK,MAAM,OAAO,kBAAkB,MAAM;AACrD;AAEA,OAAO,aAAa,WAAW;AAE/B,IAAI,OAAO,qBAAqB;AAC5B,SAAO,UAAU,YAAY,WAAW;AACxC,SAAO,YAAY;AACnB,MACI,OAAO,WAAW,eAClB,OAAO,WACP,OAAO,OAAO,OAAO,MAAM,QAC7B;AAAA,EAMF;AACJ;AAEA,SAAS,WAAW,MAAM;AACtB,MAAI,OAAO,SAAS,UAAU;AAC1B,UAAM,IAAI,UAAU,kCAAkC;AAAA,EAC1D,WAAW,OAAO,GAAG;AACjB,UAAM,IAAI,WAAW,sCAAsC;AAAA,EAC/D;AACJ;AAEA,SAAS,MAAM,MAAM,MAAMC,OAAM,UAAU;AACvC,aAAW,IAAI;AACf,MAAI,QAAQ,GAAG;AACX,WAAO,aAAa,MAAM,IAAI;AAAA,EAClC;AACA,MAAIA,UAAS,QAAW;AAIpB,WAAO,OAAO,aAAa,WACrB,aAAa,MAAM,IAAI,EAAE,KAAKA,OAAM,QAAQ,IAC5C,aAAa,MAAM,IAAI,EAAE,KAAKA,KAAI;AAAA,EAC5C;AACA,SAAO,aAAa,MAAM,IAAI;AAClC;AAMA,OAAO,QAAQ,SAAS,MAAMA,OAAM,UAAU;AAC1C,SAAO,MAAM,MAAM,MAAMA,OAAM,QAAQ;AAC3C;AAEA,SAAS,YAAY,MAAM,MAAM;AAC7B,aAAW,IAAI;AACf,SAAO,aAAa,MAAM,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC;AAC1D,MAAI,CAAC,OAAO,qBAAqB;AAC7B,aAAS,IAAI,GAAG,IAAI,MAAM,EAAE,GAAG;AAC3B,WAAK,CAAC,IAAI;AAAA,IACd;AAAA,EACJ;AACA,SAAO;AACX;AAKA,OAAO,cAAc,SAAS,MAAM;AAChC,SAAO,YAAY,MAAM,IAAI;AACjC;AAIA,OAAO,kBAAkB,SAAS,MAAM;AACpC,SAAO,YAAY,MAAM,IAAI;AACjC;AAEA,SAAS,WAAW,MAAM,QAAQ,UAAU;AACxC,MAAI,OAAO,aAAa,YAAY,aAAa,IAAI;AACjD,eAAW;AAAA,EACf;AAEA,MAAI,CAAC,OAAO,WAAW,QAAQ,GAAG;AAC9B,UAAM,IAAI,UAAU,4CAA4C;AAAA,EACpE;AAEA,MAAI,SAAS,WAAW,QAAQ,QAAQ,IAAI;AAC5C,SAAO,aAAa,MAAM,MAAM;AAEhC,MAAI,SAAS,KAAK,MAAM,QAAQ,QAAQ;AAExC,MAAI,WAAW,QAAQ;AAInB,WAAO,KAAK,MAAM,GAAG,MAAM;AAAA,EAC/B;AAEA,SAAO;AACX;AAEA,SAAS,cAAc,MAAM,OAAO;AAChC,MAAI,SAAS,MAAM,SAAS,IAAI,IAAI,QAAQ,MAAM,MAAM,IAAI;AAC5D,SAAO,aAAa,MAAM,MAAM;AAChC,WAAS,IAAI,GAAG,IAAI,QAAQ,KAAK,GAAG;AAChC,SAAK,CAAC,IAAI,MAAM,CAAC,IAAI;AAAA,EACzB;AACA,SAAO;AACX;AAEA,SAAS,gBAAgB,MAAM,OAAO,YAAY,QAAQ;AACtD,QAAM;AAEN,MAAI,aAAa,KAAK,MAAM,aAAa,YAAY;AACjD,UAAM,IAAI,WAAW,2BAA2B;AAAA,EACpD;AAEA,MAAI,MAAM,aAAa,cAAc,UAAU,IAAI;AAC/C,UAAM,IAAI,WAAW,2BAA2B;AAAA,EACpD;AAEA,MAAI,eAAe,UAAa,WAAW,QAAW;AAClD,YAAQ,IAAI,WAAW,KAAK;AAAA,EAChC,WAAW,WAAW,QAAW;AAC7B,YAAQ,IAAI,WAAW,OAAO,UAAU;AAAA,EAC5C,OAAO;AACH,YAAQ,IAAI,WAAW,OAAO,YAAY,MAAM;AAAA,EACpD;AAEA,MAAI,OAAO,qBAAqB;AAE5B,WAAO;AACP,SAAK,YAAY,OAAO;AAAA,EAC5B,OAAO;AAEH,WAAO,cAAc,MAAM,KAAK;AAAA,EACpC;AACA,SAAO;AACX;AAEA,SAAS,WAAW,MAAM,KAAK;AAC3B,MAAI,iBAAiB,GAAG,GAAG;AACvB,QAAI,MAAM,QAAQ,IAAI,MAAM,IAAI;AAChC,WAAO,aAAa,MAAM,GAAG;AAE7B,QAAI,KAAK,WAAW,GAAG;AACnB,aAAO;AAAA,IACX;AAEA,QAAI,KAAK,MAAM,GAAG,GAAG,GAAG;AACxB,WAAO;AAAA,EACX;AAEA,MAAI,KAAK;AACL,QACK,OAAO,gBAAgB,eACpB,IAAI,kBAAkB,eAC1B,YAAY,KACd;AACE,UAAI,OAAO,IAAI,WAAW,YAAY,MAAM,IAAI,MAAM,GAAG;AACrD,eAAO,aAAa,MAAM,CAAC;AAAA,MAC/B;AACA,aAAO,cAAc,MAAM,GAAG;AAAA,IAClC;AAEA,QAAI,IAAI,SAAS,YAAY,MAAM,QAAQ,IAAI,IAAI,GAAG;AAClD,aAAO,cAAc,MAAM,IAAI,IAAI;AAAA,IACvC;AAAA,EACJ;AAEA,QAAM,IAAI;AAAA,IACN;AAAA,EACJ;AACJ;AAEA,SAAS,QAAQ,QAAQ;AAGrB,MAAI,UAAU,WAAW,GAAG;AACxB,UAAM,IAAI;AAAA,MACN,4DAEI,WAAW,EAAE,SAAS,EAAE,IACxB;AAAA,IACR;AAAA,EACJ;AACA,SAAO,SAAS;AACpB;AASA,OAAO,WAAW;AAClB,SAAS,iBAAiB,GAAG;AACzB,SAAO,CAAC,EAAE,KAAK,QAAQ,EAAE;AAC7B;AAEA,OAAO,UAAU,SAAS,QAAQ,GAAG,GAAG;AACpC,MAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG;AAC9C,UAAM,IAAI,UAAU,2BAA2B;AAAA,EACnD;AAEA,MAAI,MAAM;AAAG,WAAO;AAEpB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,EAAE;AAEV,WAAS,IAAI,GAAG,MAAM,KAAK,IAAI,GAAG,CAAC,GAAG,IAAI,KAAK,EAAE,GAAG;AAChD,QAAI,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG;AACf,UAAI,EAAE,CAAC;AACP,UAAI,EAAE,CAAC;AACP;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,IAAI;AAAG,WAAO;AAClB,MAAI,IAAI;AAAG,WAAO;AAClB,SAAO;AACX;AAEA,OAAO,aAAa,SAAS,WAAW,UAAU;AAC9C,UAAQ,OAAO,QAAQ,EAAE,YAAY,GAAG;AAAA,IACpC,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACD,aAAO;AAAA,IACX;AACI,aAAO;AAAA,EACf;AACJ;AAEA,OAAO,SAAS,SAAS,OAAO,MAAM,QAAQ;AAC1C,MAAI,CAAC,MAAM,QAAQ,IAAI,GAAG;AACtB,UAAM,IAAI,UAAU,6CAA6C;AAAA,EACrE;AAEA,MAAI,KAAK,WAAW,GAAG;AACnB,WAAO,OAAO,MAAM,CAAC;AAAA,EACzB;AAEA,MAAI;AACJ,MAAI,WAAW,QAAW;AACtB,aAAS;AACT,SAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,EAAE,GAAG;AAC9B,gBAAU,KAAK,CAAC,EAAE;AAAA,IACtB;AAAA,EACJ;AAEA,MAAI,SAAS,OAAO,YAAY,MAAM;AACtC,MAAI,MAAM;AACV,OAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,EAAE,GAAG;AAC9B,QAAI,MAAM,KAAK,CAAC;AAChB,QAAI,CAAC,iBAAiB,GAAG,GAAG;AACxB,YAAM,IAAI,UAAU,6CAA6C;AAAA,IACrE;AACA,QAAI,KAAK,QAAQ,GAAG;AACpB,WAAO,IAAI;AAAA,EACf;AACA,SAAO;AACX;AAEA,SAAS,WAAW,QAAQ,UAAU;AAClC,MAAI,iBAAiB,MAAM,GAAG;AAC1B,WAAO,OAAO;AAAA,EAClB;AACA,MACI,OAAO,gBAAgB,eACvB,OAAO,YAAY,WAAW,eAC7B,YAAY,OAAO,MAAM,KAAK,kBAAkB,cACnD;AACE,WAAO,OAAO;AAAA,EAClB;AACA,MAAI,OAAO,WAAW,UAAU;AAC5B,aAAS,KAAK;AAAA,EAClB;AAEA,MAAI,MAAM,OAAO;AACjB,MAAI,QAAQ;AAAG,WAAO;AAGtB,MAAI,cAAc;AAClB,aAAS;AACL,YAAQ,UAAU;AAAA,MACd,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,eAAO;AAAA,MACX,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,eAAO,YAAY,MAAM,EAAE;AAAA,MAC/B,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,eAAO,MAAM;AAAA,MACjB,KAAK;AACD,eAAO,QAAQ;AAAA,MACnB,KAAK;AACD,eAAO,cAAc,MAAM,EAAE;AAAA,MACjC;AACI,YAAI;AAAa,iBAAO,YAAY,MAAM,EAAE;AAC5C,oBAAY,KAAK,UAAU,YAAY;AACvC,sBAAc;AAAA,IACtB;AAAA,EACJ;AACJ;AACA,OAAO,aAAa;AAEpB,SAAS,aAAa,UAAU,OAAO,KAAK;AACxC,MAAI,cAAc;AASlB,MAAI,UAAU,UAAa,QAAQ,GAAG;AAClC,YAAQ;AAAA,EACZ;AAGA,MAAI,QAAQ,KAAK,QAAQ;AACrB,WAAO;AAAA,EACX;AAEA,MAAI,QAAQ,UAAa,MAAM,KAAK,QAAQ;AACxC,UAAM,KAAK;AAAA,EACf;AAEA,MAAI,OAAO,GAAG;AACV,WAAO;AAAA,EACX;AAGA,WAAS;AACT,aAAW;AAEX,MAAI,OAAO,OAAO;AACd,WAAO;AAAA,EACX;AAEA,MAAI,CAAC;AAAU,eAAW;AAE1B,SAAO,MAAM;AACT,YAAQ,UAAU;AAAA,MACd,KAAK;AACD,eAAO,SAAS,MAAM,OAAO,GAAG;AAAA,MAEpC,KAAK;AAAA,MACL,KAAK;AACD,eAAO,UAAU,MAAM,OAAO,GAAG;AAAA,MAErC,KAAK;AACD,eAAO,WAAW,MAAM,OAAO,GAAG;AAAA,MAEtC,KAAK;AAAA,MACL,KAAK;AACD,eAAO,YAAY,MAAM,OAAO,GAAG;AAAA,MAEvC,KAAK;AACD,eAAO,YAAY,MAAM,OAAO,GAAG;AAAA,MAEvC,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,eAAO,aAAa,MAAM,OAAO,GAAG;AAAA,MAExC;AACI,YAAI;AACA,gBAAM,IAAI,UAAU,uBAAuB,QAAQ;AACvD,oBAAY,WAAW,IAAI,YAAY;AACvC,sBAAc;AAAA,IACtB;AAAA,EACJ;AACJ;AAIA,OAAO,UAAU,YAAY;AAE7B,SAAS,KAAK,GAAG,GAAG,GAAG;AACnB,MAAI,IAAI,EAAE,CAAC;AACX,IAAE,CAAC,IAAI,EAAE,CAAC;AACV,IAAE,CAAC,IAAI;AACX;AAEA,OAAO,UAAU,SAAS,SAAS,SAAS;AACxC,MAAI,MAAM,KAAK;AACf,MAAI,MAAM,MAAM,GAAG;AACf,UAAM,IAAI,WAAW,2CAA2C;AAAA,EACpE;AACA,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AAC7B,SAAK,MAAM,GAAG,IAAI,CAAC;AAAA,EACvB;AACA,SAAO;AACX;AAEA,OAAO,UAAU,SAAS,SAAS,SAAS;AACxC,MAAI,MAAM,KAAK;AACf,MAAI,MAAM,MAAM,GAAG;AACf,UAAM,IAAI,WAAW,2CAA2C;AAAA,EACpE;AACA,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AAC7B,SAAK,MAAM,GAAG,IAAI,CAAC;AACnB,SAAK,MAAM,IAAI,GAAG,IAAI,CAAC;AAAA,EAC3B;AACA,SAAO;AACX;AAEA,OAAO,UAAU,SAAS,SAAS,SAAS;AACxC,MAAI,MAAM,KAAK;AACf,MAAI,MAAM,MAAM,GAAG;AACf,UAAM,IAAI,WAAW,2CAA2C;AAAA,EACpE;AACA,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AAC7B,SAAK,MAAM,GAAG,IAAI,CAAC;AACnB,SAAK,MAAM,IAAI,GAAG,IAAI,CAAC;AACvB,SAAK,MAAM,IAAI,GAAG,IAAI,CAAC;AACvB,SAAK,MAAM,IAAI,GAAG,IAAI,CAAC;AAAA,EAC3B;AACA,SAAO;AACX;AAEA,OAAO,UAAU,WAAW,SAAS,WAAW;AAC5C,MAAI,SAAS,KAAK,SAAS;AAC3B,MAAI,WAAW;AAAG,WAAO;AACzB,MAAI,UAAU,WAAW;AAAG,WAAO,UAAU,MAAM,GAAG,MAAM;AAC5D,SAAO,aAAa,MAAM,MAAM,SAAS;AAC7C;AAEA,OAAO,UAAU,SAAS,SAAS,OAAO,GAAG;AACzC,MAAI,CAAC,iBAAiB,CAAC;AAAG,UAAM,IAAI,UAAU,2BAA2B;AACzE,MAAI,SAAS;AAAG,WAAO;AACvB,SAAO,OAAO,QAAQ,MAAM,CAAC,MAAM;AACvC;AAGA,OAAO,UAAU,UAAU,SAASC,SAChC,QACA,OACA,KACA,WACA,SACF;AACE,MAAI,CAAC,iBAAiB,MAAM,GAAG;AAC3B,UAAM,IAAI,UAAU,2BAA2B;AAAA,EACnD;AAEA,MAAI,UAAU,QAAW;AACrB,YAAQ;AAAA,EACZ;AACA,MAAI,QAAQ,QAAW;AACnB,UAAM,SAAS,OAAO,SAAS;AAAA,EACnC;AACA,MAAI,cAAc,QAAW;AACzB,gBAAY;AAAA,EAChB;AACA,MAAI,YAAY,QAAW;AACvB,cAAU,KAAK;AAAA,EACnB;AAEA,MACI,QAAQ,KACR,MAAM,OAAO,UACb,YAAY,KACZ,UAAU,KAAK,QACjB;AACE,UAAM,IAAI,WAAW,oBAAoB;AAAA,EAC7C;AAEA,MAAI,aAAa,WAAW,SAAS,KAAK;AACtC,WAAO;AAAA,EACX;AACA,MAAI,aAAa,SAAS;AACtB,WAAO;AAAA,EACX;AACA,MAAI,SAAS,KAAK;AACd,WAAO;AAAA,EACX;AAEA,aAAW;AACX,WAAS;AACT,iBAAe;AACf,eAAa;AAEb,MAAI,SAAS;AAAQ,WAAO;AAE5B,MAAI,IAAI,UAAU;AAClB,MAAI,IAAI,MAAM;AACd,MAAI,MAAM,KAAK,IAAI,GAAG,CAAC;AAEvB,MAAI,WAAW,KAAK,MAAM,WAAW,OAAO;AAC5C,MAAI,aAAa,OAAO,MAAM,OAAO,GAAG;AAExC,WAAS,IAAI,GAAG,IAAI,KAAK,EAAE,GAAG;AAC1B,QAAI,SAAS,CAAC,MAAM,WAAW,CAAC,GAAG;AAC/B,UAAI,SAAS,CAAC;AACd,UAAI,WAAW,CAAC;AAChB;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,IAAI;AAAG,WAAO;AAClB,MAAI,IAAI;AAAG,WAAO;AAClB,SAAO;AACX;AAWA,SAAS,qBAAqB,QAAQ,KAAK,YAAY,UAAU,KAAK;AAElE,MAAI,OAAO,WAAW;AAAG,WAAO;AAGhC,MAAI,OAAO,eAAe,UAAU;AAChC,eAAW;AACX,iBAAa;AAAA,EACjB,WAAW,aAAa,YAAY;AAChC,iBAAa;AAAA,EACjB,WAAW,aAAa,aAAa;AACjC,iBAAa;AAAA,EACjB;AACA,eAAa,CAAC;AACd,MAAI,MAAM,UAAU,GAAG;AAEnB,iBAAa,MAAM,IAAI,OAAO,SAAS;AAAA,EAC3C;AAGA,MAAI,aAAa;AAAG,iBAAa,OAAO,SAAS;AACjD,MAAI,cAAc,OAAO,QAAQ;AAC7B,QAAI;AAAK,aAAO;AAAA;AACX,mBAAa,OAAO,SAAS;AAAA,EACtC,WAAW,aAAa,GAAG;AACvB,QAAI;AAAK,mBAAa;AAAA;AACjB,aAAO;AAAA,EAChB;AAGA,MAAI,OAAO,QAAQ,UAAU;AACzB,UAAM,OAAO,KAAK,KAAK,QAAQ;AAAA,EACnC;AAGA,MAAI,iBAAiB,GAAG,GAAG;AAEvB,QAAI,IAAI,WAAW,GAAG;AAClB,aAAO;AAAA,IACX;AACA,WAAO,aAAa,QAAQ,KAAK,YAAY,UAAU,GAAG;AAAA,EAC9D,WAAW,OAAO,QAAQ,UAAU;AAChC,UAAM,MAAM;AACZ,QACI,OAAO,uBACP,OAAO,WAAW,UAAU,YAAY,YAC1C;AACE,UAAI,KAAK;AACL,eAAO,WAAW,UAAU,QAAQ;AAAA,UAChC;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,MACJ,OAAO;AACH,eAAO,WAAW,UAAU,YAAY;AAAA,UACpC;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AACA,WAAO,aAAa,QAAQ,CAAC,GAAG,GAAG,YAAY,UAAU,GAAG;AAAA,EAChE;AAEA,QAAM,IAAI,UAAU,sCAAsC;AAC9D;AAEA,SAAS,aAAa,KAAK,KAAK,YAAY,UAAU,KAAK;AACvD,MAAI,YAAY;AAChB,MAAI,YAAY,IAAI;AACpB,MAAI,YAAY,IAAI;AAEpB,MAAI,aAAa,QAAW;AACxB,eAAW,OAAO,QAAQ,EAAE,YAAY;AACxC,QACI,aAAa,UACb,aAAa,WACb,aAAa,aACb,aAAa,YACf;AACE,UAAI,IAAI,SAAS,KAAK,IAAI,SAAS,GAAG;AAClC,eAAO;AAAA,MACX;AACA,kBAAY;AACZ,mBAAa;AACb,mBAAa;AACb,oBAAc;AAAA,IAClB;AAAA,EACJ;AAEA,WAAS,KAAK,KAAKC,IAAG;AAClB,QAAI,cAAc,GAAG;AACjB,aAAO,IAAIA,EAAC;AAAA,IAChB,OAAO;AACH,aAAO,IAAI,aAAaA,KAAI,SAAS;AAAA,IACzC;AAAA,EACJ;AAEA,MAAI;AACJ,MAAI,KAAK;AACL,QAAI,aAAa;AACjB,SAAK,IAAI,YAAY,IAAI,WAAW,KAAK;AACrC,UACI,KAAK,KAAK,CAAC,MACX,KAAK,KAAK,eAAe,KAAK,IAAI,IAAI,UAAU,GAClD;AACE,YAAI,eAAe;AAAI,uBAAa;AACpC,YAAI,IAAI,aAAa,MAAM;AACvB,iBAAO,aAAa;AAAA,MAC5B,OAAO;AACH,YAAI,eAAe;AAAI,eAAK,IAAI;AAChC,qBAAa;AAAA,MACjB;AAAA,IACJ;AAAA,EACJ,OAAO;AACH,QAAI,aAAa,YAAY;AACzB,mBAAa,YAAY;AAC7B,SAAK,IAAI,YAAY,KAAK,GAAG,KAAK;AAC9B,UAAI,QAAQ;AACZ,eAAS,IAAI,GAAG,IAAI,WAAW,KAAK;AAChC,YAAI,KAAK,KAAK,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,GAAG;AACnC,kBAAQ;AACR;AAAA,QACJ;AAAA,MACJ;AACA,UAAI;AAAO,eAAO;AAAA,IACtB;AAAA,EACJ;AAEA,SAAO;AACX;AAEA,OAAO,UAAU,WAAW,SAAS,SAAS,KAAK,YAAY,UAAU;AACrE,SAAO,KAAK,QAAQ,KAAK,YAAY,QAAQ,MAAM;AACvD;AAEA,OAAO,UAAU,UAAU,SAAS,QAAQ,KAAK,YAAY,UAAU;AACnE,SAAO,qBAAqB,MAAM,KAAK,YAAY,UAAU,IAAI;AACrE;AAEA,OAAO,UAAU,cAAc,SAAS,YAAY,KAAK,YAAY,UAAU;AAC3E,SAAO,qBAAqB,MAAM,KAAK,YAAY,UAAU,KAAK;AACtE;AAEA,SAAS,SAAS,KAAK,QAAQ,QAAQ,QAAQ;AAC3C,WAAS,OAAO,MAAM,KAAK;AAC3B,MAAI,YAAY,IAAI,SAAS;AAC7B,MAAI,CAAC,QAAQ;AACT,aAAS;AAAA,EACb,OAAO;AACH,aAAS,OAAO,MAAM;AACtB,QAAI,SAAS,WAAW;AACpB,eAAS;AAAA,IACb;AAAA,EACJ;AAGA,MAAI,SAAS,OAAO;AACpB,MAAI,SAAS,MAAM;AAAG,UAAM,IAAI,UAAU,oBAAoB;AAE9D,MAAI,SAAS,SAAS,GAAG;AACrB,aAAS,SAAS;AAAA,EACtB;AACA,WAAS,IAAI,GAAG,IAAI,QAAQ,EAAE,GAAG;AAC7B,QAAI,SAAS,SAAS,OAAO,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE;AACjD,QAAI,MAAM,MAAM;AAAG,aAAO;AAC1B,QAAI,SAAS,CAAC,IAAI;AAAA,EACtB;AACA,SAAO;AACX;AAEA,SAAS,UAAU,KAAK,QAAQ,QAAQ,QAAQ;AAC5C,SAAO;AAAA,IACH,YAAY,QAAQ,IAAI,SAAS,MAAM;AAAA,IACvC;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;AAEA,SAAS,WAAW,KAAK,QAAQ,QAAQ,QAAQ;AAC7C,SAAO,WAAW,aAAa,MAAM,GAAG,KAAK,QAAQ,MAAM;AAC/D;AAEA,SAAS,YAAY,KAAK,QAAQ,QAAQ,QAAQ;AAC9C,SAAO,WAAW,KAAK,QAAQ,QAAQ,MAAM;AACjD;AAEA,SAAS,YAAY,KAAK,QAAQ,QAAQ,QAAQ;AAC9C,SAAO,WAAW,cAAc,MAAM,GAAG,KAAK,QAAQ,MAAM;AAChE;AAEA,SAAS,UAAU,KAAK,QAAQ,QAAQ,QAAQ;AAC5C,SAAO;AAAA,IACH,eAAe,QAAQ,IAAI,SAAS,MAAM;AAAA,IAC1C;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;AAEA,OAAO,UAAU,QAAQ,SAAS,MAAM,QAAQ,QAAQ,QAAQ,UAAU;AAEtE,MAAI,WAAW,QAAW;AACtB,eAAW;AACX,aAAS,KAAK;AACd,aAAS;AAAA,EAEb,WAAW,WAAW,UAAa,OAAO,WAAW,UAAU;AAC3D,eAAW;AACX,aAAS,KAAK;AACd,aAAS;AAAA,EAEb,WAAW,SAAS,MAAM,GAAG;AACzB,aAAS,SAAS;AAClB,QAAI,SAAS,MAAM,GAAG;AAClB,eAAS,SAAS;AAClB,UAAI,aAAa;AAAW,mBAAW;AAAA,IAC3C,OAAO;AACH,iBAAW;AACX,eAAS;AAAA,IACb;AAAA,EAEJ,OAAO;AACH,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,YAAY,KAAK,SAAS;AAC9B,MAAI,WAAW,UAAa,SAAS;AAAW,aAAS;AAEzD,MACK,OAAO,SAAS,MAAM,SAAS,KAAK,SAAS,MAC9C,SAAS,KAAK,QAChB;AACE,UAAM,IAAI,WAAW,wCAAwC;AAAA,EACjE;AAEA,MAAI,CAAC;AAAU,eAAW;AAE1B,MAAI,cAAc;AAClB,aAAS;AACL,YAAQ,UAAU;AAAA,MACd,KAAK;AACD,eAAO,SAAS,MAAM,QAAQ,QAAQ,MAAM;AAAA,MAEhD,KAAK;AAAA,MACL,KAAK;AACD,eAAO,UAAU,MAAM,QAAQ,QAAQ,MAAM;AAAA,MAEjD,KAAK;AACD,eAAO,WAAW,MAAM,QAAQ,QAAQ,MAAM;AAAA,MAElD,KAAK;AAAA,MACL,KAAK;AACD,eAAO,YAAY,MAAM,QAAQ,QAAQ,MAAM;AAAA,MAEnD,KAAK;AAED,eAAO,YAAY,MAAM,QAAQ,QAAQ,MAAM;AAAA,MAEnD,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,eAAO,UAAU,MAAM,QAAQ,QAAQ,MAAM;AAAA,MAEjD;AACI,YAAI;AACA,gBAAM,IAAI,UAAU,uBAAuB,QAAQ;AACvD,oBAAY,KAAK,UAAU,YAAY;AACvC,sBAAc;AAAA,IACtB;AAAA,EACJ;AACJ;AAEA,OAAO,UAAU,SAAS,SAAS,SAAS;AACxC,SAAO;AAAA,IACH,MAAM;AAAA,IACN,MAAM,MAAM,UAAU,MAAM,KAAK,KAAK,QAAQ,MAAM,CAAC;AAAA,EACzD;AACJ;AAEA,SAAS,YAAY,KAAK,OAAO,KAAK;AAClC,MAAI,UAAU,KAAK,QAAQ,IAAI,QAAQ;AACnC,WAAO,oBAAoB,GAAG;AAAA,EAClC,OAAO;AACH,WAAO,oBAAoB,IAAI,MAAM,OAAO,GAAG,CAAC;AAAA,EACpD;AACJ;AAEA,SAAS,UAAU,KAAK,OAAO,KAAK;AAChC,QAAM,KAAK,IAAI,IAAI,QAAQ,GAAG;AAC9B,MAAI,MAAM,CAAC;AAEX,MAAI,IAAI;AACR,SAAO,IAAI,KAAK;AACZ,QAAI,YAAY,IAAI,CAAC;AACrB,QAAI,YAAY;AAChB,QAAI,mBACA,YAAY,MACN,IACA,YAAY,MACZ,IACA,YAAY,MACZ,IACA;AAEV,QAAI,IAAI,oBAAoB,KAAK;AAC7B,UAAI,YAAY,WAAW,YAAY;AAEvC,cAAQ,kBAAkB;AAAA,QACtB,KAAK;AACD,cAAI,YAAY,KAAM;AAClB,wBAAY;AAAA,UAChB;AACA;AAAA,QACJ,KAAK;AACD,uBAAa,IAAI,IAAI,CAAC;AACtB,eAAK,aAAa,SAAU,KAAM;AAC9B,6BACM,YAAY,OAAS,IAAQ,aAAa;AAChD,gBAAI,gBAAgB,KAAM;AACtB,0BAAY;AAAA,YAChB;AAAA,UACJ;AACA;AAAA,QACJ,KAAK;AACD,uBAAa,IAAI,IAAI,CAAC;AACtB,sBAAY,IAAI,IAAI,CAAC;AACrB,eACK,aAAa,SAAU,QACvB,YAAY,SAAU,KACzB;AACE,6BACM,YAAY,OAAQ,MACpB,aAAa,OAAS,IACvB,YAAY;AACjB,gBACI,gBAAgB,SACf,gBAAgB,SAAU,gBAAgB,QAC7C;AACE,0BAAY;AAAA,YAChB;AAAA,UACJ;AACA;AAAA,QACJ,KAAK;AACD,uBAAa,IAAI,IAAI,CAAC;AACtB,sBAAY,IAAI,IAAI,CAAC;AACrB,uBAAa,IAAI,IAAI,CAAC;AACtB,eACK,aAAa,SAAU,QACvB,YAAY,SAAU,QACtB,aAAa,SAAU,KAC1B;AACE,6BACM,YAAY,OAAQ,MACpB,aAAa,OAAS,MACtB,YAAY,OAAS,IACtB,aAAa;AAClB,gBACI,gBAAgB,SAChB,gBAAgB,SAClB;AACE,0BAAY;AAAA,YAChB;AAAA,UACJ;AAAA,MACR;AAAA,IACJ;AAEA,QAAI,cAAc,MAAM;AAGpB,kBAAY;AACZ,yBAAmB;AAAA,IACvB,WAAW,YAAY,OAAQ;AAE3B,mBAAa;AACb,UAAI,KAAO,cAAc,KAAM,OAAS,KAAM;AAC9C,kBAAY,QAAU,YAAY;AAAA,IACtC;AAEA,QAAI,KAAK,SAAS;AAClB,SAAK;AAAA,EACT;AAEA,SAAO,sBAAsB,GAAG;AACpC;AAKA,IAAI,uBAAuB;AAE3B,SAAS,sBAAsB,YAAY;AACvC,MAAI,MAAM,WAAW;AACrB,MAAI,OAAO,sBAAsB;AAC7B,WAAO,OAAO,aAAa,MAAM,QAAQ,UAAU;AAAA,EACvD;AAGA,MAAI,MAAM;AACV,MAAI,IAAI;AACR,SAAO,IAAI,KAAK;AACZ,WAAO,OAAO,aAAa;AAAA,MACvB;AAAA,MACA,WAAW,MAAM,GAAI,KAAK,oBAAqB;AAAA,IACnD;AAAA,EACJ;AACA,SAAO;AACX;AAEA,SAAS,WAAW,KAAK,OAAO,KAAK;AACjC,MAAI,MAAM;AACV,QAAM,KAAK,IAAI,IAAI,QAAQ,GAAG;AAE9B,WAAS,IAAI,OAAO,IAAI,KAAK,EAAE,GAAG;AAC9B,WAAO,OAAO,aAAa,IAAI,CAAC,IAAI,GAAI;AAAA,EAC5C;AACA,SAAO;AACX;AAEA,SAAS,YAAY,KAAK,OAAO,KAAK;AAClC,MAAI,MAAM;AACV,QAAM,KAAK,IAAI,IAAI,QAAQ,GAAG;AAE9B,WAAS,IAAI,OAAO,IAAI,KAAK,EAAE,GAAG;AAC9B,WAAO,OAAO,aAAa,IAAI,CAAC,CAAC;AAAA,EACrC;AACA,SAAO;AACX;AAEA,SAAS,SAAS,KAAK,OAAO,KAAK;AAC/B,MAAI,MAAM,IAAI;AAEd,MAAI,CAAC,SAAS,QAAQ;AAAG,YAAQ;AACjC,MAAI,CAAC,OAAO,MAAM,KAAK,MAAM;AAAK,UAAM;AAExC,MAAI,MAAM;AACV,WAAS,IAAI,OAAO,IAAI,KAAK,EAAE,GAAG;AAC9B,WAAO,MAAM,IAAI,CAAC,CAAC;AAAA,EACvB;AACA,SAAO;AACX;AAEA,SAAS,aAAa,KAAK,OAAO,KAAK;AACnC,MAAI,QAAQ,IAAI,MAAM,OAAO,GAAG;AAChC,MAAI,MAAM;AACV,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AACtC,WAAO,OAAO,aAAa,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,GAAG;AAAA,EAC5D;AACA,SAAO;AACX;AAEA,OAAO,UAAU,QAAQ,SAAS,MAAM,OAAO,KAAK;AAChD,MAAI,MAAM,KAAK;AACf,UAAQ,CAAC,CAAC;AACV,QAAM,QAAQ,SAAY,MAAM,CAAC,CAAC;AAElC,MAAI,QAAQ,GAAG;AACX,aAAS;AACT,QAAI,QAAQ;AAAG,cAAQ;AAAA,EAC3B,WAAW,QAAQ,KAAK;AACpB,YAAQ;AAAA,EACZ;AAEA,MAAI,MAAM,GAAG;AACT,WAAO;AACP,QAAI,MAAM;AAAG,YAAM;AAAA,EACvB,WAAW,MAAM,KAAK;AAClB,UAAM;AAAA,EACV;AAEA,MAAI,MAAM;AAAO,UAAM;AAEvB,MAAI;AACJ,MAAI,OAAO,qBAAqB;AAC5B,aAAS,KAAK,SAAS,OAAO,GAAG;AACjC,WAAO,YAAY,OAAO;AAAA,EAC9B,OAAO;AACH,QAAI,WAAW,MAAM;AACrB,aAAS,IAAI,OAAO,UAAU,MAAS;AACvC,aAAS,IAAI,GAAG,IAAI,UAAU,EAAE,GAAG;AAC/B,aAAO,CAAC,IAAI,KAAK,IAAI,KAAK;AAAA,IAC9B;AAAA,EACJ;AAEA,SAAO;AACX;AAKA,SAAS,YAAY,QAAQ,KAAK,QAAQ;AACtC,MAAI,SAAS,MAAM,KAAK,SAAS;AAC7B,UAAM,IAAI,WAAW,oBAAoB;AAC7C,MAAI,SAAS,MAAM;AACf,UAAM,IAAI,WAAW,uCAAuC;AACpE;AAEA,OAAO,UAAU,aAAa,SAAS,WACnC,QACAC,aACA,UACF;AACE,WAAS,SAAS;AAClB,EAAAA,cAAaA,cAAa;AAC1B,MAAI,CAAC;AAAU,gBAAY,QAAQA,aAAY,KAAK,MAAM;AAE1D,MAAI,MAAM,KAAK,MAAM;AACrB,MAAI,MAAM;AACV,MAAI,IAAI;AACR,SAAO,EAAE,IAAIA,gBAAe,OAAO,MAAQ;AACvC,WAAO,KAAK,SAAS,CAAC,IAAI;AAAA,EAC9B;AAEA,SAAO;AACX;AAEA,OAAO,UAAU,aAAa,SAAS,WACnC,QACAA,aACA,UACF;AACE,WAAS,SAAS;AAClB,EAAAA,cAAaA,cAAa;AAC1B,MAAI,CAAC,UAAU;AACX,gBAAY,QAAQA,aAAY,KAAK,MAAM;AAAA,EAC/C;AAEA,MAAI,MAAM,KAAK,SAAS,EAAEA,WAAU;AACpC,MAAI,MAAM;AACV,SAAOA,cAAa,MAAM,OAAO,MAAQ;AACrC,WAAO,KAAK,SAAS,EAAEA,WAAU,IAAI;AAAA,EACzC;AAEA,SAAO;AACX;AAEA,OAAO,UAAU,YAAY,SAAS,UAAU,QAAQ,UAAU;AAC9D,MAAI,CAAC;AAAU,gBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,SAAO,KAAK,MAAM;AACtB;AAEA,OAAO,UAAU,eAAe,SAAS,aAAa,QAAQ,UAAU;AACpE,MAAI,CAAC;AAAU,gBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,SAAO,KAAK,MAAM,IAAK,KAAK,SAAS,CAAC,KAAK;AAC/C;AAEA,OAAO,UAAU,eAAe,SAAS,aAAa,QAAQ,UAAU;AACpE,MAAI,CAAC;AAAU,gBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,SAAQ,KAAK,MAAM,KAAK,IAAK,KAAK,SAAS,CAAC;AAChD;AAEA,OAAO,UAAU,eAAe,SAAS,aAAa,QAAQ,UAAU;AACpE,MAAI,CAAC;AAAU,gBAAY,QAAQ,GAAG,KAAK,MAAM;AAEjD,UACK,KAAK,MAAM,IAAK,KAAK,SAAS,CAAC,KAAK,IAAM,KAAK,SAAS,CAAC,KAAK,MAC/D,KAAK,SAAS,CAAC,IAAI;AAE3B;AAEA,OAAO,UAAU,eAAe,SAAS,aAAa,QAAQ,UAAU;AACpE,MAAI,CAAC;AAAU,gBAAY,QAAQ,GAAG,KAAK,MAAM;AAEjD,SACI,KAAK,MAAM,IAAI,YACb,KAAK,SAAS,CAAC,KAAK,KAAO,KAAK,SAAS,CAAC,KAAK,IAAK,KAAK,SAAS,CAAC;AAE7E;AAEA,OAAO,UAAU,YAAY,SAAS,UAAU,QAAQA,aAAY,UAAU;AAC1E,WAAS,SAAS;AAClB,EAAAA,cAAaA,cAAa;AAC1B,MAAI,CAAC;AAAU,gBAAY,QAAQA,aAAY,KAAK,MAAM;AAE1D,MAAI,MAAM,KAAK,MAAM;AACrB,MAAI,MAAM;AACV,MAAI,IAAI;AACR,SAAO,EAAE,IAAIA,gBAAe,OAAO,MAAQ;AACvC,WAAO,KAAK,SAAS,CAAC,IAAI;AAAA,EAC9B;AACA,SAAO;AAEP,MAAI,OAAO;AAAK,WAAO,KAAK,IAAI,GAAG,IAAIA,WAAU;AAEjD,SAAO;AACX;AAEA,OAAO,UAAU,YAAY,SAAS,UAAU,QAAQA,aAAY,UAAU;AAC1E,WAAS,SAAS;AAClB,EAAAA,cAAaA,cAAa;AAC1B,MAAI,CAAC;AAAU,gBAAY,QAAQA,aAAY,KAAK,MAAM;AAE1D,MAAI,IAAIA;AACR,MAAI,MAAM;AACV,MAAI,MAAM,KAAK,SAAS,EAAE,CAAC;AAC3B,SAAO,IAAI,MAAM,OAAO,MAAQ;AAC5B,WAAO,KAAK,SAAS,EAAE,CAAC,IAAI;AAAA,EAChC;AACA,SAAO;AAEP,MAAI,OAAO;AAAK,WAAO,KAAK,IAAI,GAAG,IAAIA,WAAU;AAEjD,SAAO;AACX;AAEA,OAAO,UAAU,WAAW,SAAS,SAAS,QAAQ,UAAU;AAC5D,MAAI,CAAC;AAAU,gBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,MAAI,EAAE,KAAK,MAAM,IAAI;AAAO,WAAO,KAAK,MAAM;AAC9C,UAAQ,MAAO,KAAK,MAAM,IAAI,KAAK;AACvC;AAEA,OAAO,UAAU,cAAc,SAAS,YAAY,QAAQ,UAAU;AAClE,MAAI,CAAC;AAAU,gBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,MAAI,MAAM,KAAK,MAAM,IAAK,KAAK,SAAS,CAAC,KAAK;AAC9C,SAAO,MAAM,QAAS,MAAM,aAAa;AAC7C;AAEA,OAAO,UAAU,cAAc,SAAS,YAAY,QAAQ,UAAU;AAClE,MAAI,CAAC;AAAU,gBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,MAAI,MAAM,KAAK,SAAS,CAAC,IAAK,KAAK,MAAM,KAAK;AAC9C,SAAO,MAAM,QAAS,MAAM,aAAa;AAC7C;AAEA,OAAO,UAAU,cAAc,SAAS,YAAY,QAAQ,UAAU;AAClE,MAAI,CAAC;AAAU,gBAAY,QAAQ,GAAG,KAAK,MAAM;AAEjD,SACI,KAAK,MAAM,IACV,KAAK,SAAS,CAAC,KAAK,IACpB,KAAK,SAAS,CAAC,KAAK,KACpB,KAAK,SAAS,CAAC,KAAK;AAE7B;AAEA,OAAO,UAAU,cAAc,SAAS,YAAY,QAAQ,UAAU;AAClE,MAAI,CAAC;AAAU,gBAAY,QAAQ,GAAG,KAAK,MAAM;AAEjD,SACK,KAAK,MAAM,KAAK,KAChB,KAAK,SAAS,CAAC,KAAK,KACpB,KAAK,SAAS,CAAC,KAAK,IACrB,KAAK,SAAS,CAAC;AAEvB;AAEA,OAAO,UAAU,cAAc,SAAS,YAAY,QAAQ,UAAU;AAClE,MAAI,CAAC;AAAU,gBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,SAAO,YAAY,MAAM,QAAQ,MAAM,IAAI,CAAC;AAChD;AAEA,OAAO,UAAU,cAAc,SAAS,YAAY,QAAQ,UAAU;AAClE,MAAI,CAAC;AAAU,gBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,SAAO,YAAY,MAAM,QAAQ,OAAO,IAAI,CAAC;AACjD;AAEA,OAAO,UAAU,eAAe,SAAS,aAAa,QAAQ,UAAU;AACpE,MAAI,CAAC;AAAU,gBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,SAAO,YAAY,MAAM,QAAQ,MAAM,IAAI,CAAC;AAChD;AAEA,OAAO,UAAU,eAAe,SAAS,aAAa,QAAQ,UAAU;AACpE,MAAI,CAAC;AAAU,gBAAY,QAAQ,GAAG,KAAK,MAAM;AACjD,SAAO,YAAY,MAAM,QAAQ,OAAO,IAAI,CAAC;AACjD;AAEA,SAAS,SAAS,KAAK,OAAO,QAAQ,KAAK,KAAK,KAAK;AACjD,MAAI,CAAC,iBAAiB,GAAG;AACrB,UAAM,IAAI,UAAU,6CAA6C;AACrE,MAAI,QAAQ,OAAO,QAAQ;AACvB,UAAM,IAAI,WAAW,mCAAmC;AAC5D,MAAI,SAAS,MAAM,IAAI;AAAQ,UAAM,IAAI,WAAW,oBAAoB;AAC5E;AAEA,OAAO,UAAU,cAAc,SAAS,YACpC,OACA,QACAA,aACA,UACF;AACE,UAAQ,CAAC;AACT,WAAS,SAAS;AAClB,EAAAA,cAAaA,cAAa;AAC1B,MAAI,CAAC,UAAU;AACX,QAAI,WAAW,KAAK,IAAI,GAAG,IAAIA,WAAU,IAAI;AAC7C,aAAS,MAAM,OAAO,QAAQA,aAAY,UAAU,CAAC;AAAA,EACzD;AAEA,MAAI,MAAM;AACV,MAAI,IAAI;AACR,OAAK,MAAM,IAAI,QAAQ;AACvB,SAAO,EAAE,IAAIA,gBAAe,OAAO,MAAQ;AACvC,SAAK,SAAS,CAAC,IAAK,QAAQ,MAAO;AAAA,EACvC;AAEA,SAAO,SAASA;AACpB;AAEA,OAAO,UAAU,cAAc,SAAS,YACpC,OACA,QACAA,aACA,UACF;AACE,UAAQ,CAAC;AACT,WAAS,SAAS;AAClB,EAAAA,cAAaA,cAAa;AAC1B,MAAI,CAAC,UAAU;AACX,QAAI,WAAW,KAAK,IAAI,GAAG,IAAIA,WAAU,IAAI;AAC7C,aAAS,MAAM,OAAO,QAAQA,aAAY,UAAU,CAAC;AAAA,EACzD;AAEA,MAAI,IAAIA,cAAa;AACrB,MAAI,MAAM;AACV,OAAK,SAAS,CAAC,IAAI,QAAQ;AAC3B,SAAO,EAAE,KAAK,MAAM,OAAO,MAAQ;AAC/B,SAAK,SAAS,CAAC,IAAK,QAAQ,MAAO;AAAA,EACvC;AAEA,SAAO,SAASA;AACpB;AAEA,OAAO,UAAU,aAAa,SAAS,WAAW,OAAO,QAAQ,UAAU;AACvE,UAAQ,CAAC;AACT,WAAS,SAAS;AAClB,MAAI,CAAC;AAAU,aAAS,MAAM,OAAO,QAAQ,GAAG,KAAM,CAAC;AACvD,MAAI,CAAC,OAAO;AAAqB,YAAQ,KAAK,MAAM,KAAK;AACzD,OAAK,MAAM,IAAI,QAAQ;AACvB,SAAO,SAAS;AACpB;AAEA,SAAS,kBAAkB,KAAK,OAAO,QAAQ,cAAc;AACzD,MAAI,QAAQ;AAAG,YAAQ,QAAS,QAAQ;AACxC,WAAS,IAAI,GAAG,IAAI,KAAK,IAAI,IAAI,SAAS,QAAQ,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG;AAC9D,QAAI,SAAS,CAAC,KACT,QAAS,OAAS,KAAK,eAAe,IAAI,IAAI,SAC7C,eAAe,IAAI,IAAI,KAAK;AAAA,EACtC;AACJ;AAEA,OAAO,UAAU,gBAAgB,SAAS,cACtC,OACA,QACA,UACF;AACE,UAAQ,CAAC;AACT,WAAS,SAAS;AAClB,MAAI,CAAC;AAAU,aAAS,MAAM,OAAO,QAAQ,GAAG,OAAQ,CAAC;AACzD,MAAI,OAAO,qBAAqB;AAC5B,SAAK,MAAM,IAAI,QAAQ;AACvB,SAAK,SAAS,CAAC,IAAI,UAAU;AAAA,EACjC,OAAO;AACH,sBAAkB,MAAM,OAAO,QAAQ,IAAI;AAAA,EAC/C;AACA,SAAO,SAAS;AACpB;AAEA,OAAO,UAAU,gBAAgB,SAAS,cACtC,OACA,QACA,UACF;AACE,UAAQ,CAAC;AACT,WAAS,SAAS;AAClB,MAAI,CAAC;AAAU,aAAS,MAAM,OAAO,QAAQ,GAAG,OAAQ,CAAC;AACzD,MAAI,OAAO,qBAAqB;AAC5B,SAAK,MAAM,IAAI,UAAU;AACzB,SAAK,SAAS,CAAC,IAAI,QAAQ;AAAA,EAC/B,OAAO;AACH,sBAAkB,MAAM,OAAO,QAAQ,KAAK;AAAA,EAChD;AACA,SAAO,SAAS;AACpB;AAEA,SAAS,kBAAkB,KAAK,OAAO,QAAQ,cAAc;AACzD,MAAI,QAAQ;AAAG,YAAQ,aAAa,QAAQ;AAC5C,WAAS,IAAI,GAAG,IAAI,KAAK,IAAI,IAAI,SAAS,QAAQ,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG;AAC9D,QAAI,SAAS,CAAC,IAAK,WAAY,eAAe,IAAI,IAAI,KAAK,IAAM;AAAA,EACrE;AACJ;AAEA,OAAO,UAAU,gBAAgB,SAAS,cACtC,OACA,QACA,UACF;AACE,UAAQ,CAAC;AACT,WAAS,SAAS;AAClB,MAAI,CAAC;AAAU,aAAS,MAAM,OAAO,QAAQ,GAAG,YAAY,CAAC;AAC7D,MAAI,OAAO,qBAAqB;AAC5B,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,MAAM,IAAI,QAAQ;AAAA,EAC3B,OAAO;AACH,sBAAkB,MAAM,OAAO,QAAQ,IAAI;AAAA,EAC/C;AACA,SAAO,SAAS;AACpB;AAEA,OAAO,UAAU,gBAAgB,SAAS,cACtC,OACA,QACA,UACF;AACE,UAAQ,CAAC;AACT,WAAS,SAAS;AAClB,MAAI,CAAC;AAAU,aAAS,MAAM,OAAO,QAAQ,GAAG,YAAY,CAAC;AAC7D,MAAI,OAAO,qBAAqB;AAC5B,SAAK,MAAM,IAAI,UAAU;AACzB,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,QAAQ;AAAA,EAC/B,OAAO;AACH,sBAAkB,MAAM,OAAO,QAAQ,KAAK;AAAA,EAChD;AACA,SAAO,SAAS;AACpB;AAEA,OAAO,UAAU,aAAa,SAAS,WACnC,OACA,QACAA,aACA,UACF;AACE,UAAQ,CAAC;AACT,WAAS,SAAS;AAClB,MAAI,CAAC,UAAU;AACX,QAAI,QAAQ,KAAK,IAAI,GAAG,IAAIA,cAAa,CAAC;AAE1C,aAAS,MAAM,OAAO,QAAQA,aAAY,QAAQ,GAAG,CAAC,KAAK;AAAA,EAC/D;AAEA,MAAI,IAAI;AACR,MAAI,MAAM;AACV,MAAI,MAAM;AACV,OAAK,MAAM,IAAI,QAAQ;AACvB,SAAO,EAAE,IAAIA,gBAAe,OAAO,MAAQ;AACvC,QAAI,QAAQ,KAAK,QAAQ,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,GAAG;AACtD,YAAM;AAAA,IACV;AACA,SAAK,SAAS,CAAC,KAAO,QAAQ,OAAQ,KAAK,MAAO;AAAA,EACtD;AAEA,SAAO,SAASA;AACpB;AAEA,OAAO,UAAU,aAAa,SAAS,WACnC,OACA,QACAA,aACA,UACF;AACE,UAAQ,CAAC;AACT,WAAS,SAAS;AAClB,MAAI,CAAC,UAAU;AACX,QAAI,QAAQ,KAAK,IAAI,GAAG,IAAIA,cAAa,CAAC;AAE1C,aAAS,MAAM,OAAO,QAAQA,aAAY,QAAQ,GAAG,CAAC,KAAK;AAAA,EAC/D;AAEA,MAAI,IAAIA,cAAa;AACrB,MAAI,MAAM;AACV,MAAI,MAAM;AACV,OAAK,SAAS,CAAC,IAAI,QAAQ;AAC3B,SAAO,EAAE,KAAK,MAAM,OAAO,MAAQ;AAC/B,QAAI,QAAQ,KAAK,QAAQ,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,GAAG;AACtD,YAAM;AAAA,IACV;AACA,SAAK,SAAS,CAAC,KAAO,QAAQ,OAAQ,KAAK,MAAO;AAAA,EACtD;AAEA,SAAO,SAASA;AACpB;AAEA,OAAO,UAAU,YAAY,SAAS,UAAU,OAAO,QAAQ,UAAU;AACrE,UAAQ,CAAC;AACT,WAAS,SAAS;AAClB,MAAI,CAAC;AAAU,aAAS,MAAM,OAAO,QAAQ,GAAG,KAAM,IAAK;AAC3D,MAAI,CAAC,OAAO;AAAqB,YAAQ,KAAK,MAAM,KAAK;AACzD,MAAI,QAAQ;AAAG,YAAQ,MAAO,QAAQ;AACtC,OAAK,MAAM,IAAI,QAAQ;AACvB,SAAO,SAAS;AACpB;AAEA,OAAO,UAAU,eAAe,SAAS,aAAa,OAAO,QAAQ,UAAU;AAC3E,UAAQ,CAAC;AACT,WAAS,SAAS;AAClB,MAAI,CAAC;AAAU,aAAS,MAAM,OAAO,QAAQ,GAAG,OAAQ,MAAO;AAC/D,MAAI,OAAO,qBAAqB;AAC5B,SAAK,MAAM,IAAI,QAAQ;AACvB,SAAK,SAAS,CAAC,IAAI,UAAU;AAAA,EACjC,OAAO;AACH,sBAAkB,MAAM,OAAO,QAAQ,IAAI;AAAA,EAC/C;AACA,SAAO,SAAS;AACpB;AAEA,OAAO,UAAU,eAAe,SAAS,aAAa,OAAO,QAAQ,UAAU;AAC3E,UAAQ,CAAC;AACT,WAAS,SAAS;AAClB,MAAI,CAAC;AAAU,aAAS,MAAM,OAAO,QAAQ,GAAG,OAAQ,MAAO;AAC/D,MAAI,OAAO,qBAAqB;AAC5B,SAAK,MAAM,IAAI,UAAU;AACzB,SAAK,SAAS,CAAC,IAAI,QAAQ;AAAA,EAC/B,OAAO;AACH,sBAAkB,MAAM,OAAO,QAAQ,KAAK;AAAA,EAChD;AACA,SAAO,SAAS;AACpB;AAEA,OAAO,UAAU,eAAe,SAAS,aAAa,OAAO,QAAQ,UAAU;AAC3E,UAAQ,CAAC;AACT,WAAS,SAAS;AAClB,MAAI,CAAC;AAAU,aAAS,MAAM,OAAO,QAAQ,GAAG,YAAY,WAAW;AACvE,MAAI,OAAO,qBAAqB;AAC5B,SAAK,MAAM,IAAI,QAAQ;AACvB,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,UAAU;AAAA,EACjC,OAAO;AACH,sBAAkB,MAAM,OAAO,QAAQ,IAAI;AAAA,EAC/C;AACA,SAAO,SAAS;AACpB;AAEA,OAAO,UAAU,eAAe,SAAS,aAAa,OAAO,QAAQ,UAAU;AAC3E,UAAQ,CAAC;AACT,WAAS,SAAS;AAClB,MAAI,CAAC;AAAU,aAAS,MAAM,OAAO,QAAQ,GAAG,YAAY,WAAW;AACvE,MAAI,QAAQ;AAAG,YAAQ,aAAa,QAAQ;AAC5C,MAAI,OAAO,qBAAqB;AAC5B,SAAK,MAAM,IAAI,UAAU;AACzB,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,UAAU;AAC7B,SAAK,SAAS,CAAC,IAAI,QAAQ;AAAA,EAC/B,OAAO;AACH,sBAAkB,MAAM,OAAO,QAAQ,KAAK;AAAA,EAChD;AACA,SAAO,SAAS;AACpB;AAEA,SAAS,aAAa,KAAK,OAAO,QAAQ,KAAK,KAAK,KAAK;AACrD,MAAI,SAAS,MAAM,IAAI;AAAQ,UAAM,IAAI,WAAW,oBAAoB;AACxE,MAAI,SAAS;AAAG,UAAM,IAAI,WAAW,oBAAoB;AAC7D;AAEA,SAAS,WAAW,KAAK,OAAO,QAAQ,cAAc,UAAU;AAC5D,MAAI,CAAC,UAAU;AACX;AAAA,MACI;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AACA,eAAa,KAAK,OAAO,QAAQ,cAAc,IAAI,CAAC;AACpD,SAAO,SAAS;AACpB;AAEA,OAAO,UAAU,eAAe,SAAS,aAAa,OAAO,QAAQ,UAAU;AAC3E,SAAO,WAAW,MAAM,OAAO,QAAQ,MAAM,QAAQ;AACzD;AAEA,OAAO,UAAU,eAAe,SAAS,aAAa,OAAO,QAAQ,UAAU;AAC3E,SAAO,WAAW,MAAM,OAAO,QAAQ,OAAO,QAAQ;AAC1D;AAEA,SAAS,YAAY,KAAK,OAAO,QAAQ,cAAc,UAAU;AAC7D,MAAI,CAAC,UAAU;AACX;AAAA,MACI;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AACA,eAAa,KAAK,OAAO,QAAQ,cAAc,IAAI,CAAC;AACpD,SAAO,SAAS;AACpB;AAEA,OAAO,UAAU,gBAAgB,SAAS,cACtC,OACA,QACA,UACF;AACE,SAAO,YAAY,MAAM,OAAO,QAAQ,MAAM,QAAQ;AAC1D;AAEA,OAAO,UAAU,gBAAgB,SAAS,cACtC,OACA,QACA,UACF;AACE,SAAO,YAAY,MAAM,OAAO,QAAQ,OAAO,QAAQ;AAC3D;AAGA,OAAO,UAAU,OAAO,SAAS,KAAK,QAAQ,aAAa,OAAO,KAAK;AACnE,MAAI,CAAC;AAAO,YAAQ;AACpB,MAAI,CAAC,OAAO,QAAQ;AAAG,UAAM,KAAK;AAClC,MAAI,eAAe,OAAO;AAAQ,kBAAc,OAAO;AACvD,MAAI,CAAC;AAAa,kBAAc;AAChC,MAAI,MAAM,KAAK,MAAM;AAAO,UAAM;AAGlC,MAAI,QAAQ;AAAO,WAAO;AAC1B,MAAI,OAAO,WAAW,KAAK,KAAK,WAAW;AAAG,WAAO;AAGrD,MAAI,cAAc,GAAG;AACjB,UAAM,IAAI,WAAW,2BAA2B;AAAA,EACpD;AACA,MAAI,QAAQ,KAAK,SAAS,KAAK;AAC3B,UAAM,IAAI,WAAW,2BAA2B;AACpD,MAAI,MAAM;AAAG,UAAM,IAAI,WAAW,yBAAyB;AAG3D,MAAI,MAAM,KAAK;AAAQ,UAAM,KAAK;AAClC,MAAI,OAAO,SAAS,cAAc,MAAM,OAAO;AAC3C,UAAM,OAAO,SAAS,cAAc;AAAA,EACxC;AAEA,MAAI,MAAM,MAAM;AAChB,MAAI;AAEJ,MAAI,SAAS,UAAU,QAAQ,eAAe,cAAc,KAAK;AAE7D,SAAK,IAAI,MAAM,GAAG,KAAK,GAAG,EAAE,GAAG;AAC3B,aAAO,IAAI,WAAW,IAAI,KAAK,IAAI,KAAK;AAAA,IAC5C;AAAA,EACJ,WAAW,MAAM,OAAQ,CAAC,OAAO,qBAAqB;AAElD,SAAK,IAAI,GAAG,IAAI,KAAK,EAAE,GAAG;AACtB,aAAO,IAAI,WAAW,IAAI,KAAK,IAAI,KAAK;AAAA,IAC5C;AAAA,EACJ,OAAO;AACH,eAAW,UAAU,IAAI;AAAA,MACrB;AAAA,MACA,KAAK,SAAS,OAAO,QAAQ,GAAG;AAAA,MAChC;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;AAMA,OAAO,UAAU,OAAO,SAAS,KAAK,KAAK,OAAO,KAAK,UAAU;AAE7D,MAAI,OAAO,QAAQ,UAAU;AACzB,QAAI,OAAO,UAAU,UAAU;AAC3B,iBAAW;AACX,cAAQ;AACR,YAAM,KAAK;AAAA,IACf,WAAW,OAAO,QAAQ,UAAU;AAChC,iBAAW;AACX,YAAM,KAAK;AAAA,IACf;AACA,QAAI,IAAI,WAAW,GAAG;AAClB,UAAI,OAAO,IAAI,WAAW,CAAC;AAC3B,UAAI,OAAO,KAAK;AACZ,cAAM;AAAA,MACV;AAAA,IACJ;AACA,QAAI,aAAa,UAAa,OAAO,aAAa,UAAU;AACxD,YAAM,IAAI,UAAU,2BAA2B;AAAA,IACnD;AACA,QAAI,OAAO,aAAa,YAAY,CAAC,OAAO,WAAW,QAAQ,GAAG;AAC9D,YAAM,IAAI,UAAU,uBAAuB,QAAQ;AAAA,IACvD;AAAA,EACJ,WAAW,OAAO,QAAQ,UAAU;AAChC,UAAM,MAAM;AAAA,EAChB;AAGA,MAAI,QAAQ,KAAK,KAAK,SAAS,SAAS,KAAK,SAAS,KAAK;AACvD,UAAM,IAAI,WAAW,oBAAoB;AAAA,EAC7C;AAEA,MAAI,OAAO,OAAO;AACd,WAAO;AAAA,EACX;AAEA,UAAQ,UAAU;AAClB,QAAM,QAAQ,SAAY,KAAK,SAAS,QAAQ;AAEhD,MAAI,CAAC;AAAK,UAAM;AAEhB,MAAI;AACJ,MAAI,OAAO,QAAQ,UAAU;AACzB,SAAK,IAAI,OAAO,IAAI,KAAK,EAAE,GAAG;AAC1B,WAAK,CAAC,IAAI;AAAA,IACd;AAAA,EACJ,OAAO;AACH,QAAI,QAAQ,iBAAiB,GAAG,IAC1B,MACA,YAAY,IAAI,OAAO,KAAK,QAAQ,EAAE,SAAS,CAAC;AACtD,QAAI,MAAM,MAAM;AAChB,SAAK,IAAI,GAAG,IAAI,MAAM,OAAO,EAAE,GAAG;AAC9B,WAAK,IAAI,KAAK,IAAI,MAAM,IAAI,GAAG;AAAA,IACnC;AAAA,EACJ;AAEA,SAAO;AACX;AAKA,IAAI,oBAAoB;AAExB,SAAS,YAAY,KAAK;AAEtB,QAAM,WAAW,GAAG,EAAE,QAAQ,mBAAmB,EAAE;AAEnD,MAAI,IAAI,SAAS;AAAG,WAAO;AAE3B,SAAO,IAAI,SAAS,MAAM,GAAG;AACzB,UAAM,MAAM;AAAA,EAChB;AACA,SAAO;AACX;AAEA,SAAS,WAAW,KAAK;AACrB,MAAI,IAAI;AAAM,WAAO,IAAI,KAAK;AAC9B,SAAO,IAAI,QAAQ,cAAc,EAAE;AACvC;AAEA,SAAS,MAAM,GAAG;AACd,MAAI,IAAI;AAAI,WAAO,MAAM,EAAE,SAAS,EAAE;AACtC,SAAO,EAAE,SAAS,EAAE;AACxB;AAEA,SAAS,YAAY,QAAQ,OAAO;AAChC,UAAQ,SAAS;AACjB,MAAI;AACJ,MAAI,SAAS,OAAO;AACpB,MAAI,gBAAgB;AACpB,MAAI,QAAQ,CAAC;AAEb,WAAS,IAAI,GAAG,IAAI,QAAQ,EAAE,GAAG;AAC7B,gBAAY,OAAO,WAAW,CAAC;AAG/B,QAAI,YAAY,SAAU,YAAY,OAAQ;AAE1C,UAAI,CAAC,eAAe;AAEhB,YAAI,YAAY,OAAQ;AAEpB,eAAK,SAAS,KAAK;AAAI,kBAAM,KAAK,KAAM,KAAM,GAAI;AAClD;AAAA,QACJ,WAAW,IAAI,MAAM,QAAQ;AAEzB,eAAK,SAAS,KAAK;AAAI,kBAAM,KAAK,KAAM,KAAM,GAAI;AAClD;AAAA,QACJ;AAGA,wBAAgB;AAEhB;AAAA,MACJ;AAGA,UAAI,YAAY,OAAQ;AACpB,aAAK,SAAS,KAAK;AAAI,gBAAM,KAAK,KAAM,KAAM,GAAI;AAClD,wBAAgB;AAChB;AAAA,MACJ;AAGA,mBACO,gBAAgB,SAAW,KAAO,YAAY,SACjD;AAAA,IACR,WAAW,eAAe;AAEtB,WAAK,SAAS,KAAK;AAAI,cAAM,KAAK,KAAM,KAAM,GAAI;AAAA,IACtD;AAEA,oBAAgB;AAGhB,QAAI,YAAY,KAAM;AAClB,WAAK,SAAS,KAAK;AAAG;AACtB,YAAM,KAAK,SAAS;AAAA,IACxB,WAAW,YAAY,MAAO;AAC1B,WAAK,SAAS,KAAK;AAAG;AACtB,YAAM,KAAM,aAAa,IAAO,KAAO,YAAY,KAAQ,GAAI;AAAA,IACnE,WAAW,YAAY,OAAS;AAC5B,WAAK,SAAS,KAAK;AAAG;AACtB,YAAM;AAAA,QACD,aAAa,KAAO;AAAA,QACnB,aAAa,IAAO,KAAQ;AAAA,QAC7B,YAAY,KAAQ;AAAA,MACzB;AAAA,IACJ,WAAW,YAAY,SAAU;AAC7B,WAAK,SAAS,KAAK;AAAG;AACtB,YAAM;AAAA,QACD,aAAa,KAAQ;AAAA,QACpB,aAAa,KAAO,KAAQ;AAAA,QAC5B,aAAa,IAAO,KAAQ;AAAA,QAC7B,YAAY,KAAQ;AAAA,MACzB;AAAA,IACJ,OAAO;AACH,YAAM,IAAI,MAAM,oBAAoB;AAAA,IACxC;AAAA,EACJ;AAEA,SAAO;AACX;AAEA,SAAS,aAAa,KAAK;AACvB,MAAI,YAAY,CAAC;AACjB,WAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,EAAE,GAAG;AAEjC,cAAU,KAAK,IAAI,WAAW,CAAC,IAAI,GAAI;AAAA,EAC3C;AACA,SAAO;AACX;AAEA,SAAS,eAAe,KAAK,OAAO;AAChC,MAAI,GAAG,IAAI;AACX,MAAI,YAAY,CAAC;AACjB,WAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,EAAE,GAAG;AACjC,SAAK,SAAS,KAAK;AAAG;AAEtB,QAAI,IAAI,WAAW,CAAC;AACpB,SAAK,KAAK;AACV,SAAK,IAAI;AACT,cAAU,KAAK,EAAE;AACjB,cAAU,KAAK,EAAE;AAAA,EACrB;AAEA,SAAO;AACX;AAEA,SAAS,cAAc,KAAK;AACxB,SAAO,kBAAkB,YAAY,GAAG,CAAC;AAC7C;AAEA,SAAS,WAAW,KAAK,KAAK,QAAQ,QAAQ;AAC1C,WAAS,IAAI,GAAG,IAAI,QAAQ,EAAE,GAAG;AAC7B,QAAI,IAAI,UAAU,IAAI,UAAU,KAAK,IAAI;AAAQ;AACjD,QAAI,IAAI,MAAM,IAAI,IAAI,CAAC;AAAA,EAC3B;AACA,SAAO;AACX;AAEA,SAAS,MAAM,KAAK;AAChB,SAAO,QAAQ;AACnB;AAKA,SAAS,SAAS,KAAK;AACnB,SACI,OAAO,SACN,CAAC,CAAC,IAAI,aAAa,aAAa,GAAG,KAAK,aAAa,GAAG;AAEjE;AAEA,SAAS,aAAa,KAAK;AACvB,SACI,CAAC,CAAC,IAAI,eACN,OAAO,IAAI,YAAY,aAAa,cACpC,IAAI,YAAY,SAAS,GAAG;AAEpC;AAGA,SAAS,aAAa,KAAK;AACvB,SACI,OAAO,IAAI,gBAAgB,cAC3B,OAAO,IAAI,UAAU,cACrB,aAAa,IAAI,MAAM,GAAG,CAAC,CAAC;AAEpC;AAEA,SAAS,YAAY,QAAQ,QAAQ,MAAM,MAAM,QAAQ;AACrD,MAAI,GAAG;AACP,MAAI,OAAO,SAAS,IAAI,OAAO;AAC/B,MAAI,QAAQ,KAAK,QAAQ;AACzB,MAAI,QAAQ,QAAQ;AACpB,MAAI,QAAQ;AACZ,MAAI,IAAI,OAAO,SAAS,IAAI;AAC5B,MAAI,IAAI,OAAO,KAAK;AACpB,MAAI,IAAI,OAAO,SAAS,CAAC;AAEzB,OAAK;AAEL,MAAI,KAAM,KAAK,CAAC,SAAS;AACzB,QAAM,CAAC;AACP,WAAS;AACT,SAAO,QAAQ,GAAG,IAAI,IAAI,MAAM,OAAO,SAAS,CAAC,GAAG,KAAK,GAAG,SAAS,GAAG;AAAA,EAAC;AAEzE,MAAI,KAAM,KAAK,CAAC,SAAS;AACzB,QAAM,CAAC;AACP,WAAS;AACT,SAAO,QAAQ,GAAG,IAAI,IAAI,MAAM,OAAO,SAAS,CAAC,GAAG,KAAK,GAAG,SAAS,GAAG;AAAA,EAAC;AAEzE,MAAI,MAAM,GAAG;AACT,QAAI,IAAI;AAAA,EACZ,WAAW,MAAM,MAAM;AACnB,WAAO,IAAI,OAAO,IAAI,KAAK,KAAK;AAAA,EACpC,OAAO;AACH,QAAI,IAAI,KAAK,IAAI,GAAG,IAAI;AACxB,QAAI,IAAI;AAAA,EACZ;AACA,UAAQ,IAAI,KAAK,KAAK,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI;AAClD;AAEA,SAAS,aAAa,QAAQ,OAAO,QAAQ,MAAM,MAAM,QAAQ;AAC7D,MAAI,GAAG,GAAG;AACV,MAAI,OAAO,SAAS,IAAI,OAAO;AAC/B,MAAI,QAAQ,KAAK,QAAQ;AACzB,MAAI,QAAQ,QAAQ;AACpB,MAAI,KAAK,SAAS,KAAK,KAAK,IAAI,GAAG,GAAG,IAAI,KAAK,IAAI,GAAG,GAAG,IAAI;AAC7D,MAAI,IAAI,OAAO,IAAI,SAAS;AAC5B,MAAI,IAAI,OAAO,IAAI;AACnB,MAAI,IAAI,QAAQ,KAAM,UAAU,KAAK,IAAI,QAAQ,IAAK,IAAI;AAE1D,UAAQ,KAAK,IAAI,KAAK;AAEtB,MAAI,MAAM,KAAK,KAAK,UAAU,UAAU;AACpC,QAAI,MAAM,KAAK,IAAI,IAAI;AACvB,QAAI;AAAA,EACR,OAAO;AACH,QAAI,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG;AACzC,QAAI,SAAS,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG;AACnC;AACA,WAAK;AAAA,IACT;AACA,QAAI,IAAI,SAAS,GAAG;AAChB,eAAS,KAAK;AAAA,IAClB,OAAO;AACH,eAAS,KAAK,KAAK,IAAI,GAAG,IAAI,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,KAAK,GAAG;AAChB;AACA,WAAK;AAAA,IACT;AAEA,QAAI,IAAI,SAAS,MAAM;AACnB,UAAI;AACJ,UAAI;AAAA,IACR,WAAW,IAAI,SAAS,GAAG;AACvB,WAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI;AACtC,UAAI,IAAI;AAAA,IACZ,OAAO;AACH,UAAI,QAAQ,KAAK,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI;AACrD,UAAI;AAAA,IACR;AAAA,EACJ;AAEA,SAEI,QAAQ,GACR,OAAO,SAAS,CAAC,IAAI,IAAI,KAAM,KAAK,GAAG,KAAK,KAAK,QAAQ,GAC3D;AAAA,EAAC;AAEH,MAAK,KAAK,OAAQ;AAClB,UAAQ;AACR,SAEI,OAAO,GACP,OAAO,SAAS,CAAC,IAAI,IAAI,KAAM,KAAK,GAAG,KAAK,KAAK,QAAQ,GAC3D;AAAA,EAAC;AAEH,SAAO,SAAS,IAAI,CAAC,KAAK,IAAI;AAClC;;;ACvnEA,IAAM,OAAO,MAAK;AAAA;AAClB,IAAM,WAAW,CAAI,UAAgB;AAErC,SAAS,KAAQ,OAA+B;AAC/C,SAAO,UAAU,SAAY,CAAA,IAAK,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;AACxE;AAEA,SAAS,OAAU,KAAa;AAC/B,SAAO,IAAI,WAAW,IAAI,SAAY,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI;AACnE;AAWA,SAAS,SACR,OAAkD;AAElD,SAAO,SAAS,OACb,CAAE,IACF,MAAM,QAAQ,KAAK,IAClB,QACA,OAAO,UAAU,YAChB,OAAQ,MAAc,OAAO,QAAQ,MAAM,aAC3C,CAAC,KAAK;;IAEP,CAAC,GAAI,KAAa;;AACvB;AAEA,SAAS,eACR,OAAU;AAEV,SAAO,SAAS,QAAQ,OAAO,MAAM,SAAS;AAC/C;AAEA,SAAS,cAAc,OAAU;AAChC,SAAO,SAAS,QAAQ,OAAO,MAAM,SAAS;AAC/C;AAmCO,IAAM,WAAW;AAgBX,IAAA,SAAS,OAAO,IAAI,cAAc;AAWlC,IAAA,OAAO,OAAO,IAAI,YAAY;AAQ9B,IAAA,MAAM,OAAO,IAAI,WAAW;AAuDzC,IAAM,gBAAgB,OAAO,IAAI,eAAe;IAgDnC,gBAAO;EACnB,YAAY,KAAW,OAAqB;AAC3C,SAAK,MAAM;AACX,SAAK,QAAQ;EACb;EAED,IAAI,MAAG;AACN,WAAO,KAAK,MAAM;EAClB;EAED,IAAI,MAAG;AACN,WAAO,KAAK,MAAM;EAClB;EAED,IAAI,OAAI;AACP,WAAO,CAAC,CAAC,KAAK,MAAM;EACpB;AACD;AAGD,QAAQ,UAAU,WAAW;AAEvB,SAAU,UAAU,OAAU;AACnC,SAAO,SAAS,QAAQ,MAAM,aAAa;AAC5C;AAEA,IAAM,2BAA2B,CAAC,UAAU,MAAM,GAAG;AAErD,IAAM,gCAAgC,CAAC,OAAO,OAAO,QAAQ;AAE7D,IAAM,gBAAgB,oBAAI,IAAI,CAAC,YAAY,OAAO,OAAO,MAAM,CAAC;AAChE,WAAW,cAAc,0BAA0B;AAClD,aAAW,YAAY,+BAA+B;AACrD,kBAAc,IAAI,aAAa,QAAQ;EACvC;AACF;AAUM,SAAU,cACf,KACA,UACG,UAAwB;AAE3B,MAAI,SAAS,MAAM;AAClB,YAAQ,CAAA;EACR;AAED,WAAS,IAAI,GAAG,IAAI,yBAAyB,QAAQ,KAAK;AACzD,UAAM,aAAa,yBAAyB,CAAC;AAC7C,aAAS,IAAI,GAAG,IAAI,8BAA8B,QAAQ,KAAK;AAC9D,YAAM,WAAW,8BAA8B,CAAC;AAChD,YAAM,qBAAqB,aAAa;AACxC,YAAM,iBAAiB,aAAa,WAAW,SAAS;AACxD,UAAI,sBAAuB,OAA0B;AACpD,gBAAQ,KACP,SAAS,kBAAkB,gCAAgC,cAAc,aAAa;AAEtF,cAAyB,cAAc,IAAK,MAC5C,kBAAkB;MAEnB;IACD;EACD;AAED,MAAI,SAAS,SAAS,GAAG;AACvB,UAAyB,WAAW;EACrC,WAAU,SAAS,WAAW,GAAG;AAChC,UAAyB,WAAW,SAAS,CAAC;EAC/C;AAED,SAAO,IAAI,QAAQ,KAAK,KAAuB;AAChD;AAsBA,SAAS,OAAO,OAAe;AAC9B,MAAI,OAAO,UAAU,aAAa,SAAS,MAAM;AAChD,WAAO;EACP,WAAU,OAAO,UAAU,YAAY,UAAU,KAAK,GAAG;AACzD,WAAO;EACP,WAAU,OAAQ,MAAc,OAAO,QAAQ,MAAM,YAAY;AACjE,WAAO,cAAc,UAAU,MAAM,KAAK;EAC1C;AAED,SAAO,MAAM,SAAQ;AACtB;AA0CA,SAAS,UACR,QAAkC;AAElC,QAAM,SAAgC,CAAA;AACtC,MAAI;AACJ,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACvC,UAAM,QAAQ,OAAO,CAAC;AACtB,QAAI,CAAC;AAAO;aAED,OAAO,UAAU,UAAU;AACrC,gBAAU,UAAU,MAAM;IAC1B,WAAU,CAAC,MAAM,QAAQ,KAAK,GAAG;AACjC,UAAI,QAAQ;AACX,eAAO,KAAK,MAAM;AAClB,iBAAS;MACT;AAED,aAAO,KAAK,KAAK;IACjB,OAAM;AAEN,eAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACtC,cAAM,SAAS,MAAM,CAAC;AACtB,YAAI,CAAC;AAAQ;iBAEF,OAAO,WAAW,UAAU;AACtC,oBAAU,UAAU,MAAM;QAC1B,OAAM;AACN,cAAI,QAAQ;AACX,mBAAO,KAAK,MAAM;AAClB,qBAAS;UACT;AAED,iBAAO,KAAK,MAAM;QAClB;MACD;IACD;EACD;AAED,MAAI,QAAQ;AACX,WAAO,KAAK,MAAM;EAClB;AAED,SAAO;AACR;AAOA,IAAM,WAAN,MAAc;EAkCb,YAAY,IAAW;AACtB,SAAK,KAAK;AACV,SAAK,MAAM;AACX,SAAK,WAAW;AAChB,SAAK,QAAQ;AACb,SAAK,oBAAoB;AACzB,SAAK,gBAAgB;AACrB,SAAK,gBAAgB;AACrB,SAAK,eAAe;EACpB;AACD;AAYD,SAAS,SAAgB,KAAoB;AAC5C,MAAI,OAAO,IAAI,kBAAkB,aAAa;AAC7C,WAAO,OAAO,IAAI,kBAAkB,WACjC,SAAS,IAAI,aAAa,IAC1B,IAAI;EACP,WAAU,IAAI,GAAG,QAAQ,QAAQ;AACjC;EACA,WAAU,OAAO,IAAI,GAAG,QAAQ,cAAc,IAAI,GAAG,QAAQ,UAAU;AACvE,WAAO,IAAI;EACX;AAED,SAAO,OAAO,eAAe,GAAG,CAAC;AAClC;AAOA,SAAS,eAAsB,KAAoB;AAClD,MAAI,IAAI,mBAAmB;AAC1B,WAAO,KAAK,IAAI,iBAAiB;EACjC;AAED,QAAM,SAAqC,CAAA;AAC3C,QAAM,WAAW,KAAK,IAAI,QAAQ;AAClC,WAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACzC,UAAM,QAAQ,SAAS,CAAC;AACxB,QAAI,OAAO;AACV,aAAO,KAAK,OAAO,UAAU,WAAW,QAAQ,SAAS,KAAK,CAAC;IAC/D;EACD;AAED,QAAM,UAAU,UAAU,MAAM;AAChC,QAAM,MAAM,IAAI,GAAG;AACnB,MAAI,OAAO,QAAQ,cAAe,QAAQ,YAAY,QAAQ,KAAM;AACnE,QAAI,oBAAoB,OAAO,OAAO;EACtC;AACD,SAAO;AACR;AA6GA,IAAM,sBAAwE;EAC7E,SAAM;AACL,UAAM,IAAI,MAAM,iBAAiB;EACjC;EACD,UAAO;AACN,UAAM,IAAI,MAAM,iBAAiB;EACjC;EACD,OAAO;EACP,MAAM;EACN,MAAM;EACN,KAAK;EACL,OAAO;EACP,SAAS;EACT,SAAS;EACT,OAAO;;AAGR,IAAM,gBAAgB,OAAO,IAAI,oBAAoB;IAYxC,iBAAQ;EAapB,YAAYC,OAA0D;AACrE,SAAK,QAAQ,oBAAI,QAAO;AACxB,SAAK,aAAa,IAAI;MACrB,GAAI;MACJ,GAAGA;;EAEJ;;;;;;;;;;;;;;;;EAiBD,OACC,UACA,MACA,QAA4B;AAE5B,QAAI;AACJ,UAAM,MAAM,UAAW,OAAO,YAAY;AAC1C,QAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC9C,YAAM,KAAK,MAAM,IAAI,IAAI;IACzB;AAED,QAAI;AACJ,QAAI,QAAQ,QAAW;AACtB,YAAM,IAAI,SAAS,cAAc,QAAQ,EAAC,UAAU,KAAK,CAAA,CAAC;AAC1D,UAAI,QAAQ;AACZ,UAAI,MAAM;AACV,UAAI,OAAO,SAAS,YAAY,SAAS,QAAQ,YAAY,MAAM;AAClE,aAAK,MAAM,IAAI,MAAM,GAAG;MACxB;IACD,WAAU,IAAI,QAAQ,KAAK;AAC3B,YAAM,IAAI,MAAM,kBAAkB;IAClC,OAAM;AACN,iBAAW,IAAI,GAAG;AAClB,UAAI,KAAK,cAAc,QAAQ,EAAC,UAAU,KAAI,CAAC;AAC/C,UAAI,OAAO,SAAS,YAAY,SAAS,QAAQ,YAAY,MAAM;AAClE,aAAK,MAAM,OAAO,IAAI;MACtB;IACD;AAED,UAAMA,QAAO,KAAK,aAAa;AAC/B,UAAM,cAAc,aACnBA,OACA,MACA,KACA,KACAA,MAAK,MAAM,QAAW,QAAQ,IAAI,GAAG,KAAK,GAC1C,KACA,UACA,MAAS;AAKV,QAAI,cAAc,WAAW,GAAG;AAC/B,aAAO,YAAY,KAAK,CAACC,iBACxB,iBAAiBD,OAAM,MAAM,KAAK,KAAMC,cAAa,QAAQ,CAAC;IAE/D;AAED,WAAO,iBAAiBD,OAAM,MAAM,KAAK,KAAK,aAAa,QAAQ;EACnE;EAED,QACC,UACA,MACA,QAA4B;AAE5B,UAAMA,QAAO,KAAK,aAAa;AAC/B,UAAM,MAAM,UAAW,OAAO,YAAY;AAC1C,QAAI;AACJ,UAAM,KAAK,MAAM,IAAI,IAAI;AACzB,QAAI,QAAQ,QAAW;AAEtB,aAAO,KAAK,OAAO,UAAU,MAAM,MAAM;IACzC;AAED,QAAI;AACJ,UAAM,IAAI,SAAS,cAAc,QAAQ,EAAC,UAAU,KAAK,CAAA,CAAC;AAC1D,QAAI,QAAQ;AACZ,QAAI,OAAO,SAAS,YAAY,SAAS,QAAQ,YAAY,MAAM;AAClE,WAAK,MAAM,IAAI,MAAM,GAAG;IACxB;AAED,UAAM,gBAAgBA,MAAK,QAAQ,QAAQ,MAAM,CAAA,CAAE;AACnD,UAAM,cAAc,aACnBA,OACA,MACA,KACA,KACAA,MAAK,MAAM,QAAW,QAAQ,IAAI,GAAG,KAAK,GAC1C,KACA,UACA,aAAa;AAKd,QAAI,cAAc,WAAW,GAAG;AAC/B,aAAO,YAAY,KAAK,CAACC,iBACxB,iBAAiBD,OAAM,MAAM,KAAK,KAAMC,cAAa,QAAQ,CAAC;IAE/D;AAED,WAAO,iBAAiBD,OAAM,MAAM,KAAK,KAAK,aAAa,QAAQ;EACnE;AACD;AAGD,SAAS,iBACRE,WACA,MACA,KACA,KACA,aACA,UAAyC;AAGzC,MAAI,QAAQ,MAAM;AACjB,IAAAA,UAAS,QACR,QACA,MACA,IAAI,GAAG,OACP,aACA,UACA,KAAK,IAAI,iBAAiB,CAAC;AAE5B,UAAMA,WAAU,IAAI;EACpB;AAED,MAAI,oBAAoB,OAAO,WAAW;AAC1C,MAAI,QAAQ,MAAM;AACjB,YAAQA,WAAU,KAAK,KAAK,GAAG;EAC/B;AAED,SAAOA,UAAS,KAAK,IAAI,iBAAiB;AAC3C;AAEA,SAAS,aACRA,WACA,MACA,MACA,KACA,OACA,QACA,UACA,eAA+C;AAE/C,QAAM,cAAc,KAAK,OAAO,QAAQ;AACxC,QAAM,cAAkC,CAAA;AACxC,QAAM,cAAc,SAAS,QAAQ;AACrC,QAAM,SAAoE,CAAA;AAC1E,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI,UAAU;AAGd,MAAI;AACJ,MAAI,KAAK;AACT,MAAI,YAAY,YAAY;AAC5B,WAAS,KAAK,GAAG,YAAY,YAAY,QAAQ,KAAK,WAAW,MAAM;AAEtE,QAAI,MAAM,MAAM,YAAY,SAAY,YAAY,EAAE;AACtD,QAAI,QAAQ,OAAO,YAAY,EAAE,CAAC;AAClC;AAEC,UAAI,SAAS,OAAO,QAAQ,WAAW,IAAI,GAAG,MAAM;AACpD,UAAI,SAAS,OAAO,UAAU,WAAW,MAAM,MAAM;AACrD,UAAI,WAAW,UAAa,YAAY,SAAS,IAAI,MAAM,GAAG;AAC7D,gBAAQ,MAAM,iBAAiB,MAAM;AACrC,iBAAS;MACT;AAED,UAAI,WAAW,QAAQ;AACtB,YAAI,kBAAkB,UAAa,WAAW,QAAW;AACxD,wBAAc,OAAO,MAAM;QAC3B;AAED;MACA,OAAM;AACN,wBAAgB,iBAAiB,oBAAoB,aAAa,EAAE;AACpE,YAAI,WAAW,QAAW;AACzB,iBAAO,QAAQ,UAAa,WAAW,QAAW;AACjD;AACA,kBAAM,YAAY,EAAE;AACpB,qBAAS,OAAO,QAAQ,WAAW,IAAI,GAAG,MAAM;UAChD;AAED;QACA,OAAM;AACN,gBAAM,cAAc,IAAI,MAAM;AAC9B,cAAI,QAAQ,QAAW;AACtB,0BAAc,OAAO,MAAM;UAC3B;AAED,WAAC,WAAW,YAAY,oBAAI,IAAG,GAAI,IAAI,MAAM;QAC7C;MACD;IACD;AAGD,QAAI;AACJ,QAAI,OAAO,UAAU,UAAU;AAC9B,UAAI,MAAM,QAAQ,QAAS,OAAO,QAAQ,YAAY,IAAI,OAAO,OAAQ;AACxE,gBAAQ,iBAAiB,GAAG;MAC5B,OAAM;AACN,YAAI;AACJ,YAAIC,QAAO;AACX,YAAI,OAAO,QAAQ,YAAY,IAAI,GAAG,QAAQ,MAAM,KAAK;AACxD,qBAAW,IAAI,GAAG;AAClB,cAAI,KAAK;AACT,cAAI,MAAM,MAAM;AACf,oBAAQ,iBAAiB,GAAG;AAC5B,YAAAA,QAAO;UACP;QACD,OAAM;AACN,cAAI,OAAO,QAAQ,UAAU;AAC5B,aAAC,YAAY,aAAa,CAAE,GAAE,KAAK,GAAG;UACtC;AAED,gBAAM,WAAW;AACjB,gBAAM,IAAI,SAAgB,KAAK;AAC/B,cAAI,gBAAgB;QACpB;AAED,YAAIA;AAAM;iBAEC,MAAM,QAAQ,KAAK;AAC7B,kBAAQ,iBACL,eAAe,KAAK,MACpB,UACCD,WACA,KACA,OACA,UACA,aAAa,CACb,IAED,UAAUA,WAAU,KAAK,OAAO,UAAU,aAAa;QAC1D,WAAU,MAAM,QAAQ,UAAU;AAClC,kBAAQ,iBACL,eAAe,KAAK,MACpB,eACCA,WACA,MACA,MACA,KACA,OACA,KACA,aAAa,CACb,IAED,eACAA,WACA,MACA,MACA,KACA,OACA,KACA,aAAa;QAEhB,WAAU,OAAO,MAAM,QAAQ,YAAY;AAC3C,kBAAQ,iBACL,eAAe,KAAK,MACpB,gBACCA,WACA,MACA,MACA,KACA,OACA,KACA,UACA,aAAa,CACb,IAED,gBACAA,WACA,MACA,MACA,KACA,OACA,KACA,UACA,aAAa;QAEhB,OAAM;AACN,kBAAQ,iBACL,eAAe,KAAK,MACpB,WACCA,WACA,MACA,KACA,OACA,KACA,UACA,aAAa,CACb,IAED,WACAA,WACA,MACA,KACA,OACA,KACA,UACA,aAAa;QAEhB;MACD;AAED,UAAI,cAAc,KAAK,GAAG;AACzB,kBAAU;AACV,YAAI,kBAAkB,QAAW;AAChC,2BAAiB;QACjB;MACD;IACD,OAAM;AAEN,UAAI,OAAO,QAAQ,UAAU;AAC5B,SAAC,YAAY,aAAa,CAAE,GAAE,KAAK,GAAG;MACtC;AAED,UAAI,OAAO,UAAU,UAAU;AAC9B,gBAAQ,MAAMA,UAAS,KAAK,OAAO,OAAO,aAAa;MACvD,OAAM;AACN,cAAM;MACN;IACD;AAED,WAAO,EAAE,IAAI;AACb,gBAAY,EAAE,IAAI;EAClB;AAGD,SAAO,KAAK,WAAW,MAAM;AAC5B,UAAM,MAAM,YAAY,EAAE;AAC1B,QACC,OAAO,QAAQ,aACd,OAAO,IAAI,GAAG,QAAQ,eACtB,CAAC,YACD,CAAC,SAAS,IAAI,IAAI,GAAG,GAAG,IACxB;AACD,OAAC,YAAY,aAAa,CAAE,GAAE,KAAK,GAAG;IACtC;EACD;AAED,MAAI,kBAAkB,UAAa,cAAc,OAAO,GAAG;AAC1D,KAAC,YAAY,aAAa,CAAE,GAAE,KAAK,GAAG,cAAc,OAAM,CAAE;EAC5D;AAED,SAAO,WAAW,OAAO,WAAW;AACpC,MAAI,SAAS;AACZ,QAAI,eAAe,QAAQ,IAAI,MAAM,EAAE,QAAQ,MAAK;AACnD,UAAI,WAAW;AACd,iBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AAC1C,kBAAQA,WAAU,MAAM,KAAK,UAAU,CAAC,CAAC;QACzC;MACD;IACF,CAAC;AAED,QAAI;AACJ,mBAAe,QAAQ,KAAK;MAC3B;MACA,IAAI,QAAa,CAAC,YAAa,gBAAgB,OAAQ;IACvD,CAAA;AAED,QAAI,OAAO,cAAc;AACxB,aAAO,aAAa,YAAY;IAChC;AAED,WAAO,eAAe;AACtB,WAAO,aAAa,KAAK,CAAC,gBAAe;AACxC,aAAO,gBAAgB,OAAO,gBAAgB;AAC9C,aAAO,UAAU,WAAW;IAC7B,CAAC;EACD,OAAM;AACN,QAAI,WAAW;AACd,eAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AAC1C,gBAAQA,WAAU,MAAM,KAAK,UAAU,CAAC,CAAC;MACzC;IACD;AAED,QAAI,OAAO,cAAc;AACxB,aAAO,aAAa,MAAM;AAC1B,aAAO,eAAe;IACtB;AAED,WAAO,gBAAgB,OAAO,gBAAgB;AAE9C,WAAO,UAAU,MAAoC;EACrD;AACF;AAEA,SAAS,oBACR,UACA,QAAc;AAEd,QAAM,gBAAgB,oBAAI,IAAG;AAC7B,WAAS,IAAI,QAAQ,IAAI,SAAS,QAAQ,KAAK;AAC9C,UAAM,QAAQ,SAAS,CAAC;AACxB,QAAI,OAAO,UAAU,YAAY,OAAO,MAAM,GAAG,QAAQ,aAAa;AACrE,oBAAc,IAAI,MAAM,GAAG,KAAK,KAAK;IACrC;EACD;AAED,SAAO;AACR;AAEA,SAAS,iBACR,OAA2B;AAE3B,MAAI,OAAO,UAAU,UAAU;AAC9B,WAAO;EACP;AAED,QAAM,MACL,OAAO,MAAM,GAAG,QAAQ,aAAa,MAAM,MAAM;AAClD,MAAI,OAAO,IAAI,IAAI,cAAc,IAAI,eAAe;AACnD,WAAO,IAAI;EACX,WAAU,MAAM,eAAe;AAC/B,WAAO,MAAM;EACb;AAED,SAAO,SAAS,KAAK;AACtB;AAEA,SAAS,UACRA,WACA,KACA,OACA,UACA,eAA+C;AAE/C,QAAM,QAAQ,IAAI,GAAG;AACrB,MAAI,CAAC,YAAY,SAAS,UAAU,MAAM,OAAO;AAChD,QAAI,QAAQA,UAAS,IAAI,MAAM,OAAc,OAAO,aAAa;AACjE,QAAI,OAAO,IAAI,GAAG,QAAQ,YAAY;AACrC,UAAI,GAAG,IAAI,IAAI,KAAK;IACpB;EACD;AAED,SAAO,IAAI;AACZ;AAEA,SAAS,eACRA,WACA,MACA,MACA,KACA,OACA,KACA,eAA+C;AAE/C,QAAM,cAAc,aACnBA,WACA,MACA,MACA,KACA,OACA,KACA,IAAI,GAAG,MAAM,UACb,aAAa;AAGd,MAAI,cAAc,WAAW,GAAG;AAC/B,QAAI,gBAAgB,YAAY,KAAK,CAACD,iBAAgB,OAAOA,YAAW,CAAC;AACzE,WAAO,IAAI;EACX;AAED,SAAO,OAAO,WAAW;AAC1B;AAEA,SAAS,WACRC,WACA,MACA,KACA,OACA,KACA,UACA,eAA+C;AAE/C,QAAM,KAAK,IAAI;AACf,QAAM,MAAM,GAAG;AACf,MAAI;AACJ,MAAI,GAAG,QAAQ,QAAQ;AACtB,WAAO,IAAI,QAAQ,GAAG,MAAM;EAC5B,OAAM;AACN,QAAI,kBAAkB,QAAW;AAChC,YAAM,QAAQ,cAAc,SAAS,MAAK;AAC1C,uBAAiB;IACjB;EACD;AAED,UAAQA,UAAS,MAAM,OAAO,KAAK,GAAG,KAAK;AAC3C,MAAI;AACJ,MAAI,kBAAkB,QAAQ,OAAO,mBAAmB,UAAU;AACjE,yBAAqBA,UAAS,QAAQ,KAAK,gBAAgB,GAAG,KAAK;AAEnE,QAAI,uBAAuB,QAAW;AACrC,uBAAiB;IACjB;EACD;AACD,QAAM,cAAc,aACnBA,WACA,MACA,KACA,KACA,OACA,KACA,IAAI,GAAG,MAAM,UACb,kBAAkB;AAGnB,MAAI,cAAc,WAAW,GAAG;AAC/B,QAAI,gBAAgB,YAAY,KAAK,CAACD,iBACrC,WAAWC,WAAU,OAAO,KAAKD,cAAa,UAAU,cAAc,CAAC;AAGxE,WAAO,IAAI;EACX;AAED,SAAO,WACNC,WACA,OACA,KACA,aACA,UACA,cAAc;AAEhB;AAEA,SAAS,WACRA,WACA,OACA,KACA,aACA,UACA,gBAAiC;AAEjC,QAAM,MAAM,IAAI,GAAG;AACnB,MAAI,QAAQ,IAAI;AAChB,MAAI,kBAAkB,MAAM;AAC3B,YAAQ,IAAI,QAAQ;AACpB,QAAI,OAAO,IAAI,GAAG,QAAQ,YAAY;AACrC,UAAI,GAAG,IAAI,KAAK;IAChB;EACD;AAED,MAAI,QAAQ,IAAI,GAAG;AACnB,MAAI;AACJ,MAAI,QAAQ,QAAQ;AACnB,QAAI,SAAS,MAAM;AAElB,cAAQ,IAAI,QAAQA,UAAS,OAAO,KAAK,OAAO,KAAK;AACrD,UAAI,OAAO,IAAI,GAAG,QAAQ,YAAY;AACrC,YAAI,GAAG,IAAI,KAAK;MAChB;IACD;AAED,eAAW,YAAY,EAAC,GAAG,UAAU,GAAG,MAAK,GAAG;AAC/C,YAAM,YAAY,MAAM,QAAQ;AAChC,UAAI,cAAc,MAAM;AAGvB,SAAC,SAAS,UAAU,oBAAI,IAAG,GAAI,IAAI,QAAQ;MAC3C,WAAU,CAAC,cAAc,IAAI,QAAQ,GAAG;AACxC,QAAAA,UAAS,MACR,KACA,OACA,UACA,WACA,YAAY,SAAS,QAAQ,GAC7B,KAAK;MAEN;IACD;EACD;AAED,MAAI,QAAQ;AACX,YAAQ,EAAC,GAAG,IAAI,GAAG,MAAK;AACxB,eAAW,QAAQ,QAAQ;AAC1B,YAAM,IAAI,IAAI,YAAY,SAAS,IAAI;IACvC;AAED,QAAI,KAAK,IAAI,QAAQ,KAAK,KAAK;EAC/B;AAED,EAAAA,UAAS,QACR,KACA,OACA,OACA,aACA,UACA,KAAK,IAAI,iBAAiB,CAAC;AAE5B,MAAI,oBAAoB,OAAO,WAAW;AAC1C,MAAI,QAAQ,QAAQ;AACnB,UAAMA,WAAU,IAAI,KAAK;AACzB;EACA;AAED,SAAO;AACR;AAEA,SAAS,MACRA,WACA,MACA,WAAuB;AAEvB,EAAAA,UAAS,MAAM,IAAI;AACnB,MAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC9C;EACA;AAED,QAAM,WAAW,UAAU,IAAI,IAAW;AAC1C,MAAI,UAAU;AACb,QAAI,WAAW;AACd,YAAM,YAAY,oBAAI,IAAG;AACzB,eAAS,CAAC,KAAK,SAAS,KAAK,UAAU;AACtC,YAAI,CAAC,YAAY,WAAW,GAAG,GAAG;AACjC,mBAAS,OAAO,GAAG;AACnB,oBAAU,IAAI,KAAK,SAAS;QAC5B;MACD;AAED,UAAI,UAAU,MAAM;AACnB,kBAAU,IAAI,MAAa,SAAS;MACpC,OAAM;AACN,kBAAU,OAAO,IAAW;MAC5B;IACD,OAAM;AACN,gBAAU,OAAO,IAAW;IAC5B;AAED,eAAW,CAAC,KAAK,SAAS,KAAK,UAAU;AACxC,YAAM,QAAQA,UAAS,KAAK,SAAS,IAAI,GAAG,CAAC;AAC7C,iBAAW,YAAY,WAAW;AACjC,iBAAS,KAAK;MACd;IACD;EACD;AACF;AAEA,SAAS,QACRA,WACA,MACA,KACA,KAAoB;AAEpB,MAAI,OAAO,IAAI,GAAG,QAAQ,YAAY;AACrC,UAAM,IAAI;AACV,qBAAiB,GAAG;EACpB,WAAU,IAAI,GAAG,QAAQ,QAAQ;AACjC,WAAO;AACP,IAAAA,UAAS,QACR,QACA,KAAK,OACL,KAAK,GAAG,OACR,CAAA,GACA,KAAK,GAAG,OACR,KAAK,KAAK,iBAAiB,CAAC;AAE7B,UAAMA,WAAU,KAAK,KAAK;EAC1B,WAAU,IAAI,GAAG,QAAQ,UAAU;AACnC,QAAI,cAAc,IAAI,KAAK,GAAG;AAC7B,YAAM,UAAU,mBAAmB,KAAK,IAAI;AAC5C,eAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACxC,cAAM,SAAS,QAAQ,CAAC;AACxB,YAAI,MAAM,oBACT,OAAO,MACP,OAAO,UACP,OAAO,OAAO;MAEf;IACD;AAED,IAAAA,UAAS,QAAQ,IAAI,GAAG,KAAK,IAAI,OAAgB,IAAI,GAAG,KAAK;AAC7D,WAAO;EACP;AAED,QAAM,WAAW,KAAK,IAAI,QAAQ;AAClC,WAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACzC,UAAM,QAAQ,SAAS,CAAC;AACxB,QAAI,OAAO,UAAU,UAAU;AAC9B,cAAQA,WAAU,MAAM,KAAK,KAAK;IAClC;EACD;AACF;AAUA,IAAM,aAAa,KAAK;AAOxB,IAAM,kBAAkB,KAAK;AAK7B,IAAM,gBAAgB,KAAK;AAK3B,IAAM,qBAAqB,KAAK;AAQhC,IAAM,eAAe,KAAK;AAQ1B,IAAM,iBAAiB,KAAK;AAW5B,IAAM,YAAY,KAAK;AAMvB,IAAM,cAAc,KAAK;AAKzB,IAAM,YAAY,KAAK;AAKvB,IAAM,aAAa,KAAK;AAKxB,IAAM,eAAe,KAAK;AAK1B,IAAM,sBAAsB,KAAK;AAUjC,IAAM,gBAAgB,oBAAI,QAAO;AAEjC,IAAM,cAAc,oBAAI,QAAO;AAE/B,IAAM,aAAa,oBAAI,QAAO;AAG9B,IAAM,YAAY,oBAAI,QAAO;AAM7B,IAAM,cAAN,MAAiB;EA6DhB,YACCA,WACA,MACA,MACA,QACA,OACA,KAAoB;AAEpB,SAAK,IAAI;AACT,SAAK,QAAQ,IAAI,QAAQ,IAAI;AAC7B,SAAK,WAAWA;AAChB,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,SAAS;AACd,SAAK,QAAQ;AACb,SAAK,MAAM;AAEX,SAAK,WAAW;AAChB,SAAK,gBAAgB;AACrB,SAAK,gBAAgB;AACrB,SAAK,gBAAgB;AACrB,SAAK,gBAAgB;AACrB,SAAK,UAAU;AACf,SAAK,mBAAmB;EACxB;AACD;AAED,IAAM,eAAe,OAAO,IAAI,mBAAmB;IAmBtC,gBAAO;;;EAQnB,YAAYF,OAAqD;AAChE,SAAK,YAAY,IAAIA;EACrB;;;;EAKD,IAAI,QAAK;AACR,WAAO,KAAK,YAAY,EAAE,IAAI,GAAG;EACjC;;;;;;EAOD,IAAI,QAAK;AACR,WAAO,KAAK,YAAY,EAAE,SAAS,KAAK,SAAS,KAAK,YAAY,EAAE,GAAG,CAAC;EACxE;EAED,EAAE,OAAO,QAAQ,IAAC;AACjB,UAAM,MAAM,KAAK,YAAY;AAC7B,QAAI;AACH,UAAI,KAAK;AACT,aAAO,EAAE,IAAI,IAAI,cAAc;AAC9B,YAAI,IAAI,IAAI,cAAc;AACzB,gBAAM,IAAI,MAAM,wCAAwC;QACxD,OAAM;AACN,cAAI,KAAK;QACT;AAED,cAAM,IAAI,IAAI,GAAG;MACjB;IACD,UAAS;AACT,UAAI,KAAK,CAAC;IACV;EACD;EAED,QAAQ,OAAO,aAAa,IAAC;AAC5B,UAAM,MAAM,KAAK,YAAY;AAC7B,QAAI,IAAI,IAAI,WAAW;AACtB,YAAM,IAAI,MAAM,2CAA2C;IAC3D;AAED,QAAI;AACH,UAAI,KAAK;AACT,aAAO,EAAE,IAAI,IAAI,cAAc;AAC9B,YAAI,IAAI,IAAI,cAAc;AACzB,gBAAM,IAAI,MAAM,wCAAwC;QACxD,OAAM;AACN,cAAI,KAAK;QACT;AAED,YAAI,IAAI,IAAI,gBAAgB;AAC3B,cAAI,KAAK,CAAC;AACV,gBAAM,IAAI,IAAI,GAAG;QACjB,OAAM;AACN,gBAAM,QAAQ,MAAM,IAAI,QAAQ,CAAC,YAAa,IAAI,UAAU,OAAQ;AACpE,cAAI,IAAI,IAAI,aAAa;AACxB;UACA;AAED,gBAAM;QACN;AAED,YAAI,IAAI,kBAAkB;AACzB,cAAI,iBAAgB;AACpB,cAAI,mBAAmB;QACvB;MACD;IACD,UAAS;AACT,UAAI,KAAK,CAAC;AACV,UAAI,IAAI,kBAAkB;AACzB,YAAI,iBAAgB;AACpB,YAAI,mBAAmB;MACvB;IACD;EACD;;;;;;;;;;;;;EAcD,UAAO;AACN,UAAM,MAAM,KAAK,YAAY;AAC7B,QAAI,IAAI,IAAI,aAAa;AACxB,cAAQ,MAAM,wBAAwB;AACtC,aAAO,IAAI,SAAS,KAAK,MAAS;IAClC,WAAU,IAAI,IAAI,iBAAiB;AACnC,cAAQ,MAAM,gCAAgC;AAC9C,aAAO,IAAI,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC;IAC1C;AAED,UAAM,QAAQ,oBAAoB,GAAG;AACrC,QAAI,cAAc,KAAK,GAAG;AACzB,aAAQ,MAAuB,KAAK,CAACI,WAAU,IAAI,SAAS,KAAKA,MAAK,CAAC;IACvE;AAED,WAAO,IAAI,SAAS,KAAK,KAAK;EAC9B;;;;;EAMD,SAAS,UAAqC;AAC7C,UAAM,MAAM,KAAK,YAAY;AAC7B,QAAI,YAAY,YAAY,IAAI,GAAG;AACnC,QAAI,CAAC,WAAW;AACf,kBAAY,oBAAI,IAAG;AACnB,kBAAY,IAAI,KAAK,SAAS;IAC9B;AAED,cAAU,IAAI,QAAQ;EACtB;;;;;EAMD,MAAM,UAAqC;AAC1C,UAAM,MAAM,KAAK,YAAY;AAC7B,QAAI,OAAO,IAAI,SAAS,YAAY,IAAI,SAAS,MAAM;AACtD;IACA;AAED,QAAI,WAAW,UAAU,IAAI,IAAI,IAAI;AACrC,QAAI,CAAC,UAAU;AACd,iBAAW,oBAAI,IAAG;AAClB,gBAAU,IAAI,IAAI,MAAM,QAAQ;IAChC;AAED,QAAI,YAAY,SAAS,IAAI,GAAG;AAChC,QAAI,CAAC,WAAW;AACf,kBAAY,oBAAI,IAAG;AACnB,eAAS,IAAI,KAAK,SAAS;IAC3B;AAED,cAAU,IAAI,QAAQ;EACtB;;;;;EAMD,QAAQ,UAAqC;AAC5C,UAAM,MAAM,KAAK,YAAY;AAE7B,QAAI,IAAI,IAAI,aAAa;AACxB,YAAM,QAAQ,IAAI,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC;AACjD,eAAS,KAAK;AACd;IACA;AAED,QAAI,YAAY,WAAW,IAAI,GAAG;AAClC,QAAI,CAAC,WAAW;AACf,kBAAY,oBAAI,IAAG;AACnB,iBAAW,IAAI,KAAK,SAAS;IAC7B;AAED,cAAU,IAAI,QAAQ;EACtB;EAID,QAAQ,KAAY;AACnB,aACK,MAAM,KAAK,YAAY,EAAE,QAC7B,QAAQ,QACR,MAAM,IAAI,QACT;AACD,YAAM,aAAa,cAAc,IAAI,GAAG;AACxC,UAAI,cAAc,WAAW,IAAI,GAAG,GAAG;AACtC,eAAO,WAAW,IAAI,GAAG;MACzB;IACD;EACD;EAOD,QAAQ,KAAc,OAAU;AAC/B,UAAM,MAAM,KAAK,YAAY;AAC7B,QAAI,aAAa,cAAc,IAAI,GAAG;AACtC,QAAI,CAAC,YAAY;AAChB,mBAAa,oBAAI,IAAG;AACpB,oBAAc,IAAI,KAAK,UAAU;IACjC;AAED,eAAW,IAAI,KAAK,KAAK;EACzB;EAED,iBACC,MACA,UACA,SAA2C;AAE3C,UAAM,MAAM,KAAK,YAAY;AAC7B,QAAI;AACJ,QAAI,CAAC,2BAA2B,QAAQ,GAAG;AAC1C;IACA,OAAM;AACN,YAAM,aAAa,aAAa,IAAI,GAAG;AACvC,UAAI,YAAY;AACf,oBAAY;MACZ,OAAM;AACN,oBAAY,CAAA;AACZ,qBAAa,IAAI,KAAK,SAAS;MAC/B;IACD;AAED,cAAU,yBAAyB,OAAO;AAC1C,QAAI;AACJ,QAAI,OAAO,aAAa,UAAU;AACjC,iBAAW,MAAM,SAAS,YAAY,MAAM,UAAU,SAAgB;IACtE,OAAM;AACN,iBAAW;IACX;AAED,UAAM,SAA8B,EAAC,MAAM,UAAU,UAAU,QAAO;AACtE,QAAI,QAAQ,MAAM;AACjB,aAAO,WAAW,WAAA;AACjB,cAAM,IAAI,UAAU,QAAQ,MAAM;AAClC,YAAI,MAAM,IAAI;AACb,oBAAU,OAAO,GAAG,CAAC;QACrB;AAED,eAAO,SAAS,MAAM,MAAM,SAAgB;MAC7C;IACA;AAED,QACC,UAAU,KACT,CAAC,YACA,OAAO,SAAS,QAAQ,QACxB,OAAO,aAAa,QAAQ,YAC5B,CAAC,OAAO,QAAQ,YAAY,CAAC,QAAQ,QAAQ,OAAO,GAErD;AACD;IACA;AAED,cAAU,KAAK,MAAM;AAGrB,eAAW,SAAS,eAAe,IAAI,GAAG,GAAG;AAC5C,UAAI,cAAc,KAAK,GAAG;AACzB,cAAM,iBAAiB,OAAO,MAAM,OAAO,UAAU,OAAO,OAAO;MACnE;IACD;EACD;EAED,oBACC,MACA,UACA,SAAwC;AAExC,UAAM,MAAM,KAAK,YAAY;AAC7B,UAAM,YAAY,aAAa,IAAI,GAAG;AACtC,QAAI,aAAa,QAAQ,CAAC,2BAA2B,QAAQ,GAAG;AAC/D;IACA;AAED,UAAM,WAAW,yBAAyB,OAAO;AACjD,UAAM,IAAI,UAAU,UACnB,CAACC,YACAA,QAAO,SAAS,QAChBA,QAAO,aAAa,YACpB,CAACA,QAAO,QAAQ,YAAY,CAAC,SAAS,OAAO;AAG/C,QAAI,MAAM,IAAI;AACb;IACA;AAED,UAAM,SAAS,UAAU,CAAC;AAC1B,cAAU,OAAO,GAAG,CAAC;AAGrB,eAAW,SAAS,eAAe,IAAI,GAAG,GAAG;AAC5C,UAAI,cAAc,KAAK,GAAG;AACzB,cAAM,oBAAoB,OAAO,MAAM,OAAO,UAAU,OAAO,OAAO;MACtE;IACD;EACD;EAED,cAAc,IAAS;AACtB,UAAM,MAAM,KAAK,YAAY;AAC7B,UAAM,OAA2B,CAAA;AACjC,aACK,SAAS,IAAI,QACjB,WAAW,QACX,SAAS,OAAO,QACf;AACD,WAAK,KAAK,MAAM;IAChB;AAKD,QAAI,wBAAwB;AAC5B,UAAM,2BAA2B,GAAG;AACpC,qBAAiB,IAAI,4BAA4B,MAAK;AACrD,8BAAwB;AACxB,aAAO,yBAAyB,KAAK,EAAE;IACxC,CAAC;AACD,qBAAiB,IAAI,UAAU,IAAI,KAAK;AAUxC,QAAI;AACH,uBAAiB,IAAI,cAAc,eAAe;AAClD,eAAS,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK;AAC1C,cAAM,SAAS,KAAK,CAAC;AACrB,cAAM,YAAY,aAAa,IAAI,MAAM;AACzC,YAAI,WAAW;AACd,2BAAiB,IAAI,iBAAiB,OAAO,KAAK;AAClD,qBAAW,UAAU,WAAW;AAC/B,gBAAI,OAAO,SAAS,GAAG,QAAQ,OAAO,QAAQ,SAAS;AACtD,kBAAI;AACH,uBAAO,SAAS,KAAK,OAAO,OAAO,EAAE;cACrC,SAAQ,KAAK;AACb,wBAAQ,MAAM,GAAG;cACjB;AAED,kBAAI,uBAAuB;AAC1B,uBAAO;cACP;YACD;UACD;QACD;AAED,YAAI,GAAG,cAAc;AACpB,iBAAO;QACP;MACD;AAED;AACC,yBAAiB,IAAI,cAAc,SAAS;AAC5C,yBAAiB,IAAI,iBAAiB,IAAI,KAAK;AAG/C,YAAI,eAAe,IAAI,IAAI,GAAG,MAAM,OAAO,GAAG,IAAI;AAClD,YAAI,OAAO,iBAAiB,YAAY;AACvC,uBAAa,EAAE;AACf,cAAI,yBAAyB,GAAG,cAAc;AAC7C,mBAAO;UACP;QACD,OAAM;AAEN,qBAAW,YAAY,IAAI,IAAI,GAAG,OAAO;AACxC,gBAAI,SAAS,YAAW,MAAO,OAAO,GAAG,KAAK,YAAW,GAAI;AAC5D,6BAAe,IAAI,IAAI,GAAG,MAAM,QAAQ;AACxC,kBAAI,OAAO,iBAAiB,YAAY;AACvC,6BAAa,EAAE;AACf,oBAAI,yBAAyB,GAAG,cAAc;AAC7C,yBAAO;gBACP;cACD;YACD;UACD;QACD;AAED,cAAM,YAAY,aAAa,IAAI,GAAG;AACtC,YAAI,WAAW;AACd,qBAAW,UAAU,WAAW;AAC/B,gBAAI,OAAO,SAAS,GAAG,MAAM;AAC5B,kBAAI;AACH,uBAAO,SAAS,KAAK,IAAI,OAAO,EAAE;cAClC,SAAQ,KAAK;AACb,wBAAQ,MAAM,GAAG;cACjB;AAED,kBAAI,uBAAuB;AAC1B,uBAAO;cACP;YACD;UACD;AAED,cAAI,GAAG,cAAc;AACpB,mBAAO;UACP;QACD;MACD;AAED,UAAI,GAAG,SAAS;AACf,yBAAiB,IAAI,cAAc,cAAc;AACjD,iBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACrC,gBAAM,SAAS,KAAK,CAAC;AACrB,gBAAM,YAAY,aAAa,IAAI,MAAM;AACzC,cAAI,WAAW;AACd,6BAAiB,IAAI,iBAAiB,OAAO,KAAK;AAClD,uBAAW,UAAU,WAAW;AAC/B,kBAAI,OAAO,SAAS,GAAG,QAAQ,CAAC,OAAO,QAAQ,SAAS;AACvD,oBAAI;AACH,yBAAO,SAAS,KAAK,OAAO,OAAO,EAAE;gBACrC,SAAQ,KAAK;AACb,0BAAQ,MAAM,GAAG;gBACjB;AAED,oBAAI,uBAAuB;AAC1B,yBAAO;gBACP;cACD;YACD;UACD;AAED,cAAI,GAAG,cAAc;AACpB,mBAAO;UACP;QACD;MACD;IACD,UAAS;AACT,uBAAiB,IAAI,cAAc,IAAI;AACvC,uBAAiB,IAAI,iBAAiB,IAAI;AAE1C,aAAO,CAAC,GAAG;IACX;EACD;AACD;AAGD,SAAS,YAAY,QAAqB,OAAkB;AAC3D,WACK,UAAmC,OACvC,YAAY,QACZ,UAAU,QAAQ,QACjB;AACD,QAAI,YAAY,QAAQ;AACvB,aAAO;IACP;EACD;AAED,SAAO;AACR;AAEA,SAAS,gBACRH,WACA,MACA,MACA,QACA,OACA,KACA,UACA,eAA+C;AAE/C,MAAI;AACJ,MAAI,UAAU;AACb,UAAM,IAAI;AACV,QAAI,IAAI,IAAI,iBAAiB;AAC5B,cAAQ,MAAM,gCAAgC;AAC9C,aAAO,IAAI;IACX;EACD,OAAM;AACN,UAAM,IAAI,MAAM,IAAI,YAAYA,WAAU,MAAM,MAAM,QAAQ,OAAO,GAAG;EACxE;AAED,MAAI,KAAK;AACT,SAAO,oBAAoB,KAAK,aAAa;AAC9C;AAEA,SAAS,wBACR,KACA,UACA,eAAgD;AAEhD,MAAI,IAAI,IAAI,aAAa;AACxB;EACA,WAAU,IAAI,IAAI,WAAW;AAG7B;EACA,WAAU,aAAa,QAAW;AAClC,YAAQ,MACP,uGAAuG;EAExG;AAED,MAAI;AACJ,MAAI;AAIH,QAAI,KAAK;AACT,kBAAc,aACb,IAAI,UACJ,IAAI,MACJ,IAAI,MACJ,KACA,IAAI,OACJ,IAAI,KACJ,OAAO,QAAQ,GACf,aAAa;EAEd,UAAS;AACT,QAAI,KAAK,CAAC;EACV;AAED,MAAI,cAAc,WAAW,GAAG;AAC/B,QAAI,IAAI,gBAAgB,YAAY,KAAK,CAACD,iBACzC,gBAAgB,KAAKA,YAAW,CAAC;AAGlC,WAAO,IAAI,IAAI;EACf;AAED,SAAO,gBAAgB,KAAK,WAAW;AACxC;AAEA,SAAS,gBACR,KACA,QAA6B;AAE7B,MAAI,IAAI,IAAI,aAAa;AACxB;EACA;AAED,QAAM,YAAY,aAAa,IAAI,GAAG;AACtC,MAAI,aAAa,UAAU,QAAQ;AAClC,aAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACvC,YAAMG,SAAQ,OAAO,CAAC;AACtB,UAAI,cAAcA,MAAK,GAAG;AACzB,iBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AAC1C,gBAAM,SAAS,UAAU,CAAC;AAC1B,UAAAA,OAAM,iBAAiB,OAAO,MAAM,OAAO,UAAU,OAAO,OAAO;QACnE;MACD;IACD;EACD;AAED,QAAM,YAAY,KAAK,IAAI,IAAI,iBAAiB;AAChD,MAAI,QAAS,IAAI,IAAI,oBAAoB,OAAO,MAAM;AACtD,MAAI,IAAI,IAAI,cAAc;AACzB,QAAI,KAAK;EACT,WAAU,EAAE,IAAI,IAAI,aAAa;AAIjC,QAAI,CAAC,WAAW,WAAW,MAAM,GAAG;AACnC,YAAM,UAAU,mBAAmB,IAAI,QAAQ,IAAI,IAAI;AACvD,UAAI,QAAQ,QAAQ;AACnB,iBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACvC,gBAAMA,SAAQ,OAAO,CAAC;AACtB,cAAI,cAAcA,MAAK,GAAG;AACzB,qBAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACxC,oBAAM,SAAS,QAAQ,CAAC;AACxB,cAAAA,OAAM,iBACL,OAAO,MACP,OAAO,UACP,OAAO,OAAO;YAEf;UACD;QACD;MACD;AAGD,YAAM,OAAO,IAAI;AACjB,YAAM,gBAAgB,KAAK,KAAK,iBAAiB;AACjD,iBAAW,KAAK,IAAI;AACpB,YAAM,aAAa,eAAe,IAAI;AACtC,UAAI,SAAS;QACZ,KAAK,GAAG;QACR,KAAK;QACL,KAAK,GAAG;QACR;;QAEA,KAAK,GAAG;QACR;MAAa;IAEd;AAED,UAAM,IAAI,UAAU,IAAI,MAAM,GAAG;EACjC;AAED,QAAM,YAAY,YAAY,IAAI,GAAG;AACrC,MAAI,WAAW;AACd,gBAAY,OAAO,GAAG;AACtB,QAAI,KAAK;AACT,UAAM,SAAS,IAAI,SAAS,KAAK,KAAK;AACtC,eAAW,YAAY,WAAW;AACjC,eAAS,MAAM;IACf;AAED,QAAI,KAAK,CAAC;AAEV,QAAI,IAAI,IAAI,qBAAqB;AAChC,UAAI,KAAK,CAAC;AACV,cAAQ,SAAS,IAAI,GAAG;IACxB;EACD;AAED,MAAI,KAAK,CAAC;AACV,SAAO;AACR;AAEA,SAAS,WAAW,KAAkB,MAAuB;AAC5D,WACK,SAAS,IAAI,QACjB,WAAW,UAAa,OAAO,SAAS,MACxC,SAAS,OAAO,QACf;AACD,WAAO,IAAI,oBAAoB;EAC/B;AAED,OAAK,oBAAoB;AAC1B;AAEA,SAAS,WAAmB,MAAqB,MAAmB;AACnE,MAAI,KAAK,WAAW,KAAK,QAAQ;AAChC,WAAO;EACP;AAED,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACrC,UAAM,SAAS,KAAK,CAAC;AACrB,UAAM,SAAS,KAAK,CAAC;AACrB,QAAI,WAAW,QAAQ;AACtB,aAAO;IACP;EACD;AAED,SAAO;AACR;AAGA,SAAS,oBACR,KACA,eAAgD;AAEhD,MAAI,IAAI,IAAI,cAAc,EAAE,IAAI,IAAI,gBAAgB;AACnD,QAAI,kBAAkB,QAAW;AAChC,YAAM,IAAI,MAAM,iBAAiB;IACjC;AA+BD,UAAM,iBAAiB,IAAI,IAAI,sBAAsB,CAAC,IAAI;AAC1D,6BAAyB,GAAG;AAC5B,QAAI,gBAAgB;AACnB,UAAI,IAAI,iBAAiB,MAAM;AAC9B,YAAI,gBAAgB,IAAI,QACvB,CAAC,YAAa,IAAI,mBAAmB,OAAQ;MAE9C;AAED,aAAO,IAAI,cAAc,KAAK,MAAK;AAClC,YAAI,gBAAgB;AACpB,eAAO,IAAI;MACZ,CAAC;IACD;AAED,WAAO,IAAI;EACX,WAAU,CAAC,IAAI,eAAe;AAC9B,QAAI;AACH,YAAM,CAAC,OAAO,KAAK,IAAI,aAA6B,KAAK,aAAa;AACtE,UAAI,OAAO;AACV,YAAI,gBAAgB,MAGlB,KAAK,CAAC,MAAM,CAAC,EACb,QAAQ,MAAM,iBAAiB,GAAG,CAAC;AAErC,YAAI,gBAAgB;MACpB;AAED,aAAO;IACP,SAAQ,KAAK;AACb,UAAI,EAAE,IAAI,IAAI,aAAa;AAC1B,YAAI,CAAC,IAAI,QAAQ;AAChB,gBAAM;QACN;AACD,eAAO,eAAsB,IAAI,QAAQ,GAAG;MAC5C;AAED,YAAM;IACN;EACD,WAAU,CAAC,IAAI,eAAe;AAC9B,QAAI,kBAAkB,QAAW;AAChC,YAAM,IAAI,MAAM,iBAAiB;IACjC;AAGD,QAAI;AACJ,QAAI,gBAAgB,IAAI,QACvB,CAAC,YAAa,uBAAuB,OAAQ;AAG9C,QAAI,gBAAgB,IAAI,cAAc,KAAK,MAAK;AAC/C,UAAI;AACH,cAAM,CAAC,OAAO,KAAK,IAAI,aAA6B,GAAG;AACvD,YAAI,OAAO;AACV,+BAAqB,MAAM,QAAQ,MAAM,iBAAiB,GAAG,CAAC,CAAC;QAC/D;AAED,eAAO;MACP,SAAQ,KAAK;AACb,YAAI,EAAE,IAAI,IAAI,aAAa;AAC1B,cAAI,CAAC,IAAI,QAAQ;AAChB,kBAAM;UACN;AAED,iBAAO,eAAsB,IAAI,QAAQ,GAAG;QAC5C;AAED,cAAM;MACN;IACF,CAAC;EACD;AAED,SAAO,IAAI;AACZ;AAGA,SAAS,iBAAiB,KAAgB;AACzC,MAAI,IAAI,IAAI,cAAc,EAAE,IAAI,IAAI,gBAAgB;AACnD;EACA;AAED,MAAI,gBAAgB,IAAI;AACxB,MAAI,gBAAgB,IAAI;AACxB,MAAI,gBAAgB;AACpB,MAAI,gBAAgB;AACrB;AAoBA,SAAS,aACR,KACA,eAAgD;AAKhD,QAAM,MAAM,IAAI;AAChB,QAAM,UAAU,CAAC,IAAI;AACrB,MAAI,SAAS;AACZ,6BAAyB,GAAG;AAC5B,QAAI,KAAK;AACT,wBAAoB,GAAG;AACvB,QAAI;AACJ,QAAI;AACH,eAAU,IAAI,GAAG,IAAkB,KAClC,IAAI,OACJ,IAAI,GAAG,OACP,IAAI,KAAK;IAEV,SAAQ,KAAK;AACb,UAAI,KAAK;AACT,YAAM;IACN,UAAS;AACT,UAAI,KAAK,CAAC;IACV;AAED,QAAI,eAAe,MAAM,GAAG;AAC3B,UAAI,WAAW;IACf,WAAU,cAAc,MAAM,GAAG;AAEjC,YAAM,UACL,kBAAkB,UAAU,SAAS,QAAQ,QAAQ,MAAM;AAC5D,YAAM,QAAQ,QAAQ,KACrB,CAACE,YACA,wBAAwC,KAAKA,SAAQ,aAAa,GACnE,CAAC,QAAO;AACP,YAAI,KAAK;AACT,cAAM;MACP,CAAC;AAEF,aAAO,CAAC,QAAQ,MAAM,IAAI,GAAG,KAAK;IAClC,OAAM;AAEN,aAAO;QACN;QACA,wBAAwC,KAAK,QAAQ,aAAa;;IAEnE;EACD,WAAU,kBAAkB,QAAW;AAEvC,UAAM,IAAI,MAAM,iBAAiB;EACjC;AAED,MAAI;AACJ,MAAI,SAAS;AACZ,QAAI;AACH,UAAI,KAAK;AACT,kBAAY,IAAI,SAAU,KAAI;IAC9B,SAAQ,KAAK;AACb,UAAI,KAAK;AACT,YAAM;IACN,UAAS;AACT,UAAI,KAAK,CAAC;IACV;AAED,QAAI,cAAc,SAAS,GAAG;AAC7B,UAAI,KAAK;IACT,OAAM;AACN,UAAI,KAAK;IACT;EACD;AAED,MAAI,IAAI,IAAI,WAAW;AAEtB,QAAI,CAAC,SAAS;AACb,UAAI;AACH,YAAI,KAAK;AACT,oBAAY,IAAI,SAAU,KAAK,IAAI,SAAS,KAAK,SAAS,GAAG,CAAC,CAAC;MAC/D,SAAQ,KAAK;AACb,YAAI,KAAK;AACT,cAAM;MACN,UAAS;AACT,YAAI,KAAK,CAAC;MACV;IACD;AAED,QAAI,cAAc,SAAS,GAAG;AAC7B,YAAM,IAAI,MAAM,2BAA2B;IAC3C;AAED,QACC,IAAI,IAAI,iBACR,EAAE,IAAI,IAAI,iBACV,EAAE,IAAI,IAAI,cACT;AACD,cAAQ,MAAM,mDAAmD;IACjE;AAED,QAAI,KAAK,CAAC;AACV,QAAI,UAAU,MAAM;AACnB,UAAI,KAAK,CAAC;AACV,UAAI,WAAW;IACf;AAED,QAAI;AACJ,QAAI;AACH,cAAQ;QACP;;QAEA,UAAU;QACV;MAAa;AAGd,UAAI,cAAc,KAAK,GAAG;AACzB,gBAAQ,MAAM,MAAM,CAAC,QAAQ,iBAAiB,KAAK,GAAG,CAAC;MACvD;IACD,SAAQ,KAAK;AACb,cAAQ,iBAAiB,KAAK,GAAG;IACjC;AAED,UAAM,QAAQ,cAAc,KAAK,IAAI,MAAM,MAAM,IAAI,IAAI;AACzD,WAAO,CAAC,OAAO,KAAK;EACpB,OAAM;AACN,QAAI,IAAI,IAAI,eAAe;AAI1B,UAAI,CAAC,SAAS;AACb,YAAI;AACH,cAAI,KAAK;AACT,sBAAY,IAAI,SAAU,KAAK,IAAI,SAAS,KAAK,SAAS,GAAG,CAAC,CAAC;QAC/D,SAAQ,KAAK;AACb,cAAI,KAAK;AACT,gBAAM;QACN,UAAS;AACT,cAAI,KAAK,CAAC;QACV;MACD;AAED,UAAI,CAAC,cAAc,SAAS,GAAG;AAC9B,cAAM,IAAI,MAAM,2BAA2B;MAC3C;AAED,YAAM,QAAQ,UAAU,MAAM,IAAI;AAClC,YAAM,QAAQ,UAAU,KACvB,CAACC,eAAa;AACb,YAAIH;AACJ,YAAI,EAAE,IAAI,IAAI,gBAAgB;AAC7B,+BACC,KACA,QAAQ,QAAQG,UAAS,GACzB,aAAa;QAEd,OAAM;AACN,cAAI,EAAE,IAAI,IAAI,iBAAiB,EAAE,IAAI,IAAI,cAAc;AACtD,oBAAQ,MACP,mDAAmD;UAEpD;QACD;AAED,YAAI,KAAK,CAAC;AACV,YAAI;AACH,UAAAH,SAAQ;YACP;;YAEAG,WAAU;YACV;UAAa;AAGd,cAAI,cAAcH,MAAK,GAAG;AACzB,YAAAA,SAAQA,OAAM,MAAM,CAAC,QAAQ,iBAAiB,KAAK,GAAG,CAAC;UACvD;QACD,SAAQ,KAAK;AACb,UAAAA,SAAQ,iBAAiB,KAAK,GAAG;QACjC;AAED,eAAOA;MACP,GACD,CAAC,QAAO;AACP,YAAI,KAAK;AACT,cAAM;MACP,CAAC;AAGF,aAAO,CAAC,OAAO,KAAK;IACpB,OAAM;AACN,2BACC,KACA,WACA,eACA,OAAO;AAER,aAAO,CAAC,IAAI,eAAe,IAAI,aAAa;IAC5C;EACD;AACF;AAEA,eAAe,qBACd,KACA,YACA,eACA,UAAmB,OAAK;AAExB,MAAI,OAAO;AACX,MAAI;AACH,WAAO,CAAC,MAAM;AACb,UAAI,IAAI,IAAI,eAAe;AAC1B;MACA;AAGD,UAAI;AACJ,UAAI,gBAAgB,IAAI,QAAQ,CAAC,YAAa,UAAU,OAAQ;AAChE,UAAI,IAAI,IAAI,YAAY;AAIvB,YAAI,cAAc,MAAM,IAAI;MAC5B;AAED,UAAI;AACJ,UAAI;AACH,oBAAY,MAAM;MAClB,SAAQ,KAAK;AACb,eAAO;AACP,YAAI,KAAK;AACT,gBAAQ,QAAQ,OAAO,GAAG,CAAC;AAC3B;MACA;AAED,UAAI,EAAE,IAAI,IAAI,qBAAqB;AAClC,YAAI,KAAK,CAAC;MACV;AAED,aAAO,CAAC,CAAC,UAAU;AACnB,UAAI;AACJ,UAAI;AACH,YACC,EAAE,IAAI,IAAI,iBACV,IAAI,IAAI,kBACR,IAAI,IAAI,sBACR,CAAC,WACD,CAAC,MACA;AAED,kBAAQ,IAAI,IAAI,iBAAiB,SAAS,IAAI,GAAG;QACjD,OAAM;AACN,kBAAQ,wBACP,KACA,UAAU,OACV,aAAa;AAEd,0BAAgB;AAChB,cAAI,cAAc,KAAK,GAAG;AACzB,oBAAQ,MAAM,MAAM,CAAC,QAAa,iBAAiB,KAAK,GAAG,CAAC;UAC5D;QACD;AAED,YAAI,KAAK,CAAC;MACV,SAAQ,KAAK;AAGb,gBAAQ,iBAAiB,KAAK,GAAG;MACjC,UAAS;AACT,gBAAQ,KAAK;MACb;AAED,UAAI;AACJ,UAAI,IAAI,IAAI,eAAe;AAM1B,oBAAY,IAAI,IAAI,cAAc,KAAK,CAACA,WACvC,IAAI,SAAS,KAAKA,MAAK,CAAC;AAGzB,kBAAU,MAAM,CAAC,QAAO;AACvB,cAAI,IAAI,IAAI,YAAY;AACvB;UACA;AAED,cAAI,CAAC,IAAI,QAAQ;AAChB,kBAAM;UACN;AAED,iBAAO,eAAe,IAAI,QAAQ,GAAG;QACtC,CAAC;MACD,OAAM;AACN,oBAAY,IAAI,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC;MAC/C;AAED,UAAI,IAAI,IAAI,aAAa;AACxB,YAAI,IAAI,IAAI,oBAAoB;AAC/B,cAAI;AACH,gBAAI,KAAK;AACT,yBAAa,IAAI,SAAU,KAC1B,SAAS;UAEV,UAAS;AACT,gBAAI,KAAK,CAAC;UACV;QACD,OAAM;AACN,0BAAgB,GAAG;AACnB;QACA;MACD,WAAU,CAAC,QAAQ,EAAE,IAAI,IAAI,gBAAgB;AAC7C,YAAI;AACH,cAAI,KAAK;AACT,uBAAa,IAAI,SAAU,KAC1B,SAAS;QAEV,UAAS;AACT,cAAI,KAAK,CAAC;QACV;MACD;AAED,gBAAU;IACV;EACD,UAAS;AACT,QAAI,MAAM;AACT,UAAI,KAAK,CAAC;AACV,UAAI,WAAW;IACf;EACD;AACF;AAKA,SAAS,yBAAyB,KAAgB;AACjD,MAAI,IAAI,SAAS;AAChB,QAAI,QAAQ,IAAI,IAAI,GAAG,KAAK;AAC5B,QAAI,UAAU;AACd,QAAI,KAAK,CAAC;EACV,OAAM;AACN,QAAI,KAAK;EACT;AACF;AAGA,SAAS,iBAAiB,KAAgB;AACzC,MAAI,IAAI,IAAI,aAAa;AACxB;EACA;AAED,sBAAoB,GAAG;AAEvB,QAAM,YAAY,WAAW,IAAI,GAAG;AACpC,MAAI,WAAW;AACd,eAAW,OAAO,GAAG;AACrB,UAAM,QAAQ,IAAI,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC;AACjD,eAAW,YAAY,WAAW;AACjC,eAAS,KAAK;IACd;EACD;AAED,MAAI,KAAK;AACT,MAAI,IAAI,UAAU;AACjB,QAAI,IAAI,IAAI,WAAW;AACtB,UAAI;AACJ,UAAI,IAAI,IAAI,eAAe;AAC1B,gBAAQ,oBAAoB,GAAG;MAC/B;AAED,UAAI,cAAc,KAAK,GAAG;AACzB,cAAM,KACL,MAAK;AACJ,cAAI,IAAI,IAAI,eAAe;AAC1B,6BAAiB,GAAG;UACpB,OAAM;AACN,4BAAgB,GAAG;UACnB;QACD,GACD,CAAC,QAAO;AACP,cAAI,CAAC,IAAI,QAAQ;AAChB,kBAAM;UACN;AACD,iBAAO,eAAwB,IAAI,QAAQ,GAAG;QAC/C,CAAC;MAEF,OAAM;AACN,YAAI,IAAI,IAAI,eAAe;AAC1B,2BAAiB,GAAG;QACpB,OAAM;AACN,0BAAgB,GAAG;QACnB;MACD;IACD,WAAU,IAAI,IAAI,YAAY;AAC9B,UAAI,IAAI,IAAI,eAAe;AAC1B,cAAM,QAAQ,oBAAoB,GAAG;AACrC,cAAM,KACL,MAAK;AACJ,cAAI,IAAI,IAAI,eAAe;AAC1B,6BAAiB,GAAG;UACpB,OAAM;AACN,4BAAgB,GAAG;UACnB;QACD,GACD,CAAC,QAAO;AACP,cAAI,CAAC,IAAI,QAAQ;AAChB,kBAAM;UACN;AAED,iBAAO,eAAwB,IAAI,QAAQ,GAAG;QAC/C,CAAC;MAEF,OAAM;AAGN,iCAAyB,GAAG;MAC5B;IACD;EACD;AACF;AAEA,SAAS,gBAAgB,KAAgB;AACxC,2BAAyB,GAAG;AAC5B,MAAI,IAAI,YAAY,OAAO,IAAI,SAAU,WAAW,YAAY;AAC/D,QAAI;AACH,UAAI,KAAK;AACT,YAAM,YAAY,IAAI,SAAU,OAAM;AACtC,UAAI,cAAc,SAAS,GAAG;AAC7B,kBAAU,MAAM,CAAC,QAAO;AACvB,cAAI,CAAC,IAAI,QAAQ;AAChB,kBAAM;UACN;AAED,iBAAO,eAAwB,IAAI,QAAQ,GAAG;QAC/C,CAAC;MACD;IACD,UAAS;AACT,UAAI,KAAK,CAAC;IACV;EACD;AACF;AAKA,IAAM,OAAO;AACb,IAAM,kBAAkB;AACxB,IAAM,YAAY;AAClB,IAAM,iBAAiB;AAEvB,IAAM,eAAe,oBAAI,QAAO;AAehC,SAAS,2BACR,OAAc;AAEd,SACC,OAAO,UAAU,cAChB,UAAU,QACV,OAAO,UAAU,YACjB,OAAQ,MAAc,gBAAgB;AAEzC;AAWA,SAAS,yBACR,SAA6D;AAE7D,MAAI,OAAO,YAAY,WAAW;AACjC,WAAO,EAAC,SAAS,QAAO;EACxB,WAAU,WAAW,MAAM;AAC3B,WAAO,CAAA;EACP;AAED,SAAO;AACR;AAEA,SAAS,cAAc,OAAU;AAChC,SACC,SAAS,QACT,OAAO,MAAM,qBAAqB,cAClC,OAAO,MAAM,wBAAwB,cACrC,OAAO,MAAM,kBAAkB;AAEjC;AAEA,SAAS,iBACR,IACA,KACA,OAAe;AAEf,SAAO,eAAe,IAAI,KAAK,EAAC,OAAO,UAAU,OAAO,cAAc,KAAI,CAAC;AAC5E;AAaA,SAAS,mBACR,KACA,KAAsB;AAEtB,MAAI,YAAwC,CAAA;AAC5C,SAAO,QAAQ,UAAa,IAAI,SAAS,KAAK;AAC7C,UAAM,aAAa,aAAa,IAAI,GAAG;AACvC,QAAI,YAAY;AACf,kBAAY,UAAU,OAAO,UAAU;IACvC;AAED,UAAM,IAAI;EACV;AAED,SAAO;AACR;AAEA,SAAS,oBAAoB,KAAgB;AAC5C,QAAM,YAAY,aAAa,IAAI,GAAG;AACtC,MAAI,aAAa,UAAU,QAAQ;AAClC,eAAW,SAAS,eAAe,IAAI,GAAG,GAAG;AAC5C,UAAI,cAAc,KAAK,GAAG;AACzB,mBAAW,UAAU,WAAW;AAC/B,gBAAM,oBACL,OAAO,MACP,OAAO,UACP,OAAO,OAAO;QAEf;MACD;IACD;AAED,cAAU,SAAS;EACnB;AACF;AAGA,SAAS,iBACR,KACA,KAAY;AAEZ,MAAI,CAAC,IAAI,YAAY,OAAO,IAAI,SAAS,UAAU,YAAY;AAC9D,UAAM;EACN;AAED,2BAAyB,GAAG;AAC5B,MAAI;AACJ,MAAI;AACH,QAAI,KAAK;AACT,gBAAY,IAAI,SAAS,MAAM,GAAG;EAClC,SAAQI,MAAK;AACb,QAAI,KAAK;AACT,UAAMA;EACN,UAAS;AACT,QAAI,KAAK,CAAC;EACV;AAED,MAAI,cAAc,SAAS,GAAG;AAC7B,WAAO,UAAU,KAChB,CAACD,eAAa;AACb,UAAIA,WAAU,MAAM;AACnB,YAAI,KAAK,CAAC;AACV,YAAI,WAAW;MACf;AAED,aAAO,wBAAwB,KAAKA,WAAU,KAAiB;IAC/D,GACD,CAACC,SAAO;AACP,UAAI,KAAK;AACT,YAAMA;IACP,CAAC;EAEF;AAED,MAAI,UAAU,MAAM;AACnB,QAAI,KAAK,CAAC;AACV,QAAI,KAAK,CAAC;AACV,QAAI,WAAW;EACf;AAED,SAAO,wBAAwB,KAAK,UAAU,KAAiB;AAChE;AAEA,SAAS,eACR,KACA,KAAY;AAEZ,MAAI;AACJ,MAAI;AACH,aAAS,iBAAiB,KAAK,GAAG;EAClC,SAAQA,MAAK;AACb,QAAI,CAAC,IAAI,QAAQ;AAChB,YAAMA;IACN;AAED,WAAO,eAAsB,IAAI,QAAQA,IAAG;EAC5C;AAED,MAAI,cAAc,MAAM,GAAG;AAC1B,WAAO,OAAO,MAAM,CAACA,SAAO;AAC3B,UAAI,CAAC,IAAI,QAAQ;AAChB,cAAMA;MACN;AAED,aAAO,eAAsB,IAAI,QAAQA,IAAG;IAC7C,CAAC;EACD;AAED,SAAO;AACR;;;AC56FA,IAAM,gBAAgB;AAET,IAAA,OAA4C;EACxD,MACC,OACA,KACA,OAA0B;AAE1B,YAAQ,KAAG;MACV,KAAK;AACJ,gBAAQ;AACR;MACD,KAAK;AACJ,gBAAQ;AACR;IACD;AAED,WAAO,MAAM,SAAS;EACtB;EAED,OACC,KACA,QACA,OAAyB;AAEzB,QAAI,OAAO,QAAQ,UAAU;AAC5B,YAAM,IAAI,MAAM,gBAAgB,IAAI,SAAQ,CAAE,EAAE;IAChD,WAAU,IAAI,YAAa,MAAK,OAAO;AACvC,cAAQ;IACR;AAED,WAAO,QACJ,SAAS,gBAAgB,OAAO,GAAG,IACnC,SAAS,cAAc,GAAG;EAC7B;EAED,QACC,KACA,MACA,OAA8B;AAE9B,QAAI,OAAO,QAAQ,YAAY,QAAQ,QAAQ;AAC9C,YAAM,IAAI,MAAM,gBAAgB,IAAI,SAAQ,CAAE,EAAE;IAChD;AAED,QACC,OAAO,QAAQ,YACf,IAAI,YAAW,MAAQ,KAAiB,SACvC;AAGD,aAAO;IACP;AAED,UAAM,WAAoC,CAAA;AAC1C,aAAS,IAAI,GAAG,IAAI,KAAK,WAAW,QAAQ,KAAK;AAChD,YAAM,QAAQ,KAAK,WAAW,CAAC;AAC/B,UAAI,MAAM,aAAa,KAAK,WAAW;AACtC,iBAAS,KAAM,MAAe,IAAI;MAClC,WAAU,MAAM,aAAa,KAAK,cAAc;AAChD,iBAAS,KAAK,KAAgB;MAC9B;IACD;AAGD,WAAO,EAAC,OAAO,SAAQ;EACvB;EAED,MACC,MAEA,MACA,MAEA,OACA,UACA,OAAyB;AAEzB,UAAM,QAAQ,UAAU;AACxB,YAAQ,MAAI;MACX,KAAK,SAAS;AACb,cAAM,QAA6B,KAAK;AACxC,YAAI,SAAS,MAAM;AAClB,eAAK,aAAa,SAAS,KAAe;QAC1C,WAAU,SAAS,QAAQ,UAAU,OAAO;AAC5C,eAAK,gBAAgB,OAAO;QAC5B,WAAU,UAAU,MAAM;AAC1B,eAAK,aAAa,SAAS,EAAE;QAC7B,WAAU,OAAO,UAAU,UAAU;AACrC,cAAI,MAAM,YAAY,OAAO;AAC5B,kBAAM,UAAU;UAChB;QACD,OAAM;AACN,cAAI,OAAO,aAAa,UAAU;AACjC,kBAAM,UAAU;UAChB;AAED,qBAAW,aAAa,EAAC,GAAI,UAAiB,GAAI,MAAY,GAAG;AAChE,kBAAM,aAAa,SAAU,MAAc,SAAS;AACpD,gBAAI,cAAc,MAAM;AACvB,oBAAM,eAAe,SAAS;YAC9B,WAAU,MAAM,iBAAiB,SAAS,MAAM,YAAY;AAC5D,oBAAM,YAAY,WAAW,UAAU;YACvC;UACD;QACD;AAED;MACA;MACD,KAAK;MACL,KAAK;AACJ,YAAI,UAAU,MAAM;AACnB,eAAK,aAAa,SAAS,EAAE;QAC7B,WAAU,SAAS,MAAM;AACzB,eAAK,gBAAgB,OAAO;QAC5B,WAAU,CAAC,OAAO;AAClB,cAAI,KAAK,cAAc,OAAO;AAC5B,iBAAa,WAAW,IAAI;UAC7B;QACD,WAAU,KAAK,aAAa,OAAO,MAAM,OAAO;AAChD,eAAK,aAAa,SAAS,KAAe;QAC1C;AACD;MACD,KAAK;AACJ,YAAI,UAAU,UAAU;AACvB,eAAK,YAAY;QACjB;AAED;MACD,SAAS;AACR,YACC,KAAK,CAAC,MAAM,OACZ,KAAK,CAAC,MAAM,OACZ,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,YAAa,KACjC,OAAO,UAAU,YAChB;AAED,iBAAO,KAAK,YAAW;QACvB;AAED,YACC,QAAQ;;;QAIR,EACC,OAAO,UAAU,YACjB,OAAQ,KAAa,IAAI,MAAM,YAE/B;AAGD,cAAI,MAAM;AACV,aAAG;AACF,gBAAI,OAAO,UAAU,eAAe,KAAK,KAAK,IAAI,GAAG;AACpD;YACA;UACD,SAAS,MAAM,OAAO,eAAe,GAAG;AAIzC,gBAAM,aAAa,OAAO,yBAAyB,KAAK,IAAI;AAC5D,cACC,cAAc,SACb,WAAW,aAAa,QAAQ,WAAW,QAAQ,SACnD;AACD,gBAAK,KAAa,IAAI,MAAM,SAAS,aAAa,QAAW;AAC3D,mBAAa,IAAI,IAAI;YACtB;AACD;UACA;QAID;AAED,YAAI,UAAU,MAAM;AACnB,kBAAQ;QACR,WAAU,SAAS,QAAQ,UAAU,OAAO;AAC5C,eAAK,gBAAgB,IAAI;AACzB;QACA;AAED,YAAI,KAAK,aAAa,IAAI,MAAM,OAAO;AACtC,eAAK,aAAa,MAAM,KAAY;QACpC;MACD;IACD;EACD;EAED,QACC,KACA,MACA,OACA,UACA,WACA,aAAgD;AAEhD,QAAI,QAAQ,WAAW,QAAQ,QAAQ,OAAO,KAAK,aAAa,WAAW;AAC1E,YAAM,IAAI,UACT,wCAAwC,KAAK,UAC5C,QAAQ,KAAK,SAAQ,CAAE,CACvB,EAAE;IAEJ;AAED,QACC,EAAE,eAAe;;;;;;KAOhB,cAAc,SAAU,eAAe,YAAY,SACnD;AACD,UAAI,SAAS,WAAW,GAAG;AAC1B,aAAK,cAAc;MACnB,OAAM;AACN,YAAI,WAAW,KAAK;AACpB,YAAI,IAAI;AACR,eAAO,aAAa,QAAQ,IAAI,SAAS,QAAQ;AAChD,gBAAM,WAAW,SAAS,CAAC;AAC3B,cAAI,aAAa,UAAU;AAC1B,uBAAW,SAAS;AACpB;UACA,WAAU,OAAO,aAAa,UAAU;AACxC,gBAAI,SAAS,aAAa,KAAK,WAAW;AACzC,kBAAK,SAAkB,SAAS,UAAU;AACxC,yBAAkB,OAAO;cAC1B;AAED,yBAAW,SAAS;YACpB,OAAM;AACN,mBAAK,aAAa,SAAS,eAAe,QAAQ,GAAG,QAAQ;YAC7D;AAED;UACA,WAAU,SAAS,aAAa,KAAK,WAAW;AAChD,kBAAM,cAAc,SAAS;AAC7B,iBAAK,YAAY,QAAQ;AACzB,uBAAW;UACX,OAAM;AACN,iBAAK,aAAa,UAAU,QAAQ;AACpC;AAEA,gBAAI,aAAa,SAAS,CAAC,GAAG;AAC7B,oBAAM,cAAc,SAAS;AAC7B,mBAAK,YAAY,QAAQ;AACzB,yBAAW;YACX;UACD;QACD;AAGD,eAAO,aAAa,MAAM;AACzB,gBAAM,cAAc,SAAS;AAC7B,eAAK,YAAY,QAAQ;AACzB,qBAAW;QACX;AAGD,eAAO,IAAI,SAAS,QAAQ,KAAK;AAChC,gBAAM,WAAW,SAAS,CAAC;AAC3B,eAAK,YACJ,OAAO,aAAa,WACjB,SAAS,eAAe,QAAQ,IAChC,QAAQ;QAEZ;MACD;IACD;EACD;EAED,KACC,MACA,QACA,eAAiD;AAEjD,QAAI,iBAAiB,MAAM;AAC1B,UAAI,QAAQ,cAAc,SAAS,MAAK;AACxC,UAAI,OAAO,UAAU,YAAY,CAAC,MAAM,WAAW,IAAI;AAAG;eAG/C,KAAK,SAAS,MAAM,QAAQ;AACtC,gBAAQ,MAAM,MAAM,KAAK,MAAM;AAC/B,sBAAc,SAAS,QAAQ,KAAK;MACpC;IACD;AAED,WAAO;EACP;EAED,IACC,OACA,OACA,eAAiD;AAEjD,QAAI;AACJ,QAAI,OAAO,UAAU,UAAU;AAC9B,YAAM,KACL,SAAS,OACN,SAAS,cAAc,KAAK,IAC5B,SAAS,gBAAgB,OAAO,KAAK;AACzC,SAAG,YAAY;AACf,UAAI,GAAG,WAAW,WAAW,GAAG;AAC/B,iBAAS;MACT,WAAU,GAAG,WAAW,WAAW,GAAG;AACtC,iBAAS,GAAG,WAAW,CAAC;MACxB,OAAM;AACN,iBAAS,MAAM,KAAK,GAAG,UAAU;MACjC;IACD,OAAM;AACN,eAAS;IACT;AAED,QAAI,iBAAiB,MAAM;AAE1B,UAAI,MAAM,QAAQ,MAAM,GAAG;AAC1B,iBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACvC,gBAAM,OAAO,OAAO,CAAC;AACrB,cACC,OAAO,SAAS,aACf,KAAK,aAAa,KAAK,gBACvB,KAAK,aAAa,KAAK,YACvB;AACD,0BAAc,SAAS,MAAK;UAC5B;QACD;MACD,WAAU,UAAU,QAAQ,OAAO,WAAW,UAAU;AACxD,YACC,OAAO,aAAa,KAAK,gBACzB,OAAO,aAAa,KAAK,WACxB;AACD,wBAAc,SAAS,MAAK;QAC5B;MACD;IACD;AAED,WAAO;EACP;;AAGI,IAAO,cAAP,cAA2B,SAAsB;EACtD,cAAA;AACC,UAAM,IAAI;EACV;EAED,OACC,UACA,MACA,KAAa;AAEb,iBAAa,IAAI;AACjB,WAAO,MAAM,OAAO,UAAU,MAAM,GAAG;EACvC;EAED,QACC,UACA,MACA,KAAa;AAEb,iBAAa,IAAI;AACjB,WAAO,MAAM,QAAQ,UAAU,MAAM,GAAG;EACxC;AACD;AAED,SAAS,aAAa,MAAa;AAClC,MACC,SAAS,QACR,OAAO,SAAS,YAAY,OAAQ,KAAa,aAAa,UAC9D;AACD,UAAM,IAAI,UACT,wCAAwC,KAAK,UAC5C,QAAQ,KAAK,SAAQ,CAAE,CACvB,EAAE;EAEJ;AACF;AAEa,IAAA,WAAW,IAAI,YAAW;", + "names": ["e", "fill", "compare", "i", "byteLength", "impl", "childValues", "renderer", "copy", "value", "record", "result", "iteration", "err"] +} diff --git a/static/html-BAPPTV5D.js b/static/html-BAPPTV5D.js new file mode 100644 index 00000000..edf58ead --- /dev/null +++ b/static/html-BAPPTV5D.js @@ -0,0 +1,3565 @@ +// node_modules/@esbuild-plugins/node-globals-polyfill/process.js +function defaultSetTimout() { + throw new Error("setTimeout has not been defined"); +} +function defaultClearTimeout() { + throw new Error("clearTimeout has not been defined"); +} +var cachedSetTimeout = defaultSetTimout; +var cachedClearTimeout = defaultClearTimeout; +if (typeof globalThis.setTimeout === "function") { + cachedSetTimeout = setTimeout; +} +if (typeof globalThis.clearTimeout === "function") { + cachedClearTimeout = clearTimeout; +} +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + return setTimeout(fun, 0); + } + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + return cachedSetTimeout(fun, 0); + } catch (e) { + try { + return cachedSetTimeout.call(null, fun, 0); + } catch (e2) { + return cachedSetTimeout.call(this, fun, 0); + } + } +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + return clearTimeout(marker); + } + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + return cachedClearTimeout(marker); + } catch (e) { + try { + return cachedClearTimeout.call(null, marker); + } catch (e2) { + return cachedClearTimeout.call(this, marker); + } + } +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + var len = queue.length; + while (len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} +function nextTick(fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +} +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function() { + this.fun.apply(null, this.array); +}; +var title = "browser"; +var platform = "browser"; +var browser = true; +var env = {}; +var argv = []; +var version = ""; +var versions = {}; +var release = {}; +var config = {}; +function noop() { +} +var on = noop; +var addListener = noop; +var once = noop; +var off = noop; +var removeListener = noop; +var removeAllListeners = noop; +var emit = noop; +function binding(name) { + throw new Error("process.binding is not supported"); +} +function cwd() { + return "/"; +} +function chdir(dir) { + throw new Error("process.chdir is not supported"); +} +function umask() { + return 0; +} +var performance = globalThis.performance || {}; +var performanceNow = performance.now || performance.mozNow || performance.msNow || performance.oNow || performance.webkitNow || function() { + return (/* @__PURE__ */ new Date()).getTime(); +}; +function hrtime(previousTimestamp) { + var clocktime = performanceNow.call(performance) * 1e-3; + var seconds = Math.floor(clocktime); + var nanoseconds = Math.floor(clocktime % 1 * 1e9); + if (previousTimestamp) { + seconds = seconds - previousTimestamp[0]; + nanoseconds = nanoseconds - previousTimestamp[1]; + if (nanoseconds < 0) { + seconds--; + nanoseconds += 1e9; + } + } + return [seconds, nanoseconds]; +} +var startTime = /* @__PURE__ */ new Date(); +function uptime() { + var currentTime = /* @__PURE__ */ new Date(); + var dif = currentTime - startTime; + return dif / 1e3; +} +var process = { + nextTick, + title, + browser, + env, + argv, + version, + versions, + on, + addListener, + once, + off, + removeListener, + removeAllListeners, + emit, + binding, + cwd, + chdir, + umask, + hrtime, + platform, + release, + config, + uptime +}; +var defines = {}; +Object.keys(defines).forEach((key) => { + const segs = key.split("."); + let target = process; + for (let i = 0; i < segs.length; i++) { + const seg = segs[i]; + if (i === segs.length - 1) { + target[seg] = defines[key]; + } else { + target = target[seg] || (target[seg] = {}); + } + } +}); + +// node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js +var lookup = []; +var revLookup = []; +var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array; +var inited = false; +function init() { + inited = true; + var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i]; + revLookup[code.charCodeAt(i)] = i; + } + revLookup["-".charCodeAt(0)] = 62; + revLookup["_".charCodeAt(0)] = 63; +} +function base64toByteArray(b64) { + if (!inited) { + init(); + } + var i, j, l, tmp, placeHolders, arr; + var len = b64.length; + if (len % 4 > 0) { + throw new Error("Invalid string. Length must be a multiple of 4"); + } + placeHolders = b64[len - 2] === "=" ? 2 : b64[len - 1] === "=" ? 1 : 0; + arr = new Arr(len * 3 / 4 - placeHolders); + l = placeHolders > 0 ? len - 4 : len; + var L = 0; + for (i = 0, j = 0; i < l; i += 4, j += 3) { + tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)]; + arr[L++] = tmp >> 16 & 255; + arr[L++] = tmp >> 8 & 255; + arr[L++] = tmp & 255; + } + if (placeHolders === 2) { + tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4; + arr[L++] = tmp & 255; + } else if (placeHolders === 1) { + tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2; + arr[L++] = tmp >> 8 & 255; + arr[L++] = tmp & 255; + } + return arr; +} +function tripletToBase64(num) { + return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63]; +} +function encodeChunk(uint8, start, end) { + var tmp; + var output = []; + for (var i = start; i < end; i += 3) { + tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2]; + output.push(tripletToBase64(tmp)); + } + return output.join(""); +} +function base64fromByteArray(uint8) { + if (!inited) { + init(); + } + var tmp; + var len = uint8.length; + var extraBytes = len % 3; + var output = ""; + var parts = []; + var maxChunkLength = 16383; + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push( + encodeChunk( + uint8, + i, + i + maxChunkLength > len2 ? len2 : i + maxChunkLength + ) + ); + } + if (extraBytes === 1) { + tmp = uint8[len - 1]; + output += lookup[tmp >> 2]; + output += lookup[tmp << 4 & 63]; + output += "=="; + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1]; + output += lookup[tmp >> 10]; + output += lookup[tmp >> 4 & 63]; + output += lookup[tmp << 2 & 63]; + output += "="; + } + parts.push(output); + return parts.join(""); +} +Buffer.TYPED_ARRAY_SUPPORT = globalThis.TYPED_ARRAY_SUPPORT !== void 0 ? globalThis.TYPED_ARRAY_SUPPORT : true; +function kMaxLength() { + return Buffer.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823; +} +function createBuffer(that, length) { + if (kMaxLength() < length) { + throw new RangeError("Invalid typed array length"); + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + that = new Uint8Array(length); + that.__proto__ = Buffer.prototype; + } else { + if (that === null) { + that = new Buffer(length); + } + that.length = length; + } + return that; +} +function Buffer(arg, encodingOrOffset, length) { + if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { + return new Buffer(arg, encodingOrOffset, length); + } + if (typeof arg === "number") { + if (typeof encodingOrOffset === "string") { + throw new Error( + "If encoding is specified then the first argument must be a string" + ); + } + return allocUnsafe(this, arg); + } + return from(this, arg, encodingOrOffset, length); +} +Buffer.poolSize = 8192; +Buffer._augment = function(arr) { + arr.__proto__ = Buffer.prototype; + return arr; +}; +function from(that, value, encodingOrOffset, length) { + if (typeof value === "number") { + throw new TypeError('"value" argument must not be a number'); + } + if (typeof ArrayBuffer !== "undefined" && value instanceof ArrayBuffer) { + return fromArrayBuffer(that, value, encodingOrOffset, length); + } + if (typeof value === "string") { + return fromString(that, value, encodingOrOffset); + } + return fromObject(that, value); +} +Buffer.from = function(value, encodingOrOffset, length) { + return from(null, value, encodingOrOffset, length); +}; +Buffer.kMaxLength = kMaxLength(); +if (Buffer.TYPED_ARRAY_SUPPORT) { + Buffer.prototype.__proto__ = Uint8Array.prototype; + Buffer.__proto__ = Uint8Array; + if (typeof Symbol !== "undefined" && Symbol.species && Buffer[Symbol.species] === Buffer) { + } +} +function assertSize(size) { + if (typeof size !== "number") { + throw new TypeError('"size" argument must be a number'); + } else if (size < 0) { + throw new RangeError('"size" argument must not be negative'); + } +} +function alloc(that, size, fill2, encoding) { + assertSize(size); + if (size <= 0) { + return createBuffer(that, size); + } + if (fill2 !== void 0) { + return typeof encoding === "string" ? createBuffer(that, size).fill(fill2, encoding) : createBuffer(that, size).fill(fill2); + } + return createBuffer(that, size); +} +Buffer.alloc = function(size, fill2, encoding) { + return alloc(null, size, fill2, encoding); +}; +function allocUnsafe(that, size) { + assertSize(size); + that = createBuffer(that, size < 0 ? 0 : checked(size) | 0); + if (!Buffer.TYPED_ARRAY_SUPPORT) { + for (var i = 0; i < size; ++i) { + that[i] = 0; + } + } + return that; +} +Buffer.allocUnsafe = function(size) { + return allocUnsafe(null, size); +}; +Buffer.allocUnsafeSlow = function(size) { + return allocUnsafe(null, size); +}; +function fromString(that, string, encoding) { + if (typeof encoding !== "string" || encoding === "") { + encoding = "utf8"; + } + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding'); + } + var length = byteLength(string, encoding) | 0; + that = createBuffer(that, length); + var actual = that.write(string, encoding); + if (actual !== length) { + that = that.slice(0, actual); + } + return that; +} +function fromArrayLike(that, array) { + var length = array.length < 0 ? 0 : checked(array.length) | 0; + that = createBuffer(that, length); + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255; + } + return that; +} +function fromArrayBuffer(that, array, byteOffset, length) { + array.byteLength; + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError("'offset' is out of bounds"); + } + if (array.byteLength < byteOffset + (length || 0)) { + throw new RangeError("'length' is out of bounds"); + } + if (byteOffset === void 0 && length === void 0) { + array = new Uint8Array(array); + } else if (length === void 0) { + array = new Uint8Array(array, byteOffset); + } else { + array = new Uint8Array(array, byteOffset, length); + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + that = array; + that.__proto__ = Buffer.prototype; + } else { + that = fromArrayLike(that, array); + } + return that; +} +function fromObject(that, obj) { + if (internalIsBuffer(obj)) { + var len = checked(obj.length) | 0; + that = createBuffer(that, len); + if (that.length === 0) { + return that; + } + obj.copy(that, 0, 0, len); + return that; + } + if (obj) { + if (typeof ArrayBuffer !== "undefined" && obj.buffer instanceof ArrayBuffer || "length" in obj) { + if (typeof obj.length !== "number" || isnan(obj.length)) { + return createBuffer(that, 0); + } + return fromArrayLike(that, obj); + } + if (obj.type === "Buffer" && Array.isArray(obj.data)) { + return fromArrayLike(that, obj.data); + } + } + throw new TypeError( + "First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object." + ); +} +function checked(length) { + if (length >= kMaxLength()) { + throw new RangeError( + "Attempt to allocate Buffer larger than maximum size: 0x" + kMaxLength().toString(16) + " bytes" + ); + } + return length | 0; +} +Buffer.isBuffer = isBuffer; +function internalIsBuffer(b) { + return !!(b != null && b._isBuffer); +} +Buffer.compare = function compare(a, b) { + if (!internalIsBuffer(a) || !internalIsBuffer(b)) { + throw new TypeError("Arguments must be Buffers"); + } + if (a === b) + return 0; + var x = a.length; + var y = b.length; + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i]; + y = b[i]; + break; + } + } + if (x < y) + return -1; + if (y < x) + return 1; + return 0; +}; +Buffer.isEncoding = function isEncoding(encoding) { + switch (String(encoding).toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "latin1": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return true; + default: + return false; + } +}; +Buffer.concat = function concat(list, length) { + if (!Array.isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + if (list.length === 0) { + return Buffer.alloc(0); + } + var i; + if (length === void 0) { + length = 0; + for (i = 0; i < list.length; ++i) { + length += list[i].length; + } + } + var buffer = Buffer.allocUnsafe(length); + var pos = 0; + for (i = 0; i < list.length; ++i) { + var buf = list[i]; + if (!internalIsBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + buf.copy(buffer, pos); + pos += buf.length; + } + return buffer; +}; +function byteLength(string, encoding) { + if (internalIsBuffer(string)) { + return string.length; + } + if (typeof ArrayBuffer !== "undefined" && typeof ArrayBuffer.isView === "function" && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { + return string.byteLength; + } + if (typeof string !== "string") { + string = "" + string; + } + var len = string.length; + if (len === 0) + return 0; + var loweredCase = false; + for (; ; ) { + switch (encoding) { + case "ascii": + case "latin1": + case "binary": + return len; + case "utf8": + case "utf-8": + case void 0: + return utf8ToBytes(string).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return len * 2; + case "hex": + return len >>> 1; + case "base64": + return base64ToBytes(string).length; + default: + if (loweredCase) + return utf8ToBytes(string).length; + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } +} +Buffer.byteLength = byteLength; +function slowToString(encoding, start, end) { + var loweredCase = false; + if (start === void 0 || start < 0) { + start = 0; + } + if (start > this.length) { + return ""; + } + if (end === void 0 || end > this.length) { + end = this.length; + } + if (end <= 0) { + return ""; + } + end >>>= 0; + start >>>= 0; + if (end <= start) { + return ""; + } + if (!encoding) + encoding = "utf8"; + while (true) { + switch (encoding) { + case "hex": + return hexSlice(this, start, end); + case "utf8": + case "utf-8": + return utf8Slice(this, start, end); + case "ascii": + return asciiSlice(this, start, end); + case "latin1": + case "binary": + return latin1Slice(this, start, end); + case "base64": + return base64Slice(this, start, end); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return utf16leSlice(this, start, end); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = (encoding + "").toLowerCase(); + loweredCase = true; + } + } +} +Buffer.prototype._isBuffer = true; +function swap(b, n, m) { + var i = b[n]; + b[n] = b[m]; + b[m] = i; +} +Buffer.prototype.swap16 = function swap16() { + var len = this.length; + if (len % 2 !== 0) { + throw new RangeError("Buffer size must be a multiple of 16-bits"); + } + for (var i = 0; i < len; i += 2) { + swap(this, i, i + 1); + } + return this; +}; +Buffer.prototype.swap32 = function swap32() { + var len = this.length; + if (len % 4 !== 0) { + throw new RangeError("Buffer size must be a multiple of 32-bits"); + } + for (var i = 0; i < len; i += 4) { + swap(this, i, i + 3); + swap(this, i + 1, i + 2); + } + return this; +}; +Buffer.prototype.swap64 = function swap64() { + var len = this.length; + if (len % 8 !== 0) { + throw new RangeError("Buffer size must be a multiple of 64-bits"); + } + for (var i = 0; i < len; i += 8) { + swap(this, i, i + 7); + swap(this, i + 1, i + 6); + swap(this, i + 2, i + 5); + swap(this, i + 3, i + 4); + } + return this; +}; +Buffer.prototype.toString = function toString() { + var length = this.length | 0; + if (length === 0) + return ""; + if (arguments.length === 0) + return utf8Slice(this, 0, length); + return slowToString.apply(this, arguments); +}; +Buffer.prototype.equals = function equals(b) { + if (!internalIsBuffer(b)) + throw new TypeError("Argument must be a Buffer"); + if (this === b) + return true; + return Buffer.compare(this, b) === 0; +}; +Buffer.prototype.compare = function compare2(target, start, end, thisStart, thisEnd) { + if (!internalIsBuffer(target)) { + throw new TypeError("Argument must be a Buffer"); + } + if (start === void 0) { + start = 0; + } + if (end === void 0) { + end = target ? target.length : 0; + } + if (thisStart === void 0) { + thisStart = 0; + } + if (thisEnd === void 0) { + thisEnd = this.length; + } + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError("out of range index"); + } + if (thisStart >= thisEnd && start >= end) { + return 0; + } + if (thisStart >= thisEnd) { + return -1; + } + if (start >= end) { + return 1; + } + start >>>= 0; + end >>>= 0; + thisStart >>>= 0; + thisEnd >>>= 0; + if (this === target) + return 0; + var x = thisEnd - thisStart; + var y = end - start; + var len = Math.min(x, y); + var thisCopy = this.slice(thisStart, thisEnd); + var targetCopy = target.slice(start, end); + for (var i = 0; i < len; ++i) { + if (thisCopy[i] !== targetCopy[i]) { + x = thisCopy[i]; + y = targetCopy[i]; + break; + } + } + if (x < y) + return -1; + if (y < x) + return 1; + return 0; +}; +function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { + if (buffer.length === 0) + return -1; + if (typeof byteOffset === "string") { + encoding = byteOffset; + byteOffset = 0; + } else if (byteOffset > 2147483647) { + byteOffset = 2147483647; + } else if (byteOffset < -2147483648) { + byteOffset = -2147483648; + } + byteOffset = +byteOffset; + if (isNaN(byteOffset)) { + byteOffset = dir ? 0 : buffer.length - 1; + } + if (byteOffset < 0) + byteOffset = buffer.length + byteOffset; + if (byteOffset >= buffer.length) { + if (dir) + return -1; + else + byteOffset = buffer.length - 1; + } else if (byteOffset < 0) { + if (dir) + byteOffset = 0; + else + return -1; + } + if (typeof val === "string") { + val = Buffer.from(val, encoding); + } + if (internalIsBuffer(val)) { + if (val.length === 0) { + return -1; + } + return arrayIndexOf(buffer, val, byteOffset, encoding, dir); + } else if (typeof val === "number") { + val = val & 255; + if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === "function") { + if (dir) { + return Uint8Array.prototype.indexOf.call( + buffer, + val, + byteOffset + ); + } else { + return Uint8Array.prototype.lastIndexOf.call( + buffer, + val, + byteOffset + ); + } + } + return arrayIndexOf(buffer, [val], byteOffset, encoding, dir); + } + throw new TypeError("val must be string, number or Buffer"); +} +function arrayIndexOf(arr, val, byteOffset, encoding, dir) { + var indexSize = 1; + var arrLength = arr.length; + var valLength = val.length; + if (encoding !== void 0) { + encoding = String(encoding).toLowerCase(); + if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") { + if (arr.length < 2 || val.length < 2) { + return -1; + } + indexSize = 2; + arrLength /= 2; + valLength /= 2; + byteOffset /= 2; + } + } + function read(buf, i2) { + if (indexSize === 1) { + return buf[i2]; + } else { + return buf.readUInt16BE(i2 * indexSize); + } + } + var i; + if (dir) { + var foundIndex = -1; + for (i = byteOffset; i < arrLength; i++) { + if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { + if (foundIndex === -1) + foundIndex = i; + if (i - foundIndex + 1 === valLength) + return foundIndex * indexSize; + } else { + if (foundIndex !== -1) + i -= i - foundIndex; + foundIndex = -1; + } + } + } else { + if (byteOffset + valLength > arrLength) + byteOffset = arrLength - valLength; + for (i = byteOffset; i >= 0; i--) { + var found = true; + for (var j = 0; j < valLength; j++) { + if (read(arr, i + j) !== read(val, j)) { + found = false; + break; + } + } + if (found) + return i; + } + } + return -1; +} +Buffer.prototype.includes = function includes(val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1; +}; +Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true); +}; +Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false); +}; +function hexWrite(buf, string, offset, length) { + offset = Number(offset) || 0; + var remaining = buf.length - offset; + if (!length) { + length = remaining; + } else { + length = Number(length); + if (length > remaining) { + length = remaining; + } + } + var strLen = string.length; + if (strLen % 2 !== 0) + throw new TypeError("Invalid hex string"); + if (length > strLen / 2) { + length = strLen / 2; + } + for (var i = 0; i < length; ++i) { + var parsed = parseInt(string.substr(i * 2, 2), 16); + if (isNaN(parsed)) + return i; + buf[offset + i] = parsed; + } + return i; +} +function utf8Write(buf, string, offset, length) { + return blitBuffer( + utf8ToBytes(string, buf.length - offset), + buf, + offset, + length + ); +} +function asciiWrite(buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length); +} +function latin1Write(buf, string, offset, length) { + return asciiWrite(buf, string, offset, length); +} +function base64Write(buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length); +} +function ucs2Write(buf, string, offset, length) { + return blitBuffer( + utf16leToBytes(string, buf.length - offset), + buf, + offset, + length + ); +} +Buffer.prototype.write = function write(string, offset, length, encoding) { + if (offset === void 0) { + encoding = "utf8"; + length = this.length; + offset = 0; + } else if (length === void 0 && typeof offset === "string") { + encoding = offset; + length = this.length; + offset = 0; + } else if (isFinite(offset)) { + offset = offset | 0; + if (isFinite(length)) { + length = length | 0; + if (encoding === void 0) + encoding = "utf8"; + } else { + encoding = length; + length = void 0; + } + } else { + throw new Error( + "Buffer.write(string, encoding, offset[, length]) is no longer supported" + ); + } + var remaining = this.length - offset; + if (length === void 0 || length > remaining) + length = remaining; + if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) { + throw new RangeError("Attempt to write outside buffer bounds"); + } + if (!encoding) + encoding = "utf8"; + var loweredCase = false; + for (; ; ) { + switch (encoding) { + case "hex": + return hexWrite(this, string, offset, length); + case "utf8": + case "utf-8": + return utf8Write(this, string, offset, length); + case "ascii": + return asciiWrite(this, string, offset, length); + case "latin1": + case "binary": + return latin1Write(this, string, offset, length); + case "base64": + return base64Write(this, string, offset, length); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return ucs2Write(this, string, offset, length); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } +}; +Buffer.prototype.toJSON = function toJSON() { + return { + type: "Buffer", + data: Array.prototype.slice.call(this._arr || this, 0) + }; +}; +function base64Slice(buf, start, end) { + if (start === 0 && end === buf.length) { + return base64fromByteArray(buf); + } else { + return base64fromByteArray(buf.slice(start, end)); + } +} +function utf8Slice(buf, start, end) { + end = Math.min(buf.length, end); + var res = []; + var i = start; + while (i < end) { + var firstByte = buf[i]; + var codePoint = null; + var bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1; + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint; + switch (bytesPerSequence) { + case 1: + if (firstByte < 128) { + codePoint = firstByte; + } + break; + case 2: + secondByte = buf[i + 1]; + if ((secondByte & 192) === 128) { + tempCodePoint = (firstByte & 31) << 6 | secondByte & 63; + if (tempCodePoint > 127) { + codePoint = tempCodePoint; + } + } + break; + case 3: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63; + if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) { + codePoint = tempCodePoint; + } + } + break; + case 4: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + fourthByte = buf[i + 3]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63; + if (tempCodePoint > 65535 && tempCodePoint < 1114112) { + codePoint = tempCodePoint; + } + } + } + } + if (codePoint === null) { + codePoint = 65533; + bytesPerSequence = 1; + } else if (codePoint > 65535) { + codePoint -= 65536; + res.push(codePoint >>> 10 & 1023 | 55296); + codePoint = 56320 | codePoint & 1023; + } + res.push(codePoint); + i += bytesPerSequence; + } + return decodeCodePointsArray(res); +} +var MAX_ARGUMENTS_LENGTH = 4096; +function decodeCodePointsArray(codePoints) { + var len = codePoints.length; + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints); + } + var res = ""; + var i = 0; + while (i < len) { + res += String.fromCharCode.apply( + String, + codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) + ); + } + return res; +} +function asciiSlice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i] & 127); + } + return ret; +} +function latin1Slice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i]); + } + return ret; +} +function hexSlice(buf, start, end) { + var len = buf.length; + if (!start || start < 0) + start = 0; + if (!end || end < 0 || end > len) + end = len; + var out = ""; + for (var i = start; i < end; ++i) { + out += toHex(buf[i]); + } + return out; +} +function utf16leSlice(buf, start, end) { + var bytes = buf.slice(start, end); + var res = ""; + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); + } + return res; +} +Buffer.prototype.slice = function slice(start, end) { + var len = this.length; + start = ~~start; + end = end === void 0 ? len : ~~end; + if (start < 0) { + start += len; + if (start < 0) + start = 0; + } else if (start > len) { + start = len; + } + if (end < 0) { + end += len; + if (end < 0) + end = 0; + } else if (end > len) { + end = len; + } + if (end < start) + end = start; + var newBuf; + if (Buffer.TYPED_ARRAY_SUPPORT) { + newBuf = this.subarray(start, end); + newBuf.__proto__ = Buffer.prototype; + } else { + var sliceLen = end - start; + newBuf = new Buffer(sliceLen, void 0); + for (var i = 0; i < sliceLen; ++i) { + newBuf[i] = this[i + start]; + } + } + return newBuf; +}; +function checkOffset(offset, ext, length) { + if (offset % 1 !== 0 || offset < 0) + throw new RangeError("offset is not uint"); + if (offset + ext > length) + throw new RangeError("Trying to access beyond buffer length"); +} +Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength2 && (mul *= 256)) { + val += this[offset + i] * mul; + } + return val; +}; +Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + checkOffset(offset, byteLength2, this.length); + } + var val = this[offset + --byteLength2]; + var mul = 1; + while (byteLength2 > 0 && (mul *= 256)) { + val += this[offset + --byteLength2] * mul; + } + return val; +}; +Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 1, this.length); + return this[offset]; +}; +Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] | this[offset + 1] << 8; +}; +Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] << 8 | this[offset + 1]; +}; +Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216; +}; +Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); +}; +Buffer.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength2 && (mul *= 256)) { + val += this[offset + i] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength2); + return val; +}; +Buffer.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var i = byteLength2; + var mul = 1; + var val = this[offset + --i]; + while (i > 0 && (mul *= 256)) { + val += this[offset + --i] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength2); + return val; +}; +Buffer.prototype.readInt8 = function readInt8(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 1, this.length); + if (!(this[offset] & 128)) + return this[offset]; + return (255 - this[offset] + 1) * -1; +}; +Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + var val = this[offset] | this[offset + 1] << 8; + return val & 32768 ? val | 4294901760 : val; +}; +Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + var val = this[offset + 1] | this[offset] << 8; + return val & 32768 ? val | 4294901760 : val; +}; +Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24; +}; +Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]; +}; +Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754read(this, offset, true, 23, 4); +}; +Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754read(this, offset, false, 23, 4); +}; +Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754read(this, offset, true, 52, 8); +}; +Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754read(this, offset, false, 52, 8); +}; +function checkInt(buf, value, offset, ext, max, min) { + if (!internalIsBuffer(buf)) + throw new TypeError('"buffer" argument must be a Buffer instance'); + if (value > max || value < min) + throw new RangeError('"value" argument is out of bounds'); + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); +} +Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength2) - 1; + checkInt(this, value, offset, byteLength2, maxBytes, 0); + } + var mul = 1; + var i = 0; + this[offset] = value & 255; + while (++i < byteLength2 && (mul *= 256)) { + this[offset + i] = value / mul & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength2) - 1; + checkInt(this, value, offset, byteLength2, maxBytes, 0); + } + var i = byteLength2 - 1; + var mul = 1; + this[offset + i] = value & 255; + while (--i >= 0 && (mul *= 256)) { + this[offset + i] = value / mul & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 1, 255, 0); + if (!Buffer.TYPED_ARRAY_SUPPORT) + value = Math.floor(value); + this[offset] = value & 255; + return offset + 1; +}; +function objectWriteUInt16(buf, value, offset, littleEndian) { + if (value < 0) + value = 65535 + value + 1; + for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { + buf[offset + i] = (value & 255 << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8; + } +} +Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + } else { + objectWriteUInt16(this, value, offset, true); + } + return offset + 2; +}; +Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + } else { + objectWriteUInt16(this, value, offset, false); + } + return offset + 2; +}; +function objectWriteUInt32(buf, value, offset, littleEndian) { + if (value < 0) + value = 4294967295 + value + 1; + for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { + buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 255; + } +} +Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset + 3] = value >>> 24; + this[offset + 2] = value >>> 16; + this[offset + 1] = value >>> 8; + this[offset] = value & 255; + } else { + objectWriteUInt32(this, value, offset, true); + } + return offset + 4; +}; +Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + } else { + objectWriteUInt32(this, value, offset, false); + } + return offset + 4; +}; +Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength2 - 1); + checkInt(this, value, offset, byteLength2, limit - 1, -limit); + } + var i = 0; + var mul = 1; + var sub = 0; + this[offset] = value & 255; + while (++i < byteLength2 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { + sub = 1; + } + this[offset + i] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength2 - 1); + checkInt(this, value, offset, byteLength2, limit - 1, -limit); + } + var i = byteLength2 - 1; + var mul = 1; + var sub = 0; + this[offset + i] = value & 255; + while (--i >= 0 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { + sub = 1; + } + this[offset + i] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 1, 127, -128); + if (!Buffer.TYPED_ARRAY_SUPPORT) + value = Math.floor(value); + if (value < 0) + value = 255 + value + 1; + this[offset] = value & 255; + return offset + 1; +}; +Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + } else { + objectWriteUInt16(this, value, offset, true); + } + return offset + 2; +}; +Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + } else { + objectWriteUInt16(this, value, offset, false); + } + return offset + 2; +}; +Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + this[offset + 2] = value >>> 16; + this[offset + 3] = value >>> 24; + } else { + objectWriteUInt32(this, value, offset, true); + } + return offset + 4; +}; +Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + if (value < 0) + value = 4294967295 + value + 1; + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + } else { + objectWriteUInt32(this, value, offset, false); + } + return offset + 4; +}; +function checkIEEE754(buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); + if (offset < 0) + throw new RangeError("Index out of range"); +} +function writeFloat(buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754( + buf, + value, + offset, + 4, + 34028234663852886e22, + -34028234663852886e22 + ); + } + ieee754write(buf, value, offset, littleEndian, 23, 4); + return offset + 4; +} +Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert); +}; +Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert); +}; +function writeDouble(buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754( + buf, + value, + offset, + 8, + 17976931348623157e292, + -17976931348623157e292 + ); + } + ieee754write(buf, value, offset, littleEndian, 52, 8); + return offset + 8; +} +Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert); +}; +Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert); +}; +Buffer.prototype.copy = function copy(target, targetStart, start, end) { + if (!start) + start = 0; + if (!end && end !== 0) + end = this.length; + if (targetStart >= target.length) + targetStart = target.length; + if (!targetStart) + targetStart = 0; + if (end > 0 && end < start) + end = start; + if (end === start) + return 0; + if (target.length === 0 || this.length === 0) + return 0; + if (targetStart < 0) { + throw new RangeError("targetStart out of bounds"); + } + if (start < 0 || start >= this.length) + throw new RangeError("sourceStart out of bounds"); + if (end < 0) + throw new RangeError("sourceEnd out of bounds"); + if (end > this.length) + end = this.length; + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start; + } + var len = end - start; + var i; + if (this === target && start < targetStart && targetStart < end) { + for (i = len - 1; i >= 0; --i) { + target[i + targetStart] = this[i + start]; + } + } else if (len < 1e3 || !Buffer.TYPED_ARRAY_SUPPORT) { + for (i = 0; i < len; ++i) { + target[i + targetStart] = this[i + start]; + } + } else { + Uint8Array.prototype.set.call( + target, + this.subarray(start, start + len), + targetStart + ); + } + return len; +}; +Buffer.prototype.fill = function fill(val, start, end, encoding) { + if (typeof val === "string") { + if (typeof start === "string") { + encoding = start; + start = 0; + end = this.length; + } else if (typeof end === "string") { + encoding = end; + end = this.length; + } + if (val.length === 1) { + var code = val.charCodeAt(0); + if (code < 256) { + val = code; + } + } + if (encoding !== void 0 && typeof encoding !== "string") { + throw new TypeError("encoding must be a string"); + } + if (typeof encoding === "string" && !Buffer.isEncoding(encoding)) { + throw new TypeError("Unknown encoding: " + encoding); + } + } else if (typeof val === "number") { + val = val & 255; + } + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError("Out of range index"); + } + if (end <= start) { + return this; + } + start = start >>> 0; + end = end === void 0 ? this.length : end >>> 0; + if (!val) + val = 0; + var i; + if (typeof val === "number") { + for (i = start; i < end; ++i) { + this[i] = val; + } + } else { + var bytes = internalIsBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString()); + var len = bytes.length; + for (i = 0; i < end - start; ++i) { + this[i + start] = bytes[i % len]; + } + } + return this; +}; +var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g; +function base64clean(str) { + str = stringtrim(str).replace(INVALID_BASE64_RE, ""); + if (str.length < 2) + return ""; + while (str.length % 4 !== 0) { + str = str + "="; + } + return str; +} +function stringtrim(str) { + if (str.trim) + return str.trim(); + return str.replace(/^\s+|\s+$/g, ""); +} +function toHex(n) { + if (n < 16) + return "0" + n.toString(16); + return n.toString(16); +} +function utf8ToBytes(string, units) { + units = units || Infinity; + var codePoint; + var length = string.length; + var leadSurrogate = null; + var bytes = []; + for (var i = 0; i < length; ++i) { + codePoint = string.charCodeAt(i); + if (codePoint > 55295 && codePoint < 57344) { + if (!leadSurrogate) { + if (codePoint > 56319) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } else if (i + 1 === length) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } + leadSurrogate = codePoint; + continue; + } + if (codePoint < 56320) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + leadSurrogate = codePoint; + continue; + } + codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536; + } else if (leadSurrogate) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + } + leadSurrogate = null; + if (codePoint < 128) { + if ((units -= 1) < 0) + break; + bytes.push(codePoint); + } else if (codePoint < 2048) { + if ((units -= 2) < 0) + break; + bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128); + } else if (codePoint < 65536) { + if ((units -= 3) < 0) + break; + bytes.push( + codePoint >> 12 | 224, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else if (codePoint < 1114112) { + if ((units -= 4) < 0) + break; + bytes.push( + codePoint >> 18 | 240, + codePoint >> 12 & 63 | 128, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else { + throw new Error("Invalid code point"); + } + } + return bytes; +} +function asciiToBytes(str) { + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + byteArray.push(str.charCodeAt(i) & 255); + } + return byteArray; +} +function utf16leToBytes(str, units) { + var c, hi, lo; + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + if ((units -= 2) < 0) + break; + c = str.charCodeAt(i); + hi = c >> 8; + lo = c % 256; + byteArray.push(lo); + byteArray.push(hi); + } + return byteArray; +} +function base64ToBytes(str) { + return base64toByteArray(base64clean(str)); +} +function blitBuffer(src, dst, offset, length) { + for (var i = 0; i < length; ++i) { + if (i + offset >= dst.length || i >= src.length) + break; + dst[i + offset] = src[i]; + } + return i; +} +function isnan(val) { + return val !== val; +} +function isBuffer(obj) { + return obj != null && (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj)); +} +function isFastBuffer(obj) { + return !!obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj); +} +function isSlowBuffer(obj) { + return typeof obj.readFloatLE === "function" && typeof obj.slice === "function" && isFastBuffer(obj.slice(0, 0)); +} +function ieee754read(buffer, offset, isLE, mLen, nBytes) { + var e, m; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = -7; + var i = isLE ? nBytes - 1 : 0; + var d = isLE ? -1 : 1; + var s = buffer[offset + i]; + i += d; + e = s & (1 << -nBits) - 1; + s >>= -nBits; + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : (s ? -1 : 1) * Infinity; + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); +} +function ieee754write(buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; + var i = isLE ? 0 : nBytes - 1; + var d = isLE ? 1 : -1; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + value = Math.abs(value); + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) { + } + e = e << mLen | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) { + } + buffer[offset + i - d] |= s * 128; +} + +// node_modules/@b9g/crank/crank.js +var NOOP = () => { +}; +var IDENTITY = (value) => value; +function wrap(value) { + return value === void 0 ? [] : Array.isArray(value) ? value : [value]; +} +function unwrap(arr) { + return arr.length === 0 ? void 0 : arr.length === 1 ? arr[0] : arr; +} +function arrayify(value) { + return value == null ? [] : Array.isArray(value) ? value : typeof value === "string" || typeof value[Symbol.iterator] !== "function" ? [value] : ( + // TODO: inference broke in TypeScript 3.9. + [...value] + ); +} +function isIteratorLike(value) { + return value != null && typeof value.next === "function"; +} +function isPromiseLike(value) { + return value != null && typeof value.then === "function"; +} +var Fragment = ""; +var Portal = Symbol.for("crank.Portal"); +var Copy = Symbol.for("crank.Copy"); +var Raw = Symbol.for("crank.Raw"); +var ElementSymbol = Symbol.for("crank.Element"); +var Element = class { + constructor(tag, props) { + this.tag = tag; + this.props = props; + } + get key() { + return this.props.key; + } + get ref() { + return this.props.ref; + } + get copy() { + return !!this.props.copy; + } +}; +Element.prototype.$$typeof = ElementSymbol; +function isElement(value) { + return value != null && value.$$typeof === ElementSymbol; +} +var DEPRECATED_PROP_PREFIXES = ["crank-", "c-", "$"]; +var DEPRECATED_SPECIAL_PROP_BASES = ["key", "ref", "static"]; +var SPECIAL_PROPS = /* @__PURE__ */ new Set(["children", "key", "ref", "copy"]); +for (const propPrefix of DEPRECATED_PROP_PREFIXES) { + for (const propBase of DEPRECATED_SPECIAL_PROP_BASES) { + SPECIAL_PROPS.add(propPrefix + propBase); + } +} +function createElement(tag, props, ...children) { + if (props == null) { + props = {}; + } + for (let i = 0; i < DEPRECATED_PROP_PREFIXES.length; i++) { + const propPrefix = DEPRECATED_PROP_PREFIXES[i]; + for (let j = 0; j < DEPRECATED_SPECIAL_PROP_BASES.length; j++) { + const propBase = DEPRECATED_SPECIAL_PROP_BASES[j]; + const deprecatedPropName = propPrefix + propBase; + const targetPropBase = propBase === "static" ? "copy" : propBase; + if (deprecatedPropName in props) { + console.warn(`The \`${deprecatedPropName}\` prop is deprecated. Use \`${targetPropBase}\` instead.`); + props[targetPropBase] = props[deprecatedPropName]; + } + } + } + if (children.length > 1) { + props.children = children; + } else if (children.length === 1) { + props.children = children[0]; + } + return new Element(tag, props); +} +function narrow(value) { + if (typeof value === "boolean" || value == null) { + return void 0; + } else if (typeof value === "string" || isElement(value)) { + return value; + } else if (typeof value[Symbol.iterator] === "function") { + return createElement(Fragment, null, value); + } + return value.toString(); +} +function normalize(values) { + const result = []; + let buffer; + for (let i = 0; i < values.length; i++) { + const value = values[i]; + if (!value) + ; + else if (typeof value === "string") { + buffer = (buffer || "") + value; + } else if (!Array.isArray(value)) { + if (buffer) { + result.push(buffer); + buffer = void 0; + } + result.push(value); + } else { + for (let j = 0; j < value.length; j++) { + const value1 = value[j]; + if (!value1) + ; + else if (typeof value1 === "string") { + buffer = (buffer || "") + value1; + } else { + if (buffer) { + result.push(buffer); + buffer = void 0; + } + result.push(value1); + } + } + } + } + if (buffer) { + result.push(buffer); + } + return result; +} +var Retainer = class { + constructor(el) { + this.el = el; + this.ctx = void 0; + this.children = void 0; + this.value = void 0; + this.cachedChildValues = void 0; + this.fallbackValue = void 0; + this.inflightValue = void 0; + this.onNextValues = void 0; + } +}; +function getValue(ret) { + if (typeof ret.fallbackValue !== "undefined") { + return typeof ret.fallbackValue === "object" ? getValue(ret.fallbackValue) : ret.fallbackValue; + } else if (ret.el.tag === Portal) { + return; + } else if (typeof ret.el.tag !== "function" && ret.el.tag !== Fragment) { + return ret.value; + } + return unwrap(getChildValues(ret)); +} +function getChildValues(ret) { + if (ret.cachedChildValues) { + return wrap(ret.cachedChildValues); + } + const values = []; + const children = wrap(ret.children); + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child) { + values.push(typeof child === "string" ? child : getValue(child)); + } + } + const values1 = normalize(values); + const tag = ret.el.tag; + if (typeof tag === "function" || tag !== Fragment && tag !== Raw) { + ret.cachedChildValues = unwrap(values1); + } + return values1; +} +var defaultRendererImpl = { + create() { + throw new Error("Not implemented"); + }, + hydrate() { + throw new Error("Not implemented"); + }, + scope: IDENTITY, + read: IDENTITY, + text: IDENTITY, + raw: IDENTITY, + patch: NOOP, + arrange: NOOP, + dispose: NOOP, + flush: NOOP +}; +var _RendererImpl = Symbol.for("crank.RendererImpl"); +var Renderer = class { + constructor(impl2) { + this.cache = /* @__PURE__ */ new WeakMap(); + this[_RendererImpl] = { + ...defaultRendererImpl, + ...impl2 + }; + } + /** + * Renders an element tree into a specific root. + * + * @param children - An element tree. You can render null with a previously + * used root to delete the previously rendered element tree from the cache. + * @param root - The node to be rendered into. The renderer will cache + * element trees per root. + * @param bridge - An optional context that will be the ancestor context of all + * elements in the tree. Useful for connecting different renderers so that + * events/provisions properly propagate. The context for a given root must be + * the same or an error will be thrown. + * + * @returns The result of rendering the children, or a possible promise of + * the result if the element tree renders asynchronously. + */ + render(children, root, bridge) { + let ret; + const ctx = bridge && bridge[_ContextImpl]; + if (typeof root === "object" && root !== null) { + ret = this.cache.get(root); + } + let oldProps; + if (ret === void 0) { + ret = new Retainer(createElement(Portal, { children, root })); + ret.value = root; + ret.ctx = ctx; + if (typeof root === "object" && root !== null && children != null) { + this.cache.set(root, ret); + } + } else if (ret.ctx !== ctx) { + throw new Error("Context mismatch"); + } else { + oldProps = ret.el.props; + ret.el = createElement(Portal, { children, root }); + if (typeof root === "object" && root !== null && children == null) { + this.cache.delete(root); + } + } + const impl2 = this[_RendererImpl]; + const childValues = diffChildren(impl2, root, ret, ctx, impl2.scope(void 0, Portal, ret.el.props), ret, children, void 0); + if (isPromiseLike(childValues)) { + return childValues.then((childValues2) => commitRootRender(impl2, root, ctx, ret, childValues2, oldProps)); + } + return commitRootRender(impl2, root, ctx, ret, childValues, oldProps); + } + hydrate(children, root, bridge) { + const impl2 = this[_RendererImpl]; + const ctx = bridge && bridge[_ContextImpl]; + let ret; + ret = this.cache.get(root); + if (ret !== void 0) { + return this.render(children, root, bridge); + } + let oldProps; + ret = new Retainer(createElement(Portal, { children, root })); + ret.value = root; + if (typeof root === "object" && root !== null && children != null) { + this.cache.set(root, ret); + } + const hydrationData = impl2.hydrate(Portal, root, {}); + const childValues = diffChildren(impl2, root, ret, ctx, impl2.scope(void 0, Portal, ret.el.props), ret, children, hydrationData); + if (isPromiseLike(childValues)) { + return childValues.then((childValues2) => commitRootRender(impl2, root, ctx, ret, childValues2, oldProps)); + } + return commitRootRender(impl2, root, ctx, ret, childValues, oldProps); + } +}; +function commitRootRender(renderer2, root, ctx, ret, childValues, oldProps) { + if (root != null) { + renderer2.arrange(Portal, root, ret.el.props, childValues, oldProps, wrap(ret.cachedChildValues)); + flush(renderer2, root); + } + ret.cachedChildValues = unwrap(childValues); + if (root == null) { + unmount(renderer2, ret, ctx, ret); + } + return renderer2.read(ret.cachedChildValues); +} +function diffChildren(renderer2, root, host, ctx, scope, parent, children, hydrationData) { + const oldRetained = wrap(parent.children); + const newRetained = []; + const newChildren = arrayify(children); + const values = []; + let graveyard; + let childrenByKey; + let seenKeys; + let isAsync = false; + let hydrationBlock; + let oi = 0; + let oldLength = oldRetained.length; + for (let ni = 0, newLength = newChildren.length; ni < newLength; ni++) { + let ret = oi >= oldLength ? void 0 : oldRetained[oi]; + let child = narrow(newChildren[ni]); + { + let oldKey = typeof ret === "object" ? ret.el.key : void 0; + let newKey = typeof child === "object" ? child.key : void 0; + if (newKey !== void 0 && seenKeys && seenKeys.has(newKey)) { + console.error("Duplicate key", newKey); + newKey = void 0; + } + if (oldKey === newKey) { + if (childrenByKey !== void 0 && newKey !== void 0) { + childrenByKey.delete(newKey); + } + oi++; + } else { + childrenByKey = childrenByKey || createChildrenByKey(oldRetained, oi); + if (newKey === void 0) { + while (ret !== void 0 && oldKey !== void 0) { + oi++; + ret = oldRetained[oi]; + oldKey = typeof ret === "object" ? ret.el.key : void 0; + } + oi++; + } else { + ret = childrenByKey.get(newKey); + if (ret !== void 0) { + childrenByKey.delete(newKey); + } + (seenKeys = seenKeys || /* @__PURE__ */ new Set()).add(newKey); + } + } + } + let value; + if (typeof child === "object") { + if (child.tag === Copy || typeof ret === "object" && ret.el === child) { + value = getInflightValue(ret); + } else { + let oldProps; + let copy2 = false; + if (typeof ret === "object" && ret.el.tag === child.tag) { + oldProps = ret.el.props; + ret.el = child; + if (child.copy) { + value = getInflightValue(ret); + copy2 = true; + } + } else { + if (typeof ret === "object") { + (graveyard = graveyard || []).push(ret); + } + const fallback = ret; + ret = new Retainer(child); + ret.fallbackValue = fallback; + } + if (copy2) + ; + else if (child.tag === Raw) { + value = hydrationBlock ? hydrationBlock.then(() => updateRaw(renderer2, ret, scope, oldProps, hydrationData)) : updateRaw(renderer2, ret, scope, oldProps, hydrationData); + } else if (child.tag === Fragment) { + value = hydrationBlock ? hydrationBlock.then(() => updateFragment(renderer2, root, host, ctx, scope, ret, hydrationData)) : updateFragment(renderer2, root, host, ctx, scope, ret, hydrationData); + } else if (typeof child.tag === "function") { + value = hydrationBlock ? hydrationBlock.then(() => updateComponent(renderer2, root, host, ctx, scope, ret, oldProps, hydrationData)) : updateComponent(renderer2, root, host, ctx, scope, ret, oldProps, hydrationData); + } else { + value = hydrationBlock ? hydrationBlock.then(() => updateHost(renderer2, root, ctx, scope, ret, oldProps, hydrationData)) : updateHost(renderer2, root, ctx, scope, ret, oldProps, hydrationData); + } + } + if (isPromiseLike(value)) { + isAsync = true; + if (hydrationData !== void 0) { + hydrationBlock = value; + } + } + } else { + if (typeof ret === "object") { + (graveyard = graveyard || []).push(ret); + } + if (typeof child === "string") { + value = ret = renderer2.text(child, scope, hydrationData); + } else { + ret = void 0; + } + } + values[ni] = value; + newRetained[ni] = ret; + } + for (; oi < oldLength; oi++) { + const ret = oldRetained[oi]; + if (typeof ret === "object" && (typeof ret.el.key === "undefined" || !seenKeys || !seenKeys.has(ret.el.key))) { + (graveyard = graveyard || []).push(ret); + } + } + if (childrenByKey !== void 0 && childrenByKey.size > 0) { + (graveyard = graveyard || []).push(...childrenByKey.values()); + } + parent.children = unwrap(newRetained); + if (isAsync) { + let childValues1 = Promise.all(values).finally(() => { + if (graveyard) { + for (let i = 0; i < graveyard.length; i++) { + unmount(renderer2, host, ctx, graveyard[i]); + } + } + }); + let onChildValues; + childValues1 = Promise.race([ + childValues1, + new Promise((resolve) => onChildValues = resolve) + ]); + if (parent.onNextValues) { + parent.onNextValues(childValues1); + } + parent.onNextValues = onChildValues; + return childValues1.then((childValues) => { + parent.inflightValue = parent.fallbackValue = void 0; + return normalize(childValues); + }); + } else { + if (graveyard) { + for (let i = 0; i < graveyard.length; i++) { + unmount(renderer2, host, ctx, graveyard[i]); + } + } + if (parent.onNextValues) { + parent.onNextValues(values); + parent.onNextValues = void 0; + } + parent.inflightValue = parent.fallbackValue = void 0; + return normalize(values); + } +} +function createChildrenByKey(children, offset) { + const childrenByKey = /* @__PURE__ */ new Map(); + for (let i = offset; i < children.length; i++) { + const child = children[i]; + if (typeof child === "object" && typeof child.el.key !== "undefined") { + childrenByKey.set(child.el.key, child); + } + } + return childrenByKey; +} +function getInflightValue(child) { + if (typeof child !== "object") { + return child; + } + const ctx = typeof child.el.tag === "function" ? child.ctx : void 0; + if (ctx && ctx.f & IsUpdating && ctx.inflightValue) { + return ctx.inflightValue; + } else if (child.inflightValue) { + return child.inflightValue; + } + return getValue(child); +} +function updateRaw(renderer2, ret, scope, oldProps, hydrationData) { + const props = ret.el.props; + if (!oldProps || oldProps.value !== props.value) { + ret.value = renderer2.raw(props.value, scope, hydrationData); + if (typeof ret.el.ref === "function") { + ret.el.ref(ret.value); + } + } + return ret.value; +} +function updateFragment(renderer2, root, host, ctx, scope, ret, hydrationData) { + const childValues = diffChildren(renderer2, root, host, ctx, scope, ret, ret.el.props.children, hydrationData); + if (isPromiseLike(childValues)) { + ret.inflightValue = childValues.then((childValues2) => unwrap(childValues2)); + return ret.inflightValue; + } + return unwrap(childValues); +} +function updateHost(renderer2, root, ctx, scope, ret, oldProps, hydrationData) { + const el = ret.el; + const tag = el.tag; + let hydrationValue; + if (el.tag === Portal) { + root = ret.value = el.props.root; + } else { + if (hydrationData !== void 0) { + const value = hydrationData.children.shift(); + hydrationValue = value; + } + } + scope = renderer2.scope(scope, tag, el.props); + let childHydrationData; + if (hydrationValue != null && typeof hydrationValue !== "string") { + childHydrationData = renderer2.hydrate(tag, hydrationValue, el.props); + if (childHydrationData === void 0) { + hydrationValue = void 0; + } + } + const childValues = diffChildren(renderer2, root, ret, ctx, scope, ret, ret.el.props.children, childHydrationData); + if (isPromiseLike(childValues)) { + ret.inflightValue = childValues.then((childValues2) => commitHost(renderer2, scope, ret, childValues2, oldProps, hydrationValue)); + return ret.inflightValue; + } + return commitHost(renderer2, scope, ret, childValues, oldProps, hydrationValue); +} +function commitHost(renderer2, scope, ret, childValues, oldProps, hydrationValue) { + const tag = ret.el.tag; + let value = ret.value; + if (hydrationValue != null) { + value = ret.value = hydrationValue; + if (typeof ret.el.ref === "function") { + ret.el.ref(value); + } + } + let props = ret.el.props; + let copied; + if (tag !== Portal) { + if (value == null) { + value = ret.value = renderer2.create(tag, props, scope); + if (typeof ret.el.ref === "function") { + ret.el.ref(value); + } + } + for (const propName in { ...oldProps, ...props }) { + const propValue = props[propName]; + if (propValue === Copy) { + (copied = copied || /* @__PURE__ */ new Set()).add(propName); + } else if (!SPECIAL_PROPS.has(propName)) { + renderer2.patch(tag, value, propName, propValue, oldProps && oldProps[propName], scope); + } + } + } + if (copied) { + props = { ...ret.el.props }; + for (const name of copied) { + props[name] = oldProps && oldProps[name]; + } + ret.el = new Element(tag, props); + } + renderer2.arrange(tag, value, props, childValues, oldProps, wrap(ret.cachedChildValues)); + ret.cachedChildValues = unwrap(childValues); + if (tag === Portal) { + flush(renderer2, ret.value); + return; + } + return value; +} +function flush(renderer2, root, initiator) { + renderer2.flush(root); + if (typeof root !== "object" || root === null) { + return; + } + const flushMap = flushMaps.get(root); + if (flushMap) { + if (initiator) { + const flushMap1 = /* @__PURE__ */ new Map(); + for (let [ctx, callbacks] of flushMap) { + if (!ctxContains(initiator, ctx)) { + flushMap.delete(ctx); + flushMap1.set(ctx, callbacks); + } + } + if (flushMap1.size) { + flushMaps.set(root, flushMap1); + } else { + flushMaps.delete(root); + } + } else { + flushMaps.delete(root); + } + for (const [ctx, callbacks] of flushMap) { + const value = renderer2.read(getValue(ctx.ret)); + for (const callback of callbacks) { + callback(value); + } + } + } +} +function unmount(renderer2, host, ctx, ret) { + if (typeof ret.el.tag === "function") { + ctx = ret.ctx; + unmountComponent(ctx); + } else if (ret.el.tag === Portal) { + host = ret; + renderer2.arrange(Portal, host.value, host.el.props, [], host.el.props, wrap(host.cachedChildValues)); + flush(renderer2, host.value); + } else if (ret.el.tag !== Fragment) { + if (isEventTarget(ret.value)) { + const records = getListenerRecords(ctx, host); + for (let i = 0; i < records.length; i++) { + const record = records[i]; + ret.value.removeEventListener(record.type, record.callback, record.options); + } + } + renderer2.dispose(ret.el.tag, ret.value, ret.el.props); + host = ret; + } + const children = wrap(ret.children); + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (typeof child === "object") { + unmount(renderer2, host, ctx, child); + } + } +} +var IsUpdating = 1 << 0; +var IsSyncExecuting = 1 << 1; +var IsInForOfLoop = 1 << 2; +var IsInForAwaitOfLoop = 1 << 3; +var NeedsToYield = 1 << 4; +var PropsAvailable = 1 << 5; +var IsErrored = 1 << 6; +var IsUnmounted = 1 << 7; +var IsSyncGen = 1 << 8; +var IsAsyncGen = 1 << 9; +var IsScheduling = 1 << 10; +var IsSchedulingRefresh = 1 << 11; +var provisionMaps = /* @__PURE__ */ new WeakMap(); +var scheduleMap = /* @__PURE__ */ new WeakMap(); +var cleanupMap = /* @__PURE__ */ new WeakMap(); +var flushMaps = /* @__PURE__ */ new WeakMap(); +var ContextImpl = class { + constructor(renderer2, root, host, parent, scope, ret) { + this.f = 0; + this.owner = new Context(this); + this.renderer = renderer2; + this.root = root; + this.host = host; + this.parent = parent; + this.scope = scope; + this.ret = ret; + this.iterator = void 0; + this.inflightBlock = void 0; + this.inflightValue = void 0; + this.enqueuedBlock = void 0; + this.enqueuedValue = void 0; + this.onProps = void 0; + this.onPropsRequested = void 0; + } +}; +var _ContextImpl = Symbol.for("crank.ContextImpl"); +var Context = class { + // TODO: If we could make the constructor function take a nicer value, it + // would be useful for testing purposes. + constructor(impl2) { + this[_ContextImpl] = impl2; + } + /** + * The current props of the associated element. + */ + get props() { + return this[_ContextImpl].ret.el.props; + } + /** + * The current value of the associated element. + * + * @deprecated + */ + get value() { + return this[_ContextImpl].renderer.read(getValue(this[_ContextImpl].ret)); + } + *[Symbol.iterator]() { + const ctx = this[_ContextImpl]; + try { + ctx.f |= IsInForOfLoop; + while (!(ctx.f & IsUnmounted)) { + if (ctx.f & NeedsToYield) { + throw new Error("Context iterated twice without a yield"); + } else { + ctx.f |= NeedsToYield; + } + yield ctx.ret.el.props; + } + } finally { + ctx.f &= ~IsInForOfLoop; + } + } + async *[Symbol.asyncIterator]() { + const ctx = this[_ContextImpl]; + if (ctx.f & IsSyncGen) { + throw new Error("Use for...of in sync generator components"); + } + try { + ctx.f |= IsInForAwaitOfLoop; + while (!(ctx.f & IsUnmounted)) { + if (ctx.f & NeedsToYield) { + throw new Error("Context iterated twice without a yield"); + } else { + ctx.f |= NeedsToYield; + } + if (ctx.f & PropsAvailable) { + ctx.f &= ~PropsAvailable; + yield ctx.ret.el.props; + } else { + const props = await new Promise((resolve) => ctx.onProps = resolve); + if (ctx.f & IsUnmounted) { + break; + } + yield props; + } + if (ctx.onPropsRequested) { + ctx.onPropsRequested(); + ctx.onPropsRequested = void 0; + } + } + } finally { + ctx.f &= ~IsInForAwaitOfLoop; + if (ctx.onPropsRequested) { + ctx.onPropsRequested(); + ctx.onPropsRequested = void 0; + } + } + } + /** + * Re-executes a component. + * + * @returns The rendered value of the component or a promise thereof if the + * component or its children execute asynchronously. + * + * The refresh method works a little differently for async generator + * components, in that it will resume the Context’s props async iterator + * rather than resuming execution. This is because async generator components + * are perpetually resumed independent of updates, and rely on the props + * async iterator to suspend. + */ + refresh() { + const ctx = this[_ContextImpl]; + if (ctx.f & IsUnmounted) { + console.error("Component is unmounted"); + return ctx.renderer.read(void 0); + } else if (ctx.f & IsSyncExecuting) { + console.error("Component is already executing"); + return ctx.renderer.read(getValue(ctx.ret)); + } + const value = enqueueComponentRun(ctx); + if (isPromiseLike(value)) { + return value.then((value2) => ctx.renderer.read(value2)); + } + return ctx.renderer.read(value); + } + /** + * Registers a callback which fires when the component commits. Will only + * fire once per callback and update. + */ + schedule(callback) { + const ctx = this[_ContextImpl]; + let callbacks = scheduleMap.get(ctx); + if (!callbacks) { + callbacks = /* @__PURE__ */ new Set(); + scheduleMap.set(ctx, callbacks); + } + callbacks.add(callback); + } + /** + * Registers a callback which fires when the component’s children are + * rendered into the root. Will only fire once per callback and render. + */ + flush(callback) { + const ctx = this[_ContextImpl]; + if (typeof ctx.root !== "object" || ctx.root === null) { + return; + } + let flushMap = flushMaps.get(ctx.root); + if (!flushMap) { + flushMap = /* @__PURE__ */ new Map(); + flushMaps.set(ctx.root, flushMap); + } + let callbacks = flushMap.get(ctx); + if (!callbacks) { + callbacks = /* @__PURE__ */ new Set(); + flushMap.set(ctx, callbacks); + } + callbacks.add(callback); + } + /** + * Registers a callback which fires when the component unmounts. Will only + * fire once per callback. + */ + cleanup(callback) { + const ctx = this[_ContextImpl]; + if (ctx.f & IsUnmounted) { + const value = ctx.renderer.read(getValue(ctx.ret)); + callback(value); + return; + } + let callbacks = cleanupMap.get(ctx); + if (!callbacks) { + callbacks = /* @__PURE__ */ new Set(); + cleanupMap.set(ctx, callbacks); + } + callbacks.add(callback); + } + consume(key) { + for (let ctx = this[_ContextImpl].parent; ctx !== void 0; ctx = ctx.parent) { + const provisions = provisionMaps.get(ctx); + if (provisions && provisions.has(key)) { + return provisions.get(key); + } + } + } + provide(key, value) { + const ctx = this[_ContextImpl]; + let provisions = provisionMaps.get(ctx); + if (!provisions) { + provisions = /* @__PURE__ */ new Map(); + provisionMaps.set(ctx, provisions); + } + provisions.set(key, value); + } + addEventListener(type, listener, options) { + const ctx = this[_ContextImpl]; + let listeners; + if (!isListenerOrListenerObject(listener)) { + return; + } else { + const listeners1 = listenersMap.get(ctx); + if (listeners1) { + listeners = listeners1; + } else { + listeners = []; + listenersMap.set(ctx, listeners); + } + } + options = normalizeListenerOptions(options); + let callback; + if (typeof listener === "object") { + callback = () => listener.handleEvent.apply(listener, arguments); + } else { + callback = listener; + } + const record = { type, listener, callback, options }; + if (options.once) { + record.callback = function() { + const i = listeners.indexOf(record); + if (i !== -1) { + listeners.splice(i, 1); + } + return callback.apply(this, arguments); + }; + } + if (listeners.some((record1) => record.type === record1.type && record.listener === record1.listener && !record.options.capture === !record1.options.capture)) { + return; + } + listeners.push(record); + for (const value of getChildValues(ctx.ret)) { + if (isEventTarget(value)) { + value.addEventListener(record.type, record.callback, record.options); + } + } + } + removeEventListener(type, listener, options) { + const ctx = this[_ContextImpl]; + const listeners = listenersMap.get(ctx); + if (listeners == null || !isListenerOrListenerObject(listener)) { + return; + } + const options1 = normalizeListenerOptions(options); + const i = listeners.findIndex((record2) => record2.type === type && record2.listener === listener && !record2.options.capture === !options1.capture); + if (i === -1) { + return; + } + const record = listeners[i]; + listeners.splice(i, 1); + for (const value of getChildValues(ctx.ret)) { + if (isEventTarget(value)) { + value.removeEventListener(record.type, record.callback, record.options); + } + } + } + dispatchEvent(ev) { + const ctx = this[_ContextImpl]; + const path = []; + for (let parent = ctx.parent; parent !== void 0; parent = parent.parent) { + path.push(parent); + } + let immediateCancelBubble = false; + const stopImmediatePropagation = ev.stopImmediatePropagation; + setEventProperty(ev, "stopImmediatePropagation", () => { + immediateCancelBubble = true; + return stopImmediatePropagation.call(ev); + }); + setEventProperty(ev, "target", ctx.owner); + try { + setEventProperty(ev, "eventPhase", CAPTURING_PHASE); + for (let i = path.length - 1; i >= 0; i--) { + const target = path[i]; + const listeners = listenersMap.get(target); + if (listeners) { + setEventProperty(ev, "currentTarget", target.owner); + for (const record of listeners) { + if (record.type === ev.type && record.options.capture) { + try { + record.callback.call(target.owner, ev); + } catch (err) { + console.error(err); + } + if (immediateCancelBubble) { + return true; + } + } + } + } + if (ev.cancelBubble) { + return true; + } + } + { + setEventProperty(ev, "eventPhase", AT_TARGET); + setEventProperty(ev, "currentTarget", ctx.owner); + let propCallback = ctx.ret.el.props["on" + ev.type]; + if (typeof propCallback === "function") { + propCallback(ev); + if (immediateCancelBubble || ev.cancelBubble) { + return true; + } + } else { + for (const propName in ctx.ret.el.props) { + if (propName.toLowerCase() === "on" + ev.type.toLowerCase()) { + propCallback = ctx.ret.el.props[propName]; + if (typeof propCallback === "function") { + propCallback(ev); + if (immediateCancelBubble || ev.cancelBubble) { + return true; + } + } + } + } + } + const listeners = listenersMap.get(ctx); + if (listeners) { + for (const record of listeners) { + if (record.type === ev.type) { + try { + record.callback.call(ctx.owner, ev); + } catch (err) { + console.error(err); + } + if (immediateCancelBubble) { + return true; + } + } + } + if (ev.cancelBubble) { + return true; + } + } + } + if (ev.bubbles) { + setEventProperty(ev, "eventPhase", BUBBLING_PHASE); + for (let i = 0; i < path.length; i++) { + const target = path[i]; + const listeners = listenersMap.get(target); + if (listeners) { + setEventProperty(ev, "currentTarget", target.owner); + for (const record of listeners) { + if (record.type === ev.type && !record.options.capture) { + try { + record.callback.call(target.owner, ev); + } catch (err) { + console.error(err); + } + if (immediateCancelBubble) { + return true; + } + } + } + } + if (ev.cancelBubble) { + return true; + } + } + } + } finally { + setEventProperty(ev, "eventPhase", NONE); + setEventProperty(ev, "currentTarget", null); + return !ev.defaultPrevented; + } + } +}; +function ctxContains(parent, child) { + for (let current = child; current !== void 0; current = current.parent) { + if (current === parent) { + return true; + } + } + return false; +} +function updateComponent(renderer2, root, host, parent, scope, ret, oldProps, hydrationData) { + let ctx; + if (oldProps) { + ctx = ret.ctx; + if (ctx.f & IsSyncExecuting) { + console.error("Component is already executing"); + return ret.cachedChildValues; + } + } else { + ctx = ret.ctx = new ContextImpl(renderer2, root, host, parent, scope, ret); + } + ctx.f |= IsUpdating; + return enqueueComponentRun(ctx, hydrationData); +} +function updateComponentChildren(ctx, children, hydrationData) { + if (ctx.f & IsUnmounted) { + return; + } else if (ctx.f & IsErrored) { + return; + } else if (children === void 0) { + console.error("A component has returned or yielded undefined. If this was intentional, return or yield null instead."); + } + let childValues; + try { + ctx.f |= IsSyncExecuting; + childValues = diffChildren(ctx.renderer, ctx.root, ctx.host, ctx, ctx.scope, ctx.ret, narrow(children), hydrationData); + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isPromiseLike(childValues)) { + ctx.ret.inflightValue = childValues.then((childValues2) => commitComponent(ctx, childValues2)); + return ctx.ret.inflightValue; + } + return commitComponent(ctx, childValues); +} +function commitComponent(ctx, values) { + if (ctx.f & IsUnmounted) { + return; + } + const listeners = listenersMap.get(ctx); + if (listeners && listeners.length) { + for (let i = 0; i < values.length; i++) { + const value2 = values[i]; + if (isEventTarget(value2)) { + for (let j = 0; j < listeners.length; j++) { + const record = listeners[j]; + value2.addEventListener(record.type, record.callback, record.options); + } + } + } + } + const oldValues = wrap(ctx.ret.cachedChildValues); + let value = ctx.ret.cachedChildValues = unwrap(values); + if (ctx.f & IsScheduling) { + ctx.f |= IsSchedulingRefresh; + } else if (!(ctx.f & IsUpdating)) { + if (!arrayEqual(oldValues, values)) { + const records = getListenerRecords(ctx.parent, ctx.host); + if (records.length) { + for (let i = 0; i < values.length; i++) { + const value2 = values[i]; + if (isEventTarget(value2)) { + for (let j = 0; j < records.length; j++) { + const record = records[j]; + value2.addEventListener(record.type, record.callback, record.options); + } + } + } + } + const host = ctx.host; + const oldHostValues = wrap(host.cachedChildValues); + invalidate(ctx, host); + const hostValues = getChildValues(host); + ctx.renderer.arrange( + host.el.tag, + host.value, + host.el.props, + hostValues, + // props and oldProps are the same because the host isn’t updated. + host.el.props, + oldHostValues + ); + } + flush(ctx.renderer, ctx.root, ctx); + } + const callbacks = scheduleMap.get(ctx); + if (callbacks) { + scheduleMap.delete(ctx); + ctx.f |= IsScheduling; + const value1 = ctx.renderer.read(value); + for (const callback of callbacks) { + callback(value1); + } + ctx.f &= ~IsScheduling; + if (ctx.f & IsSchedulingRefresh) { + ctx.f &= ~IsSchedulingRefresh; + value = getValue(ctx.ret); + } + } + ctx.f &= ~IsUpdating; + return value; +} +function invalidate(ctx, host) { + for (let parent = ctx.parent; parent !== void 0 && parent.host === host; parent = parent.parent) { + parent.ret.cachedChildValues = void 0; + } + host.cachedChildValues = void 0; +} +function arrayEqual(arr1, arr2) { + if (arr1.length !== arr2.length) { + return false; + } + for (let i = 0; i < arr1.length; i++) { + const value1 = arr1[i]; + const value2 = arr2[i]; + if (value1 !== value2) { + return false; + } + } + return true; +} +function enqueueComponentRun(ctx, hydrationData) { + if (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) { + if (hydrationData !== void 0) { + throw new Error("Hydration error"); + } + const isAtLoopbottom = ctx.f & IsInForAwaitOfLoop && !ctx.onProps; + resumePropsAsyncIterator(ctx); + if (isAtLoopbottom) { + if (ctx.inflightBlock == null) { + ctx.inflightBlock = new Promise((resolve) => ctx.onPropsRequested = resolve); + } + return ctx.inflightBlock.then(() => { + ctx.inflightBlock = void 0; + return ctx.inflightValue; + }); + } + return ctx.inflightValue; + } else if (!ctx.inflightBlock) { + try { + const [block, value] = runComponent(ctx, hydrationData); + if (block) { + ctx.inflightBlock = block.then((v) => v).finally(() => advanceComponent(ctx)); + ctx.inflightValue = value; + } + return value; + } catch (err) { + if (!(ctx.f & IsUpdating)) { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + } + throw err; + } + } else if (!ctx.enqueuedBlock) { + if (hydrationData !== void 0) { + throw new Error("Hydration error"); + } + let resolveEnqueuedBlock; + ctx.enqueuedBlock = new Promise((resolve) => resolveEnqueuedBlock = resolve); + ctx.enqueuedValue = ctx.inflightBlock.then(() => { + try { + const [block, value] = runComponent(ctx); + if (block) { + resolveEnqueuedBlock(block.finally(() => advanceComponent(ctx))); + } + return value; + } catch (err) { + if (!(ctx.f & IsUpdating)) { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + } + throw err; + } + }); + } + return ctx.enqueuedValue; +} +function advanceComponent(ctx) { + if (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) { + return; + } + ctx.inflightBlock = ctx.enqueuedBlock; + ctx.inflightValue = ctx.enqueuedValue; + ctx.enqueuedBlock = void 0; + ctx.enqueuedValue = void 0; +} +function runComponent(ctx, hydrationData) { + const ret = ctx.ret; + const initial = !ctx.iterator; + if (initial) { + resumePropsAsyncIterator(ctx); + ctx.f |= IsSyncExecuting; + clearEventListeners(ctx); + let result; + try { + result = ret.el.tag.call(ctx.owner, ret.el.props, ctx.owner); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isIteratorLike(result)) { + ctx.iterator = result; + } else if (isPromiseLike(result)) { + const result1 = result instanceof Promise ? result : Promise.resolve(result); + const value = result1.then((result2) => updateComponentChildren(ctx, result2, hydrationData), (err) => { + ctx.f |= IsErrored; + throw err; + }); + return [result1.catch(NOOP), value]; + } else { + return [ + void 0, + updateComponentChildren(ctx, result, hydrationData) + ]; + } + } else if (hydrationData !== void 0) { + throw new Error("Hydration error"); + } + let iteration; + if (initial) { + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.next(); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isPromiseLike(iteration)) { + ctx.f |= IsAsyncGen; + } else { + ctx.f |= IsSyncGen; + } + } + if (ctx.f & IsSyncGen) { + if (!initial) { + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.next(ctx.renderer.read(getValue(ret))); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + } + if (isPromiseLike(iteration)) { + throw new Error("Mixed generator component"); + } + if (ctx.f & IsInForOfLoop && !(ctx.f & NeedsToYield) && !(ctx.f & IsUnmounted)) { + console.error("Component yielded more than once in for...of loop"); + } + ctx.f &= ~NeedsToYield; + if (iteration.done) { + ctx.f &= ~IsSyncGen; + ctx.iterator = void 0; + } + let value; + try { + value = updateComponentChildren( + ctx, + // Children can be void so we eliminate that here + iteration.value, + hydrationData + ); + if (isPromiseLike(value)) { + value = value.catch((err) => handleChildError(ctx, err)); + } + } catch (err) { + value = handleChildError(ctx, err); + } + const block = isPromiseLike(value) ? value.catch(NOOP) : void 0; + return [block, value]; + } else { + if (ctx.f & IsInForOfLoop) { + if (!initial) { + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.next(ctx.renderer.read(getValue(ret))); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + } + if (!isPromiseLike(iteration)) { + throw new Error("Mixed generator component"); + } + const block = iteration.catch(NOOP); + const value = iteration.then((iteration2) => { + let value2; + if (!(ctx.f & IsInForOfLoop)) { + runAsyncGenComponent(ctx, Promise.resolve(iteration2), hydrationData); + } else { + if (!(ctx.f & NeedsToYield) && !(ctx.f & IsUnmounted)) { + console.error("Component yielded more than once in for...of loop"); + } + } + ctx.f &= ~NeedsToYield; + try { + value2 = updateComponentChildren( + ctx, + // Children can be void so we eliminate that here + iteration2.value, + hydrationData + ); + if (isPromiseLike(value2)) { + value2 = value2.catch((err) => handleChildError(ctx, err)); + } + } catch (err) { + value2 = handleChildError(ctx, err); + } + return value2; + }, (err) => { + ctx.f |= IsErrored; + throw err; + }); + return [block, value]; + } else { + runAsyncGenComponent(ctx, iteration, hydrationData, initial); + return [ctx.inflightBlock, ctx.inflightValue]; + } + } +} +async function runAsyncGenComponent(ctx, iterationP, hydrationData, initial = false) { + let done = false; + try { + while (!done) { + if (ctx.f & IsInForOfLoop) { + break; + } + let onValue; + ctx.inflightValue = new Promise((resolve) => onValue = resolve); + if (ctx.f & IsUpdating) { + ctx.inflightValue.catch(NOOP); + } + let iteration; + try { + iteration = await iterationP; + } catch (err) { + done = true; + ctx.f |= IsErrored; + onValue(Promise.reject(err)); + break; + } + if (!(ctx.f & IsInForAwaitOfLoop)) { + ctx.f &= ~PropsAvailable; + } + done = !!iteration.done; + let value; + try { + if (!(ctx.f & NeedsToYield) && ctx.f & PropsAvailable && ctx.f & IsInForAwaitOfLoop && !initial && !done) { + value = ctx.ret.inflightValue || getValue(ctx.ret); + } else { + value = updateComponentChildren(ctx, iteration.value, hydrationData); + hydrationData = void 0; + if (isPromiseLike(value)) { + value = value.catch((err) => handleChildError(ctx, err)); + } + } + ctx.f &= ~NeedsToYield; + } catch (err) { + value = handleChildError(ctx, err); + } finally { + onValue(value); + } + let oldResult; + if (ctx.ret.inflightValue) { + oldResult = ctx.ret.inflightValue.then((value2) => ctx.renderer.read(value2)); + oldResult.catch((err) => { + if (ctx.f & IsUpdating) { + return; + } + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } else { + oldResult = ctx.renderer.read(getValue(ctx.ret)); + } + if (ctx.f & IsUnmounted) { + if (ctx.f & IsInForAwaitOfLoop) { + try { + ctx.f |= IsSyncExecuting; + iterationP = ctx.iterator.next(oldResult); + } finally { + ctx.f &= ~IsSyncExecuting; + } + } else { + returnComponent(ctx); + break; + } + } else if (!done && !(ctx.f & IsInForOfLoop)) { + try { + ctx.f |= IsSyncExecuting; + iterationP = ctx.iterator.next(oldResult); + } finally { + ctx.f &= ~IsSyncExecuting; + } + } + initial = false; + } + } finally { + if (done) { + ctx.f &= ~IsAsyncGen; + ctx.iterator = void 0; + } + } +} +function resumePropsAsyncIterator(ctx) { + if (ctx.onProps) { + ctx.onProps(ctx.ret.el.props); + ctx.onProps = void 0; + ctx.f &= ~PropsAvailable; + } else { + ctx.f |= PropsAvailable; + } +} +function unmountComponent(ctx) { + if (ctx.f & IsUnmounted) { + return; + } + clearEventListeners(ctx); + const callbacks = cleanupMap.get(ctx); + if (callbacks) { + cleanupMap.delete(ctx); + const value = ctx.renderer.read(getValue(ctx.ret)); + for (const callback of callbacks) { + callback(value); + } + } + ctx.f |= IsUnmounted; + if (ctx.iterator) { + if (ctx.f & IsSyncGen) { + let value; + if (ctx.f & IsInForOfLoop) { + value = enqueueComponentRun(ctx); + } + if (isPromiseLike(value)) { + value.then(() => { + if (ctx.f & IsInForOfLoop) { + unmountComponent(ctx); + } else { + returnComponent(ctx); + } + }, (err) => { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } else { + if (ctx.f & IsInForOfLoop) { + unmountComponent(ctx); + } else { + returnComponent(ctx); + } + } + } else if (ctx.f & IsAsyncGen) { + if (ctx.f & IsInForOfLoop) { + const value = enqueueComponentRun(ctx); + value.then(() => { + if (ctx.f & IsInForOfLoop) { + unmountComponent(ctx); + } else { + returnComponent(ctx); + } + }, (err) => { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } else { + resumePropsAsyncIterator(ctx); + } + } + } +} +function returnComponent(ctx) { + resumePropsAsyncIterator(ctx); + if (ctx.iterator && typeof ctx.iterator.return === "function") { + try { + ctx.f |= IsSyncExecuting; + const iteration = ctx.iterator.return(); + if (isPromiseLike(iteration)) { + iteration.catch((err) => { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } + } finally { + ctx.f &= ~IsSyncExecuting; + } + } +} +var NONE = 0; +var CAPTURING_PHASE = 1; +var AT_TARGET = 2; +var BUBBLING_PHASE = 3; +var listenersMap = /* @__PURE__ */ new WeakMap(); +function isListenerOrListenerObject(value) { + return typeof value === "function" || value !== null && typeof value === "object" && typeof value.handleEvent === "function"; +} +function normalizeListenerOptions(options) { + if (typeof options === "boolean") { + return { capture: options }; + } else if (options == null) { + return {}; + } + return options; +} +function isEventTarget(value) { + return value != null && typeof value.addEventListener === "function" && typeof value.removeEventListener === "function" && typeof value.dispatchEvent === "function"; +} +function setEventProperty(ev, key, value) { + Object.defineProperty(ev, key, { value, writable: false, configurable: true }); +} +function getListenerRecords(ctx, ret) { + let listeners = []; + while (ctx !== void 0 && ctx.host === ret) { + const listeners1 = listenersMap.get(ctx); + if (listeners1) { + listeners = listeners.concat(listeners1); + } + ctx = ctx.parent; + } + return listeners; +} +function clearEventListeners(ctx) { + const listeners = listenersMap.get(ctx); + if (listeners && listeners.length) { + for (const value of getChildValues(ctx.ret)) { + if (isEventTarget(value)) { + for (const record of listeners) { + value.removeEventListener(record.type, record.callback, record.options); + } + } + } + listeners.length = 0; + } +} +function handleChildError(ctx, err) { + if (!ctx.iterator || typeof ctx.iterator.throw !== "function") { + throw err; + } + resumePropsAsyncIterator(ctx); + let iteration; + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.throw(err); + } catch (err2) { + ctx.f |= IsErrored; + throw err2; + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isPromiseLike(iteration)) { + return iteration.then((iteration2) => { + if (iteration2.done) { + ctx.f &= ~IsAsyncGen; + ctx.iterator = void 0; + } + return updateComponentChildren(ctx, iteration2.value); + }, (err2) => { + ctx.f |= IsErrored; + throw err2; + }); + } + if (iteration.done) { + ctx.f &= ~IsSyncGen; + ctx.f &= ~IsAsyncGen; + ctx.iterator = void 0; + } + return updateComponentChildren(ctx, iteration.value); +} +function propagateError(ctx, err) { + let result; + try { + result = handleChildError(ctx, err); + } catch (err2) { + if (!ctx.parent) { + throw err2; + } + return propagateError(ctx.parent, err2); + } + if (isPromiseLike(result)) { + return result.catch((err2) => { + if (!ctx.parent) { + throw err2; + } + return propagateError(ctx.parent, err2); + }); + } + return result; +} + +// node_modules/@b9g/crank/html.js +var voidTags = /* @__PURE__ */ new Set([ + "area", + "base", + "br", + "col", + "command", + "embed", + "hr", + "img", + "input", + "keygen", + "link", + "meta", + "param", + "source", + "track", + "wbr" +]); +function escape(text) { + return text.replace(/[&<>"']/g, (match) => { + switch (match) { + case "&": + return "&"; + case "<": + return "<"; + case ">": + return ">"; + case '"': + return """; + case "'": + return "'"; + default: + return ""; + } + }); +} +function printStyleObject(style) { + const cssStrings = []; + for (const [name, value] of Object.entries(style)) { + if (value != null) { + cssStrings.push(`${name}:${value};`); + } + } + return cssStrings.join(""); +} +function printAttrs(props) { + const attrs = []; + for (const [name, value] of Object.entries(props)) { + switch (true) { + case name === "children": + case name === "innerHTML": + case name === "key": + case name === "ref": + case name === "static": + case name === "crank-key": + case name === "crank-ref": + case name === "crank-static": + case name === "c-key": + case name === "c-ref": + case name === "c-static": + case name === "$key": + case name === "$ref": + case name === "$static": + break; + case name === "style": { + if (typeof value === "string") { + attrs.push(`style="${escape(value)}"`); + } else if (typeof value === "object") { + attrs.push(`style="${escape(printStyleObject(value))}"`); + } + break; + } + case name === "className": { + if ("class" in props || typeof value !== "string") { + continue; + } + attrs.push(`class="${escape(value)}"`); + break; + } + case typeof value === "string": + attrs.push(`${escape(name)}="${escape(value)}"`); + break; + case typeof value === "number": + attrs.push(`${escape(name)}="${value}"`); + break; + case value === true: + attrs.push(`${escape(name)}`); + break; + } + } + return attrs.join(" "); +} +function join(children) { + let result = ""; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + result += typeof child === "string" ? child : child.value; + } + return result; +} +var impl = { + create() { + return { value: "" }; + }, + text(text) { + return escape(text); + }, + read(value) { + if (Array.isArray(value)) { + return join(value); + } else if (typeof value === "undefined") { + return ""; + } else if (typeof value === "string") { + return value; + } else { + return value.value; + } + }, + arrange(tag, node, props, children) { + if (tag === Portal) { + return; + } else if (typeof tag !== "string") { + throw new Error(`Unknown tag: ${tag.toString()}`); + } + const attrs = printAttrs(props); + const open = `<${tag}${attrs.length ? " " : ""}${attrs}>`; + let result; + if (voidTags.has(tag)) { + result = open; + } else { + const close = ``; + const contents = "innerHTML" in props ? props["innerHTML"] : join(children); + result = `${open}${contents}${close}`; + } + node.value = result; + } +}; +var HTMLRenderer = class extends Renderer { + constructor() { + super(impl); + } +}; +var renderer = new HTMLRenderer(); +export { + HTMLRenderer, + impl, + renderer +}; +/*! Bundled license information: + +@esbuild-plugins/node-globals-polyfill/Buffer.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) +*/ +//# sourceMappingURL=html-BAPPTV5D.js.map diff --git a/static/html-BAPPTV5D.js.map b/static/html-BAPPTV5D.js.map new file mode 100644 index 00000000..71467518 --- /dev/null +++ b/static/html-BAPPTV5D.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/@esbuild-plugins/node-globals-polyfill/process.js", "../node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js", "../node_modules/@b9g/src/crank.ts", "../node_modules/@b9g/src/html.ts"], + "sourcesContent": ["// shim for using process in browser\n// based off https://github.com/defunctzombie/node-process/blob/master/browser.js\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined')\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined')\n}\nvar cachedSetTimeout = defaultSetTimout\nvar cachedClearTimeout = defaultClearTimeout\nif (typeof global.setTimeout === 'function') {\n cachedSetTimeout = setTimeout\n}\nif (typeof global.clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout\n}\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0)\n }\n // if setTimeout wasn't available but was latter defined\n if (\n (cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) &&\n setTimeout\n ) {\n cachedSetTimeout = setTimeout\n return setTimeout(fun, 0)\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0)\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0)\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0)\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker)\n }\n // if clearTimeout wasn't available but was latter defined\n if (\n (cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) &&\n clearTimeout\n ) {\n cachedClearTimeout = clearTimeout\n return clearTimeout(marker)\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker)\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker)\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker)\n }\n }\n}\nvar queue = []\nvar draining = false\nvar currentQueue\nvar queueIndex = -1\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return\n }\n draining = false\n if (currentQueue.length) {\n queue = currentQueue.concat(queue)\n } else {\n queueIndex = -1\n }\n if (queue.length) {\n drainQueue()\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return\n }\n var timeout = runTimeout(cleanUpNextTick)\n draining = true\n\n var len = queue.length\n while (len) {\n currentQueue = queue\n queue = []\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run()\n }\n }\n queueIndex = -1\n len = queue.length\n }\n currentQueue = null\n draining = false\n runClearTimeout(timeout)\n}\nfunction nextTick(fun) {\n var args = new Array(arguments.length - 1)\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i]\n }\n }\n queue.push(new Item(fun, args))\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue)\n }\n}\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun\n this.array = array\n}\nItem.prototype.run = function() {\n this.fun.apply(null, this.array)\n}\nvar title = 'browser'\nvar platform = 'browser'\nvar browser = true\nvar env = {}\nvar argv = []\nvar version = '' // empty string to avoid regexp issues\nvar versions = {}\nvar release = {}\nvar config = {}\n\nfunction noop() {}\n\nvar on = noop\nvar addListener = noop\nvar once = noop\nvar off = noop\nvar removeListener = noop\nvar removeAllListeners = noop\nvar emit = noop\n\nfunction binding(name) {\n throw new Error('process.binding is not supported')\n}\n\nfunction cwd() {\n return '/'\n}\nfunction chdir(dir) {\n throw new Error('process.chdir is not supported')\n}\nfunction umask() {\n return 0\n}\n\n// from https://github.com/kumavis/browser-process-hrtime/blob/master/index.js\nvar performance = global.performance || {}\nvar performanceNow =\n performance.now ||\n performance.mozNow ||\n performance.msNow ||\n performance.oNow ||\n performance.webkitNow ||\n function() {\n return new Date().getTime()\n }\n\n// generate timestamp or delta\n// see http://nodejs.org/api/process.html#process_process_hrtime\nfunction hrtime(previousTimestamp) {\n var clocktime = performanceNow.call(performance) * 1e-3\n var seconds = Math.floor(clocktime)\n var nanoseconds = Math.floor((clocktime % 1) * 1e9)\n if (previousTimestamp) {\n seconds = seconds - previousTimestamp[0]\n nanoseconds = nanoseconds - previousTimestamp[1]\n if (nanoseconds < 0) {\n seconds--\n nanoseconds += 1e9\n }\n }\n return [seconds, nanoseconds]\n}\n\nvar startTime = new Date()\nfunction uptime() {\n var currentTime = new Date()\n var dif = currentTime - startTime\n return dif / 1000\n}\n\nexport var process = {\n nextTick: nextTick,\n title: title,\n browser: browser,\n env: env,\n argv: argv,\n version: version,\n versions: versions,\n on: on,\n addListener: addListener,\n once: once,\n off: off,\n removeListener: removeListener,\n removeAllListeners: removeAllListeners,\n emit: emit,\n binding: binding,\n cwd: cwd,\n chdir: chdir,\n umask: umask,\n hrtime: hrtime,\n platform: platform,\n release: release,\n config: config,\n uptime: uptime,\n}\n\n// replace process.env.VAR with define\n\nconst defines = {}\nObject.keys(defines).forEach((key) => {\n const segs = key.split('.')\n let target = process\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n if (i === segs.length - 1) {\n target[seg] = defines[key]\n } else {\n target = target[seg] || (target[seg] = {})\n }\n }\n})\n", "// taken from https://github.com/calvinmetcalf/buffer-es6\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\nvar inited = false\nfunction init() {\n inited = true\n var code =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n for (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n }\n\n revLookup['-'.charCodeAt(0)] = 62\n revLookup['_'.charCodeAt(0)] = 63\n}\n\nfunction base64toByteArray(b64) {\n if (!inited) {\n init()\n }\n var i, j, l, tmp, placeHolders, arr\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n placeHolders = b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n\n // base64 is 4/3 + up to two characters of the original data\n arr = new Arr((len * 3) / 4 - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0, j = 0; i < l; i += 4, j += 3) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xff\n arr[L++] = (tmp >> 8) & 0xff\n arr[L++] = tmp & 0xff\n }\n\n if (placeHolders === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xff\n } else if (placeHolders === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xff\n arr[L++] = tmp & 0xff\n }\n\n return arr\n}\n\nfunction tripletToBase64(num) {\n return (\n lookup[(num >> 18) & 0x3f] +\n lookup[(num >> 12) & 0x3f] +\n lookup[(num >> 6) & 0x3f] +\n lookup[num & 0x3f]\n )\n}\n\nfunction encodeChunk(uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2]\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction base64fromByteArray(uint8) {\n if (!inited) {\n init()\n }\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(\n encodeChunk(\n uint8,\n i,\n i + maxChunkLength > len2 ? len2 : i + maxChunkLength,\n ),\n )\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3f]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3f]\n output += lookup[(tmp << 2) & 0x3f]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\nvar INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT =\n global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : true\n\nfunction kMaxLength() {\n return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff\n}\n\nfunction createBuffer(that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nexport function Buffer(arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string',\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function(arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from(that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function(value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nBuffer.kMaxLength = kMaxLength()\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (\n typeof Symbol !== 'undefined' &&\n Symbol.species &&\n Buffer[Symbol.species] === Buffer\n ) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n // Object.defineProperty(Buffer, Symbol.species, {\n // value: null,\n // configurable: true\n // })\n }\n}\n\nfunction assertSize(size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc(that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function(size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe(that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function(size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function(size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString(that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike(that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer(that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\"'offset' is out of bounds\")\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\"'length' is out of bounds\")\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject(that, obj) {\n if (internalIsBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if (\n (typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) ||\n 'length' in obj\n ) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError(\n 'First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.',\n )\n}\n\nfunction checked(length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError(\n 'Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' +\n kMaxLength().toString(16) +\n ' bytes',\n )\n }\n return length | 0\n}\n\nexport function SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\nBuffer.isBuffer = isBuffer\nfunction internalIsBuffer(b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare(a, b) {\n if (!internalIsBuffer(a) || !internalIsBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!internalIsBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength(string, encoding) {\n if (internalIsBuffer(string)) {\n return string.length\n }\n if (\n typeof ArrayBuffer !== 'undefined' &&\n typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)\n ) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString(encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase)\n throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap(b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16() {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32() {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64() {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString() {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals(b) {\n if (!internalIsBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\n\nBuffer.prototype.compare = function compare(\n target,\n start,\n end,\n thisStart,\n thisEnd,\n) {\n if (!internalIsBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (\n start < 0 ||\n end > target.length ||\n thisStart < 0 ||\n thisEnd > this.length\n ) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (internalIsBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xff // Search for a byte value [0-255]\n if (\n Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function'\n ) {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(\n buffer,\n val,\n byteOffset,\n )\n } else {\n return Uint8Array.prototype.lastIndexOf.call(\n buffer,\n val,\n byteOffset,\n )\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (\n encoding === 'ucs2' ||\n encoding === 'ucs-2' ||\n encoding === 'utf16le' ||\n encoding === 'utf-16le'\n ) {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (\n read(arr, i) ===\n read(val, foundIndex === -1 ? 0 : i - foundIndex)\n ) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength)\n return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength)\n byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write(buf, string, offset, length) {\n return blitBuffer(\n utf8ToBytes(string, buf.length - offset),\n buf,\n offset,\n length,\n )\n}\n\nfunction asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write(buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write(buf, string, offset, length) {\n return blitBuffer(\n utf16leToBytes(string, buf.length - offset),\n buf,\n offset,\n length,\n )\n}\n\nBuffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported',\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if (\n (string.length > 0 && (length < 0 || offset < 0)) ||\n offset > this.length\n ) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase)\n throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON() {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0),\n }\n}\n\nfunction base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64fromByteArray(buf)\n } else {\n return base64fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence =\n firstByte > 0xef\n ? 4\n : firstByte > 0xdf\n ? 3\n : firstByte > 0xbf\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xc0) === 0x80) {\n tempCodePoint =\n ((firstByte & 0x1f) << 0x6) | (secondByte & 0x3f)\n if (tempCodePoint > 0x7f) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if (\n (secondByte & 0xc0) === 0x80 &&\n (thirdByte & 0xc0) === 0x80\n ) {\n tempCodePoint =\n ((firstByte & 0xf) << 0xc) |\n ((secondByte & 0x3f) << 0x6) |\n (thirdByte & 0x3f)\n if (\n tempCodePoint > 0x7ff &&\n (tempCodePoint < 0xd800 || tempCodePoint > 0xdfff)\n ) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if (\n (secondByte & 0xc0) === 0x80 &&\n (thirdByte & 0xc0) === 0x80 &&\n (fourthByte & 0xc0) === 0x80\n ) {\n tempCodePoint =\n ((firstByte & 0xf) << 0x12) |\n ((secondByte & 0x3f) << 0xc) |\n ((thirdByte & 0x3f) << 0x6) |\n (fourthByte & 0x3f)\n if (\n tempCodePoint > 0xffff &&\n tempCodePoint < 0x110000\n ) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xfffd\n bytesPerSequence = 1\n } else if (codePoint > 0xffff) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(((codePoint >>> 10) & 0x3ff) | 0xd800)\n codePoint = 0xdc00 | (codePoint & 0x3ff)\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray(codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, (i += MAX_ARGUMENTS_LENGTH)),\n )\n }\n return res\n}\n\nfunction asciiSlice(buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7f)\n }\n return ret\n}\n\nfunction latin1Slice(buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice(buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice(buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice(start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0)\n throw new RangeError('offset is not uint')\n if (offset + ext > length)\n throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE(\n offset,\n byteLength,\n noAssert,\n) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE(\n offset,\n byteLength,\n noAssert,\n) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n (this[offset] | (this[offset + 1] << 8) | (this[offset + 2] << 16)) +\n this[offset + 3] * 0x1000000\n )\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n this[offset] * 0x1000000 +\n ((this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3])\n )\n}\n\nBuffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return this[offset]\n return (0xff - this[offset] + 1) * -1\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return val & 0x8000 ? val | 0xffff0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return val & 0x8000 ? val | 0xffff0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n this[offset] |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n )\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3]\n )\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754read(this, offset, false, 52, 8)\n}\n\nfunction checkInt(buf, value, offset, ext, max, min) {\n if (!internalIsBuffer(buf))\n throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min)\n throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xff\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xff\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = value & 0xff\n return offset + 1\n}\n\nfunction objectWriteUInt16(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] =\n (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n ((littleEndian ? i : 1 - i) * 8)\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8\n this[offset + 1] = value & 0xff\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> ((littleEndian ? i : 3 - i) * 8)) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = value >>> 24\n this[offset + 2] = value >>> 16\n this[offset + 1] = value >>> 8\n this[offset] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24\n this[offset + 1] = value >>> 16\n this[offset + 2] = value >>> 8\n this[offset + 3] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xff\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xff\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = value & 0xff\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8\n this[offset + 1] = value & 0xff\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n this[offset + 2] = value >>> 16\n this[offset + 3] = value >>> 24\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24\n this[offset + 1] = value >>> 16\n this[offset + 2] = value >>> 8\n this[offset + 3] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(\n buf,\n value,\n offset,\n 4,\n 3.4028234663852886e38,\n -3.4028234663852886e38,\n )\n }\n ieee754write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(\n buf,\n value,\n offset,\n 8,\n 1.7976931348623157e308,\n -1.7976931348623157e308,\n )\n }\n ieee754write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE(\n value,\n offset,\n noAssert,\n) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE(\n value,\n offset,\n noAssert,\n) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length)\n throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart,\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = internalIsBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean(str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim(str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex(n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes(string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xd7ff && codePoint < 0xe000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xdbff) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xdc00) {\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint =\n (((leadSurrogate - 0xd800) << 10) | (codePoint - 0xdc00)) +\n 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push((codePoint >> 0x6) | 0xc0, (codePoint & 0x3f) | 0x80)\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n (codePoint >> 0xc) | 0xe0,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80,\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n (codePoint >> 0x12) | 0xf0,\n ((codePoint >> 0xc) & 0x3f) | 0x80,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80,\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes(str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xff)\n }\n return byteArray\n}\n\nfunction utf16leToBytes(str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes(str) {\n return base64toByteArray(base64clean(str))\n}\n\nfunction blitBuffer(src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan(val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n// the following is from is-buffer, also by Feross Aboukhadijeh and with same lisence\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nfunction isBuffer(obj) {\n return (\n obj != null &&\n (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj))\n )\n}\n\nfunction isFastBuffer(obj) {\n return (\n !!obj.constructor &&\n typeof obj.constructor.isBuffer === 'function' &&\n obj.constructor.isBuffer(obj)\n )\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer(obj) {\n return (\n typeof obj.readFloatLE === 'function' &&\n typeof obj.slice === 'function' &&\n isFastBuffer(obj.slice(0, 0))\n )\n}\n\nfunction ieee754read(buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? nBytes - 1 : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << -nBits) - 1)\n s >>= -nBits\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << -nBits) - 1)\n e >>= -nBits\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nfunction ieee754write(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0\n var i = isLE ? 0 : nBytes - 1\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (\n ;\n mLen >= 8;\n buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8\n ) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (\n ;\n eLen > 0;\n buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8\n ) {}\n\n buffer[offset + i - d] |= s * 128\n}\n", "const NOOP = () => {};\nconst IDENTITY = (value: T): T => value;\n\nfunction wrap(value: Array | T | undefined): Array {\n\treturn value === undefined ? [] : Array.isArray(value) ? value : [value];\n}\n\nfunction unwrap(arr: Array): Array | T | undefined {\n\treturn arr.length === 0 ? undefined : arr.length === 1 ? arr[0] : arr;\n}\n\ntype NonStringIterable = Iterable & object;\n\n/**\n * Ensures a value is an array.\n *\n * This function does the same thing as wrap() above except it handles nulls\n * and iterables, so it is appropriate for wrapping user-provided element\n * children.\n */\nfunction arrayify(\n\tvalue: NonStringIterable | T | null | undefined,\n): Array {\n\treturn value == null\n\t\t? []\n\t\t: Array.isArray(value)\n\t\t\t? value\n\t\t\t: typeof value === \"string\" ||\n\t\t\t\t typeof (value as any)[Symbol.iterator] !== \"function\"\n\t\t\t\t? [value]\n\t\t\t\t: // TODO: inference broke in TypeScript 3.9.\n\t\t\t\t\t[...(value as any)];\n}\n\nfunction isIteratorLike(\n\tvalue: any,\n): value is Iterator | AsyncIterator {\n\treturn value != null && typeof value.next === \"function\";\n}\n\nfunction isPromiseLike(value: any): value is PromiseLike {\n\treturn value != null && typeof value.then === \"function\";\n}\n\n/**\n * A type which represents all valid values for an element tag.\n */\nexport type Tag = string | symbol | Component;\n\n/**\n * A helper type to map the tag of an element to its expected props.\n *\n * @template TTag - The tag associated with the props. Can be a string, symbol\n * or a component function.\n */\nexport type TagProps = TTag extends string\n\t? JSX.IntrinsicElements[TTag]\n\t: TTag extends Component\n\t\t? TProps & JSX.IntrinsicAttributes\n\t\t: Record & JSX.IntrinsicAttributes;\n\n/***\n * SPECIAL TAGS\n *\n * Crank provides a couple tags which have special meaning for the renderer.\n ***/\n\n/**\n * A special tag for grouping multiple children within the same parent.\n *\n * All non-string iterables which appear in the element tree are implicitly\n * wrapped in a fragment element.\n *\n * This tag is just the empty string, and you can use the empty string in\n * createElement calls or transpiler options directly to avoid having to\n * reference this export.\n */\nexport const Fragment = \"\";\nexport type Fragment = typeof Fragment;\n\n// TODO: We assert the following symbol tags as any because TypeScript support\n// for symbol tags in JSX doesn’t exist yet.\n// https://github.com/microsoft/TypeScript/issues/38367\n\n/**\n * A special tag for rendering into a new root node via a root prop.\n *\n * This tag is useful for creating element trees with multiple roots, for\n * things like modals or tooltips.\n *\n * Renderer.prototype.render() will implicitly wrap top-level element trees in\n * a Portal element.\n */\nexport const Portal = Symbol.for(\"crank.Portal\") as any;\nexport type Portal = typeof Portal;\n\n/**\n * A special tag which preserves whatever was previously rendered in the\n * element’s position.\n *\n * Copy elements are useful for when you want to prevent a subtree from\n * rerendering as a performance optimization. Copy elements can also be keyed,\n * in which case the previously rendered keyed element will be copied.\n */\nexport const Copy = Symbol.for(\"crank.Copy\") as any;\nexport type Copy = typeof Copy;\n\n/**\n * A special tag for injecting raw nodes or strings via a value prop.\n *\n * Renderer.prototype.raw() is called with the value prop.\n */\nexport const Raw = Symbol.for(\"crank.Raw\") as any;\nexport type Raw = typeof Raw;\n\n/**\n * Describes all valid values of an element tree, excluding iterables.\n *\n * Arbitrary objects can also be safely rendered, but will be converted to a\n * string using the toString() method. We exclude them from this type to catch\n * potential mistakes.\n */\nexport type Child = Element | string | number | boolean | null | undefined;\n\n/**\n * An arbitrarily nested iterable of Child values.\n *\n * We use a recursive interface here rather than making the Children type\n * directly recursive because recursive type aliases were added in TypeScript\n * 3.7.\n *\n * You should avoid referencing this type directly, as it is mainly exported to\n * prevent TypeScript errors.\n */\nexport interface ChildIterable extends Iterable {}\n\n/**\n * Describes all valid values of an element tree, including arbitrarily nested\n * iterables of such values.\n */\nexport type Children = Child | ChildIterable;\n\n/**\n * Represents all functions which can be used as a component.\n *\n * @template [TProps=*] - The expected props for the component.\n */\nexport type Component = any> = (\n\tthis: Context,\n\tprops: TProps,\n\tctx: Context,\n) =>\n\t| Children\n\t| PromiseLike\n\t// The return type of iterators must include void because TypeScript will\n\t// infer generators which return implicitly as having a void return type.\n\t| Iterator\n\t| AsyncIterator;\n\ntype ChildrenIteratorResult = IteratorResult;\n\n/**\n * A type to keep track of keys. Any value can be a key, though null and\n * undefined are ignored.\n */\ntype Key = unknown;\n\nconst ElementSymbol = Symbol.for(\"crank.Element\");\n\n// To maximize compatibility between Crank versions, starting with 0.2.0, any\n// changes to the Element properties will be considered a breaking change.\nexport interface Element {\n\t/**\n\t * @internal\n\t * A unique symbol to identify elements as elements across versions and\n\t * realms, and to protect against basic injection attacks.\n\t * https://overreacted.io/why-do-react-elements-have-typeof-property/\n\t *\n\t * This property is defined on the element prototype rather than per\n\t * instance, because it is the same for every Element.\n\t */\n\t$$typeof: typeof ElementSymbol;\n\n\t/**\n\t * The tag of the element. Can be a string, symbol or function.\n\t */\n\ttag: TTag;\n\n\t/**\n\t * An object containing the \"properties\" of an element. These correspond to\n\t * the attribute syntax from JSX.\n\t */\n\tprops: TagProps;\n}\n\n/**\n * Elements are the basic building blocks of Crank applications. They are\n * JavaScript objects which are interpreted by special classes called renderers\n * to produce and manage stateful nodes.\n *\n * @template {Tag} [TTag=Tag] - The type of the tag of the element.\n *\n * @example\n * // specific element types\n * let div: Element<\"div\">;\n * let portal: Element;\n * let myEl: Element;\n *\n * // general element types\n * let host: Element;\n * let component: Element;\n *\n * Typically, you use a helper function like createElement to create elements\n * rather than instatiating this class directly.\n */\nexport class Element {\n\tconstructor(tag: TTag, props: TagProps) {\n\t\tthis.tag = tag;\n\t\tthis.props = props;\n\t}\n\n\tget key(): Key {\n\t\treturn this.props.key;\n\t}\n\n\tget ref(): unknown {\n\t\treturn this.props.ref;\n\t}\n\n\tget copy(): boolean {\n\t\treturn !!this.props.copy;\n\t}\n}\n\n// See Element interface\nElement.prototype.$$typeof = ElementSymbol;\n\nexport function isElement(value: any): value is Element {\n\treturn value != null && value.$$typeof === ElementSymbol;\n}\n\nconst DEPRECATED_PROP_PREFIXES = [\"crank-\", \"c-\", \"$\"];\n\nconst DEPRECATED_SPECIAL_PROP_BASES = [\"key\", \"ref\", \"static\"];\n\nconst SPECIAL_PROPS = new Set([\"children\", \"key\", \"ref\", \"copy\"]);\nfor (const propPrefix of DEPRECATED_PROP_PREFIXES) {\n\tfor (const propBase of DEPRECATED_SPECIAL_PROP_BASES) {\n\t\tSPECIAL_PROPS.add(propPrefix + propBase);\n\t}\n}\n\n/**\n * Creates an element with the specified tag, props and children.\n *\n * This function is usually used as a transpilation target for JSX transpilers,\n * but it can also be called directly. It additionally extracts special props so\n * they aren’t accessible to renderer methods or components, and assigns the\n * children prop according to any additional arguments passed to the function.\n */\nexport function createElement(\n\ttag: TTag,\n\tprops?: TagProps | null | undefined,\n\t...children: Array\n): Element {\n\tif (props == null) {\n\t\tprops = {} as TagProps;\n\t}\n\n\tfor (let i = 0; i < DEPRECATED_PROP_PREFIXES.length; i++) {\n\t\tconst propPrefix = DEPRECATED_PROP_PREFIXES[i];\n\t\tfor (let j = 0; j < DEPRECATED_SPECIAL_PROP_BASES.length; j++) {\n\t\t\tconst propBase = DEPRECATED_SPECIAL_PROP_BASES[j];\n\t\t\tconst deprecatedPropName = propPrefix + propBase;\n\t\t\tconst targetPropBase = propBase === \"static\" ? \"copy\" : propBase;\n\t\t\tif (deprecatedPropName in (props as TagProps)) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`The \\`${deprecatedPropName}\\` prop is deprecated. Use \\`${targetPropBase}\\` instead.`,\n\t\t\t\t);\n\t\t\t\t(props as TagProps)[targetPropBase] = (props as TagProps)[\n\t\t\t\t\tdeprecatedPropName\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (children.length > 1) {\n\t\t(props as TagProps).children = children;\n\t} else if (children.length === 1) {\n\t\t(props as TagProps).children = children[0];\n\t}\n\n\treturn new Element(tag, props as TagProps);\n}\n\n/** Clones a given element, shallowly copying the props object. */\nexport function cloneElement(\n\tel: Element,\n): Element {\n\tif (!isElement(el)) {\n\t\tthrow new TypeError(\"Cannot clone non-element\");\n\t}\n\n\treturn new Element(el.tag, {...el.props});\n}\n\n/*** ELEMENT UTILITIES ***/\n\n// WHAT ARE WE DOING TO THE CHILDREN???\n/**\n * All values in the element tree are narrowed from the union in Child to\n * NarrowedChild during rendering, to simplify element diffing.\n */\ntype NarrowedChild = Element | string | undefined;\n\nfunction narrow(value: Children): NarrowedChild {\n\tif (typeof value === \"boolean\" || value == null) {\n\t\treturn undefined;\n\t} else if (typeof value === \"string\" || isElement(value)) {\n\t\treturn value;\n\t} else if (typeof (value as any)[Symbol.iterator] === \"function\") {\n\t\treturn createElement(Fragment, null, value);\n\t}\n\n\treturn value.toString();\n}\n\n/**\n * A helper type which repesents all possible rendered values of an element.\n *\n * @template TNode - The node type for the element provided by the renderer.\n *\n * When asking the question, what is the \"value\" of a specific element, the\n * answer varies depending on the tag:\n *\n * For host elements, the value is the nodes created for the element, e.g. the\n * DOM node in the case of the DOMRenderer.\n *\n * For fragments, the value is the value of the\n *\n * For portals, the value is undefined, because a Portal element’s root and\n * children are opaque to its parent.\n *\n * For components, the value can be any of the above, because the value of a\n * component is determined by its immediate children.\n *\n * Rendered values can also be strings or arrays of nodes and strings, in the\n * case of component or fragment elements with strings or multiple children.\n *\n * All of these possible values are reflected in this utility type.\n */\nexport type ElementValue =\n\t| Array\n\t| TNode\n\t| string\n\t| undefined;\n\n/**\n * Takes an array of element values and normalizes the output as an array of\n * nodes and strings.\n *\n * @returns Normalized array of nodes and/or strings.\n *\n * Normalize will flatten only one level of nested arrays, because it is\n * designed to be called once at each level of the tree. It will also\n * concatenate adjacent strings and remove all undefined values.\n */\nfunction normalize(\n\tvalues: Array>,\n): Array {\n\tconst result: Array = [];\n\tlet buffer: string | undefined;\n\tfor (let i = 0; i < values.length; i++) {\n\t\tconst value = values[i];\n\t\tif (!value) {\n\t\t\t// pass\n\t\t} else if (typeof value === \"string\") {\n\t\t\tbuffer = (buffer || \"\") + value;\n\t\t} else if (!Array.isArray(value)) {\n\t\t\tif (buffer) {\n\t\t\t\tresult.push(buffer);\n\t\t\t\tbuffer = undefined;\n\t\t\t}\n\n\t\t\tresult.push(value);\n\t\t} else {\n\t\t\t// We could use recursion here but it’s just easier to do it inline.\n\t\t\tfor (let j = 0; j < value.length; j++) {\n\t\t\t\tconst value1 = value[j];\n\t\t\t\tif (!value1) {\n\t\t\t\t\t// pass\n\t\t\t\t} else if (typeof value1 === \"string\") {\n\t\t\t\t\tbuffer = (buffer || \"\") + value1;\n\t\t\t\t} else {\n\t\t\t\t\tif (buffer) {\n\t\t\t\t\t\tresult.push(buffer);\n\t\t\t\t\t\tbuffer = undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\tresult.push(value1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (buffer) {\n\t\tresult.push(buffer);\n\t}\n\n\treturn result;\n}\n\n/**\n * @internal\n * The internal nodes which are cached and diffed against new elements when\n * rendering element trees.\n */\nclass Retainer {\n\t/**\n\t * The element associated with this retainer.\n\t */\n\tdeclare el: Element;\n\t/**\n\t * The context associated with this element. Will only be defined for\n\t * component elements.\n\t */\n\tdeclare ctx: ContextImpl | undefined;\n\t/**\n\t * The retainer children of this element. Retainers form a tree which mirrors\n\t * elements. Can be a single child or undefined as a memory optimization.\n\t */\n\tdeclare children: Array> | RetainerChild;\n\t/**\n\t * The value associated with this element.\n\t */\n\tdeclare value: ElementValue;\n\t/**\n\t * The cached child values of this element. Only host and component elements\n\t * will use this property.\n\t */\n\tdeclare cachedChildValues: ElementValue;\n\t/**\n\t * The child which this retainer replaces. This property is used when an\n\t * async retainer tree replaces previously rendered elements, so that the\n\t * previously rendered elements can remain visible until the async tree\n\t * fulfills. Will be set to undefined once this subtree fully renders.\n\t */\n\tdeclare fallbackValue: RetainerChild;\n\n\tdeclare inflightValue: Promise> | undefined;\n\tdeclare onNextValues: Function | undefined;\n\tconstructor(el: Element) {\n\t\tthis.el = el;\n\t\tthis.ctx = undefined;\n\t\tthis.children = undefined;\n\t\tthis.value = undefined;\n\t\tthis.cachedChildValues = undefined;\n\t\tthis.fallbackValue = undefined;\n\t\tthis.inflightValue = undefined;\n\t\tthis.onNextValues = undefined;\n\t}\n}\n\n/**\n * The retainer equivalent of ElementValue\n */\ntype RetainerChild = Retainer | string | undefined;\n\n/**\n * Finds the value of the element according to its type.\n *\n * @returns The value of the element.\n */\nfunction getValue(ret: Retainer): ElementValue {\n\tif (typeof ret.fallbackValue !== \"undefined\") {\n\t\treturn typeof ret.fallbackValue === \"object\"\n\t\t\t? getValue(ret.fallbackValue)\n\t\t\t: ret.fallbackValue;\n\t} else if (ret.el.tag === Portal) {\n\t\treturn;\n\t} else if (typeof ret.el.tag !== \"function\" && ret.el.tag !== Fragment) {\n\t\treturn ret.value;\n\t}\n\n\treturn unwrap(getChildValues(ret));\n}\n\n/**\n * Walks an element’s children to find its child values.\n *\n * @returns A normalized array of nodes and strings.\n */\nfunction getChildValues(ret: Retainer): Array {\n\tif (ret.cachedChildValues) {\n\t\treturn wrap(ret.cachedChildValues);\n\t}\n\n\tconst values: Array> = [];\n\tconst children = wrap(ret.children);\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (child) {\n\t\t\tvalues.push(typeof child === \"string\" ? child : getValue(child));\n\t\t}\n\t}\n\n\tconst values1 = normalize(values);\n\tconst tag = ret.el.tag;\n\tif (typeof tag === \"function\" || (tag !== Fragment && tag !== Raw)) {\n\t\tret.cachedChildValues = unwrap(values1);\n\t}\n\treturn values1;\n}\n\nexport interface HydrationData {\n\tprops: Record;\n\tchildren: Array;\n}\n\n// TODO: Document the interface and methods\nexport interface RendererImpl<\n\tTNode,\n\tTScope,\n\tTRoot extends TNode = TNode,\n\tTResult = ElementValue,\n> {\n\tscope(\n\t\tscope: TScope | undefined,\n\t\ttag: TTag,\n\t\tprops: TagProps,\n\t): TScope | undefined;\n\n\tcreate(\n\t\ttag: TTag,\n\t\tprops: TagProps,\n\t\tscope: TScope | undefined,\n\t): TNode;\n\n\thydrate(\n\t\ttag: TTag,\n\t\tnode: TNode | TRoot,\n\t\tprops: TagProps,\n\t): HydrationData | undefined;\n\n\t/**\n\t * Called when an element’s rendered value is exposed via render, schedule,\n\t * refresh, refs, or generator yield expressions.\n\t *\n\t * @param value - The value of the element being read. Can be a node, a\n\t * string, undefined, or an array of nodes and strings, depending on the\n\t * element.\n\t *\n\t * @returns Varies according to the specific renderer subclass. By default,\n\t * it exposes the element’s value.\n\t *\n\t * This is useful for renderers which don’t want to expose their internal\n\t * nodes. For instance, the HTML renderer will convert all internal nodes to\n\t * strings.\n\t */\n\tread(value: ElementValue): TResult;\n\n\t/**\n\t * Called for each string in an element tree.\n\t *\n\t * @param text - The string child.\n\t * @param scope - The current scope.\n\t *\n\t * @returns A string to be passed to arrange.\n\t *\n\t * Rather than returning Text nodes as we would in the DOM case, for example,\n\t * we delay that step for Renderer.prototype.arrange. We do this so that\n\t * adjacent strings can be concatenated, and the actual element tree can be\n\t * rendered in normalized form.\n\t */\n\ttext(\n\t\ttext: string,\n\t\tscope: TScope | undefined,\n\t\thydration: HydrationData | undefined,\n\t): string;\n\n\t/**\n\t * Called for each Raw element whose value prop is a string.\n\t *\n\t * @param text - The string child.\n\t * @param scope - The current scope.\n\t *\n\t * @returns The parsed node or string.\n\t */\n\traw(\n\t\tvalue: string | TNode,\n\t\tscope: TScope | undefined,\n\t\thydration: HydrationData | undefined,\n\t): ElementValue;\n\n\tpatch(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tname: TName,\n\t\tvalue: unknown,\n\t\toldValue: unknown,\n\t\tscope: TScope,\n\t): unknown;\n\n\tarrange(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tprops: Record,\n\t\tchildren: Array,\n\t\toldProps: Record | undefined,\n\t\toldChildren: Array | undefined,\n\t): unknown;\n\n\tdispose(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tprops: Record,\n\t): unknown;\n\n\tflush(root: TRoot): unknown;\n}\n\nconst defaultRendererImpl: RendererImpl = {\n\tcreate() {\n\t\tthrow new Error(\"Not implemented\");\n\t},\n\thydrate() {\n\t\tthrow new Error(\"Not implemented\");\n\t},\n\tscope: IDENTITY,\n\tread: IDENTITY,\n\ttext: IDENTITY,\n\traw: IDENTITY,\n\tpatch: NOOP,\n\tarrange: NOOP,\n\tdispose: NOOP,\n\tflush: NOOP,\n};\n\nconst _RendererImpl = Symbol.for(\"crank.RendererImpl\");\n/**\n * An abstract class which is subclassed to render to different target\n * environments. Subclasses will typically call super() with a custom\n * RendererImpl. This class is responsible for kicking off the rendering\n * process and caching previous trees by root.\n *\n * @template TNode - The type of the node for a rendering environment.\n * @template TScope - Data which is passed down the tree.\n * @template TRoot - The type of the root for a rendering environment.\n * @template TResult - The type of exposed values.\n */\nexport class Renderer<\n\tTNode extends object = object,\n\tTScope = unknown,\n\tTRoot extends TNode = TNode,\n\tTResult = ElementValue,\n> {\n\t/**\n\t * @internal\n\t * A weakmap which stores element trees by root.\n\t */\n\tdeclare cache: WeakMap>;\n\n\tdeclare [_RendererImpl]: RendererImpl;\n\tconstructor(impl: Partial>) {\n\t\tthis.cache = new WeakMap();\n\t\tthis[_RendererImpl] = {\n\t\t\t...(defaultRendererImpl as RendererImpl),\n\t\t\t...impl,\n\t\t};\n\t}\n\n\t/**\n\t * Renders an element tree into a specific root.\n\t *\n\t * @param children - An element tree. You can render null with a previously\n\t * used root to delete the previously rendered element tree from the cache.\n\t * @param root - The node to be rendered into. The renderer will cache\n\t * element trees per root.\n\t * @param bridge - An optional context that will be the ancestor context of all\n\t * elements in the tree. Useful for connecting different renderers so that\n\t * events/provisions properly propagate. The context for a given root must be\n\t * the same or an error will be thrown.\n\t *\n\t * @returns The result of rendering the children, or a possible promise of\n\t * the result if the element tree renders asynchronously.\n\t */\n\trender(\n\t\tchildren: Children,\n\t\troot?: TRoot | undefined,\n\t\tbridge?: Context | undefined,\n\t): Promise | TResult {\n\t\tlet ret: Retainer | undefined;\n\t\tconst ctx = bridge && (bridge[_ContextImpl] as ContextImpl);\n\t\tif (typeof root === \"object\" && root !== null) {\n\t\t\tret = this.cache.get(root);\n\t\t}\n\n\t\tlet oldProps: Record | undefined;\n\t\tif (ret === undefined) {\n\t\t\tret = new Retainer(createElement(Portal, {children, root}));\n\t\t\tret.value = root;\n\t\t\tret.ctx = ctx;\n\t\t\tif (typeof root === \"object\" && root !== null && children != null) {\n\t\t\t\tthis.cache.set(root, ret);\n\t\t\t}\n\t\t} else if (ret.ctx !== ctx) {\n\t\t\tthrow new Error(\"Context mismatch\");\n\t\t} else {\n\t\t\toldProps = ret.el.props;\n\t\t\tret.el = createElement(Portal, {children, root});\n\t\t\tif (typeof root === \"object\" && root !== null && children == null) {\n\t\t\t\tthis.cache.delete(root);\n\t\t\t}\n\t\t}\n\n\t\tconst impl = this[_RendererImpl];\n\t\tconst childValues = diffChildren(\n\t\t\timpl,\n\t\t\troot,\n\t\t\tret,\n\t\t\tctx,\n\t\t\timpl.scope(undefined, Portal, ret.el.props),\n\t\t\tret,\n\t\t\tchildren,\n\t\t\tundefined, // hydration data\n\t\t);\n\n\t\t// We return the child values of the portal because portal elements\n\t\t// themselves have no readable value.\n\t\tif (isPromiseLike(childValues)) {\n\t\t\treturn childValues.then((childValues) =>\n\t\t\t\tcommitRootRender(impl, root, ctx, ret!, childValues, oldProps),\n\t\t\t);\n\t\t}\n\n\t\treturn commitRootRender(impl, root, ctx, ret, childValues, oldProps);\n\t}\n\n\thydrate(\n\t\tchildren: Children,\n\t\troot: TRoot,\n\t\tbridge?: Context | undefined,\n\t): Promise | TResult {\n\t\tconst impl = this[_RendererImpl];\n\t\tconst ctx = bridge && (bridge[_ContextImpl] as ContextImpl);\n\t\tlet ret: Retainer | undefined;\n\t\tret = this.cache.get(root);\n\t\tif (ret !== undefined) {\n\t\t\t// If there is a retainer for the root, hydration is not necessary.\n\t\t\treturn this.render(children, root, bridge);\n\t\t}\n\n\t\tlet oldProps: Record | undefined;\n\t\tret = new Retainer(createElement(Portal, {children, root}));\n\t\tret.value = root;\n\t\tif (typeof root === \"object\" && root !== null && children != null) {\n\t\t\tthis.cache.set(root, ret);\n\t\t}\n\n\t\tconst hydrationData = impl.hydrate(Portal, root, {});\n\t\tconst childValues = diffChildren(\n\t\t\timpl,\n\t\t\troot,\n\t\t\tret,\n\t\t\tctx,\n\t\t\timpl.scope(undefined, Portal, ret.el.props),\n\t\t\tret,\n\t\t\tchildren,\n\t\t\thydrationData,\n\t\t);\n\n\t\t// We return the child values of the portal because portal elements\n\t\t// themselves have no readable value.\n\t\tif (isPromiseLike(childValues)) {\n\t\t\treturn childValues.then((childValues) =>\n\t\t\t\tcommitRootRender(impl, root, ctx, ret!, childValues, oldProps),\n\t\t\t);\n\t\t}\n\n\t\treturn commitRootRender(impl, root, ctx, ret, childValues, oldProps);\n\t}\n}\n\n/*** PRIVATE RENDERER FUNCTIONS ***/\nfunction commitRootRender(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n\tchildValues: Array,\n\toldProps: Record | undefined,\n): TResult {\n\t// element is a host or portal element\n\tif (root != null) {\n\t\trenderer.arrange(\n\t\t\tPortal,\n\t\t\troot,\n\t\t\tret.el.props,\n\t\t\tchildValues,\n\t\t\toldProps,\n\t\t\twrap(ret.cachedChildValues),\n\t\t);\n\t\tflush(renderer, root);\n\t}\n\n\tret.cachedChildValues = unwrap(childValues);\n\tif (root == null) {\n\t\tunmount(renderer, ret, ctx, ret);\n\t}\n\n\treturn renderer.read(ret.cachedChildValues);\n}\n\nfunction diffChildren(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tparent: Retainer,\n\tchildren: Children,\n\thydrationData: HydrationData | undefined,\n): Promise> | Array {\n\tconst oldRetained = wrap(parent.children);\n\tconst newRetained: typeof oldRetained = [];\n\tconst newChildren = arrayify(children);\n\tconst values: Array> | ElementValue> = [];\n\tlet graveyard: Array> | undefined;\n\tlet childrenByKey: Map> | undefined;\n\tlet seenKeys: Set | undefined;\n\tlet isAsync = false;\n\t// When hydrating, sibling element trees must be rendered in order, because\n\t// we do not know how many DOM nodes an element will render.\n\tlet hydrationBlock: Promise | undefined;\n\tlet oi = 0;\n\tlet oldLength = oldRetained.length;\n\tfor (let ni = 0, newLength = newChildren.length; ni < newLength; ni++) {\n\t\t// length checks to prevent index out of bounds deoptimizations.\n\t\tlet ret = oi >= oldLength ? undefined : oldRetained[oi];\n\t\tlet child = narrow(newChildren[ni]);\n\t\t{\n\t\t\t// aligning new children with old retainers\n\t\t\tlet oldKey = typeof ret === \"object\" ? ret.el.key : undefined;\n\t\t\tlet newKey = typeof child === \"object\" ? child.key : undefined;\n\t\t\tif (newKey !== undefined && seenKeys && seenKeys.has(newKey)) {\n\t\t\t\tconsole.error(\"Duplicate key\", newKey);\n\t\t\t\tnewKey = undefined;\n\t\t\t}\n\n\t\t\tif (oldKey === newKey) {\n\t\t\t\tif (childrenByKey !== undefined && newKey !== undefined) {\n\t\t\t\t\tchildrenByKey.delete(newKey);\n\t\t\t\t}\n\n\t\t\t\toi++;\n\t\t\t} else {\n\t\t\t\tchildrenByKey = childrenByKey || createChildrenByKey(oldRetained, oi);\n\t\t\t\tif (newKey === undefined) {\n\t\t\t\t\twhile (ret !== undefined && oldKey !== undefined) {\n\t\t\t\t\t\toi++;\n\t\t\t\t\t\tret = oldRetained[oi];\n\t\t\t\t\t\toldKey = typeof ret === \"object\" ? ret.el.key : undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\toi++;\n\t\t\t\t} else {\n\t\t\t\t\tret = childrenByKey.get(newKey);\n\t\t\t\t\tif (ret !== undefined) {\n\t\t\t\t\t\tchildrenByKey.delete(newKey);\n\t\t\t\t\t}\n\n\t\t\t\t\t(seenKeys = seenKeys || new Set()).add(newKey);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Updating\n\t\tlet value: Promise> | ElementValue;\n\t\tif (typeof child === \"object\") {\n\t\t\tif (child.tag === Copy || (typeof ret === \"object\" && ret.el === child)) {\n\t\t\t\tvalue = getInflightValue(ret);\n\t\t\t} else {\n\t\t\t\tlet oldProps: Record | undefined;\n\t\t\t\tlet copy = false;\n\t\t\t\tif (typeof ret === \"object\" && ret.el.tag === child.tag) {\n\t\t\t\t\toldProps = ret.el.props;\n\t\t\t\t\tret.el = child;\n\t\t\t\t\tif (child.copy) {\n\t\t\t\t\t\tvalue = getInflightValue(ret);\n\t\t\t\t\t\tcopy = true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof ret === \"object\") {\n\t\t\t\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fallback = ret;\n\t\t\t\t\tret = new Retainer(child);\n\t\t\t\t\tret.fallbackValue = fallback;\n\t\t\t\t}\n\n\t\t\t\tif (copy) {\n\t\t\t\t\t// pass\n\t\t\t\t} else if (child.tag === Raw) {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateRaw(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateRaw(renderer, ret, scope, oldProps, hydrationData);\n\t\t\t\t} else if (child.tag === Fragment) {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateFragment(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateFragment(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t} else if (typeof child.tag === \"function\") {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateComponent(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateComponent(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateHost(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateHost(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tisAsync = true;\n\t\t\t\tif (hydrationData !== undefined) {\n\t\t\t\t\thydrationBlock = value;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// child is a string or undefined\n\t\t\tif (typeof ret === \"object\") {\n\t\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t\t}\n\n\t\t\tif (typeof child === \"string\") {\n\t\t\t\tvalue = ret = renderer.text(child, scope, hydrationData);\n\t\t\t} else {\n\t\t\t\tret = undefined;\n\t\t\t}\n\t\t}\n\n\t\tvalues[ni] = value;\n\t\tnewRetained[ni] = ret;\n\t}\n\n\t// cleanup remaining retainers\n\tfor (; oi < oldLength; oi++) {\n\t\tconst ret = oldRetained[oi];\n\t\tif (\n\t\t\ttypeof ret === \"object\" &&\n\t\t\t(typeof ret.el.key === \"undefined\" ||\n\t\t\t\t!seenKeys ||\n\t\t\t\t!seenKeys.has(ret.el.key))\n\t\t) {\n\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t}\n\t}\n\n\tif (childrenByKey !== undefined && childrenByKey.size > 0) {\n\t\t(graveyard = graveyard || []).push(...childrenByKey.values());\n\t}\n\n\tparent.children = unwrap(newRetained);\n\tif (isAsync) {\n\t\tlet childValues1 = Promise.all(values).finally(() => {\n\t\t\tif (graveyard) {\n\t\t\t\tfor (let i = 0; i < graveyard.length; i++) {\n\t\t\t\t\tunmount(renderer, host, ctx, graveyard[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tlet onChildValues!: Function;\n\t\tchildValues1 = Promise.race([\n\t\t\tchildValues1,\n\t\t\tnew Promise((resolve) => (onChildValues = resolve)),\n\t\t]);\n\n\t\tif (parent.onNextValues) {\n\t\t\tparent.onNextValues(childValues1);\n\t\t}\n\n\t\tparent.onNextValues = onChildValues;\n\t\treturn childValues1.then((childValues) => {\n\t\t\tparent.inflightValue = parent.fallbackValue = undefined;\n\t\t\treturn normalize(childValues);\n\t\t});\n\t} else {\n\t\tif (graveyard) {\n\t\t\tfor (let i = 0; i < graveyard.length; i++) {\n\t\t\t\tunmount(renderer, host, ctx, graveyard[i]);\n\t\t\t}\n\t\t}\n\n\t\tif (parent.onNextValues) {\n\t\t\tparent.onNextValues(values);\n\t\t\tparent.onNextValues = undefined;\n\t\t}\n\n\t\tparent.inflightValue = parent.fallbackValue = undefined;\n\t\t// We can assert there are no promises in the array because isAsync is false\n\t\treturn normalize(values as Array>);\n\t}\n}\n\nfunction createChildrenByKey(\n\tchildren: Array>,\n\toffset: number,\n): Map> {\n\tconst childrenByKey = new Map>();\n\tfor (let i = offset; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (typeof child === \"object\" && typeof child.el.key !== \"undefined\") {\n\t\t\tchildrenByKey.set(child.el.key, child);\n\t\t}\n\t}\n\n\treturn childrenByKey;\n}\n\nfunction getInflightValue(\n\tchild: RetainerChild,\n): Promise> | ElementValue {\n\tif (typeof child !== \"object\") {\n\t\treturn child;\n\t}\n\n\tconst ctx: ContextImpl | undefined =\n\t\ttypeof child.el.tag === \"function\" ? child.ctx : undefined;\n\tif (ctx && ctx.f & IsUpdating && ctx.inflightValue) {\n\t\treturn ctx.inflightValue;\n\t} else if (child.inflightValue) {\n\t\treturn child.inflightValue;\n\t}\n\n\treturn getValue(child);\n}\n\nfunction updateRaw(\n\trenderer: RendererImpl,\n\tret: Retainer,\n\tscope: TScope | undefined,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): ElementValue {\n\tconst props = ret.el.props;\n\tif (!oldProps || oldProps.value !== props.value) {\n\t\tret.value = renderer.raw(props.value as any, scope, hydrationData);\n\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\tret.el.ref(ret.value);\n\t\t}\n\t}\n\n\treturn ret.value;\n}\n\nfunction updateFragment(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tconst childValues = diffChildren(\n\t\trenderer,\n\t\troot,\n\t\thost,\n\t\tctx,\n\t\tscope,\n\t\tret,\n\t\tret.el.props.children as any,\n\t\thydrationData,\n\t);\n\n\tif (isPromiseLike(childValues)) {\n\t\tret.inflightValue = childValues.then((childValues) => unwrap(childValues));\n\t\treturn ret.inflightValue;\n\t}\n\n\treturn unwrap(childValues);\n}\n\nfunction updateHost(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tconst el = ret.el;\n\tconst tag = el.tag as string | symbol;\n\tlet hydrationValue: TNode | string | undefined;\n\tif (el.tag === Portal) {\n\t\troot = ret.value = el.props.root as any;\n\t} else {\n\t\tif (hydrationData !== undefined) {\n\t\t\tconst value = hydrationData.children.shift();\n\t\t\thydrationValue = value;\n\t\t}\n\t}\n\n\tscope = renderer.scope(scope, tag, el.props);\n\tlet childHydrationData: HydrationData | undefined;\n\tif (hydrationValue != null && typeof hydrationValue !== \"string\") {\n\t\tchildHydrationData = renderer.hydrate(tag, hydrationValue, el.props);\n\n\t\tif (childHydrationData === undefined) {\n\t\t\thydrationValue = undefined;\n\t\t}\n\t}\n\tconst childValues = diffChildren(\n\t\trenderer,\n\t\troot,\n\t\tret,\n\t\tctx,\n\t\tscope,\n\t\tret,\n\t\tret.el.props.children as any,\n\t\tchildHydrationData,\n\t);\n\n\tif (isPromiseLike(childValues)) {\n\t\tret.inflightValue = childValues.then((childValues) =>\n\t\t\tcommitHost(renderer, scope, ret, childValues, oldProps, hydrationValue),\n\t\t);\n\n\t\treturn ret.inflightValue;\n\t}\n\n\treturn commitHost(\n\t\trenderer,\n\t\tscope,\n\t\tret,\n\t\tchildValues,\n\t\toldProps,\n\t\thydrationValue,\n\t);\n}\n\nfunction commitHost(\n\trenderer: RendererImpl,\n\tscope: TScope,\n\tret: Retainer,\n\tchildValues: Array,\n\toldProps: Record | undefined,\n\thydrationValue: TNode | undefined,\n): ElementValue {\n\tconst tag = ret.el.tag as string | symbol;\n\tlet value = ret.value as TNode;\n\tif (hydrationValue != null) {\n\t\tvalue = ret.value = hydrationValue;\n\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\tret.el.ref(value);\n\t\t}\n\t}\n\n\tlet props = ret.el.props;\n\tlet copied: Set | undefined;\n\tif (tag !== Portal) {\n\t\tif (value == null) {\n\t\t\t// This assumes that renderer.create does not return nullish values.\n\t\t\tvalue = ret.value = renderer.create(tag, props, scope);\n\t\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\t\tret.el.ref(value);\n\t\t\t}\n\t\t}\n\n\t\tfor (const propName in {...oldProps, ...props}) {\n\t\t\tconst propValue = props[propName];\n\t\t\tif (propValue === Copy) {\n\t\t\t\t// TODO: The Copy tag doubles as a way to skip the patching of a prop.\n\t\t\t\t// Not sure about this feature. Should probably be removed.\n\t\t\t\t(copied = copied || new Set()).add(propName);\n\t\t\t} else if (!SPECIAL_PROPS.has(propName)) {\n\t\t\t\trenderer.patch(\n\t\t\t\t\ttag,\n\t\t\t\t\tvalue,\n\t\t\t\t\tpropName,\n\t\t\t\t\tpropValue,\n\t\t\t\t\toldProps && oldProps[propName],\n\t\t\t\t\tscope,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (copied) {\n\t\tprops = {...ret.el.props};\n\t\tfor (const name of copied) {\n\t\t\tprops[name] = oldProps && oldProps[name];\n\t\t}\n\n\t\tret.el = new Element(tag, props);\n\t}\n\n\trenderer.arrange(\n\t\ttag,\n\t\tvalue,\n\t\tprops,\n\t\tchildValues,\n\t\toldProps,\n\t\twrap(ret.cachedChildValues),\n\t);\n\tret.cachedChildValues = unwrap(childValues);\n\tif (tag === Portal) {\n\t\tflush(renderer, ret.value);\n\t\treturn;\n\t}\n\n\treturn value;\n}\n\nfunction flush(\n\trenderer: RendererImpl,\n\troot: TRoot,\n\tinitiator?: ContextImpl,\n) {\n\trenderer.flush(root);\n\tif (typeof root !== \"object\" || root === null) {\n\t\treturn;\n\t}\n\n\tconst flushMap = flushMaps.get(root as any);\n\tif (flushMap) {\n\t\tif (initiator) {\n\t\t\tconst flushMap1 = new Map>();\n\t\t\tfor (let [ctx, callbacks] of flushMap) {\n\t\t\t\tif (!ctxContains(initiator, ctx)) {\n\t\t\t\t\tflushMap.delete(ctx);\n\t\t\t\t\tflushMap1.set(ctx, callbacks);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (flushMap1.size) {\n\t\t\t\tflushMaps.set(root as any, flushMap1);\n\t\t\t} else {\n\t\t\t\tflushMaps.delete(root as any);\n\t\t\t}\n\t\t} else {\n\t\t\tflushMaps.delete(root as any);\n\t\t}\n\n\t\tfor (const [ctx, callbacks] of flushMap) {\n\t\t\tconst value = renderer.read(getValue(ctx.ret));\n\t\t\tfor (const callback of callbacks) {\n\t\t\t\tcallback(value);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction unmount(\n\trenderer: RendererImpl,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n): void {\n\tif (typeof ret.el.tag === \"function\") {\n\t\tctx = ret.ctx as ContextImpl;\n\t\tunmountComponent(ctx);\n\t} else if (ret.el.tag === Portal) {\n\t\thost = ret;\n\t\trenderer.arrange(\n\t\t\tPortal,\n\t\t\thost.value as TNode,\n\t\t\thost.el.props,\n\t\t\t[],\n\t\t\thost.el.props,\n\t\t\twrap(host.cachedChildValues),\n\t\t);\n\t\tflush(renderer, host.value);\n\t} else if (ret.el.tag !== Fragment) {\n\t\tif (isEventTarget(ret.value)) {\n\t\t\tconst records = getListenerRecords(ctx, host);\n\t\t\tfor (let i = 0; i < records.length; i++) {\n\t\t\t\tconst record = records[i];\n\t\t\t\tret.value.removeEventListener(\n\t\t\t\t\trecord.type,\n\t\t\t\t\trecord.callback,\n\t\t\t\t\trecord.options,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\trenderer.dispose(ret.el.tag, ret.value as TNode, ret.el.props);\n\t\thost = ret;\n\t}\n\n\tconst children = wrap(ret.children);\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (typeof child === \"object\") {\n\t\t\tunmount(renderer, host, ctx, child);\n\t\t}\n\t}\n}\n\n/*** CONTEXT FLAGS ***/\n/**\n * A flag which is true when the component is initialized or updated by an\n * ancestor component or the root render call.\n *\n * Used to determine things like whether the nearest host ancestor needs to be\n * rearranged.\n */\nconst IsUpdating = 1 << 0;\n\n/**\n * A flag which is true when the component is synchronously executing.\n *\n * Used to guard against components triggering stack overflow or generator error.\n */\nconst IsSyncExecuting = 1 << 1;\n\n/**\n * A flag which is true when the component is in a for...of loop.\n */\nconst IsInForOfLoop = 1 << 2;\n\n/**\n * A flag which is true when the component is in a for await...of loop.\n */\nconst IsInForAwaitOfLoop = 1 << 3;\n\n/**\n * A flag which is true when the component starts the render loop but has not\n * yielded yet.\n *\n * Used to make sure that components yield at least once per loop.\n */\nconst NeedsToYield = 1 << 4;\n\n/**\n * A flag used by async generator components in conjunction with the\n * onAvailable callback to mark whether new props can be pulled via the context\n * async iterator. See the Symbol.asyncIterator method and the\n * resumeCtxIterator function.\n */\nconst PropsAvailable = 1 << 5;\n\n/**\n * A flag which is set when a component errors.\n *\n * This is mainly used to prevent some false positives in \"component yields or\n * returns undefined\" warnings. The reason we’re using this versus IsUnmounted\n * is a very troubling test (cascades sync generator parent and sync generator\n * child) where synchronous code causes a stack overflow error in a\n * non-deterministic way. Deeply disturbing stuff.\n */\nconst IsErrored = 1 << 6;\n\n/**\n * A flag which is set when the component is unmounted. Unmounted components\n * are no longer in the element tree and cannot refresh or rerender.\n */\nconst IsUnmounted = 1 << 7;\n\n/**\n * A flag which indicates that the component is a sync generator component.\n */\nconst IsSyncGen = 1 << 8;\n\n/**\n * A flag which indicates that the component is an async generator component.\n */\nconst IsAsyncGen = 1 << 9;\n\n/**\n * A flag which is set while schedule callbacks are called.\n */\nconst IsScheduling = 1 << 10;\n\n/**\n * A flag which is set when a schedule callback calls refresh.\n */\nconst IsSchedulingRefresh = 1 << 11;\n\nexport interface Context extends Crank.Context {}\n\n/**\n * An interface which can be extended to provide strongly typed provisions.\n * See Context.prototype.consume and Context.prototype.provide.\n */\nexport interface ProvisionMap extends Crank.ProvisionMap {}\n\nconst provisionMaps = new WeakMap>();\n\nconst scheduleMap = new WeakMap>();\n\nconst cleanupMap = new WeakMap>();\n\n// keys are roots\nconst flushMaps = new WeakMap>>();\n\n/**\n * @internal\n * The internal class which holds context data.\n */\nclass ContextImpl<\n\tTNode = unknown,\n\tTScope = unknown,\n\tTRoot extends TNode = TNode,\n\tTResult = unknown,\n> {\n\t/** A bitmask. See CONTEXT FLAGS above. */\n\tdeclare f: number;\n\n\t/** The actual context associated with this impl. */\n\tdeclare owner: Context;\n\n\t/**\n\t * The renderer which created this context.\n\t */\n\tdeclare renderer: RendererImpl;\n\n\t/** The root node as set by the nearest ancestor portal. */\n\tdeclare root: TRoot | undefined;\n\n\t/**\n\t * The nearest ancestor host or portal retainer.\n\t *\n\t * When refresh is called, the host element will be arranged as the last step\n\t * of the commit, to make sure the parent’s children properly reflects the\n\t * components’s children.\n\t */\n\tdeclare host: Retainer;\n\n\t/** The parent context impl. */\n\tdeclare parent: ContextImpl | undefined;\n\n\t/** The value of the scope at the point of element’s creation. */\n\tdeclare scope: TScope | undefined;\n\n\t/** The internal node associated with this context. */\n\tdeclare ret: Retainer;\n\n\t/**\n\t * The iterator returned by the component function.\n\t *\n\t * Existence of this property implies that the component is a generator\n\t * component. It is deleted when a component is returned.\n\t */\n\tdeclare iterator:\n\t\t| Iterator\n\t\t| AsyncIterator\n\t\t| undefined;\n\n\t// A \"block\" is a promise which represents the duration during which new\n\t// updates are queued, whereas \"value\" is a promise which represents the\n\t// actual pending result of rendering.\n\tdeclare inflightBlock: Promise | undefined;\n\tdeclare inflightValue: Promise> | undefined;\n\tdeclare enqueuedBlock: Promise | undefined;\n\tdeclare enqueuedValue: Promise> | undefined;\n\n\t// The following callbacks are used to implement the async generator render\n\t// loop behavior.\n\tdeclare onProps: ((props: Record) => unknown) | undefined;\n\tdeclare onPropsRequested: Function | undefined;\n\tconstructor(\n\t\trenderer: RendererImpl,\n\t\troot: TRoot | undefined,\n\t\thost: Retainer,\n\t\tparent: ContextImpl | undefined,\n\t\tscope: TScope | undefined,\n\t\tret: Retainer,\n\t) {\n\t\tthis.f = 0;\n\t\tthis.owner = new Context(this);\n\t\tthis.renderer = renderer;\n\t\tthis.root = root;\n\t\tthis.host = host;\n\t\tthis.parent = parent;\n\t\tthis.scope = scope;\n\t\tthis.ret = ret;\n\n\t\tthis.iterator = undefined;\n\t\tthis.inflightBlock = undefined;\n\t\tthis.inflightValue = undefined;\n\t\tthis.enqueuedBlock = undefined;\n\t\tthis.enqueuedValue = undefined;\n\t\tthis.onProps = undefined;\n\t\tthis.onPropsRequested = undefined;\n\t}\n}\n\nconst _ContextImpl = Symbol.for(\"crank.ContextImpl\");\n\ntype ComponentProps = T extends () => any\n\t? {}\n\t: T extends (props: infer U) => any\n\t\t? U\n\t\t: T;\n/**\n * A class which is instantiated and passed to every component as its this\n * value. Contexts form a tree just like elements and all components in the\n * element tree are connected via contexts. Components can use this tree to\n * communicate data upwards via events and downwards via provisions.\n *\n * @template [T=*] - The expected shape of the props passed to the component,\n * or a component function. Used to strongly type the Context iterator methods.\n * @template [TResult=*] - The readable element value type. It is used in\n * places such as the return value of refresh and the argument passed to\n * schedule and cleanup callbacks.\n */\nexport class Context implements EventTarget {\n\t/**\n\t * @internal\n\t */\n\tdeclare [_ContextImpl]: ContextImpl;\n\n\t// TODO: If we could make the constructor function take a nicer value, it\n\t// would be useful for testing purposes.\n\tconstructor(impl: ContextImpl) {\n\t\tthis[_ContextImpl] = impl;\n\t}\n\n\t/**\n\t * The current props of the associated element.\n\t */\n\tget props(): ComponentProps {\n\t\treturn this[_ContextImpl].ret.el.props as ComponentProps;\n\t}\n\n\t/**\n\t * The current value of the associated element.\n\t *\n\t * @deprecated\n\t */\n\tget value(): TResult {\n\t\treturn this[_ContextImpl].renderer.read(getValue(this[_ContextImpl].ret));\n\t}\n\n\t*[Symbol.iterator](): Generator> {\n\t\tconst ctx = this[_ContextImpl];\n\t\ttry {\n\t\t\tctx.f |= IsInForOfLoop;\n\t\t\twhile (!(ctx.f & IsUnmounted)) {\n\t\t\t\tif (ctx.f & NeedsToYield) {\n\t\t\t\t\tthrow new Error(\"Context iterated twice without a yield\");\n\t\t\t\t} else {\n\t\t\t\t\tctx.f |= NeedsToYield;\n\t\t\t\t}\n\n\t\t\t\tyield ctx.ret.el.props as ComponentProps;\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsInForOfLoop;\n\t\t}\n\t}\n\n\tasync *[Symbol.asyncIterator](): AsyncGenerator> {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (ctx.f & IsSyncGen) {\n\t\t\tthrow new Error(\"Use for...of in sync generator components\");\n\t\t}\n\n\t\ttry {\n\t\t\tctx.f |= IsInForAwaitOfLoop;\n\t\t\twhile (!(ctx.f & IsUnmounted)) {\n\t\t\t\tif (ctx.f & NeedsToYield) {\n\t\t\t\t\tthrow new Error(\"Context iterated twice without a yield\");\n\t\t\t\t} else {\n\t\t\t\t\tctx.f |= NeedsToYield;\n\t\t\t\t}\n\n\t\t\t\tif (ctx.f & PropsAvailable) {\n\t\t\t\t\tctx.f &= ~PropsAvailable;\n\t\t\t\t\tyield ctx.ret.el.props as ComponentProps;\n\t\t\t\t} else {\n\t\t\t\t\tconst props = await new Promise((resolve) => (ctx.onProps = resolve));\n\t\t\t\t\tif (ctx.f & IsUnmounted) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tyield props as ComponentProps;\n\t\t\t\t}\n\n\t\t\t\tif (ctx.onPropsRequested) {\n\t\t\t\t\tctx.onPropsRequested();\n\t\t\t\t\tctx.onPropsRequested = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsInForAwaitOfLoop;\n\t\t\tif (ctx.onPropsRequested) {\n\t\t\t\tctx.onPropsRequested();\n\t\t\t\tctx.onPropsRequested = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Re-executes a component.\n\t *\n\t * @returns The rendered value of the component or a promise thereof if the\n\t * component or its children execute asynchronously.\n\t *\n\t * The refresh method works a little differently for async generator\n\t * components, in that it will resume the Context’s props async iterator\n\t * rather than resuming execution. This is because async generator components\n\t * are perpetually resumed independent of updates, and rely on the props\n\t * async iterator to suspend.\n\t */\n\trefresh(): Promise | TResult {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (ctx.f & IsUnmounted) {\n\t\t\tconsole.error(\"Component is unmounted\");\n\t\t\treturn ctx.renderer.read(undefined);\n\t\t} else if (ctx.f & IsSyncExecuting) {\n\t\t\tconsole.error(\"Component is already executing\");\n\t\t\treturn ctx.renderer.read(getValue(ctx.ret));\n\t\t}\n\n\t\tconst value = enqueueComponentRun(ctx);\n\t\tif (isPromiseLike(value)) {\n\t\t\treturn (value as Promise).then((value) => ctx.renderer.read(value));\n\t\t}\n\n\t\treturn ctx.renderer.read(value);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component commits. Will only\n\t * fire once per callback and update.\n\t */\n\tschedule(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet callbacks = scheduleMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tscheduleMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component’s children are\n\t * rendered into the root. Will only fire once per callback and render.\n\t */\n\tflush(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (typeof ctx.root !== \"object\" || ctx.root === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet flushMap = flushMaps.get(ctx.root);\n\t\tif (!flushMap) {\n\t\t\tflushMap = new Map>();\n\t\t\tflushMaps.set(ctx.root, flushMap);\n\t\t}\n\n\t\tlet callbacks = flushMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tflushMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component unmounts. Will only\n\t * fire once per callback.\n\t */\n\tcleanup(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\n\t\tif (ctx.f & IsUnmounted) {\n\t\t\tconst value = ctx.renderer.read(getValue(ctx.ret));\n\t\t\tcallback(value);\n\t\t\treturn;\n\t\t}\n\n\t\tlet callbacks = cleanupMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tcleanupMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\tconsume(key: TKey): ProvisionMap[TKey];\n\tconsume(key: unknown): any;\n\tconsume(key: unknown): any {\n\t\tfor (\n\t\t\tlet ctx = this[_ContextImpl].parent;\n\t\t\tctx !== undefined;\n\t\t\tctx = ctx.parent\n\t\t) {\n\t\t\tconst provisions = provisionMaps.get(ctx);\n\t\t\tif (provisions && provisions.has(key)) {\n\t\t\t\treturn provisions.get(key)!;\n\t\t\t}\n\t\t}\n\t}\n\n\tprovide(\n\t\tkey: TKey,\n\t\tvalue: ProvisionMap[TKey],\n\t): void;\n\tprovide(key: unknown, value: any): void;\n\tprovide(key: unknown, value: any): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet provisions = provisionMaps.get(ctx);\n\t\tif (!provisions) {\n\t\t\tprovisions = new Map();\n\t\t\tprovisionMaps.set(ctx, provisions);\n\t\t}\n\n\t\tprovisions.set(key, value);\n\t}\n\n\taddEventListener(\n\t\ttype: T,\n\t\tlistener: MappedEventListenerOrEventListenerObject | null,\n\t\toptions?: boolean | AddEventListenerOptions,\n\t): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet listeners: Array;\n\t\tif (!isListenerOrListenerObject(listener)) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tconst listeners1 = listenersMap.get(ctx);\n\t\t\tif (listeners1) {\n\t\t\t\tlisteners = listeners1;\n\t\t\t} else {\n\t\t\t\tlisteners = [];\n\t\t\t\tlistenersMap.set(ctx, listeners);\n\t\t\t}\n\t\t}\n\n\t\toptions = normalizeListenerOptions(options);\n\t\tlet callback: MappedEventListener;\n\t\tif (typeof listener === \"object\") {\n\t\t\tcallback = () => listener.handleEvent.apply(listener, arguments as any);\n\t\t} else {\n\t\t\tcallback = listener;\n\t\t}\n\n\t\tconst record: EventListenerRecord = {type, listener, callback, options};\n\t\tif (options.once) {\n\t\t\trecord.callback = function (this: any) {\n\t\t\t\tconst i = listeners.indexOf(record);\n\t\t\t\tif (i !== -1) {\n\t\t\t\t\tlisteners.splice(i, 1);\n\t\t\t\t}\n\n\t\t\t\treturn callback.apply(this, arguments as any);\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tlisteners.some(\n\t\t\t\t(record1) =>\n\t\t\t\t\trecord.type === record1.type &&\n\t\t\t\t\trecord.listener === record1.listener &&\n\t\t\t\t\t!record.options.capture === !record1.options.capture,\n\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tlisteners.push(record);\n\n\t\t// TODO: is it possible to separate out the EventTarget delegation logic\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tvalue.addEventListener(record.type, record.callback, record.options);\n\t\t\t}\n\t\t}\n\t}\n\n\tremoveEventListener(\n\t\ttype: T,\n\t\tlistener: MappedEventListenerOrEventListenerObject | null,\n\t\toptions?: EventListenerOptions | boolean,\n\t): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tconst listeners = listenersMap.get(ctx);\n\t\tif (listeners == null || !isListenerOrListenerObject(listener)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options1 = normalizeListenerOptions(options);\n\t\tconst i = listeners.findIndex(\n\t\t\t(record) =>\n\t\t\t\trecord.type === type &&\n\t\t\t\trecord.listener === listener &&\n\t\t\t\t!record.options.capture === !options1.capture,\n\t\t);\n\n\t\tif (i === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst record = listeners[i];\n\t\tlisteners.splice(i, 1);\n\n\t\t// TODO: is it possible to separate out the EventTarget delegation logic\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tvalue.removeEventListener(record.type, record.callback, record.options);\n\t\t\t}\n\t\t}\n\t}\n\n\tdispatchEvent(ev: Event): boolean {\n\t\tconst ctx = this[_ContextImpl];\n\t\tconst path: Array = [];\n\t\tfor (\n\t\t\tlet parent = ctx.parent;\n\t\t\tparent !== undefined;\n\t\t\tparent = parent.parent\n\t\t) {\n\t\t\tpath.push(parent);\n\t\t}\n\n\t\t// We patch the stopImmediatePropagation method because ev.cancelBubble\n\t\t// only informs us if stopPropagation was called and there are no\n\t\t// properties which inform us if stopImmediatePropagation was called.\n\t\tlet immediateCancelBubble = false;\n\t\tconst stopImmediatePropagation = ev.stopImmediatePropagation;\n\t\tsetEventProperty(ev, \"stopImmediatePropagation\", () => {\n\t\t\timmediateCancelBubble = true;\n\t\t\treturn stopImmediatePropagation.call(ev);\n\t\t});\n\t\tsetEventProperty(ev, \"target\", ctx.owner);\n\n\t\t// The only possible errors in this block are errors thrown by callbacks,\n\t\t// and dispatchEvent will only log these errors rather than throwing\n\t\t// them. Therefore, we place all code in a try block, log errors in the\n\t\t// catch block, and use an unsafe return statement in the finally block.\n\t\t//\n\t\t// Each early return within the try block returns true because while the\n\t\t// return value is overridden in the finally block, TypeScript\n\t\t// (justifiably) does not recognize the unsafe return statement.\n\t\ttry {\n\t\t\tsetEventProperty(ev, \"eventPhase\", CAPTURING_PHASE);\n\t\t\tfor (let i = path.length - 1; i >= 0; i--) {\n\t\t\t\tconst target = path[i];\n\t\t\t\tconst listeners = listenersMap.get(target);\n\t\t\t\tif (listeners) {\n\t\t\t\t\tsetEventProperty(ev, \"currentTarget\", target.owner);\n\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\tif (record.type === ev.type && record.options.capture) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\trecord.callback.call(target.owner, ev);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t{\n\t\t\t\tsetEventProperty(ev, \"eventPhase\", AT_TARGET);\n\t\t\t\tsetEventProperty(ev, \"currentTarget\", ctx.owner);\n\n\t\t\t\t// dispatchEvent calls the prop callback if it exists\n\t\t\t\tlet propCallback = ctx.ret.el.props[\"on\" + ev.type] as unknown;\n\t\t\t\tif (typeof propCallback === \"function\") {\n\t\t\t\t\tpropCallback(ev);\n\t\t\t\t\tif (immediateCancelBubble || ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Checks for camel-cased event props\n\t\t\t\t\tfor (const propName in ctx.ret.el.props) {\n\t\t\t\t\t\tif (propName.toLowerCase() === \"on\" + ev.type.toLowerCase()) {\n\t\t\t\t\t\t\tpropCallback = ctx.ret.el.props[propName] as unknown;\n\t\t\t\t\t\t\tif (typeof propCallback === \"function\") {\n\t\t\t\t\t\t\t\tpropCallback(ev);\n\t\t\t\t\t\t\t\tif (immediateCancelBubble || ev.cancelBubble) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst listeners = listenersMap.get(ctx);\n\t\t\t\tif (listeners) {\n\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\tif (record.type === ev.type) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\trecord.callback.call(ctx.owner, ev);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (ev.bubbles) {\n\t\t\t\tsetEventProperty(ev, \"eventPhase\", BUBBLING_PHASE);\n\t\t\t\tfor (let i = 0; i < path.length; i++) {\n\t\t\t\t\tconst target = path[i];\n\t\t\t\t\tconst listeners = listenersMap.get(target);\n\t\t\t\t\tif (listeners) {\n\t\t\t\t\t\tsetEventProperty(ev, \"currentTarget\", target.owner);\n\t\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\t\tif (record.type === ev.type && !record.options.capture) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\trecord.callback.call(target.owner, ev);\n\t\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tsetEventProperty(ev, \"eventPhase\", NONE);\n\t\t\tsetEventProperty(ev, \"currentTarget\", null);\n\t\t\t// eslint-disable-next-line no-unsafe-finally\n\t\t\treturn !ev.defaultPrevented;\n\t\t}\n\t}\n}\n\n/*** PRIVATE CONTEXT FUNCTIONS ***/\nfunction ctxContains(parent: ContextImpl, child: ContextImpl): boolean {\n\tfor (\n\t\tlet current: ContextImpl | undefined = child;\n\t\tcurrent !== undefined;\n\t\tcurrent = current.parent\n\t) {\n\t\tif (current === parent) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nfunction updateComponent(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tparent: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tlet ctx: ContextImpl;\n\tif (oldProps) {\n\t\tctx = ret.ctx as ContextImpl;\n\t\tif (ctx.f & IsSyncExecuting) {\n\t\t\tconsole.error(\"Component is already executing\");\n\t\t\treturn ret.cachedChildValues;\n\t\t}\n\t} else {\n\t\tctx = ret.ctx = new ContextImpl(renderer, root, host, parent, scope, ret);\n\t}\n\n\tctx.f |= IsUpdating;\n\treturn enqueueComponentRun(ctx, hydrationData);\n}\n\nfunction updateComponentChildren(\n\tctx: ContextImpl,\n\tchildren: Children,\n\thydrationData?: HydrationData | undefined,\n): Promise> | ElementValue {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t} else if (ctx.f & IsErrored) {\n\t\t// This branch is necessary for some race conditions where this function is\n\t\t// called after iterator.throw() in async generator components.\n\t\treturn;\n\t} else if (children === undefined) {\n\t\tconsole.error(\n\t\t\t\"A component has returned or yielded undefined. If this was intentional, return or yield null instead.\",\n\t\t);\n\t}\n\n\tlet childValues: Promise> | Array;\n\ttry {\n\t\t// TODO: WAT\n\t\t// We set the isExecuting flag in case a child component dispatches an event\n\t\t// which bubbles to this component and causes a synchronous refresh().\n\t\tctx.f |= IsSyncExecuting;\n\t\tchildValues = diffChildren(\n\t\t\tctx.renderer,\n\t\t\tctx.root,\n\t\t\tctx.host,\n\t\t\tctx,\n\t\t\tctx.scope,\n\t\t\tctx.ret,\n\t\t\tnarrow(children),\n\t\t\thydrationData,\n\t\t);\n\t} finally {\n\t\tctx.f &= ~IsSyncExecuting;\n\t}\n\n\tif (isPromiseLike(childValues)) {\n\t\tctx.ret.inflightValue = childValues.then((childValues) =>\n\t\t\tcommitComponent(ctx, childValues),\n\t\t);\n\n\t\treturn ctx.ret.inflightValue;\n\t}\n\n\treturn commitComponent(ctx, childValues);\n}\n\nfunction commitComponent(\n\tctx: ContextImpl,\n\tvalues: Array,\n): ElementValue {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t}\n\n\tconst listeners = listenersMap.get(ctx);\n\tif (listeners && listeners.length) {\n\t\tfor (let i = 0; i < values.length; i++) {\n\t\t\tconst value = values[i];\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tfor (let j = 0; j < listeners.length; j++) {\n\t\t\t\t\tconst record = listeners[j];\n\t\t\t\t\tvalue.addEventListener(record.type, record.callback, record.options);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst oldValues = wrap(ctx.ret.cachedChildValues);\n\tlet value = (ctx.ret.cachedChildValues = unwrap(values));\n\tif (ctx.f & IsScheduling) {\n\t\tctx.f |= IsSchedulingRefresh;\n\t} else if (!(ctx.f & IsUpdating)) {\n\t\t// If we’re not updating the component, which happens when components are\n\t\t// refreshed, or when async generator components iterate, we have to do a\n\t\t// little bit housekeeping when a component’s child values have changed.\n\t\tif (!arrayEqual(oldValues, values)) {\n\t\t\tconst records = getListenerRecords(ctx.parent, ctx.host);\n\t\t\tif (records.length) {\n\t\t\t\tfor (let i = 0; i < values.length; i++) {\n\t\t\t\t\tconst value = values[i];\n\t\t\t\t\tif (isEventTarget(value)) {\n\t\t\t\t\t\tfor (let j = 0; j < records.length; j++) {\n\t\t\t\t\t\t\tconst record = records[j];\n\t\t\t\t\t\t\tvalue.addEventListener(\n\t\t\t\t\t\t\t\trecord.type,\n\t\t\t\t\t\t\t\trecord.callback,\n\t\t\t\t\t\t\t\trecord.options,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// rearranging the nearest ancestor host element\n\t\t\tconst host = ctx.host;\n\t\t\tconst oldHostValues = wrap(host.cachedChildValues);\n\t\t\tinvalidate(ctx, host);\n\t\t\tconst hostValues = getChildValues(host);\n\t\t\tctx.renderer.arrange(\n\t\t\t\thost.el.tag as string | symbol,\n\t\t\t\thost.value as TNode,\n\t\t\t\thost.el.props,\n\t\t\t\thostValues,\n\t\t\t\t// props and oldProps are the same because the host isn’t updated.\n\t\t\t\thost.el.props,\n\t\t\t\toldHostValues,\n\t\t\t);\n\t\t}\n\n\t\tflush(ctx.renderer, ctx.root, ctx);\n\t}\n\n\tconst callbacks = scheduleMap.get(ctx);\n\tif (callbacks) {\n\t\tscheduleMap.delete(ctx);\n\t\tctx.f |= IsScheduling;\n\t\tconst value1 = ctx.renderer.read(value);\n\t\tfor (const callback of callbacks) {\n\t\t\tcallback(value1);\n\t\t}\n\n\t\tctx.f &= ~IsScheduling;\n\t\t// Handles an edge case where refresh() is called during a schedule().\n\t\tif (ctx.f & IsSchedulingRefresh) {\n\t\t\tctx.f &= ~IsSchedulingRefresh;\n\t\t\tvalue = getValue(ctx.ret);\n\t\t}\n\t}\n\n\tctx.f &= ~IsUpdating;\n\treturn value;\n}\n\nfunction invalidate(ctx: ContextImpl, host: Retainer): void {\n\tfor (\n\t\tlet parent = ctx.parent;\n\t\tparent !== undefined && parent.host === host;\n\t\tparent = parent.parent\n\t) {\n\t\tparent.ret.cachedChildValues = undefined;\n\t}\n\n\thost.cachedChildValues = undefined;\n}\n\nfunction arrayEqual(arr1: Array, arr2: Array): boolean {\n\tif (arr1.length !== arr2.length) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < arr1.length; i++) {\n\t\tconst value1 = arr1[i];\n\t\tconst value2 = arr2[i];\n\t\tif (value1 !== value2) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/** Enqueues and executes the component associated with the context. */\nfunction enqueueComponentRun(\n\tctx: ContextImpl,\n\thydrationData?: HydrationData | undefined,\n): Promise> | ElementValue {\n\tif (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) {\n\t\tif (hydrationData !== undefined) {\n\t\t\tthrow new Error(\"Hydration error\");\n\t\t}\n\n\t\t// This branch will run for non-initial renders of async generator\n\t\t// components when they are not in for...of loops. When in a for...of loop,\n\t\t// async generator components will behave normally.\n\t\t//\n\t\t// Async gen componennts can be in one of three states:\n\t\t//\n\t\t// 1. propsAvailable flag is true: \"available\"\n\t\t//\n\t\t// The component is suspended somewhere in the loop. When the component\n\t\t// reaches the bottom of the loop, it will run again with the next props.\n\t\t//\n\t\t// 2. onAvailable callback is defined: \"suspended\"\n\t\t//\n\t\t// The component has suspended at the bottom of the loop and is waiting\n\t\t// for new props.\n\t\t//\n\t\t// 3. neither 1 or 2: \"Running\"\n\t\t//\n\t\t// The component is suspended somewhere in the loop. When the component\n\t\t// reaches the bottom of the loop, it will suspend.\n\t\t//\n\t\t// Components will never be both available and suspended at\n\t\t// the same time.\n\t\t//\n\t\t// If the component is at the loop bottom, this means that the next value\n\t\t// produced by the component will have the most up to date props, so we can\n\t\t// simply return the current inflight value. Otherwise, we have to wait for\n\t\t// the bottom of the loop to be reached before returning the inflight\n\t\t// value.\n\t\tconst isAtLoopbottom = ctx.f & IsInForAwaitOfLoop && !ctx.onProps;\n\t\tresumePropsAsyncIterator(ctx);\n\t\tif (isAtLoopbottom) {\n\t\t\tif (ctx.inflightBlock == null) {\n\t\t\t\tctx.inflightBlock = new Promise(\n\t\t\t\t\t(resolve) => (ctx.onPropsRequested = resolve),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn ctx.inflightBlock.then(() => {\n\t\t\t\tctx.inflightBlock = undefined;\n\t\t\t\treturn ctx.inflightValue;\n\t\t\t});\n\t\t}\n\n\t\treturn ctx.inflightValue;\n\t} else if (!ctx.inflightBlock) {\n\t\ttry {\n\t\t\tconst [block, value] = runComponent(ctx, hydrationData);\n\t\t\tif (block) {\n\t\t\t\tctx.inflightBlock = block\n\t\t\t\t\t// TODO: there is some fuckery going on here related to async\n\t\t\t\t\t// generator components resuming when they’re meant to be returned.\n\t\t\t\t\t.then((v) => v)\n\t\t\t\t\t.finally(() => advanceComponent(ctx));\n\t\t\t\t// stepComponent will only return a block if the value is asynchronous\n\t\t\t\tctx.inflightValue = value as Promise>;\n\t\t\t}\n\n\t\t\treturn value;\n\t\t} catch (err) {\n\t\t\tif (!(ctx.f & IsUpdating)) {\n\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t}\n\n\t\t\tthrow err;\n\t\t}\n\t} else if (!ctx.enqueuedBlock) {\n\t\tif (hydrationData !== undefined) {\n\t\t\tthrow new Error(\"Hydration error\");\n\t\t}\n\t\t// We need to assign enqueuedBlock and enqueuedValue synchronously, hence\n\t\t// the Promise constructor call here.\n\t\tlet resolveEnqueuedBlock: Function;\n\t\tctx.enqueuedBlock = new Promise(\n\t\t\t(resolve) => (resolveEnqueuedBlock = resolve),\n\t\t);\n\n\t\tctx.enqueuedValue = ctx.inflightBlock.then(() => {\n\t\t\ttry {\n\t\t\t\tconst [block, value] = runComponent(ctx);\n\t\t\t\tif (block) {\n\t\t\t\t\tresolveEnqueuedBlock(block.finally(() => advanceComponent(ctx)));\n\t\t\t\t}\n\n\t\t\t\treturn value;\n\t\t\t} catch (err) {\n\t\t\t\tif (!(ctx.f & IsUpdating)) {\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t}\n\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t});\n\t}\n\n\treturn ctx.enqueuedValue;\n}\n\n/** Called when the inflight block promise settles. */\nfunction advanceComponent(ctx: ContextImpl): void {\n\tif (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) {\n\t\treturn;\n\t}\n\n\tctx.inflightBlock = ctx.enqueuedBlock;\n\tctx.inflightValue = ctx.enqueuedValue;\n\tctx.enqueuedBlock = undefined;\n\tctx.enqueuedValue = undefined;\n}\n\n/**\n * This function is responsible for executing the component and handling all\n * the different component types. We cannot identify whether a component is a\n * generator or async without calling it and inspecting the return value.\n *\n * @returns {[block, value]} A tuple where\n * block - A possible promise which represents the duration during which the\n * component is blocked from updating.\n * value - A possible promise resolving to the rendered value of children.\n *\n * Each component type will block according to the type of the component.\n * - Sync function components never block and will transparently pass updates\n * to children.\n * - Async function components and async generator components block while\n * executing itself, but will not block for async children.\n * - Sync generator components block while any children are executing, because\n * they are expected to only resume when they’ve actually rendered.\n */\nfunction runComponent(\n\tctx: ContextImpl,\n\thydrationData?: HydrationData | undefined,\n): [\n\tPromise | undefined,\n\tPromise> | ElementValue,\n] {\n\tconst ret = ctx.ret;\n\tconst initial = !ctx.iterator;\n\tif (initial) {\n\t\tresumePropsAsyncIterator(ctx);\n\t\tctx.f |= IsSyncExecuting;\n\t\tclearEventListeners(ctx);\n\t\tlet result: ReturnType;\n\t\ttry {\n\t\t\tresult = (ret.el.tag as Component).call(\n\t\t\t\tctx.owner,\n\t\t\t\tret.el.props,\n\t\t\t\tctx.owner,\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tctx.f |= IsErrored;\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\n\t\tif (isIteratorLike(result)) {\n\t\t\tctx.iterator = result;\n\t\t} else if (isPromiseLike(result)) {\n\t\t\t// async function component\n\t\t\tconst result1 =\n\t\t\t\tresult instanceof Promise ? result : Promise.resolve(result);\n\t\t\tconst value = result1.then(\n\t\t\t\t(result) =>\n\t\t\t\t\tupdateComponentChildren(ctx, result, hydrationData),\n\t\t\t\t(err) => {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t},\n\t\t\t);\n\t\t\treturn [result1.catch(NOOP), value];\n\t\t} else {\n\t\t\t// sync function component\n\t\t\treturn [\n\t\t\t\tundefined,\n\t\t\t\tupdateComponentChildren(ctx, result, hydrationData),\n\t\t\t];\n\t\t}\n\t} else if (hydrationData !== undefined) {\n\t\t// hydration data should only be passed on the initial render\n\t\tthrow new Error(\"Hydration error\");\n\t}\n\n\tlet iteration!: Promise | ChildrenIteratorResult;\n\tif (initial) {\n\t\ttry {\n\t\t\tctx.f |= IsSyncExecuting;\n\t\t\titeration = ctx.iterator!.next();\n\t\t} catch (err) {\n\t\t\tctx.f |= IsErrored;\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\n\t\tif (isPromiseLike(iteration)) {\n\t\t\tctx.f |= IsAsyncGen;\n\t\t} else {\n\t\t\tctx.f |= IsSyncGen;\n\t\t}\n\t}\n\n\tif (ctx.f & IsSyncGen) {\n\t\t// sync generator component\n\t\tif (!initial) {\n\t\t\ttry {\n\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\titeration = ctx.iterator!.next(ctx.renderer.read(getValue(ret)));\n\t\t\t} catch (err) {\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t}\n\t\t}\n\n\t\tif (isPromiseLike(iteration)) {\n\t\t\tthrow new Error(\"Mixed generator component\");\n\t\t}\n\n\t\tif (\n\t\t\tctx.f & IsInForOfLoop &&\n\t\t\t!(ctx.f & NeedsToYield) &&\n\t\t\t!(ctx.f & IsUnmounted)\n\t\t) {\n\t\t\tconsole.error(\"Component yielded more than once in for...of loop\");\n\t\t}\n\n\t\tctx.f &= ~NeedsToYield;\n\t\tif (iteration.done) {\n\t\t\tctx.f &= ~IsSyncGen;\n\t\t\tctx.iterator = undefined;\n\t\t}\n\n\t\tlet value: Promise> | ElementValue;\n\t\ttry {\n\t\t\tvalue = updateComponentChildren(\n\t\t\t\tctx,\n\t\t\t\t// Children can be void so we eliminate that here\n\t\t\t\titeration.value as Children,\n\t\t\t\thydrationData,\n\t\t\t);\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tvalue = value.catch((err) => handleChildError(ctx, err));\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tvalue = handleChildError(ctx, err);\n\t\t}\n\n\t\tconst block = isPromiseLike(value) ? value.catch(NOOP) : undefined;\n\t\treturn [block, value];\n\t} else {\n\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t// Async generator component using for...of loops behave similar to sync\n\t\t\t// generator components. This allows for easier refactoring of sync to\n\t\t\t// async generator components.\n\t\t\tif (!initial) {\n\t\t\t\ttry {\n\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\titeration = ctx.iterator!.next(ctx.renderer.read(getValue(ret)));\n\t\t\t\t} catch (err) {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t} finally {\n\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!isPromiseLike(iteration)) {\n\t\t\t\tthrow new Error(\"Mixed generator component\");\n\t\t\t}\n\n\t\t\tconst block = iteration.catch(NOOP);\n\t\t\tconst value = iteration.then(\n\t\t\t\t(iteration) => {\n\t\t\t\t\tlet value: Promise> | ElementValue;\n\t\t\t\t\tif (!(ctx.f & IsInForOfLoop)) {\n\t\t\t\t\t\trunAsyncGenComponent(\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\tPromise.resolve(iteration),\n\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!(ctx.f & NeedsToYield) && !(ctx.f & IsUnmounted)) {\n\t\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\t\t\"Component yielded more than once in for...of loop\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tctx.f &= ~NeedsToYield;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tvalue = updateComponentChildren(\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t// Children can be void so we eliminate that here\n\t\t\t\t\t\t\titeration.value as Children,\n\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (isPromiseLike(value)) {\n\t\t\t\t\t\t\tvalue = value.catch((err) => handleChildError(ctx, err));\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tvalue = handleChildError(ctx, err);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn value;\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn [block, value];\n\t\t} else {\n\t\t\trunAsyncGenComponent(\n\t\t\t\tctx,\n\t\t\t\titeration as Promise,\n\t\t\t\thydrationData,\n\t\t\t\tinitial,\n\t\t\t);\n\t\t\treturn [ctx.inflightBlock, ctx.inflightValue];\n\t\t}\n\t}\n}\n\nasync function runAsyncGenComponent(\n\tctx: ContextImpl,\n\titerationP: Promise,\n\thydrationData: HydrationData | undefined,\n\tinitial: boolean = false,\n): Promise {\n\tlet done = false;\n\ttry {\n\t\twhile (!done) {\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// inflightValue must be set synchronously.\n\t\t\tlet onValue!: Function;\n\t\t\tctx.inflightValue = new Promise((resolve) => (onValue = resolve));\n\t\t\tif (ctx.f & IsUpdating) {\n\t\t\t\t// We should not swallow unhandled promise rejections if the component is\n\t\t\t\t// updating independently.\n\t\t\t\t// TODO: Does this handle this.refresh() calls?\n\t\t\t\tctx.inflightValue.catch(NOOP);\n\t\t\t}\n\n\t\t\tlet iteration: ChildrenIteratorResult;\n\t\t\ttry {\n\t\t\t\titeration = await iterationP;\n\t\t\t} catch (err) {\n\t\t\t\tdone = true;\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tonValue(Promise.reject(err));\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (!(ctx.f & IsInForAwaitOfLoop)) {\n\t\t\t\tctx.f &= ~PropsAvailable;\n\t\t\t}\n\n\t\t\tdone = !!iteration.done;\n\t\t\tlet value: Promise> | ElementValue;\n\t\t\ttry {\n\t\t\t\tif (\n\t\t\t\t\t!(ctx.f & NeedsToYield) &&\n\t\t\t\t\tctx.f & PropsAvailable &&\n\t\t\t\t\tctx.f & IsInForAwaitOfLoop &&\n\t\t\t\t\t!initial &&\n\t\t\t\t\t!done\n\t\t\t\t) {\n\t\t\t\t\t// We skip stale iterations in for await...of loops.\n\t\t\t\t\tvalue = ctx.ret.inflightValue || getValue(ctx.ret);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = updateComponentChildren(\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\titeration.value!,\n\t\t\t\t\t\thydrationData,\n\t\t\t\t\t);\n\t\t\t\t\thydrationData = undefined;\n\t\t\t\t\tif (isPromiseLike(value)) {\n\t\t\t\t\t\tvalue = value.catch((err: any) => handleChildError(ctx, err));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tctx.f &= ~NeedsToYield;\n\t\t\t} catch (err) {\n\t\t\t\t// Do we need to catch potential errors here in the case of unhandled\n\t\t\t\t// promise rejections?\n\t\t\t\tvalue = handleChildError(ctx, err);\n\t\t\t} finally {\n\t\t\t\tonValue(value);\n\t\t\t}\n\n\t\t\tlet oldResult: Promise | TResult;\n\t\t\tif (ctx.ret.inflightValue) {\n\t\t\t\t// The value passed back into the generator as the argument to the next\n\t\t\t\t// method is a promise if an async generator component has async\n\t\t\t\t// children. Sync generator components only resume when their children\n\t\t\t\t// have fulfilled so the element’s inflight child values will never be\n\t\t\t\t// defined.\n\t\t\t\toldResult = ctx.ret.inflightValue.then((value) =>\n\t\t\t\t\tctx.renderer.read(value),\n\t\t\t\t);\n\n\t\t\t\toldResult.catch((err) => {\n\t\t\t\t\tif (ctx.f & IsUpdating) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\toldResult = ctx.renderer.read(getValue(ctx.ret));\n\t\t\t}\n\n\t\t\tif (ctx.f & IsUnmounted) {\n\t\t\t\tif (ctx.f & IsInForAwaitOfLoop) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\t\titerationP = ctx.iterator!.next(\n\t\t\t\t\t\t\toldResult,\n\t\t\t\t\t\t) as Promise;\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (!done && !(ctx.f & IsInForOfLoop)) {\n\t\t\t\ttry {\n\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\titerationP = ctx.iterator!.next(\n\t\t\t\t\t\toldResult,\n\t\t\t\t\t) as Promise;\n\t\t\t\t} finally {\n\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tinitial = false;\n\t\t}\n\t} finally {\n\t\tif (done) {\n\t\t\tctx.f &= ~IsAsyncGen;\n\t\t\tctx.iterator = undefined;\n\t\t}\n\t}\n}\n\n/**\n * Called to resume the props async iterator for async generator components.\n */\nfunction resumePropsAsyncIterator(ctx: ContextImpl): void {\n\tif (ctx.onProps) {\n\t\tctx.onProps(ctx.ret.el.props);\n\t\tctx.onProps = undefined;\n\t\tctx.f &= ~PropsAvailable;\n\t} else {\n\t\tctx.f |= PropsAvailable;\n\t}\n}\n\n// TODO: async unmounting\nfunction unmountComponent(ctx: ContextImpl): void {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t}\n\n\tclearEventListeners(ctx);\n\n\tconst callbacks = cleanupMap.get(ctx);\n\tif (callbacks) {\n\t\tcleanupMap.delete(ctx);\n\t\tconst value = ctx.renderer.read(getValue(ctx.ret));\n\t\tfor (const callback of callbacks) {\n\t\t\tcallback(value);\n\t\t}\n\t}\n\n\tctx.f |= IsUnmounted;\n\tif (ctx.iterator) {\n\t\tif (ctx.f & IsSyncGen) {\n\t\t\tlet value: unknown;\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tvalue = enqueueComponentRun(ctx);\n\t\t\t}\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tvalue.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t(err) => {\n\t\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t} else {\n\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (ctx.f & IsAsyncGen) {\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tconst value = enqueueComponentRun(ctx) as Promise;\n\t\t\t\tvalue.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t(err) => {\n\t\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// The logic for unmounting async generator components is in the\n\t\t\t\t// runAsyncGenComponent function.\n\t\t\t\tresumePropsAsyncIterator(ctx);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction returnComponent(ctx: ContextImpl): void {\n\tresumePropsAsyncIterator(ctx);\n\tif (ctx.iterator && typeof ctx.iterator!.return === \"function\") {\n\t\ttry {\n\t\t\tctx.f |= IsSyncExecuting;\n\t\t\tconst iteration = ctx.iterator!.return();\n\t\t\tif (isPromiseLike(iteration)) {\n\t\t\t\titeration.catch((err) => {\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t});\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\t}\n}\n\n/*** EVENT TARGET UTILITIES ***/\n// EVENT PHASE CONSTANTS\n// https://developer.mozilla.org/en-US/docs/Web/API/Event/eventPhase\nconst NONE = 0;\nconst CAPTURING_PHASE = 1;\nconst AT_TARGET = 2;\nconst BUBBLING_PHASE = 3;\n\nconst listenersMap = new WeakMap>();\n/**\n * A map of event type strings to Event subclasses. Can be extended via\n * TypeScript module augmentation to have strongly typed event listeners.\n */\nexport interface EventMap extends Crank.EventMap {\n\t[type: string]: Event;\n}\n\ntype MappedEventListener = (ev: EventMap[T]) => unknown;\n\ntype MappedEventListenerOrEventListenerObject =\n\t| MappedEventListener\n\t| {handleEvent: MappedEventListener};\n\nfunction isListenerOrListenerObject(\n\tvalue: unknown,\n): value is MappedEventListenerOrEventListenerObject {\n\treturn (\n\t\ttypeof value === \"function\" ||\n\t\t(value !== null &&\n\t\t\ttypeof value === \"object\" &&\n\t\t\ttypeof (value as any).handleEvent === \"function\")\n\t);\n}\n\ninterface EventListenerRecord {\n\ttype: string;\n\t// listener is the original value passed to addEventListener, callback is the\n\t// transformed function\n\tlistener: MappedEventListenerOrEventListenerObject;\n\tcallback: MappedEventListener;\n\toptions: AddEventListenerOptions;\n}\n\nfunction normalizeListenerOptions(\n\toptions: AddEventListenerOptions | boolean | null | undefined,\n): AddEventListenerOptions {\n\tif (typeof options === \"boolean\") {\n\t\treturn {capture: options};\n\t} else if (options == null) {\n\t\treturn {};\n\t}\n\n\treturn options;\n}\n\nfunction isEventTarget(value: any): value is EventTarget {\n\treturn (\n\t\tvalue != null &&\n\t\ttypeof value.addEventListener === \"function\" &&\n\t\ttypeof value.removeEventListener === \"function\" &&\n\t\ttypeof value.dispatchEvent === \"function\"\n\t);\n}\n\nfunction setEventProperty(\n\tev: Event,\n\tkey: T,\n\tvalue: Event[T],\n): void {\n\tObject.defineProperty(ev, key, {value, writable: false, configurable: true});\n}\n\n// TODO: Maybe we can pass in the current context directly, rather than\n// starting from the parent?\n/**\n * A function to reconstruct an array of every listener given a context and a\n * host element.\n *\n * This function exploits the fact that contexts retain their nearest ancestor\n * host element. We can determine all the contexts which are directly listening\n * to an element by traversing up the context tree and checking that the host\n * element passed in matches the parent context’s host element.\n */\nfunction getListenerRecords(\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n): Array {\n\tlet listeners: Array = [];\n\twhile (ctx !== undefined && ctx.host === ret) {\n\t\tconst listeners1 = listenersMap.get(ctx);\n\t\tif (listeners1) {\n\t\t\tlisteners = listeners.concat(listeners1);\n\t\t}\n\n\t\tctx = ctx.parent;\n\t}\n\n\treturn listeners;\n}\n\nfunction clearEventListeners(ctx: ContextImpl): void {\n\tconst listeners = listenersMap.get(ctx);\n\tif (listeners && listeners.length) {\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\tvalue.removeEventListener(\n\t\t\t\t\t\trecord.type,\n\t\t\t\t\t\trecord.callback,\n\t\t\t\t\t\trecord.options,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlisteners.length = 0;\n\t}\n}\n\n/*** ERROR HANDLING UTILITIES ***/\nfunction handleChildError(\n\tctx: ContextImpl,\n\terr: unknown,\n): Promise> | ElementValue {\n\tif (!ctx.iterator || typeof ctx.iterator.throw !== \"function\") {\n\t\tthrow err;\n\t}\n\n\tresumePropsAsyncIterator(ctx);\n\tlet iteration: ChildrenIteratorResult | Promise;\n\ttry {\n\t\tctx.f |= IsSyncExecuting;\n\t\titeration = ctx.iterator.throw(err);\n\t} catch (err) {\n\t\tctx.f |= IsErrored;\n\t\tthrow err;\n\t} finally {\n\t\tctx.f &= ~IsSyncExecuting;\n\t}\n\n\tif (isPromiseLike(iteration)) {\n\t\treturn iteration.then(\n\t\t\t(iteration) => {\n\t\t\t\tif (iteration.done) {\n\t\t\t\t\tctx.f &= ~IsAsyncGen;\n\t\t\t\t\tctx.iterator = undefined;\n\t\t\t\t}\n\n\t\t\t\treturn updateComponentChildren(ctx, iteration.value as Children);\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tthrow err;\n\t\t\t},\n\t\t);\n\t}\n\n\tif (iteration.done) {\n\t\tctx.f &= ~IsSyncGen;\n\t\tctx.f &= ~IsAsyncGen;\n\t\tctx.iterator = undefined;\n\t}\n\n\treturn updateComponentChildren(ctx, iteration.value as Children);\n}\n\nfunction propagateError(\n\tctx: ContextImpl,\n\terr: unknown,\n): Promise> | ElementValue {\n\tlet result: Promise> | ElementValue;\n\ttry {\n\t\tresult = handleChildError(ctx, err);\n\t} catch (err) {\n\t\tif (!ctx.parent) {\n\t\t\tthrow err;\n\t\t}\n\n\t\treturn propagateError(ctx.parent, err);\n\t}\n\n\tif (isPromiseLike(result)) {\n\t\treturn result.catch((err) => {\n\t\t\tif (!ctx.parent) {\n\t\t\t\tthrow err;\n\t\t\t}\n\n\t\t\treturn propagateError(ctx.parent, err);\n\t\t});\n\t}\n\n\treturn result;\n}\n\n// TODO: uncomment and use in the Element interface below\n// type CrankElement = Element;\ndeclare global {\n\tnamespace Crank {\n\t\texport interface EventMap {}\n\n\t\texport interface ProvisionMap {}\n\n\t\texport interface Context {}\n\t}\n\n\tnamespace JSX {\n\t\t// TODO: JSX Element type (the result of JSX expressions) don’t work\n\t\t// because TypeScript demands that all Components return JSX elements for\n\t\t// some reason.\n\t\t// interface Element extends CrankElement {}\n\n\t\texport interface IntrinsicElements {\n\t\t\t[tag: string]: any;\n\t\t}\n\n\t\texport interface IntrinsicAttributes {\n\t\t\tchildren?: unknown;\n\t\t\tkey?: unknown;\n\t\t\tref?: unknown;\n\t\t\t[\"static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-key\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-ref\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-key\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-ref\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$key?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$ref?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$static?: unknown;\n\t\t}\n\n\t\texport interface ElementChildrenAttribute {\n\t\t\tchildren: {};\n\t\t}\n\t}\n}\n\n// Some JSX transpilation tools expect these functions to be defined on the\n// default export. Prefer named exports when importing directly.\nexport default {createElement, Fragment};\n", "import {Portal, Renderer} from \"./crank.js\";\nimport type {ElementValue, RendererImpl} from \"./crank.js\";\n\nconst voidTags = new Set([\n\t\"area\",\n\t\"base\",\n\t\"br\",\n\t\"col\",\n\t\"command\",\n\t\"embed\",\n\t\"hr\",\n\t\"img\",\n\t\"input\",\n\t\"keygen\",\n\t\"link\",\n\t\"meta\",\n\t\"param\",\n\t\"source\",\n\t\"track\",\n\t\"wbr\",\n]);\n\nfunction escape(text: string): string {\n\treturn text.replace(/[&<>\"']/g, (match) => {\n\t\tswitch (match) {\n\t\t\tcase \"&\":\n\t\t\t\treturn \"&\";\n\t\t\tcase \"<\":\n\t\t\t\treturn \"<\";\n\t\t\tcase \">\":\n\t\t\t\treturn \">\";\n\t\t\tcase '\"':\n\t\t\t\treturn \""\";\n\t\t\tcase \"'\":\n\t\t\t\treturn \"'\";\n\t\t\tdefault:\n\t\t\t\treturn \"\";\n\t\t}\n\t});\n}\n\nfunction printStyleObject(style: Record): string {\n\tconst cssStrings = [];\n\tfor (const [name, value] of Object.entries(style)) {\n\t\tif (value != null) {\n\t\t\tcssStrings.push(`${name}:${value};`);\n\t\t}\n\t}\n\n\treturn cssStrings.join(\"\");\n}\n\nfunction printAttrs(props: Record): string {\n\tconst attrs: string[] = [];\n\tfor (const [name, value] of Object.entries(props)) {\n\t\tswitch (true) {\n\t\t\tcase name === \"children\":\n\t\t\tcase name === \"innerHTML\":\n\t\t\tcase name === \"key\":\n\t\t\tcase name === \"ref\":\n\t\t\tcase name === \"static\":\n\t\t\tcase name === \"crank-key\":\n\t\t\tcase name === \"crank-ref\":\n\t\t\tcase name === \"crank-static\":\n\t\t\tcase name === \"c-key\":\n\t\t\tcase name === \"c-ref\":\n\t\t\tcase name === \"c-static\":\n\t\t\tcase name === \"$key\":\n\t\t\tcase name === \"$ref\":\n\t\t\tcase name === \"$static\":\n\t\t\t\t// TODO: Remove deprecated special props\n\t\t\t\tbreak;\n\t\t\tcase name === \"style\": {\n\t\t\t\tif (typeof value === \"string\") {\n\t\t\t\t\tattrs.push(`style=\"${escape(value)}\"`);\n\t\t\t\t} else if (typeof value === \"object\") {\n\t\t\t\t\tattrs.push(`style=\"${escape(printStyleObject(value))}\"`);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase name === \"className\": {\n\t\t\t\tif (\"class\" in props || typeof value !== \"string\") {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tattrs.push(`class=\"${escape(value)}\"`);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase typeof value === \"string\":\n\t\t\t\tattrs.push(`${escape(name)}=\"${escape(value)}\"`);\n\t\t\t\tbreak;\n\t\t\tcase typeof value === \"number\":\n\t\t\t\tattrs.push(`${escape(name)}=\"${value}\"`);\n\t\t\t\tbreak;\n\t\t\tcase value === true:\n\t\t\t\tattrs.push(`${escape(name)}`);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn attrs.join(\" \");\n}\n\ninterface Node {\n\tvalue: string;\n}\n\nfunction join(children: Array): string {\n\tlet result = \"\";\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tresult += typeof child === \"string\" ? child : child.value;\n\t}\n\n\treturn result;\n}\n\nexport const impl: Partial> = {\n\tcreate(): Node {\n\t\treturn {value: \"\"};\n\t},\n\n\ttext(text: string): string {\n\t\treturn escape(text);\n\t},\n\n\tread(value: ElementValue): string {\n\t\tif (Array.isArray(value)) {\n\t\t\treturn join(value);\n\t\t} else if (typeof value === \"undefined\") {\n\t\t\treturn \"\";\n\t\t} else if (typeof value === \"string\") {\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn value.value;\n\t\t}\n\t},\n\n\tarrange(\n\t\ttag: string | symbol,\n\t\tnode: Node,\n\t\tprops: Record,\n\t\tchildren: Array,\n\t): void {\n\t\tif (tag === Portal) {\n\t\t\treturn;\n\t\t} else if (typeof tag !== \"string\") {\n\t\t\tthrow new Error(`Unknown tag: ${tag.toString()}`);\n\t\t}\n\n\t\tconst attrs = printAttrs(props);\n\t\tconst open = `<${tag}${attrs.length ? \" \" : \"\"}${attrs}>`;\n\t\tlet result: string;\n\t\tif (voidTags.has(tag)) {\n\t\t\tresult = open;\n\t\t} else {\n\t\t\tconst close = ``;\n\t\t\tconst contents =\n\t\t\t\t\"innerHTML\" in props ? props[\"innerHTML\"] : join(children);\n\t\t\tresult = `${open}${contents}${close}`;\n\t\t}\n\n\t\tnode.value = result;\n\t},\n};\n\nexport class HTMLRenderer extends Renderer {\n\tconstructor() {\n\t\tsuper(impl);\n\t}\n}\n\nexport const renderer = new HTMLRenderer();\n\ndeclare global {\n\tmodule Crank {\n\t\tinterface EventMap extends GlobalEventHandlersEventMap {}\n\t}\n}\n"], + "mappings": "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", + "names": ["e", "fill", "compare", "i", "byteLength", "impl", "childValues", "renderer", "copy", "value", "record", "result", "iteration", "err"] +} diff --git a/static/jsx-runtime-TBBD57QJ.js b/static/jsx-runtime-TBBD57QJ.js new file mode 100644 index 00000000..b737759e --- /dev/null +++ b/static/jsx-runtime-TBBD57QJ.js @@ -0,0 +1,1930 @@ +// node_modules/@esbuild-plugins/node-globals-polyfill/process.js +function defaultSetTimout() { + throw new Error("setTimeout has not been defined"); +} +function defaultClearTimeout() { + throw new Error("clearTimeout has not been defined"); +} +var cachedSetTimeout = defaultSetTimout; +var cachedClearTimeout = defaultClearTimeout; +if (typeof globalThis.setTimeout === "function") { + cachedSetTimeout = setTimeout; +} +if (typeof globalThis.clearTimeout === "function") { + cachedClearTimeout = clearTimeout; +} +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + return setTimeout(fun, 0); + } + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + return cachedSetTimeout(fun, 0); + } catch (e) { + try { + return cachedSetTimeout.call(null, fun, 0); + } catch (e2) { + return cachedSetTimeout.call(this, fun, 0); + } + } +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + return clearTimeout(marker); + } + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + return cachedClearTimeout(marker); + } catch (e) { + try { + return cachedClearTimeout.call(null, marker); + } catch (e2) { + return cachedClearTimeout.call(this, marker); + } + } +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + var len = queue.length; + while (len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} +function nextTick(fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +} +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function() { + this.fun.apply(null, this.array); +}; +var title = "browser"; +var platform = "browser"; +var browser = true; +var env = {}; +var argv = []; +var version = ""; +var versions = {}; +var release = {}; +var config = {}; +function noop() { +} +var on = noop; +var addListener = noop; +var once = noop; +var off = noop; +var removeListener = noop; +var removeAllListeners = noop; +var emit = noop; +function binding(name) { + throw new Error("process.binding is not supported"); +} +function cwd() { + return "/"; +} +function chdir(dir) { + throw new Error("process.chdir is not supported"); +} +function umask() { + return 0; +} +var performance = globalThis.performance || {}; +var performanceNow = performance.now || performance.mozNow || performance.msNow || performance.oNow || performance.webkitNow || function() { + return (/* @__PURE__ */ new Date()).getTime(); +}; +function hrtime(previousTimestamp) { + var clocktime = performanceNow.call(performance) * 1e-3; + var seconds = Math.floor(clocktime); + var nanoseconds = Math.floor(clocktime % 1 * 1e9); + if (previousTimestamp) { + seconds = seconds - previousTimestamp[0]; + nanoseconds = nanoseconds - previousTimestamp[1]; + if (nanoseconds < 0) { + seconds--; + nanoseconds += 1e9; + } + } + return [seconds, nanoseconds]; +} +var startTime = /* @__PURE__ */ new Date(); +function uptime() { + var currentTime = /* @__PURE__ */ new Date(); + var dif = currentTime - startTime; + return dif / 1e3; +} +var process = { + nextTick, + title, + browser, + env, + argv, + version, + versions, + on, + addListener, + once, + off, + removeListener, + removeAllListeners, + emit, + binding, + cwd, + chdir, + umask, + hrtime, + platform, + release, + config, + uptime +}; +var defines = {}; +Object.keys(defines).forEach((key) => { + const segs = key.split("."); + let target = process; + for (let i = 0; i < segs.length; i++) { + const seg = segs[i]; + if (i === segs.length - 1) { + target[seg] = defines[key]; + } else { + target = target[seg] || (target[seg] = {}); + } + } +}); + +// node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js +var lookup = []; +var revLookup = []; +var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array; +var inited = false; +function init() { + inited = true; + var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i]; + revLookup[code.charCodeAt(i)] = i; + } + revLookup["-".charCodeAt(0)] = 62; + revLookup["_".charCodeAt(0)] = 63; +} +function base64toByteArray(b64) { + if (!inited) { + init(); + } + var i, j, l, tmp, placeHolders, arr; + var len = b64.length; + if (len % 4 > 0) { + throw new Error("Invalid string. Length must be a multiple of 4"); + } + placeHolders = b64[len - 2] === "=" ? 2 : b64[len - 1] === "=" ? 1 : 0; + arr = new Arr(len * 3 / 4 - placeHolders); + l = placeHolders > 0 ? len - 4 : len; + var L = 0; + for (i = 0, j = 0; i < l; i += 4, j += 3) { + tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)]; + arr[L++] = tmp >> 16 & 255; + arr[L++] = tmp >> 8 & 255; + arr[L++] = tmp & 255; + } + if (placeHolders === 2) { + tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4; + arr[L++] = tmp & 255; + } else if (placeHolders === 1) { + tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2; + arr[L++] = tmp >> 8 & 255; + arr[L++] = tmp & 255; + } + return arr; +} +function tripletToBase64(num) { + return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63]; +} +function encodeChunk(uint8, start, end) { + var tmp; + var output = []; + for (var i = start; i < end; i += 3) { + tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2]; + output.push(tripletToBase64(tmp)); + } + return output.join(""); +} +function base64fromByteArray(uint8) { + if (!inited) { + init(); + } + var tmp; + var len = uint8.length; + var extraBytes = len % 3; + var output = ""; + var parts = []; + var maxChunkLength = 16383; + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push( + encodeChunk( + uint8, + i, + i + maxChunkLength > len2 ? len2 : i + maxChunkLength + ) + ); + } + if (extraBytes === 1) { + tmp = uint8[len - 1]; + output += lookup[tmp >> 2]; + output += lookup[tmp << 4 & 63]; + output += "=="; + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1]; + output += lookup[tmp >> 10]; + output += lookup[tmp >> 4 & 63]; + output += lookup[tmp << 2 & 63]; + output += "="; + } + parts.push(output); + return parts.join(""); +} +Buffer.TYPED_ARRAY_SUPPORT = globalThis.TYPED_ARRAY_SUPPORT !== void 0 ? globalThis.TYPED_ARRAY_SUPPORT : true; +function kMaxLength() { + return Buffer.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823; +} +function createBuffer(that, length) { + if (kMaxLength() < length) { + throw new RangeError("Invalid typed array length"); + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + that = new Uint8Array(length); + that.__proto__ = Buffer.prototype; + } else { + if (that === null) { + that = new Buffer(length); + } + that.length = length; + } + return that; +} +function Buffer(arg, encodingOrOffset, length) { + if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { + return new Buffer(arg, encodingOrOffset, length); + } + if (typeof arg === "number") { + if (typeof encodingOrOffset === "string") { + throw new Error( + "If encoding is specified then the first argument must be a string" + ); + } + return allocUnsafe(this, arg); + } + return from(this, arg, encodingOrOffset, length); +} +Buffer.poolSize = 8192; +Buffer._augment = function(arr) { + arr.__proto__ = Buffer.prototype; + return arr; +}; +function from(that, value, encodingOrOffset, length) { + if (typeof value === "number") { + throw new TypeError('"value" argument must not be a number'); + } + if (typeof ArrayBuffer !== "undefined" && value instanceof ArrayBuffer) { + return fromArrayBuffer(that, value, encodingOrOffset, length); + } + if (typeof value === "string") { + return fromString(that, value, encodingOrOffset); + } + return fromObject(that, value); +} +Buffer.from = function(value, encodingOrOffset, length) { + return from(null, value, encodingOrOffset, length); +}; +Buffer.kMaxLength = kMaxLength(); +if (Buffer.TYPED_ARRAY_SUPPORT) { + Buffer.prototype.__proto__ = Uint8Array.prototype; + Buffer.__proto__ = Uint8Array; + if (typeof Symbol !== "undefined" && Symbol.species && Buffer[Symbol.species] === Buffer) { + } +} +function assertSize(size) { + if (typeof size !== "number") { + throw new TypeError('"size" argument must be a number'); + } else if (size < 0) { + throw new RangeError('"size" argument must not be negative'); + } +} +function alloc(that, size, fill2, encoding) { + assertSize(size); + if (size <= 0) { + return createBuffer(that, size); + } + if (fill2 !== void 0) { + return typeof encoding === "string" ? createBuffer(that, size).fill(fill2, encoding) : createBuffer(that, size).fill(fill2); + } + return createBuffer(that, size); +} +Buffer.alloc = function(size, fill2, encoding) { + return alloc(null, size, fill2, encoding); +}; +function allocUnsafe(that, size) { + assertSize(size); + that = createBuffer(that, size < 0 ? 0 : checked(size) | 0); + if (!Buffer.TYPED_ARRAY_SUPPORT) { + for (var i = 0; i < size; ++i) { + that[i] = 0; + } + } + return that; +} +Buffer.allocUnsafe = function(size) { + return allocUnsafe(null, size); +}; +Buffer.allocUnsafeSlow = function(size) { + return allocUnsafe(null, size); +}; +function fromString(that, string, encoding) { + if (typeof encoding !== "string" || encoding === "") { + encoding = "utf8"; + } + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding'); + } + var length = byteLength(string, encoding) | 0; + that = createBuffer(that, length); + var actual = that.write(string, encoding); + if (actual !== length) { + that = that.slice(0, actual); + } + return that; +} +function fromArrayLike(that, array) { + var length = array.length < 0 ? 0 : checked(array.length) | 0; + that = createBuffer(that, length); + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255; + } + return that; +} +function fromArrayBuffer(that, array, byteOffset, length) { + array.byteLength; + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError("'offset' is out of bounds"); + } + if (array.byteLength < byteOffset + (length || 0)) { + throw new RangeError("'length' is out of bounds"); + } + if (byteOffset === void 0 && length === void 0) { + array = new Uint8Array(array); + } else if (length === void 0) { + array = new Uint8Array(array, byteOffset); + } else { + array = new Uint8Array(array, byteOffset, length); + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + that = array; + that.__proto__ = Buffer.prototype; + } else { + that = fromArrayLike(that, array); + } + return that; +} +function fromObject(that, obj) { + if (internalIsBuffer(obj)) { + var len = checked(obj.length) | 0; + that = createBuffer(that, len); + if (that.length === 0) { + return that; + } + obj.copy(that, 0, 0, len); + return that; + } + if (obj) { + if (typeof ArrayBuffer !== "undefined" && obj.buffer instanceof ArrayBuffer || "length" in obj) { + if (typeof obj.length !== "number" || isnan(obj.length)) { + return createBuffer(that, 0); + } + return fromArrayLike(that, obj); + } + if (obj.type === "Buffer" && Array.isArray(obj.data)) { + return fromArrayLike(that, obj.data); + } + } + throw new TypeError( + "First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object." + ); +} +function checked(length) { + if (length >= kMaxLength()) { + throw new RangeError( + "Attempt to allocate Buffer larger than maximum size: 0x" + kMaxLength().toString(16) + " bytes" + ); + } + return length | 0; +} +Buffer.isBuffer = isBuffer; +function internalIsBuffer(b) { + return !!(b != null && b._isBuffer); +} +Buffer.compare = function compare(a, b) { + if (!internalIsBuffer(a) || !internalIsBuffer(b)) { + throw new TypeError("Arguments must be Buffers"); + } + if (a === b) + return 0; + var x = a.length; + var y = b.length; + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i]; + y = b[i]; + break; + } + } + if (x < y) + return -1; + if (y < x) + return 1; + return 0; +}; +Buffer.isEncoding = function isEncoding(encoding) { + switch (String(encoding).toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "latin1": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return true; + default: + return false; + } +}; +Buffer.concat = function concat(list, length) { + if (!Array.isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + if (list.length === 0) { + return Buffer.alloc(0); + } + var i; + if (length === void 0) { + length = 0; + for (i = 0; i < list.length; ++i) { + length += list[i].length; + } + } + var buffer = Buffer.allocUnsafe(length); + var pos = 0; + for (i = 0; i < list.length; ++i) { + var buf = list[i]; + if (!internalIsBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + buf.copy(buffer, pos); + pos += buf.length; + } + return buffer; +}; +function byteLength(string, encoding) { + if (internalIsBuffer(string)) { + return string.length; + } + if (typeof ArrayBuffer !== "undefined" && typeof ArrayBuffer.isView === "function" && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { + return string.byteLength; + } + if (typeof string !== "string") { + string = "" + string; + } + var len = string.length; + if (len === 0) + return 0; + var loweredCase = false; + for (; ; ) { + switch (encoding) { + case "ascii": + case "latin1": + case "binary": + return len; + case "utf8": + case "utf-8": + case void 0: + return utf8ToBytes(string).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return len * 2; + case "hex": + return len >>> 1; + case "base64": + return base64ToBytes(string).length; + default: + if (loweredCase) + return utf8ToBytes(string).length; + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } +} +Buffer.byteLength = byteLength; +function slowToString(encoding, start, end) { + var loweredCase = false; + if (start === void 0 || start < 0) { + start = 0; + } + if (start > this.length) { + return ""; + } + if (end === void 0 || end > this.length) { + end = this.length; + } + if (end <= 0) { + return ""; + } + end >>>= 0; + start >>>= 0; + if (end <= start) { + return ""; + } + if (!encoding) + encoding = "utf8"; + while (true) { + switch (encoding) { + case "hex": + return hexSlice(this, start, end); + case "utf8": + case "utf-8": + return utf8Slice(this, start, end); + case "ascii": + return asciiSlice(this, start, end); + case "latin1": + case "binary": + return latin1Slice(this, start, end); + case "base64": + return base64Slice(this, start, end); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return utf16leSlice(this, start, end); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = (encoding + "").toLowerCase(); + loweredCase = true; + } + } +} +Buffer.prototype._isBuffer = true; +function swap(b, n, m) { + var i = b[n]; + b[n] = b[m]; + b[m] = i; +} +Buffer.prototype.swap16 = function swap16() { + var len = this.length; + if (len % 2 !== 0) { + throw new RangeError("Buffer size must be a multiple of 16-bits"); + } + for (var i = 0; i < len; i += 2) { + swap(this, i, i + 1); + } + return this; +}; +Buffer.prototype.swap32 = function swap32() { + var len = this.length; + if (len % 4 !== 0) { + throw new RangeError("Buffer size must be a multiple of 32-bits"); + } + for (var i = 0; i < len; i += 4) { + swap(this, i, i + 3); + swap(this, i + 1, i + 2); + } + return this; +}; +Buffer.prototype.swap64 = function swap64() { + var len = this.length; + if (len % 8 !== 0) { + throw new RangeError("Buffer size must be a multiple of 64-bits"); + } + for (var i = 0; i < len; i += 8) { + swap(this, i, i + 7); + swap(this, i + 1, i + 6); + swap(this, i + 2, i + 5); + swap(this, i + 3, i + 4); + } + return this; +}; +Buffer.prototype.toString = function toString() { + var length = this.length | 0; + if (length === 0) + return ""; + if (arguments.length === 0) + return utf8Slice(this, 0, length); + return slowToString.apply(this, arguments); +}; +Buffer.prototype.equals = function equals(b) { + if (!internalIsBuffer(b)) + throw new TypeError("Argument must be a Buffer"); + if (this === b) + return true; + return Buffer.compare(this, b) === 0; +}; +Buffer.prototype.compare = function compare2(target, start, end, thisStart, thisEnd) { + if (!internalIsBuffer(target)) { + throw new TypeError("Argument must be a Buffer"); + } + if (start === void 0) { + start = 0; + } + if (end === void 0) { + end = target ? target.length : 0; + } + if (thisStart === void 0) { + thisStart = 0; + } + if (thisEnd === void 0) { + thisEnd = this.length; + } + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError("out of range index"); + } + if (thisStart >= thisEnd && start >= end) { + return 0; + } + if (thisStart >= thisEnd) { + return -1; + } + if (start >= end) { + return 1; + } + start >>>= 0; + end >>>= 0; + thisStart >>>= 0; + thisEnd >>>= 0; + if (this === target) + return 0; + var x = thisEnd - thisStart; + var y = end - start; + var len = Math.min(x, y); + var thisCopy = this.slice(thisStart, thisEnd); + var targetCopy = target.slice(start, end); + for (var i = 0; i < len; ++i) { + if (thisCopy[i] !== targetCopy[i]) { + x = thisCopy[i]; + y = targetCopy[i]; + break; + } + } + if (x < y) + return -1; + if (y < x) + return 1; + return 0; +}; +function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { + if (buffer.length === 0) + return -1; + if (typeof byteOffset === "string") { + encoding = byteOffset; + byteOffset = 0; + } else if (byteOffset > 2147483647) { + byteOffset = 2147483647; + } else if (byteOffset < -2147483648) { + byteOffset = -2147483648; + } + byteOffset = +byteOffset; + if (isNaN(byteOffset)) { + byteOffset = dir ? 0 : buffer.length - 1; + } + if (byteOffset < 0) + byteOffset = buffer.length + byteOffset; + if (byteOffset >= buffer.length) { + if (dir) + return -1; + else + byteOffset = buffer.length - 1; + } else if (byteOffset < 0) { + if (dir) + byteOffset = 0; + else + return -1; + } + if (typeof val === "string") { + val = Buffer.from(val, encoding); + } + if (internalIsBuffer(val)) { + if (val.length === 0) { + return -1; + } + return arrayIndexOf(buffer, val, byteOffset, encoding, dir); + } else if (typeof val === "number") { + val = val & 255; + if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === "function") { + if (dir) { + return Uint8Array.prototype.indexOf.call( + buffer, + val, + byteOffset + ); + } else { + return Uint8Array.prototype.lastIndexOf.call( + buffer, + val, + byteOffset + ); + } + } + return arrayIndexOf(buffer, [val], byteOffset, encoding, dir); + } + throw new TypeError("val must be string, number or Buffer"); +} +function arrayIndexOf(arr, val, byteOffset, encoding, dir) { + var indexSize = 1; + var arrLength = arr.length; + var valLength = val.length; + if (encoding !== void 0) { + encoding = String(encoding).toLowerCase(); + if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") { + if (arr.length < 2 || val.length < 2) { + return -1; + } + indexSize = 2; + arrLength /= 2; + valLength /= 2; + byteOffset /= 2; + } + } + function read(buf, i2) { + if (indexSize === 1) { + return buf[i2]; + } else { + return buf.readUInt16BE(i2 * indexSize); + } + } + var i; + if (dir) { + var foundIndex = -1; + for (i = byteOffset; i < arrLength; i++) { + if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { + if (foundIndex === -1) + foundIndex = i; + if (i - foundIndex + 1 === valLength) + return foundIndex * indexSize; + } else { + if (foundIndex !== -1) + i -= i - foundIndex; + foundIndex = -1; + } + } + } else { + if (byteOffset + valLength > arrLength) + byteOffset = arrLength - valLength; + for (i = byteOffset; i >= 0; i--) { + var found = true; + for (var j = 0; j < valLength; j++) { + if (read(arr, i + j) !== read(val, j)) { + found = false; + break; + } + } + if (found) + return i; + } + } + return -1; +} +Buffer.prototype.includes = function includes(val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1; +}; +Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true); +}; +Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false); +}; +function hexWrite(buf, string, offset, length) { + offset = Number(offset) || 0; + var remaining = buf.length - offset; + if (!length) { + length = remaining; + } else { + length = Number(length); + if (length > remaining) { + length = remaining; + } + } + var strLen = string.length; + if (strLen % 2 !== 0) + throw new TypeError("Invalid hex string"); + if (length > strLen / 2) { + length = strLen / 2; + } + for (var i = 0; i < length; ++i) { + var parsed = parseInt(string.substr(i * 2, 2), 16); + if (isNaN(parsed)) + return i; + buf[offset + i] = parsed; + } + return i; +} +function utf8Write(buf, string, offset, length) { + return blitBuffer( + utf8ToBytes(string, buf.length - offset), + buf, + offset, + length + ); +} +function asciiWrite(buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length); +} +function latin1Write(buf, string, offset, length) { + return asciiWrite(buf, string, offset, length); +} +function base64Write(buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length); +} +function ucs2Write(buf, string, offset, length) { + return blitBuffer( + utf16leToBytes(string, buf.length - offset), + buf, + offset, + length + ); +} +Buffer.prototype.write = function write(string, offset, length, encoding) { + if (offset === void 0) { + encoding = "utf8"; + length = this.length; + offset = 0; + } else if (length === void 0 && typeof offset === "string") { + encoding = offset; + length = this.length; + offset = 0; + } else if (isFinite(offset)) { + offset = offset | 0; + if (isFinite(length)) { + length = length | 0; + if (encoding === void 0) + encoding = "utf8"; + } else { + encoding = length; + length = void 0; + } + } else { + throw new Error( + "Buffer.write(string, encoding, offset[, length]) is no longer supported" + ); + } + var remaining = this.length - offset; + if (length === void 0 || length > remaining) + length = remaining; + if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) { + throw new RangeError("Attempt to write outside buffer bounds"); + } + if (!encoding) + encoding = "utf8"; + var loweredCase = false; + for (; ; ) { + switch (encoding) { + case "hex": + return hexWrite(this, string, offset, length); + case "utf8": + case "utf-8": + return utf8Write(this, string, offset, length); + case "ascii": + return asciiWrite(this, string, offset, length); + case "latin1": + case "binary": + return latin1Write(this, string, offset, length); + case "base64": + return base64Write(this, string, offset, length); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return ucs2Write(this, string, offset, length); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } +}; +Buffer.prototype.toJSON = function toJSON() { + return { + type: "Buffer", + data: Array.prototype.slice.call(this._arr || this, 0) + }; +}; +function base64Slice(buf, start, end) { + if (start === 0 && end === buf.length) { + return base64fromByteArray(buf); + } else { + return base64fromByteArray(buf.slice(start, end)); + } +} +function utf8Slice(buf, start, end) { + end = Math.min(buf.length, end); + var res = []; + var i = start; + while (i < end) { + var firstByte = buf[i]; + var codePoint = null; + var bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1; + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint; + switch (bytesPerSequence) { + case 1: + if (firstByte < 128) { + codePoint = firstByte; + } + break; + case 2: + secondByte = buf[i + 1]; + if ((secondByte & 192) === 128) { + tempCodePoint = (firstByte & 31) << 6 | secondByte & 63; + if (tempCodePoint > 127) { + codePoint = tempCodePoint; + } + } + break; + case 3: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63; + if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) { + codePoint = tempCodePoint; + } + } + break; + case 4: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + fourthByte = buf[i + 3]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63; + if (tempCodePoint > 65535 && tempCodePoint < 1114112) { + codePoint = tempCodePoint; + } + } + } + } + if (codePoint === null) { + codePoint = 65533; + bytesPerSequence = 1; + } else if (codePoint > 65535) { + codePoint -= 65536; + res.push(codePoint >>> 10 & 1023 | 55296); + codePoint = 56320 | codePoint & 1023; + } + res.push(codePoint); + i += bytesPerSequence; + } + return decodeCodePointsArray(res); +} +var MAX_ARGUMENTS_LENGTH = 4096; +function decodeCodePointsArray(codePoints) { + var len = codePoints.length; + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints); + } + var res = ""; + var i = 0; + while (i < len) { + res += String.fromCharCode.apply( + String, + codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) + ); + } + return res; +} +function asciiSlice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i] & 127); + } + return ret; +} +function latin1Slice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i]); + } + return ret; +} +function hexSlice(buf, start, end) { + var len = buf.length; + if (!start || start < 0) + start = 0; + if (!end || end < 0 || end > len) + end = len; + var out = ""; + for (var i = start; i < end; ++i) { + out += toHex(buf[i]); + } + return out; +} +function utf16leSlice(buf, start, end) { + var bytes = buf.slice(start, end); + var res = ""; + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); + } + return res; +} +Buffer.prototype.slice = function slice(start, end) { + var len = this.length; + start = ~~start; + end = end === void 0 ? len : ~~end; + if (start < 0) { + start += len; + if (start < 0) + start = 0; + } else if (start > len) { + start = len; + } + if (end < 0) { + end += len; + if (end < 0) + end = 0; + } else if (end > len) { + end = len; + } + if (end < start) + end = start; + var newBuf; + if (Buffer.TYPED_ARRAY_SUPPORT) { + newBuf = this.subarray(start, end); + newBuf.__proto__ = Buffer.prototype; + } else { + var sliceLen = end - start; + newBuf = new Buffer(sliceLen, void 0); + for (var i = 0; i < sliceLen; ++i) { + newBuf[i] = this[i + start]; + } + } + return newBuf; +}; +function checkOffset(offset, ext, length) { + if (offset % 1 !== 0 || offset < 0) + throw new RangeError("offset is not uint"); + if (offset + ext > length) + throw new RangeError("Trying to access beyond buffer length"); +} +Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength2 && (mul *= 256)) { + val += this[offset + i] * mul; + } + return val; +}; +Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + checkOffset(offset, byteLength2, this.length); + } + var val = this[offset + --byteLength2]; + var mul = 1; + while (byteLength2 > 0 && (mul *= 256)) { + val += this[offset + --byteLength2] * mul; + } + return val; +}; +Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 1, this.length); + return this[offset]; +}; +Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] | this[offset + 1] << 8; +}; +Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] << 8 | this[offset + 1]; +}; +Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216; +}; +Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); +}; +Buffer.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength2 && (mul *= 256)) { + val += this[offset + i] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength2); + return val; +}; +Buffer.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var i = byteLength2; + var mul = 1; + var val = this[offset + --i]; + while (i > 0 && (mul *= 256)) { + val += this[offset + --i] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength2); + return val; +}; +Buffer.prototype.readInt8 = function readInt8(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 1, this.length); + if (!(this[offset] & 128)) + return this[offset]; + return (255 - this[offset] + 1) * -1; +}; +Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + var val = this[offset] | this[offset + 1] << 8; + return val & 32768 ? val | 4294901760 : val; +}; +Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + var val = this[offset + 1] | this[offset] << 8; + return val & 32768 ? val | 4294901760 : val; +}; +Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24; +}; +Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]; +}; +Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754read(this, offset, true, 23, 4); +}; +Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754read(this, offset, false, 23, 4); +}; +Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754read(this, offset, true, 52, 8); +}; +Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754read(this, offset, false, 52, 8); +}; +function checkInt(buf, value, offset, ext, max, min) { + if (!internalIsBuffer(buf)) + throw new TypeError('"buffer" argument must be a Buffer instance'); + if (value > max || value < min) + throw new RangeError('"value" argument is out of bounds'); + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); +} +Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength2) - 1; + checkInt(this, value, offset, byteLength2, maxBytes, 0); + } + var mul = 1; + var i = 0; + this[offset] = value & 255; + while (++i < byteLength2 && (mul *= 256)) { + this[offset + i] = value / mul & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength2) - 1; + checkInt(this, value, offset, byteLength2, maxBytes, 0); + } + var i = byteLength2 - 1; + var mul = 1; + this[offset + i] = value & 255; + while (--i >= 0 && (mul *= 256)) { + this[offset + i] = value / mul & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 1, 255, 0); + if (!Buffer.TYPED_ARRAY_SUPPORT) + value = Math.floor(value); + this[offset] = value & 255; + return offset + 1; +}; +function objectWriteUInt16(buf, value, offset, littleEndian) { + if (value < 0) + value = 65535 + value + 1; + for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { + buf[offset + i] = (value & 255 << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8; + } +} +Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + } else { + objectWriteUInt16(this, value, offset, true); + } + return offset + 2; +}; +Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + } else { + objectWriteUInt16(this, value, offset, false); + } + return offset + 2; +}; +function objectWriteUInt32(buf, value, offset, littleEndian) { + if (value < 0) + value = 4294967295 + value + 1; + for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { + buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 255; + } +} +Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset + 3] = value >>> 24; + this[offset + 2] = value >>> 16; + this[offset + 1] = value >>> 8; + this[offset] = value & 255; + } else { + objectWriteUInt32(this, value, offset, true); + } + return offset + 4; +}; +Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + } else { + objectWriteUInt32(this, value, offset, false); + } + return offset + 4; +}; +Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength2 - 1); + checkInt(this, value, offset, byteLength2, limit - 1, -limit); + } + var i = 0; + var mul = 1; + var sub = 0; + this[offset] = value & 255; + while (++i < byteLength2 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { + sub = 1; + } + this[offset + i] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength2 - 1); + checkInt(this, value, offset, byteLength2, limit - 1, -limit); + } + var i = byteLength2 - 1; + var mul = 1; + var sub = 0; + this[offset + i] = value & 255; + while (--i >= 0 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { + sub = 1; + } + this[offset + i] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 1, 127, -128); + if (!Buffer.TYPED_ARRAY_SUPPORT) + value = Math.floor(value); + if (value < 0) + value = 255 + value + 1; + this[offset] = value & 255; + return offset + 1; +}; +Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + } else { + objectWriteUInt16(this, value, offset, true); + } + return offset + 2; +}; +Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + } else { + objectWriteUInt16(this, value, offset, false); + } + return offset + 2; +}; +Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + this[offset + 2] = value >>> 16; + this[offset + 3] = value >>> 24; + } else { + objectWriteUInt32(this, value, offset, true); + } + return offset + 4; +}; +Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + if (value < 0) + value = 4294967295 + value + 1; + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + } else { + objectWriteUInt32(this, value, offset, false); + } + return offset + 4; +}; +function checkIEEE754(buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); + if (offset < 0) + throw new RangeError("Index out of range"); +} +function writeFloat(buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754( + buf, + value, + offset, + 4, + 34028234663852886e22, + -34028234663852886e22 + ); + } + ieee754write(buf, value, offset, littleEndian, 23, 4); + return offset + 4; +} +Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert); +}; +Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert); +}; +function writeDouble(buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754( + buf, + value, + offset, + 8, + 17976931348623157e292, + -17976931348623157e292 + ); + } + ieee754write(buf, value, offset, littleEndian, 52, 8); + return offset + 8; +} +Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert); +}; +Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert); +}; +Buffer.prototype.copy = function copy(target, targetStart, start, end) { + if (!start) + start = 0; + if (!end && end !== 0) + end = this.length; + if (targetStart >= target.length) + targetStart = target.length; + if (!targetStart) + targetStart = 0; + if (end > 0 && end < start) + end = start; + if (end === start) + return 0; + if (target.length === 0 || this.length === 0) + return 0; + if (targetStart < 0) { + throw new RangeError("targetStart out of bounds"); + } + if (start < 0 || start >= this.length) + throw new RangeError("sourceStart out of bounds"); + if (end < 0) + throw new RangeError("sourceEnd out of bounds"); + if (end > this.length) + end = this.length; + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start; + } + var len = end - start; + var i; + if (this === target && start < targetStart && targetStart < end) { + for (i = len - 1; i >= 0; --i) { + target[i + targetStart] = this[i + start]; + } + } else if (len < 1e3 || !Buffer.TYPED_ARRAY_SUPPORT) { + for (i = 0; i < len; ++i) { + target[i + targetStart] = this[i + start]; + } + } else { + Uint8Array.prototype.set.call( + target, + this.subarray(start, start + len), + targetStart + ); + } + return len; +}; +Buffer.prototype.fill = function fill(val, start, end, encoding) { + if (typeof val === "string") { + if (typeof start === "string") { + encoding = start; + start = 0; + end = this.length; + } else if (typeof end === "string") { + encoding = end; + end = this.length; + } + if (val.length === 1) { + var code = val.charCodeAt(0); + if (code < 256) { + val = code; + } + } + if (encoding !== void 0 && typeof encoding !== "string") { + throw new TypeError("encoding must be a string"); + } + if (typeof encoding === "string" && !Buffer.isEncoding(encoding)) { + throw new TypeError("Unknown encoding: " + encoding); + } + } else if (typeof val === "number") { + val = val & 255; + } + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError("Out of range index"); + } + if (end <= start) { + return this; + } + start = start >>> 0; + end = end === void 0 ? this.length : end >>> 0; + if (!val) + val = 0; + var i; + if (typeof val === "number") { + for (i = start; i < end; ++i) { + this[i] = val; + } + } else { + var bytes = internalIsBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString()); + var len = bytes.length; + for (i = 0; i < end - start; ++i) { + this[i + start] = bytes[i % len]; + } + } + return this; +}; +var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g; +function base64clean(str) { + str = stringtrim(str).replace(INVALID_BASE64_RE, ""); + if (str.length < 2) + return ""; + while (str.length % 4 !== 0) { + str = str + "="; + } + return str; +} +function stringtrim(str) { + if (str.trim) + return str.trim(); + return str.replace(/^\s+|\s+$/g, ""); +} +function toHex(n) { + if (n < 16) + return "0" + n.toString(16); + return n.toString(16); +} +function utf8ToBytes(string, units) { + units = units || Infinity; + var codePoint; + var length = string.length; + var leadSurrogate = null; + var bytes = []; + for (var i = 0; i < length; ++i) { + codePoint = string.charCodeAt(i); + if (codePoint > 55295 && codePoint < 57344) { + if (!leadSurrogate) { + if (codePoint > 56319) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } else if (i + 1 === length) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } + leadSurrogate = codePoint; + continue; + } + if (codePoint < 56320) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + leadSurrogate = codePoint; + continue; + } + codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536; + } else if (leadSurrogate) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + } + leadSurrogate = null; + if (codePoint < 128) { + if ((units -= 1) < 0) + break; + bytes.push(codePoint); + } else if (codePoint < 2048) { + if ((units -= 2) < 0) + break; + bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128); + } else if (codePoint < 65536) { + if ((units -= 3) < 0) + break; + bytes.push( + codePoint >> 12 | 224, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else if (codePoint < 1114112) { + if ((units -= 4) < 0) + break; + bytes.push( + codePoint >> 18 | 240, + codePoint >> 12 & 63 | 128, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else { + throw new Error("Invalid code point"); + } + } + return bytes; +} +function asciiToBytes(str) { + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + byteArray.push(str.charCodeAt(i) & 255); + } + return byteArray; +} +function utf16leToBytes(str, units) { + var c, hi, lo; + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + if ((units -= 2) < 0) + break; + c = str.charCodeAt(i); + hi = c >> 8; + lo = c % 256; + byteArray.push(lo); + byteArray.push(hi); + } + return byteArray; +} +function base64ToBytes(str) { + return base64toByteArray(base64clean(str)); +} +function blitBuffer(src, dst, offset, length) { + for (var i = 0; i < length; ++i) { + if (i + offset >= dst.length || i >= src.length) + break; + dst[i + offset] = src[i]; + } + return i; +} +function isnan(val) { + return val !== val; +} +function isBuffer(obj) { + return obj != null && (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj)); +} +function isFastBuffer(obj) { + return !!obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj); +} +function isSlowBuffer(obj) { + return typeof obj.readFloatLE === "function" && typeof obj.slice === "function" && isFastBuffer(obj.slice(0, 0)); +} +function ieee754read(buffer, offset, isLE, mLen, nBytes) { + var e, m; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = -7; + var i = isLE ? nBytes - 1 : 0; + var d = isLE ? -1 : 1; + var s = buffer[offset + i]; + i += d; + e = s & (1 << -nBits) - 1; + s >>= -nBits; + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : (s ? -1 : 1) * Infinity; + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); +} +function ieee754write(buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; + var i = isLE ? 0 : nBytes - 1; + var d = isLE ? 1 : -1; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + value = Math.abs(value); + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) { + } + e = e << mLen | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) { + } + buffer[offset + i - d] |= s * 128; +} + +// node_modules/@b9g/crank/crank.js +var Portal = Symbol.for("crank.Portal"); +var Copy = Symbol.for("crank.Copy"); +var Raw = Symbol.for("crank.Raw"); +var ElementSymbol = Symbol.for("crank.Element"); +var Element = class { + constructor(tag, props) { + this.tag = tag; + this.props = props; + } + get key() { + return this.props.key; + } + get ref() { + return this.props.ref; + } + get copy() { + return !!this.props.copy; + } +}; +Element.prototype.$$typeof = ElementSymbol; +var DEPRECATED_PROP_PREFIXES = ["crank-", "c-", "$"]; +var DEPRECATED_SPECIAL_PROP_BASES = ["key", "ref", "static"]; +var SPECIAL_PROPS = /* @__PURE__ */ new Set(["children", "key", "ref", "copy"]); +for (const propPrefix of DEPRECATED_PROP_PREFIXES) { + for (const propBase of DEPRECATED_SPECIAL_PROP_BASES) { + SPECIAL_PROPS.add(propPrefix + propBase); + } +} +function createElement(tag, props, ...children) { + if (props == null) { + props = {}; + } + for (let i = 0; i < DEPRECATED_PROP_PREFIXES.length; i++) { + const propPrefix = DEPRECATED_PROP_PREFIXES[i]; + for (let j = 0; j < DEPRECATED_SPECIAL_PROP_BASES.length; j++) { + const propBase = DEPRECATED_SPECIAL_PROP_BASES[j]; + const deprecatedPropName = propPrefix + propBase; + const targetPropBase = propBase === "static" ? "copy" : propBase; + if (deprecatedPropName in props) { + console.warn(`The \`${deprecatedPropName}\` prop is deprecated. Use \`${targetPropBase}\` instead.`); + props[targetPropBase] = props[deprecatedPropName]; + } + } + } + if (children.length > 1) { + props.children = children; + } else if (children.length === 1) { + props.children = children[0]; + } + return new Element(tag, props); +} +var _RendererImpl = Symbol.for("crank.RendererImpl"); +var IsUpdating = 1 << 0; +var IsSyncExecuting = 1 << 1; +var IsInForOfLoop = 1 << 2; +var IsInForAwaitOfLoop = 1 << 3; +var NeedsToYield = 1 << 4; +var PropsAvailable = 1 << 5; +var IsErrored = 1 << 6; +var IsUnmounted = 1 << 7; +var IsSyncGen = 1 << 8; +var IsAsyncGen = 1 << 9; +var IsScheduling = 1 << 10; +var IsSchedulingRefresh = 1 << 11; +var _ContextImpl = Symbol.for("crank.ContextImpl"); + +// node_modules/@b9g/crank/jsx-runtime.js +function jsxAdapter(tag, props, key) { + props.key = key; + return createElement(tag, props); +} +var Fragment = ""; +var jsx = jsxAdapter; +var jsxs = jsxAdapter; +var jsxDEV = jsxAdapter; +export { + Fragment, + jsx, + jsxDEV, + jsxs +}; +/*! Bundled license information: + +@esbuild-plugins/node-globals-polyfill/Buffer.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) +*/ +//# sourceMappingURL=jsx-runtime-TBBD57QJ.js.map diff --git a/static/jsx-runtime-TBBD57QJ.js.map b/static/jsx-runtime-TBBD57QJ.js.map new file mode 100644 index 00000000..a1c7ff68 --- /dev/null +++ b/static/jsx-runtime-TBBD57QJ.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/@esbuild-plugins/node-globals-polyfill/process.js", "../node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js", "../node_modules/@b9g/src/crank.ts", "../node_modules/@b9g/src/jsx-runtime.ts"], + "sourcesContent": ["// shim for using process in browser\n// based off https://github.com/defunctzombie/node-process/blob/master/browser.js\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined')\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined')\n}\nvar cachedSetTimeout = defaultSetTimout\nvar cachedClearTimeout = defaultClearTimeout\nif (typeof global.setTimeout === 'function') {\n cachedSetTimeout = setTimeout\n}\nif (typeof global.clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout\n}\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0)\n }\n // if setTimeout wasn't available but was latter defined\n if (\n (cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) &&\n setTimeout\n ) {\n cachedSetTimeout = setTimeout\n return setTimeout(fun, 0)\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0)\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0)\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0)\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker)\n }\n // if clearTimeout wasn't available but was latter defined\n if (\n (cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) &&\n clearTimeout\n ) {\n cachedClearTimeout = clearTimeout\n return clearTimeout(marker)\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker)\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker)\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker)\n }\n }\n}\nvar queue = []\nvar draining = false\nvar currentQueue\nvar queueIndex = -1\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return\n }\n draining = false\n if (currentQueue.length) {\n queue = currentQueue.concat(queue)\n } else {\n queueIndex = -1\n }\n if (queue.length) {\n drainQueue()\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return\n }\n var timeout = runTimeout(cleanUpNextTick)\n draining = true\n\n var len = queue.length\n while (len) {\n currentQueue = queue\n queue = []\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run()\n }\n }\n queueIndex = -1\n len = queue.length\n }\n currentQueue = null\n draining = false\n runClearTimeout(timeout)\n}\nfunction nextTick(fun) {\n var args = new Array(arguments.length - 1)\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i]\n }\n }\n queue.push(new Item(fun, args))\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue)\n }\n}\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun\n this.array = array\n}\nItem.prototype.run = function() {\n this.fun.apply(null, this.array)\n}\nvar title = 'browser'\nvar platform = 'browser'\nvar browser = true\nvar env = {}\nvar argv = []\nvar version = '' // empty string to avoid regexp issues\nvar versions = {}\nvar release = {}\nvar config = {}\n\nfunction noop() {}\n\nvar on = noop\nvar addListener = noop\nvar once = noop\nvar off = noop\nvar removeListener = noop\nvar removeAllListeners = noop\nvar emit = noop\n\nfunction binding(name) {\n throw new Error('process.binding is not supported')\n}\n\nfunction cwd() {\n return '/'\n}\nfunction chdir(dir) {\n throw new Error('process.chdir is not supported')\n}\nfunction umask() {\n return 0\n}\n\n// from https://github.com/kumavis/browser-process-hrtime/blob/master/index.js\nvar performance = global.performance || {}\nvar performanceNow =\n performance.now ||\n performance.mozNow ||\n performance.msNow ||\n performance.oNow ||\n performance.webkitNow ||\n function() {\n return new Date().getTime()\n }\n\n// generate timestamp or delta\n// see http://nodejs.org/api/process.html#process_process_hrtime\nfunction hrtime(previousTimestamp) {\n var clocktime = performanceNow.call(performance) * 1e-3\n var seconds = Math.floor(clocktime)\n var nanoseconds = Math.floor((clocktime % 1) * 1e9)\n if (previousTimestamp) {\n seconds = seconds - previousTimestamp[0]\n nanoseconds = nanoseconds - previousTimestamp[1]\n if (nanoseconds < 0) {\n seconds--\n nanoseconds += 1e9\n }\n }\n return [seconds, nanoseconds]\n}\n\nvar startTime = new Date()\nfunction uptime() {\n var currentTime = new Date()\n var dif = currentTime - startTime\n return dif / 1000\n}\n\nexport var process = {\n nextTick: nextTick,\n title: title,\n browser: browser,\n env: env,\n argv: argv,\n version: version,\n versions: versions,\n on: on,\n addListener: addListener,\n once: once,\n off: off,\n removeListener: removeListener,\n removeAllListeners: removeAllListeners,\n emit: emit,\n binding: binding,\n cwd: cwd,\n chdir: chdir,\n umask: umask,\n hrtime: hrtime,\n platform: platform,\n release: release,\n config: config,\n uptime: uptime,\n}\n\n// replace process.env.VAR with define\n\nconst defines = {}\nObject.keys(defines).forEach((key) => {\n const segs = key.split('.')\n let target = process\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n if (i === segs.length - 1) {\n target[seg] = defines[key]\n } else {\n target = target[seg] || (target[seg] = {})\n }\n }\n})\n", "// taken from https://github.com/calvinmetcalf/buffer-es6\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\nvar inited = false\nfunction init() {\n inited = true\n var code =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n for (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n }\n\n revLookup['-'.charCodeAt(0)] = 62\n revLookup['_'.charCodeAt(0)] = 63\n}\n\nfunction base64toByteArray(b64) {\n if (!inited) {\n init()\n }\n var i, j, l, tmp, placeHolders, arr\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n placeHolders = b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n\n // base64 is 4/3 + up to two characters of the original data\n arr = new Arr((len * 3) / 4 - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0, j = 0; i < l; i += 4, j += 3) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xff\n arr[L++] = (tmp >> 8) & 0xff\n arr[L++] = tmp & 0xff\n }\n\n if (placeHolders === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xff\n } else if (placeHolders === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xff\n arr[L++] = tmp & 0xff\n }\n\n return arr\n}\n\nfunction tripletToBase64(num) {\n return (\n lookup[(num >> 18) & 0x3f] +\n lookup[(num >> 12) & 0x3f] +\n lookup[(num >> 6) & 0x3f] +\n lookup[num & 0x3f]\n )\n}\n\nfunction encodeChunk(uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2]\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction base64fromByteArray(uint8) {\n if (!inited) {\n init()\n }\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(\n encodeChunk(\n uint8,\n i,\n i + maxChunkLength > len2 ? len2 : i + maxChunkLength,\n ),\n )\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3f]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3f]\n output += lookup[(tmp << 2) & 0x3f]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\nvar INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT =\n global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : true\n\nfunction kMaxLength() {\n return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff\n}\n\nfunction createBuffer(that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nexport function Buffer(arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string',\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function(arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from(that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function(value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nBuffer.kMaxLength = kMaxLength()\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (\n typeof Symbol !== 'undefined' &&\n Symbol.species &&\n Buffer[Symbol.species] === Buffer\n ) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n // Object.defineProperty(Buffer, Symbol.species, {\n // value: null,\n // configurable: true\n // })\n }\n}\n\nfunction assertSize(size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc(that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function(size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe(that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function(size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function(size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString(that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike(that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer(that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\"'offset' is out of bounds\")\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\"'length' is out of bounds\")\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject(that, obj) {\n if (internalIsBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if (\n (typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) ||\n 'length' in obj\n ) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError(\n 'First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.',\n )\n}\n\nfunction checked(length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError(\n 'Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' +\n kMaxLength().toString(16) +\n ' bytes',\n )\n }\n return length | 0\n}\n\nexport function SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\nBuffer.isBuffer = isBuffer\nfunction internalIsBuffer(b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare(a, b) {\n if (!internalIsBuffer(a) || !internalIsBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!internalIsBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength(string, encoding) {\n if (internalIsBuffer(string)) {\n return string.length\n }\n if (\n typeof ArrayBuffer !== 'undefined' &&\n typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)\n ) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString(encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase)\n throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap(b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16() {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32() {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64() {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString() {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals(b) {\n if (!internalIsBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\n\nBuffer.prototype.compare = function compare(\n target,\n start,\n end,\n thisStart,\n thisEnd,\n) {\n if (!internalIsBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (\n start < 0 ||\n end > target.length ||\n thisStart < 0 ||\n thisEnd > this.length\n ) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (internalIsBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xff // Search for a byte value [0-255]\n if (\n Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function'\n ) {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(\n buffer,\n val,\n byteOffset,\n )\n } else {\n return Uint8Array.prototype.lastIndexOf.call(\n buffer,\n val,\n byteOffset,\n )\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (\n encoding === 'ucs2' ||\n encoding === 'ucs-2' ||\n encoding === 'utf16le' ||\n encoding === 'utf-16le'\n ) {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (\n read(arr, i) ===\n read(val, foundIndex === -1 ? 0 : i - foundIndex)\n ) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength)\n return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength)\n byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write(buf, string, offset, length) {\n return blitBuffer(\n utf8ToBytes(string, buf.length - offset),\n buf,\n offset,\n length,\n )\n}\n\nfunction asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write(buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write(buf, string, offset, length) {\n return blitBuffer(\n utf16leToBytes(string, buf.length - offset),\n buf,\n offset,\n length,\n )\n}\n\nBuffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported',\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if (\n (string.length > 0 && (length < 0 || offset < 0)) ||\n offset > this.length\n ) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase)\n throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON() {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0),\n }\n}\n\nfunction base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64fromByteArray(buf)\n } else {\n return base64fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence =\n firstByte > 0xef\n ? 4\n : firstByte > 0xdf\n ? 3\n : firstByte > 0xbf\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xc0) === 0x80) {\n tempCodePoint =\n ((firstByte & 0x1f) << 0x6) | (secondByte & 0x3f)\n if (tempCodePoint > 0x7f) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if (\n (secondByte & 0xc0) === 0x80 &&\n (thirdByte & 0xc0) === 0x80\n ) {\n tempCodePoint =\n ((firstByte & 0xf) << 0xc) |\n ((secondByte & 0x3f) << 0x6) |\n (thirdByte & 0x3f)\n if (\n tempCodePoint > 0x7ff &&\n (tempCodePoint < 0xd800 || tempCodePoint > 0xdfff)\n ) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if (\n (secondByte & 0xc0) === 0x80 &&\n (thirdByte & 0xc0) === 0x80 &&\n (fourthByte & 0xc0) === 0x80\n ) {\n tempCodePoint =\n ((firstByte & 0xf) << 0x12) |\n ((secondByte & 0x3f) << 0xc) |\n ((thirdByte & 0x3f) << 0x6) |\n (fourthByte & 0x3f)\n if (\n tempCodePoint > 0xffff &&\n tempCodePoint < 0x110000\n ) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xfffd\n bytesPerSequence = 1\n } else if (codePoint > 0xffff) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(((codePoint >>> 10) & 0x3ff) | 0xd800)\n codePoint = 0xdc00 | (codePoint & 0x3ff)\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray(codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, (i += MAX_ARGUMENTS_LENGTH)),\n )\n }\n return res\n}\n\nfunction asciiSlice(buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7f)\n }\n return ret\n}\n\nfunction latin1Slice(buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice(buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice(buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice(start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0)\n throw new RangeError('offset is not uint')\n if (offset + ext > length)\n throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE(\n offset,\n byteLength,\n noAssert,\n) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE(\n offset,\n byteLength,\n noAssert,\n) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n (this[offset] | (this[offset + 1] << 8) | (this[offset + 2] << 16)) +\n this[offset + 3] * 0x1000000\n )\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n this[offset] * 0x1000000 +\n ((this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3])\n )\n}\n\nBuffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return this[offset]\n return (0xff - this[offset] + 1) * -1\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return val & 0x8000 ? val | 0xffff0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return val & 0x8000 ? val | 0xffff0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n this[offset] |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n )\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3]\n )\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754read(this, offset, false, 52, 8)\n}\n\nfunction checkInt(buf, value, offset, ext, max, min) {\n if (!internalIsBuffer(buf))\n throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min)\n throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xff\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xff\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = value & 0xff\n return offset + 1\n}\n\nfunction objectWriteUInt16(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] =\n (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n ((littleEndian ? i : 1 - i) * 8)\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8\n this[offset + 1] = value & 0xff\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> ((littleEndian ? i : 3 - i) * 8)) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = value >>> 24\n this[offset + 2] = value >>> 16\n this[offset + 1] = value >>> 8\n this[offset] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24\n this[offset + 1] = value >>> 16\n this[offset + 2] = value >>> 8\n this[offset + 3] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xff\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xff\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = value & 0xff\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8\n this[offset + 1] = value & 0xff\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n this[offset + 2] = value >>> 16\n this[offset + 3] = value >>> 24\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24\n this[offset + 1] = value >>> 16\n this[offset + 2] = value >>> 8\n this[offset + 3] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(\n buf,\n value,\n offset,\n 4,\n 3.4028234663852886e38,\n -3.4028234663852886e38,\n )\n }\n ieee754write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(\n buf,\n value,\n offset,\n 8,\n 1.7976931348623157e308,\n -1.7976931348623157e308,\n )\n }\n ieee754write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE(\n value,\n offset,\n noAssert,\n) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE(\n value,\n offset,\n noAssert,\n) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length)\n throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart,\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = internalIsBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean(str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim(str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex(n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes(string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xd7ff && codePoint < 0xe000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xdbff) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xdc00) {\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint =\n (((leadSurrogate - 0xd800) << 10) | (codePoint - 0xdc00)) +\n 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push((codePoint >> 0x6) | 0xc0, (codePoint & 0x3f) | 0x80)\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n (codePoint >> 0xc) | 0xe0,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80,\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n (codePoint >> 0x12) | 0xf0,\n ((codePoint >> 0xc) & 0x3f) | 0x80,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80,\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes(str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xff)\n }\n return byteArray\n}\n\nfunction utf16leToBytes(str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes(str) {\n return base64toByteArray(base64clean(str))\n}\n\nfunction blitBuffer(src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan(val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n// the following is from is-buffer, also by Feross Aboukhadijeh and with same lisence\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nfunction isBuffer(obj) {\n return (\n obj != null &&\n (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj))\n )\n}\n\nfunction isFastBuffer(obj) {\n return (\n !!obj.constructor &&\n typeof obj.constructor.isBuffer === 'function' &&\n obj.constructor.isBuffer(obj)\n )\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer(obj) {\n return (\n typeof obj.readFloatLE === 'function' &&\n typeof obj.slice === 'function' &&\n isFastBuffer(obj.slice(0, 0))\n )\n}\n\nfunction ieee754read(buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? nBytes - 1 : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << -nBits) - 1)\n s >>= -nBits\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << -nBits) - 1)\n e >>= -nBits\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nfunction ieee754write(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0\n var i = isLE ? 0 : nBytes - 1\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (\n ;\n mLen >= 8;\n buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8\n ) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (\n ;\n eLen > 0;\n buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8\n ) {}\n\n buffer[offset + i - d] |= s * 128\n}\n", "const NOOP = () => {};\nconst IDENTITY = (value: T): T => value;\n\nfunction wrap(value: Array | T | undefined): Array {\n\treturn value === undefined ? [] : Array.isArray(value) ? value : [value];\n}\n\nfunction unwrap(arr: Array): Array | T | undefined {\n\treturn arr.length === 0 ? undefined : arr.length === 1 ? arr[0] : arr;\n}\n\ntype NonStringIterable = Iterable & object;\n\n/**\n * Ensures a value is an array.\n *\n * This function does the same thing as wrap() above except it handles nulls\n * and iterables, so it is appropriate for wrapping user-provided element\n * children.\n */\nfunction arrayify(\n\tvalue: NonStringIterable | T | null | undefined,\n): Array {\n\treturn value == null\n\t\t? []\n\t\t: Array.isArray(value)\n\t\t\t? value\n\t\t\t: typeof value === \"string\" ||\n\t\t\t\t typeof (value as any)[Symbol.iterator] !== \"function\"\n\t\t\t\t? [value]\n\t\t\t\t: // TODO: inference broke in TypeScript 3.9.\n\t\t\t\t\t[...(value as any)];\n}\n\nfunction isIteratorLike(\n\tvalue: any,\n): value is Iterator | AsyncIterator {\n\treturn value != null && typeof value.next === \"function\";\n}\n\nfunction isPromiseLike(value: any): value is PromiseLike {\n\treturn value != null && typeof value.then === \"function\";\n}\n\n/**\n * A type which represents all valid values for an element tag.\n */\nexport type Tag = string | symbol | Component;\n\n/**\n * A helper type to map the tag of an element to its expected props.\n *\n * @template TTag - The tag associated with the props. Can be a string, symbol\n * or a component function.\n */\nexport type TagProps = TTag extends string\n\t? JSX.IntrinsicElements[TTag]\n\t: TTag extends Component\n\t\t? TProps & JSX.IntrinsicAttributes\n\t\t: Record & JSX.IntrinsicAttributes;\n\n/***\n * SPECIAL TAGS\n *\n * Crank provides a couple tags which have special meaning for the renderer.\n ***/\n\n/**\n * A special tag for grouping multiple children within the same parent.\n *\n * All non-string iterables which appear in the element tree are implicitly\n * wrapped in a fragment element.\n *\n * This tag is just the empty string, and you can use the empty string in\n * createElement calls or transpiler options directly to avoid having to\n * reference this export.\n */\nexport const Fragment = \"\";\nexport type Fragment = typeof Fragment;\n\n// TODO: We assert the following symbol tags as any because TypeScript support\n// for symbol tags in JSX doesn’t exist yet.\n// https://github.com/microsoft/TypeScript/issues/38367\n\n/**\n * A special tag for rendering into a new root node via a root prop.\n *\n * This tag is useful for creating element trees with multiple roots, for\n * things like modals or tooltips.\n *\n * Renderer.prototype.render() will implicitly wrap top-level element trees in\n * a Portal element.\n */\nexport const Portal = Symbol.for(\"crank.Portal\") as any;\nexport type Portal = typeof Portal;\n\n/**\n * A special tag which preserves whatever was previously rendered in the\n * element’s position.\n *\n * Copy elements are useful for when you want to prevent a subtree from\n * rerendering as a performance optimization. Copy elements can also be keyed,\n * in which case the previously rendered keyed element will be copied.\n */\nexport const Copy = Symbol.for(\"crank.Copy\") as any;\nexport type Copy = typeof Copy;\n\n/**\n * A special tag for injecting raw nodes or strings via a value prop.\n *\n * Renderer.prototype.raw() is called with the value prop.\n */\nexport const Raw = Symbol.for(\"crank.Raw\") as any;\nexport type Raw = typeof Raw;\n\n/**\n * Describes all valid values of an element tree, excluding iterables.\n *\n * Arbitrary objects can also be safely rendered, but will be converted to a\n * string using the toString() method. We exclude them from this type to catch\n * potential mistakes.\n */\nexport type Child = Element | string | number | boolean | null | undefined;\n\n/**\n * An arbitrarily nested iterable of Child values.\n *\n * We use a recursive interface here rather than making the Children type\n * directly recursive because recursive type aliases were added in TypeScript\n * 3.7.\n *\n * You should avoid referencing this type directly, as it is mainly exported to\n * prevent TypeScript errors.\n */\nexport interface ChildIterable extends Iterable {}\n\n/**\n * Describes all valid values of an element tree, including arbitrarily nested\n * iterables of such values.\n */\nexport type Children = Child | ChildIterable;\n\n/**\n * Represents all functions which can be used as a component.\n *\n * @template [TProps=*] - The expected props for the component.\n */\nexport type Component = any> = (\n\tthis: Context,\n\tprops: TProps,\n\tctx: Context,\n) =>\n\t| Children\n\t| PromiseLike\n\t// The return type of iterators must include void because TypeScript will\n\t// infer generators which return implicitly as having a void return type.\n\t| Iterator\n\t| AsyncIterator;\n\ntype ChildrenIteratorResult = IteratorResult;\n\n/**\n * A type to keep track of keys. Any value can be a key, though null and\n * undefined are ignored.\n */\ntype Key = unknown;\n\nconst ElementSymbol = Symbol.for(\"crank.Element\");\n\n// To maximize compatibility between Crank versions, starting with 0.2.0, any\n// changes to the Element properties will be considered a breaking change.\nexport interface Element {\n\t/**\n\t * @internal\n\t * A unique symbol to identify elements as elements across versions and\n\t * realms, and to protect against basic injection attacks.\n\t * https://overreacted.io/why-do-react-elements-have-typeof-property/\n\t *\n\t * This property is defined on the element prototype rather than per\n\t * instance, because it is the same for every Element.\n\t */\n\t$$typeof: typeof ElementSymbol;\n\n\t/**\n\t * The tag of the element. Can be a string, symbol or function.\n\t */\n\ttag: TTag;\n\n\t/**\n\t * An object containing the \"properties\" of an element. These correspond to\n\t * the attribute syntax from JSX.\n\t */\n\tprops: TagProps;\n}\n\n/**\n * Elements are the basic building blocks of Crank applications. They are\n * JavaScript objects which are interpreted by special classes called renderers\n * to produce and manage stateful nodes.\n *\n * @template {Tag} [TTag=Tag] - The type of the tag of the element.\n *\n * @example\n * // specific element types\n * let div: Element<\"div\">;\n * let portal: Element;\n * let myEl: Element;\n *\n * // general element types\n * let host: Element;\n * let component: Element;\n *\n * Typically, you use a helper function like createElement to create elements\n * rather than instatiating this class directly.\n */\nexport class Element {\n\tconstructor(tag: TTag, props: TagProps) {\n\t\tthis.tag = tag;\n\t\tthis.props = props;\n\t}\n\n\tget key(): Key {\n\t\treturn this.props.key;\n\t}\n\n\tget ref(): unknown {\n\t\treturn this.props.ref;\n\t}\n\n\tget copy(): boolean {\n\t\treturn !!this.props.copy;\n\t}\n}\n\n// See Element interface\nElement.prototype.$$typeof = ElementSymbol;\n\nexport function isElement(value: any): value is Element {\n\treturn value != null && value.$$typeof === ElementSymbol;\n}\n\nconst DEPRECATED_PROP_PREFIXES = [\"crank-\", \"c-\", \"$\"];\n\nconst DEPRECATED_SPECIAL_PROP_BASES = [\"key\", \"ref\", \"static\"];\n\nconst SPECIAL_PROPS = new Set([\"children\", \"key\", \"ref\", \"copy\"]);\nfor (const propPrefix of DEPRECATED_PROP_PREFIXES) {\n\tfor (const propBase of DEPRECATED_SPECIAL_PROP_BASES) {\n\t\tSPECIAL_PROPS.add(propPrefix + propBase);\n\t}\n}\n\n/**\n * Creates an element with the specified tag, props and children.\n *\n * This function is usually used as a transpilation target for JSX transpilers,\n * but it can also be called directly. It additionally extracts special props so\n * they aren’t accessible to renderer methods or components, and assigns the\n * children prop according to any additional arguments passed to the function.\n */\nexport function createElement(\n\ttag: TTag,\n\tprops?: TagProps | null | undefined,\n\t...children: Array\n): Element {\n\tif (props == null) {\n\t\tprops = {} as TagProps;\n\t}\n\n\tfor (let i = 0; i < DEPRECATED_PROP_PREFIXES.length; i++) {\n\t\tconst propPrefix = DEPRECATED_PROP_PREFIXES[i];\n\t\tfor (let j = 0; j < DEPRECATED_SPECIAL_PROP_BASES.length; j++) {\n\t\t\tconst propBase = DEPRECATED_SPECIAL_PROP_BASES[j];\n\t\t\tconst deprecatedPropName = propPrefix + propBase;\n\t\t\tconst targetPropBase = propBase === \"static\" ? \"copy\" : propBase;\n\t\t\tif (deprecatedPropName in (props as TagProps)) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`The \\`${deprecatedPropName}\\` prop is deprecated. Use \\`${targetPropBase}\\` instead.`,\n\t\t\t\t);\n\t\t\t\t(props as TagProps)[targetPropBase] = (props as TagProps)[\n\t\t\t\t\tdeprecatedPropName\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (children.length > 1) {\n\t\t(props as TagProps).children = children;\n\t} else if (children.length === 1) {\n\t\t(props as TagProps).children = children[0];\n\t}\n\n\treturn new Element(tag, props as TagProps);\n}\n\n/** Clones a given element, shallowly copying the props object. */\nexport function cloneElement(\n\tel: Element,\n): Element {\n\tif (!isElement(el)) {\n\t\tthrow new TypeError(\"Cannot clone non-element\");\n\t}\n\n\treturn new Element(el.tag, {...el.props});\n}\n\n/*** ELEMENT UTILITIES ***/\n\n// WHAT ARE WE DOING TO THE CHILDREN???\n/**\n * All values in the element tree are narrowed from the union in Child to\n * NarrowedChild during rendering, to simplify element diffing.\n */\ntype NarrowedChild = Element | string | undefined;\n\nfunction narrow(value: Children): NarrowedChild {\n\tif (typeof value === \"boolean\" || value == null) {\n\t\treturn undefined;\n\t} else if (typeof value === \"string\" || isElement(value)) {\n\t\treturn value;\n\t} else if (typeof (value as any)[Symbol.iterator] === \"function\") {\n\t\treturn createElement(Fragment, null, value);\n\t}\n\n\treturn value.toString();\n}\n\n/**\n * A helper type which repesents all possible rendered values of an element.\n *\n * @template TNode - The node type for the element provided by the renderer.\n *\n * When asking the question, what is the \"value\" of a specific element, the\n * answer varies depending on the tag:\n *\n * For host elements, the value is the nodes created for the element, e.g. the\n * DOM node in the case of the DOMRenderer.\n *\n * For fragments, the value is the value of the\n *\n * For portals, the value is undefined, because a Portal element’s root and\n * children are opaque to its parent.\n *\n * For components, the value can be any of the above, because the value of a\n * component is determined by its immediate children.\n *\n * Rendered values can also be strings or arrays of nodes and strings, in the\n * case of component or fragment elements with strings or multiple children.\n *\n * All of these possible values are reflected in this utility type.\n */\nexport type ElementValue =\n\t| Array\n\t| TNode\n\t| string\n\t| undefined;\n\n/**\n * Takes an array of element values and normalizes the output as an array of\n * nodes and strings.\n *\n * @returns Normalized array of nodes and/or strings.\n *\n * Normalize will flatten only one level of nested arrays, because it is\n * designed to be called once at each level of the tree. It will also\n * concatenate adjacent strings and remove all undefined values.\n */\nfunction normalize(\n\tvalues: Array>,\n): Array {\n\tconst result: Array = [];\n\tlet buffer: string | undefined;\n\tfor (let i = 0; i < values.length; i++) {\n\t\tconst value = values[i];\n\t\tif (!value) {\n\t\t\t// pass\n\t\t} else if (typeof value === \"string\") {\n\t\t\tbuffer = (buffer || \"\") + value;\n\t\t} else if (!Array.isArray(value)) {\n\t\t\tif (buffer) {\n\t\t\t\tresult.push(buffer);\n\t\t\t\tbuffer = undefined;\n\t\t\t}\n\n\t\t\tresult.push(value);\n\t\t} else {\n\t\t\t// We could use recursion here but it’s just easier to do it inline.\n\t\t\tfor (let j = 0; j < value.length; j++) {\n\t\t\t\tconst value1 = value[j];\n\t\t\t\tif (!value1) {\n\t\t\t\t\t// pass\n\t\t\t\t} else if (typeof value1 === \"string\") {\n\t\t\t\t\tbuffer = (buffer || \"\") + value1;\n\t\t\t\t} else {\n\t\t\t\t\tif (buffer) {\n\t\t\t\t\t\tresult.push(buffer);\n\t\t\t\t\t\tbuffer = undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\tresult.push(value1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (buffer) {\n\t\tresult.push(buffer);\n\t}\n\n\treturn result;\n}\n\n/**\n * @internal\n * The internal nodes which are cached and diffed against new elements when\n * rendering element trees.\n */\nclass Retainer {\n\t/**\n\t * The element associated with this retainer.\n\t */\n\tdeclare el: Element;\n\t/**\n\t * The context associated with this element. Will only be defined for\n\t * component elements.\n\t */\n\tdeclare ctx: ContextImpl | undefined;\n\t/**\n\t * The retainer children of this element. Retainers form a tree which mirrors\n\t * elements. Can be a single child or undefined as a memory optimization.\n\t */\n\tdeclare children: Array> | RetainerChild;\n\t/**\n\t * The value associated with this element.\n\t */\n\tdeclare value: ElementValue;\n\t/**\n\t * The cached child values of this element. Only host and component elements\n\t * will use this property.\n\t */\n\tdeclare cachedChildValues: ElementValue;\n\t/**\n\t * The child which this retainer replaces. This property is used when an\n\t * async retainer tree replaces previously rendered elements, so that the\n\t * previously rendered elements can remain visible until the async tree\n\t * fulfills. Will be set to undefined once this subtree fully renders.\n\t */\n\tdeclare fallbackValue: RetainerChild;\n\n\tdeclare inflightValue: Promise> | undefined;\n\tdeclare onNextValues: Function | undefined;\n\tconstructor(el: Element) {\n\t\tthis.el = el;\n\t\tthis.ctx = undefined;\n\t\tthis.children = undefined;\n\t\tthis.value = undefined;\n\t\tthis.cachedChildValues = undefined;\n\t\tthis.fallbackValue = undefined;\n\t\tthis.inflightValue = undefined;\n\t\tthis.onNextValues = undefined;\n\t}\n}\n\n/**\n * The retainer equivalent of ElementValue\n */\ntype RetainerChild = Retainer | string | undefined;\n\n/**\n * Finds the value of the element according to its type.\n *\n * @returns The value of the element.\n */\nfunction getValue(ret: Retainer): ElementValue {\n\tif (typeof ret.fallbackValue !== \"undefined\") {\n\t\treturn typeof ret.fallbackValue === \"object\"\n\t\t\t? getValue(ret.fallbackValue)\n\t\t\t: ret.fallbackValue;\n\t} else if (ret.el.tag === Portal) {\n\t\treturn;\n\t} else if (typeof ret.el.tag !== \"function\" && ret.el.tag !== Fragment) {\n\t\treturn ret.value;\n\t}\n\n\treturn unwrap(getChildValues(ret));\n}\n\n/**\n * Walks an element’s children to find its child values.\n *\n * @returns A normalized array of nodes and strings.\n */\nfunction getChildValues(ret: Retainer): Array {\n\tif (ret.cachedChildValues) {\n\t\treturn wrap(ret.cachedChildValues);\n\t}\n\n\tconst values: Array> = [];\n\tconst children = wrap(ret.children);\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (child) {\n\t\t\tvalues.push(typeof child === \"string\" ? child : getValue(child));\n\t\t}\n\t}\n\n\tconst values1 = normalize(values);\n\tconst tag = ret.el.tag;\n\tif (typeof tag === \"function\" || (tag !== Fragment && tag !== Raw)) {\n\t\tret.cachedChildValues = unwrap(values1);\n\t}\n\treturn values1;\n}\n\nexport interface HydrationData {\n\tprops: Record;\n\tchildren: Array;\n}\n\n// TODO: Document the interface and methods\nexport interface RendererImpl<\n\tTNode,\n\tTScope,\n\tTRoot extends TNode = TNode,\n\tTResult = ElementValue,\n> {\n\tscope(\n\t\tscope: TScope | undefined,\n\t\ttag: TTag,\n\t\tprops: TagProps,\n\t): TScope | undefined;\n\n\tcreate(\n\t\ttag: TTag,\n\t\tprops: TagProps,\n\t\tscope: TScope | undefined,\n\t): TNode;\n\n\thydrate(\n\t\ttag: TTag,\n\t\tnode: TNode | TRoot,\n\t\tprops: TagProps,\n\t): HydrationData | undefined;\n\n\t/**\n\t * Called when an element’s rendered value is exposed via render, schedule,\n\t * refresh, refs, or generator yield expressions.\n\t *\n\t * @param value - The value of the element being read. Can be a node, a\n\t * string, undefined, or an array of nodes and strings, depending on the\n\t * element.\n\t *\n\t * @returns Varies according to the specific renderer subclass. By default,\n\t * it exposes the element’s value.\n\t *\n\t * This is useful for renderers which don’t want to expose their internal\n\t * nodes. For instance, the HTML renderer will convert all internal nodes to\n\t * strings.\n\t */\n\tread(value: ElementValue): TResult;\n\n\t/**\n\t * Called for each string in an element tree.\n\t *\n\t * @param text - The string child.\n\t * @param scope - The current scope.\n\t *\n\t * @returns A string to be passed to arrange.\n\t *\n\t * Rather than returning Text nodes as we would in the DOM case, for example,\n\t * we delay that step for Renderer.prototype.arrange. We do this so that\n\t * adjacent strings can be concatenated, and the actual element tree can be\n\t * rendered in normalized form.\n\t */\n\ttext(\n\t\ttext: string,\n\t\tscope: TScope | undefined,\n\t\thydration: HydrationData | undefined,\n\t): string;\n\n\t/**\n\t * Called for each Raw element whose value prop is a string.\n\t *\n\t * @param text - The string child.\n\t * @param scope - The current scope.\n\t *\n\t * @returns The parsed node or string.\n\t */\n\traw(\n\t\tvalue: string | TNode,\n\t\tscope: TScope | undefined,\n\t\thydration: HydrationData | undefined,\n\t): ElementValue;\n\n\tpatch(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tname: TName,\n\t\tvalue: unknown,\n\t\toldValue: unknown,\n\t\tscope: TScope,\n\t): unknown;\n\n\tarrange(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tprops: Record,\n\t\tchildren: Array,\n\t\toldProps: Record | undefined,\n\t\toldChildren: Array | undefined,\n\t): unknown;\n\n\tdispose(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tprops: Record,\n\t): unknown;\n\n\tflush(root: TRoot): unknown;\n}\n\nconst defaultRendererImpl: RendererImpl = {\n\tcreate() {\n\t\tthrow new Error(\"Not implemented\");\n\t},\n\thydrate() {\n\t\tthrow new Error(\"Not implemented\");\n\t},\n\tscope: IDENTITY,\n\tread: IDENTITY,\n\ttext: IDENTITY,\n\traw: IDENTITY,\n\tpatch: NOOP,\n\tarrange: NOOP,\n\tdispose: NOOP,\n\tflush: NOOP,\n};\n\nconst _RendererImpl = Symbol.for(\"crank.RendererImpl\");\n/**\n * An abstract class which is subclassed to render to different target\n * environments. Subclasses will typically call super() with a custom\n * RendererImpl. This class is responsible for kicking off the rendering\n * process and caching previous trees by root.\n *\n * @template TNode - The type of the node for a rendering environment.\n * @template TScope - Data which is passed down the tree.\n * @template TRoot - The type of the root for a rendering environment.\n * @template TResult - The type of exposed values.\n */\nexport class Renderer<\n\tTNode extends object = object,\n\tTScope = unknown,\n\tTRoot extends TNode = TNode,\n\tTResult = ElementValue,\n> {\n\t/**\n\t * @internal\n\t * A weakmap which stores element trees by root.\n\t */\n\tdeclare cache: WeakMap>;\n\n\tdeclare [_RendererImpl]: RendererImpl;\n\tconstructor(impl: Partial>) {\n\t\tthis.cache = new WeakMap();\n\t\tthis[_RendererImpl] = {\n\t\t\t...(defaultRendererImpl as RendererImpl),\n\t\t\t...impl,\n\t\t};\n\t}\n\n\t/**\n\t * Renders an element tree into a specific root.\n\t *\n\t * @param children - An element tree. You can render null with a previously\n\t * used root to delete the previously rendered element tree from the cache.\n\t * @param root - The node to be rendered into. The renderer will cache\n\t * element trees per root.\n\t * @param bridge - An optional context that will be the ancestor context of all\n\t * elements in the tree. Useful for connecting different renderers so that\n\t * events/provisions properly propagate. The context for a given root must be\n\t * the same or an error will be thrown.\n\t *\n\t * @returns The result of rendering the children, or a possible promise of\n\t * the result if the element tree renders asynchronously.\n\t */\n\trender(\n\t\tchildren: Children,\n\t\troot?: TRoot | undefined,\n\t\tbridge?: Context | undefined,\n\t): Promise | TResult {\n\t\tlet ret: Retainer | undefined;\n\t\tconst ctx = bridge && (bridge[_ContextImpl] as ContextImpl);\n\t\tif (typeof root === \"object\" && root !== null) {\n\t\t\tret = this.cache.get(root);\n\t\t}\n\n\t\tlet oldProps: Record | undefined;\n\t\tif (ret === undefined) {\n\t\t\tret = new Retainer(createElement(Portal, {children, root}));\n\t\t\tret.value = root;\n\t\t\tret.ctx = ctx;\n\t\t\tif (typeof root === \"object\" && root !== null && children != null) {\n\t\t\t\tthis.cache.set(root, ret);\n\t\t\t}\n\t\t} else if (ret.ctx !== ctx) {\n\t\t\tthrow new Error(\"Context mismatch\");\n\t\t} else {\n\t\t\toldProps = ret.el.props;\n\t\t\tret.el = createElement(Portal, {children, root});\n\t\t\tif (typeof root === \"object\" && root !== null && children == null) {\n\t\t\t\tthis.cache.delete(root);\n\t\t\t}\n\t\t}\n\n\t\tconst impl = this[_RendererImpl];\n\t\tconst childValues = diffChildren(\n\t\t\timpl,\n\t\t\troot,\n\t\t\tret,\n\t\t\tctx,\n\t\t\timpl.scope(undefined, Portal, ret.el.props),\n\t\t\tret,\n\t\t\tchildren,\n\t\t\tundefined, // hydration data\n\t\t);\n\n\t\t// We return the child values of the portal because portal elements\n\t\t// themselves have no readable value.\n\t\tif (isPromiseLike(childValues)) {\n\t\t\treturn childValues.then((childValues) =>\n\t\t\t\tcommitRootRender(impl, root, ctx, ret!, childValues, oldProps),\n\t\t\t);\n\t\t}\n\n\t\treturn commitRootRender(impl, root, ctx, ret, childValues, oldProps);\n\t}\n\n\thydrate(\n\t\tchildren: Children,\n\t\troot: TRoot,\n\t\tbridge?: Context | undefined,\n\t): Promise | TResult {\n\t\tconst impl = this[_RendererImpl];\n\t\tconst ctx = bridge && (bridge[_ContextImpl] as ContextImpl);\n\t\tlet ret: Retainer | undefined;\n\t\tret = this.cache.get(root);\n\t\tif (ret !== undefined) {\n\t\t\t// If there is a retainer for the root, hydration is not necessary.\n\t\t\treturn this.render(children, root, bridge);\n\t\t}\n\n\t\tlet oldProps: Record | undefined;\n\t\tret = new Retainer(createElement(Portal, {children, root}));\n\t\tret.value = root;\n\t\tif (typeof root === \"object\" && root !== null && children != null) {\n\t\t\tthis.cache.set(root, ret);\n\t\t}\n\n\t\tconst hydrationData = impl.hydrate(Portal, root, {});\n\t\tconst childValues = diffChildren(\n\t\t\timpl,\n\t\t\troot,\n\t\t\tret,\n\t\t\tctx,\n\t\t\timpl.scope(undefined, Portal, ret.el.props),\n\t\t\tret,\n\t\t\tchildren,\n\t\t\thydrationData,\n\t\t);\n\n\t\t// We return the child values of the portal because portal elements\n\t\t// themselves have no readable value.\n\t\tif (isPromiseLike(childValues)) {\n\t\t\treturn childValues.then((childValues) =>\n\t\t\t\tcommitRootRender(impl, root, ctx, ret!, childValues, oldProps),\n\t\t\t);\n\t\t}\n\n\t\treturn commitRootRender(impl, root, ctx, ret, childValues, oldProps);\n\t}\n}\n\n/*** PRIVATE RENDERER FUNCTIONS ***/\nfunction commitRootRender(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n\tchildValues: Array,\n\toldProps: Record | undefined,\n): TResult {\n\t// element is a host or portal element\n\tif (root != null) {\n\t\trenderer.arrange(\n\t\t\tPortal,\n\t\t\troot,\n\t\t\tret.el.props,\n\t\t\tchildValues,\n\t\t\toldProps,\n\t\t\twrap(ret.cachedChildValues),\n\t\t);\n\t\tflush(renderer, root);\n\t}\n\n\tret.cachedChildValues = unwrap(childValues);\n\tif (root == null) {\n\t\tunmount(renderer, ret, ctx, ret);\n\t}\n\n\treturn renderer.read(ret.cachedChildValues);\n}\n\nfunction diffChildren(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tparent: Retainer,\n\tchildren: Children,\n\thydrationData: HydrationData | undefined,\n): Promise> | Array {\n\tconst oldRetained = wrap(parent.children);\n\tconst newRetained: typeof oldRetained = [];\n\tconst newChildren = arrayify(children);\n\tconst values: Array> | ElementValue> = [];\n\tlet graveyard: Array> | undefined;\n\tlet childrenByKey: Map> | undefined;\n\tlet seenKeys: Set | undefined;\n\tlet isAsync = false;\n\t// When hydrating, sibling element trees must be rendered in order, because\n\t// we do not know how many DOM nodes an element will render.\n\tlet hydrationBlock: Promise | undefined;\n\tlet oi = 0;\n\tlet oldLength = oldRetained.length;\n\tfor (let ni = 0, newLength = newChildren.length; ni < newLength; ni++) {\n\t\t// length checks to prevent index out of bounds deoptimizations.\n\t\tlet ret = oi >= oldLength ? undefined : oldRetained[oi];\n\t\tlet child = narrow(newChildren[ni]);\n\t\t{\n\t\t\t// aligning new children with old retainers\n\t\t\tlet oldKey = typeof ret === \"object\" ? ret.el.key : undefined;\n\t\t\tlet newKey = typeof child === \"object\" ? child.key : undefined;\n\t\t\tif (newKey !== undefined && seenKeys && seenKeys.has(newKey)) {\n\t\t\t\tconsole.error(\"Duplicate key\", newKey);\n\t\t\t\tnewKey = undefined;\n\t\t\t}\n\n\t\t\tif (oldKey === newKey) {\n\t\t\t\tif (childrenByKey !== undefined && newKey !== undefined) {\n\t\t\t\t\tchildrenByKey.delete(newKey);\n\t\t\t\t}\n\n\t\t\t\toi++;\n\t\t\t} else {\n\t\t\t\tchildrenByKey = childrenByKey || createChildrenByKey(oldRetained, oi);\n\t\t\t\tif (newKey === undefined) {\n\t\t\t\t\twhile (ret !== undefined && oldKey !== undefined) {\n\t\t\t\t\t\toi++;\n\t\t\t\t\t\tret = oldRetained[oi];\n\t\t\t\t\t\toldKey = typeof ret === \"object\" ? ret.el.key : undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\toi++;\n\t\t\t\t} else {\n\t\t\t\t\tret = childrenByKey.get(newKey);\n\t\t\t\t\tif (ret !== undefined) {\n\t\t\t\t\t\tchildrenByKey.delete(newKey);\n\t\t\t\t\t}\n\n\t\t\t\t\t(seenKeys = seenKeys || new Set()).add(newKey);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Updating\n\t\tlet value: Promise> | ElementValue;\n\t\tif (typeof child === \"object\") {\n\t\t\tif (child.tag === Copy || (typeof ret === \"object\" && ret.el === child)) {\n\t\t\t\tvalue = getInflightValue(ret);\n\t\t\t} else {\n\t\t\t\tlet oldProps: Record | undefined;\n\t\t\t\tlet copy = false;\n\t\t\t\tif (typeof ret === \"object\" && ret.el.tag === child.tag) {\n\t\t\t\t\toldProps = ret.el.props;\n\t\t\t\t\tret.el = child;\n\t\t\t\t\tif (child.copy) {\n\t\t\t\t\t\tvalue = getInflightValue(ret);\n\t\t\t\t\t\tcopy = true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof ret === \"object\") {\n\t\t\t\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fallback = ret;\n\t\t\t\t\tret = new Retainer(child);\n\t\t\t\t\tret.fallbackValue = fallback;\n\t\t\t\t}\n\n\t\t\t\tif (copy) {\n\t\t\t\t\t// pass\n\t\t\t\t} else if (child.tag === Raw) {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateRaw(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateRaw(renderer, ret, scope, oldProps, hydrationData);\n\t\t\t\t} else if (child.tag === Fragment) {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateFragment(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateFragment(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t} else if (typeof child.tag === \"function\") {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateComponent(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateComponent(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateHost(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateHost(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tisAsync = true;\n\t\t\t\tif (hydrationData !== undefined) {\n\t\t\t\t\thydrationBlock = value;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// child is a string or undefined\n\t\t\tif (typeof ret === \"object\") {\n\t\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t\t}\n\n\t\t\tif (typeof child === \"string\") {\n\t\t\t\tvalue = ret = renderer.text(child, scope, hydrationData);\n\t\t\t} else {\n\t\t\t\tret = undefined;\n\t\t\t}\n\t\t}\n\n\t\tvalues[ni] = value;\n\t\tnewRetained[ni] = ret;\n\t}\n\n\t// cleanup remaining retainers\n\tfor (; oi < oldLength; oi++) {\n\t\tconst ret = oldRetained[oi];\n\t\tif (\n\t\t\ttypeof ret === \"object\" &&\n\t\t\t(typeof ret.el.key === \"undefined\" ||\n\t\t\t\t!seenKeys ||\n\t\t\t\t!seenKeys.has(ret.el.key))\n\t\t) {\n\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t}\n\t}\n\n\tif (childrenByKey !== undefined && childrenByKey.size > 0) {\n\t\t(graveyard = graveyard || []).push(...childrenByKey.values());\n\t}\n\n\tparent.children = unwrap(newRetained);\n\tif (isAsync) {\n\t\tlet childValues1 = Promise.all(values).finally(() => {\n\t\t\tif (graveyard) {\n\t\t\t\tfor (let i = 0; i < graveyard.length; i++) {\n\t\t\t\t\tunmount(renderer, host, ctx, graveyard[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tlet onChildValues!: Function;\n\t\tchildValues1 = Promise.race([\n\t\t\tchildValues1,\n\t\t\tnew Promise((resolve) => (onChildValues = resolve)),\n\t\t]);\n\n\t\tif (parent.onNextValues) {\n\t\t\tparent.onNextValues(childValues1);\n\t\t}\n\n\t\tparent.onNextValues = onChildValues;\n\t\treturn childValues1.then((childValues) => {\n\t\t\tparent.inflightValue = parent.fallbackValue = undefined;\n\t\t\treturn normalize(childValues);\n\t\t});\n\t} else {\n\t\tif (graveyard) {\n\t\t\tfor (let i = 0; i < graveyard.length; i++) {\n\t\t\t\tunmount(renderer, host, ctx, graveyard[i]);\n\t\t\t}\n\t\t}\n\n\t\tif (parent.onNextValues) {\n\t\t\tparent.onNextValues(values);\n\t\t\tparent.onNextValues = undefined;\n\t\t}\n\n\t\tparent.inflightValue = parent.fallbackValue = undefined;\n\t\t// We can assert there are no promises in the array because isAsync is false\n\t\treturn normalize(values as Array>);\n\t}\n}\n\nfunction createChildrenByKey(\n\tchildren: Array>,\n\toffset: number,\n): Map> {\n\tconst childrenByKey = new Map>();\n\tfor (let i = offset; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (typeof child === \"object\" && typeof child.el.key !== \"undefined\") {\n\t\t\tchildrenByKey.set(child.el.key, child);\n\t\t}\n\t}\n\n\treturn childrenByKey;\n}\n\nfunction getInflightValue(\n\tchild: RetainerChild,\n): Promise> | ElementValue {\n\tif (typeof child !== \"object\") {\n\t\treturn child;\n\t}\n\n\tconst ctx: ContextImpl | undefined =\n\t\ttypeof child.el.tag === \"function\" ? child.ctx : undefined;\n\tif (ctx && ctx.f & IsUpdating && ctx.inflightValue) {\n\t\treturn ctx.inflightValue;\n\t} else if (child.inflightValue) {\n\t\treturn child.inflightValue;\n\t}\n\n\treturn getValue(child);\n}\n\nfunction updateRaw(\n\trenderer: RendererImpl,\n\tret: Retainer,\n\tscope: TScope | undefined,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): ElementValue {\n\tconst props = ret.el.props;\n\tif (!oldProps || oldProps.value !== props.value) {\n\t\tret.value = renderer.raw(props.value as any, scope, hydrationData);\n\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\tret.el.ref(ret.value);\n\t\t}\n\t}\n\n\treturn ret.value;\n}\n\nfunction updateFragment(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tconst childValues = diffChildren(\n\t\trenderer,\n\t\troot,\n\t\thost,\n\t\tctx,\n\t\tscope,\n\t\tret,\n\t\tret.el.props.children as any,\n\t\thydrationData,\n\t);\n\n\tif (isPromiseLike(childValues)) {\n\t\tret.inflightValue = childValues.then((childValues) => unwrap(childValues));\n\t\treturn ret.inflightValue;\n\t}\n\n\treturn unwrap(childValues);\n}\n\nfunction updateHost(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tconst el = ret.el;\n\tconst tag = el.tag as string | symbol;\n\tlet hydrationValue: TNode | string | undefined;\n\tif (el.tag === Portal) {\n\t\troot = ret.value = el.props.root as any;\n\t} else {\n\t\tif (hydrationData !== undefined) {\n\t\t\tconst value = hydrationData.children.shift();\n\t\t\thydrationValue = value;\n\t\t}\n\t}\n\n\tscope = renderer.scope(scope, tag, el.props);\n\tlet childHydrationData: HydrationData | undefined;\n\tif (hydrationValue != null && typeof hydrationValue !== \"string\") {\n\t\tchildHydrationData = renderer.hydrate(tag, hydrationValue, el.props);\n\n\t\tif (childHydrationData === undefined) {\n\t\t\thydrationValue = undefined;\n\t\t}\n\t}\n\tconst childValues = diffChildren(\n\t\trenderer,\n\t\troot,\n\t\tret,\n\t\tctx,\n\t\tscope,\n\t\tret,\n\t\tret.el.props.children as any,\n\t\tchildHydrationData,\n\t);\n\n\tif (isPromiseLike(childValues)) {\n\t\tret.inflightValue = childValues.then((childValues) =>\n\t\t\tcommitHost(renderer, scope, ret, childValues, oldProps, hydrationValue),\n\t\t);\n\n\t\treturn ret.inflightValue;\n\t}\n\n\treturn commitHost(\n\t\trenderer,\n\t\tscope,\n\t\tret,\n\t\tchildValues,\n\t\toldProps,\n\t\thydrationValue,\n\t);\n}\n\nfunction commitHost(\n\trenderer: RendererImpl,\n\tscope: TScope,\n\tret: Retainer,\n\tchildValues: Array,\n\toldProps: Record | undefined,\n\thydrationValue: TNode | undefined,\n): ElementValue {\n\tconst tag = ret.el.tag as string | symbol;\n\tlet value = ret.value as TNode;\n\tif (hydrationValue != null) {\n\t\tvalue = ret.value = hydrationValue;\n\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\tret.el.ref(value);\n\t\t}\n\t}\n\n\tlet props = ret.el.props;\n\tlet copied: Set | undefined;\n\tif (tag !== Portal) {\n\t\tif (value == null) {\n\t\t\t// This assumes that renderer.create does not return nullish values.\n\t\t\tvalue = ret.value = renderer.create(tag, props, scope);\n\t\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\t\tret.el.ref(value);\n\t\t\t}\n\t\t}\n\n\t\tfor (const propName in {...oldProps, ...props}) {\n\t\t\tconst propValue = props[propName];\n\t\t\tif (propValue === Copy) {\n\t\t\t\t// TODO: The Copy tag doubles as a way to skip the patching of a prop.\n\t\t\t\t// Not sure about this feature. Should probably be removed.\n\t\t\t\t(copied = copied || new Set()).add(propName);\n\t\t\t} else if (!SPECIAL_PROPS.has(propName)) {\n\t\t\t\trenderer.patch(\n\t\t\t\t\ttag,\n\t\t\t\t\tvalue,\n\t\t\t\t\tpropName,\n\t\t\t\t\tpropValue,\n\t\t\t\t\toldProps && oldProps[propName],\n\t\t\t\t\tscope,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (copied) {\n\t\tprops = {...ret.el.props};\n\t\tfor (const name of copied) {\n\t\t\tprops[name] = oldProps && oldProps[name];\n\t\t}\n\n\t\tret.el = new Element(tag, props);\n\t}\n\n\trenderer.arrange(\n\t\ttag,\n\t\tvalue,\n\t\tprops,\n\t\tchildValues,\n\t\toldProps,\n\t\twrap(ret.cachedChildValues),\n\t);\n\tret.cachedChildValues = unwrap(childValues);\n\tif (tag === Portal) {\n\t\tflush(renderer, ret.value);\n\t\treturn;\n\t}\n\n\treturn value;\n}\n\nfunction flush(\n\trenderer: RendererImpl,\n\troot: TRoot,\n\tinitiator?: ContextImpl,\n) {\n\trenderer.flush(root);\n\tif (typeof root !== \"object\" || root === null) {\n\t\treturn;\n\t}\n\n\tconst flushMap = flushMaps.get(root as any);\n\tif (flushMap) {\n\t\tif (initiator) {\n\t\t\tconst flushMap1 = new Map>();\n\t\t\tfor (let [ctx, callbacks] of flushMap) {\n\t\t\t\tif (!ctxContains(initiator, ctx)) {\n\t\t\t\t\tflushMap.delete(ctx);\n\t\t\t\t\tflushMap1.set(ctx, callbacks);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (flushMap1.size) {\n\t\t\t\tflushMaps.set(root as any, flushMap1);\n\t\t\t} else {\n\t\t\t\tflushMaps.delete(root as any);\n\t\t\t}\n\t\t} else {\n\t\t\tflushMaps.delete(root as any);\n\t\t}\n\n\t\tfor (const [ctx, callbacks] of flushMap) {\n\t\t\tconst value = renderer.read(getValue(ctx.ret));\n\t\t\tfor (const callback of callbacks) {\n\t\t\t\tcallback(value);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction unmount(\n\trenderer: RendererImpl,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n): void {\n\tif (typeof ret.el.tag === \"function\") {\n\t\tctx = ret.ctx as ContextImpl;\n\t\tunmountComponent(ctx);\n\t} else if (ret.el.tag === Portal) {\n\t\thost = ret;\n\t\trenderer.arrange(\n\t\t\tPortal,\n\t\t\thost.value as TNode,\n\t\t\thost.el.props,\n\t\t\t[],\n\t\t\thost.el.props,\n\t\t\twrap(host.cachedChildValues),\n\t\t);\n\t\tflush(renderer, host.value);\n\t} else if (ret.el.tag !== Fragment) {\n\t\tif (isEventTarget(ret.value)) {\n\t\t\tconst records = getListenerRecords(ctx, host);\n\t\t\tfor (let i = 0; i < records.length; i++) {\n\t\t\t\tconst record = records[i];\n\t\t\t\tret.value.removeEventListener(\n\t\t\t\t\trecord.type,\n\t\t\t\t\trecord.callback,\n\t\t\t\t\trecord.options,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\trenderer.dispose(ret.el.tag, ret.value as TNode, ret.el.props);\n\t\thost = ret;\n\t}\n\n\tconst children = wrap(ret.children);\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (typeof child === \"object\") {\n\t\t\tunmount(renderer, host, ctx, child);\n\t\t}\n\t}\n}\n\n/*** CONTEXT FLAGS ***/\n/**\n * A flag which is true when the component is initialized or updated by an\n * ancestor component or the root render call.\n *\n * Used to determine things like whether the nearest host ancestor needs to be\n * rearranged.\n */\nconst IsUpdating = 1 << 0;\n\n/**\n * A flag which is true when the component is synchronously executing.\n *\n * Used to guard against components triggering stack overflow or generator error.\n */\nconst IsSyncExecuting = 1 << 1;\n\n/**\n * A flag which is true when the component is in a for...of loop.\n */\nconst IsInForOfLoop = 1 << 2;\n\n/**\n * A flag which is true when the component is in a for await...of loop.\n */\nconst IsInForAwaitOfLoop = 1 << 3;\n\n/**\n * A flag which is true when the component starts the render loop but has not\n * yielded yet.\n *\n * Used to make sure that components yield at least once per loop.\n */\nconst NeedsToYield = 1 << 4;\n\n/**\n * A flag used by async generator components in conjunction with the\n * onAvailable callback to mark whether new props can be pulled via the context\n * async iterator. See the Symbol.asyncIterator method and the\n * resumeCtxIterator function.\n */\nconst PropsAvailable = 1 << 5;\n\n/**\n * A flag which is set when a component errors.\n *\n * This is mainly used to prevent some false positives in \"component yields or\n * returns undefined\" warnings. The reason we’re using this versus IsUnmounted\n * is a very troubling test (cascades sync generator parent and sync generator\n * child) where synchronous code causes a stack overflow error in a\n * non-deterministic way. Deeply disturbing stuff.\n */\nconst IsErrored = 1 << 6;\n\n/**\n * A flag which is set when the component is unmounted. Unmounted components\n * are no longer in the element tree and cannot refresh or rerender.\n */\nconst IsUnmounted = 1 << 7;\n\n/**\n * A flag which indicates that the component is a sync generator component.\n */\nconst IsSyncGen = 1 << 8;\n\n/**\n * A flag which indicates that the component is an async generator component.\n */\nconst IsAsyncGen = 1 << 9;\n\n/**\n * A flag which is set while schedule callbacks are called.\n */\nconst IsScheduling = 1 << 10;\n\n/**\n * A flag which is set when a schedule callback calls refresh.\n */\nconst IsSchedulingRefresh = 1 << 11;\n\nexport interface Context extends Crank.Context {}\n\n/**\n * An interface which can be extended to provide strongly typed provisions.\n * See Context.prototype.consume and Context.prototype.provide.\n */\nexport interface ProvisionMap extends Crank.ProvisionMap {}\n\nconst provisionMaps = new WeakMap>();\n\nconst scheduleMap = new WeakMap>();\n\nconst cleanupMap = new WeakMap>();\n\n// keys are roots\nconst flushMaps = new WeakMap>>();\n\n/**\n * @internal\n * The internal class which holds context data.\n */\nclass ContextImpl<\n\tTNode = unknown,\n\tTScope = unknown,\n\tTRoot extends TNode = TNode,\n\tTResult = unknown,\n> {\n\t/** A bitmask. See CONTEXT FLAGS above. */\n\tdeclare f: number;\n\n\t/** The actual context associated with this impl. */\n\tdeclare owner: Context;\n\n\t/**\n\t * The renderer which created this context.\n\t */\n\tdeclare renderer: RendererImpl;\n\n\t/** The root node as set by the nearest ancestor portal. */\n\tdeclare root: TRoot | undefined;\n\n\t/**\n\t * The nearest ancestor host or portal retainer.\n\t *\n\t * When refresh is called, the host element will be arranged as the last step\n\t * of the commit, to make sure the parent’s children properly reflects the\n\t * components’s children.\n\t */\n\tdeclare host: Retainer;\n\n\t/** The parent context impl. */\n\tdeclare parent: ContextImpl | undefined;\n\n\t/** The value of the scope at the point of element’s creation. */\n\tdeclare scope: TScope | undefined;\n\n\t/** The internal node associated with this context. */\n\tdeclare ret: Retainer;\n\n\t/**\n\t * The iterator returned by the component function.\n\t *\n\t * Existence of this property implies that the component is a generator\n\t * component. It is deleted when a component is returned.\n\t */\n\tdeclare iterator:\n\t\t| Iterator\n\t\t| AsyncIterator\n\t\t| undefined;\n\n\t// A \"block\" is a promise which represents the duration during which new\n\t// updates are queued, whereas \"value\" is a promise which represents the\n\t// actual pending result of rendering.\n\tdeclare inflightBlock: Promise | undefined;\n\tdeclare inflightValue: Promise> | undefined;\n\tdeclare enqueuedBlock: Promise | undefined;\n\tdeclare enqueuedValue: Promise> | undefined;\n\n\t// The following callbacks are used to implement the async generator render\n\t// loop behavior.\n\tdeclare onProps: ((props: Record) => unknown) | undefined;\n\tdeclare onPropsRequested: Function | undefined;\n\tconstructor(\n\t\trenderer: RendererImpl,\n\t\troot: TRoot | undefined,\n\t\thost: Retainer,\n\t\tparent: ContextImpl | undefined,\n\t\tscope: TScope | undefined,\n\t\tret: Retainer,\n\t) {\n\t\tthis.f = 0;\n\t\tthis.owner = new Context(this);\n\t\tthis.renderer = renderer;\n\t\tthis.root = root;\n\t\tthis.host = host;\n\t\tthis.parent = parent;\n\t\tthis.scope = scope;\n\t\tthis.ret = ret;\n\n\t\tthis.iterator = undefined;\n\t\tthis.inflightBlock = undefined;\n\t\tthis.inflightValue = undefined;\n\t\tthis.enqueuedBlock = undefined;\n\t\tthis.enqueuedValue = undefined;\n\t\tthis.onProps = undefined;\n\t\tthis.onPropsRequested = undefined;\n\t}\n}\n\nconst _ContextImpl = Symbol.for(\"crank.ContextImpl\");\n\ntype ComponentProps = T extends () => any\n\t? {}\n\t: T extends (props: infer U) => any\n\t\t? U\n\t\t: T;\n/**\n * A class which is instantiated and passed to every component as its this\n * value. Contexts form a tree just like elements and all components in the\n * element tree are connected via contexts. Components can use this tree to\n * communicate data upwards via events and downwards via provisions.\n *\n * @template [T=*] - The expected shape of the props passed to the component,\n * or a component function. Used to strongly type the Context iterator methods.\n * @template [TResult=*] - The readable element value type. It is used in\n * places such as the return value of refresh and the argument passed to\n * schedule and cleanup callbacks.\n */\nexport class Context implements EventTarget {\n\t/**\n\t * @internal\n\t */\n\tdeclare [_ContextImpl]: ContextImpl;\n\n\t// TODO: If we could make the constructor function take a nicer value, it\n\t// would be useful for testing purposes.\n\tconstructor(impl: ContextImpl) {\n\t\tthis[_ContextImpl] = impl;\n\t}\n\n\t/**\n\t * The current props of the associated element.\n\t */\n\tget props(): ComponentProps {\n\t\treturn this[_ContextImpl].ret.el.props as ComponentProps;\n\t}\n\n\t/**\n\t * The current value of the associated element.\n\t *\n\t * @deprecated\n\t */\n\tget value(): TResult {\n\t\treturn this[_ContextImpl].renderer.read(getValue(this[_ContextImpl].ret));\n\t}\n\n\t*[Symbol.iterator](): Generator> {\n\t\tconst ctx = this[_ContextImpl];\n\t\ttry {\n\t\t\tctx.f |= IsInForOfLoop;\n\t\t\twhile (!(ctx.f & IsUnmounted)) {\n\t\t\t\tif (ctx.f & NeedsToYield) {\n\t\t\t\t\tthrow new Error(\"Context iterated twice without a yield\");\n\t\t\t\t} else {\n\t\t\t\t\tctx.f |= NeedsToYield;\n\t\t\t\t}\n\n\t\t\t\tyield ctx.ret.el.props as ComponentProps;\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsInForOfLoop;\n\t\t}\n\t}\n\n\tasync *[Symbol.asyncIterator](): AsyncGenerator> {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (ctx.f & IsSyncGen) {\n\t\t\tthrow new Error(\"Use for...of in sync generator components\");\n\t\t}\n\n\t\ttry {\n\t\t\tctx.f |= IsInForAwaitOfLoop;\n\t\t\twhile (!(ctx.f & IsUnmounted)) {\n\t\t\t\tif (ctx.f & NeedsToYield) {\n\t\t\t\t\tthrow new Error(\"Context iterated twice without a yield\");\n\t\t\t\t} else {\n\t\t\t\t\tctx.f |= NeedsToYield;\n\t\t\t\t}\n\n\t\t\t\tif (ctx.f & PropsAvailable) {\n\t\t\t\t\tctx.f &= ~PropsAvailable;\n\t\t\t\t\tyield ctx.ret.el.props as ComponentProps;\n\t\t\t\t} else {\n\t\t\t\t\tconst props = await new Promise((resolve) => (ctx.onProps = resolve));\n\t\t\t\t\tif (ctx.f & IsUnmounted) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tyield props as ComponentProps;\n\t\t\t\t}\n\n\t\t\t\tif (ctx.onPropsRequested) {\n\t\t\t\t\tctx.onPropsRequested();\n\t\t\t\t\tctx.onPropsRequested = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsInForAwaitOfLoop;\n\t\t\tif (ctx.onPropsRequested) {\n\t\t\t\tctx.onPropsRequested();\n\t\t\t\tctx.onPropsRequested = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Re-executes a component.\n\t *\n\t * @returns The rendered value of the component or a promise thereof if the\n\t * component or its children execute asynchronously.\n\t *\n\t * The refresh method works a little differently for async generator\n\t * components, in that it will resume the Context’s props async iterator\n\t * rather than resuming execution. This is because async generator components\n\t * are perpetually resumed independent of updates, and rely on the props\n\t * async iterator to suspend.\n\t */\n\trefresh(): Promise | TResult {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (ctx.f & IsUnmounted) {\n\t\t\tconsole.error(\"Component is unmounted\");\n\t\t\treturn ctx.renderer.read(undefined);\n\t\t} else if (ctx.f & IsSyncExecuting) {\n\t\t\tconsole.error(\"Component is already executing\");\n\t\t\treturn ctx.renderer.read(getValue(ctx.ret));\n\t\t}\n\n\t\tconst value = enqueueComponentRun(ctx);\n\t\tif (isPromiseLike(value)) {\n\t\t\treturn (value as Promise).then((value) => ctx.renderer.read(value));\n\t\t}\n\n\t\treturn ctx.renderer.read(value);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component commits. Will only\n\t * fire once per callback and update.\n\t */\n\tschedule(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet callbacks = scheduleMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tscheduleMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component’s children are\n\t * rendered into the root. Will only fire once per callback and render.\n\t */\n\tflush(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (typeof ctx.root !== \"object\" || ctx.root === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet flushMap = flushMaps.get(ctx.root);\n\t\tif (!flushMap) {\n\t\t\tflushMap = new Map>();\n\t\t\tflushMaps.set(ctx.root, flushMap);\n\t\t}\n\n\t\tlet callbacks = flushMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tflushMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component unmounts. Will only\n\t * fire once per callback.\n\t */\n\tcleanup(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\n\t\tif (ctx.f & IsUnmounted) {\n\t\t\tconst value = ctx.renderer.read(getValue(ctx.ret));\n\t\t\tcallback(value);\n\t\t\treturn;\n\t\t}\n\n\t\tlet callbacks = cleanupMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tcleanupMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\tconsume(key: TKey): ProvisionMap[TKey];\n\tconsume(key: unknown): any;\n\tconsume(key: unknown): any {\n\t\tfor (\n\t\t\tlet ctx = this[_ContextImpl].parent;\n\t\t\tctx !== undefined;\n\t\t\tctx = ctx.parent\n\t\t) {\n\t\t\tconst provisions = provisionMaps.get(ctx);\n\t\t\tif (provisions && provisions.has(key)) {\n\t\t\t\treturn provisions.get(key)!;\n\t\t\t}\n\t\t}\n\t}\n\n\tprovide(\n\t\tkey: TKey,\n\t\tvalue: ProvisionMap[TKey],\n\t): void;\n\tprovide(key: unknown, value: any): void;\n\tprovide(key: unknown, value: any): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet provisions = provisionMaps.get(ctx);\n\t\tif (!provisions) {\n\t\t\tprovisions = new Map();\n\t\t\tprovisionMaps.set(ctx, provisions);\n\t\t}\n\n\t\tprovisions.set(key, value);\n\t}\n\n\taddEventListener(\n\t\ttype: T,\n\t\tlistener: MappedEventListenerOrEventListenerObject | null,\n\t\toptions?: boolean | AddEventListenerOptions,\n\t): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet listeners: Array;\n\t\tif (!isListenerOrListenerObject(listener)) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tconst listeners1 = listenersMap.get(ctx);\n\t\t\tif (listeners1) {\n\t\t\t\tlisteners = listeners1;\n\t\t\t} else {\n\t\t\t\tlisteners = [];\n\t\t\t\tlistenersMap.set(ctx, listeners);\n\t\t\t}\n\t\t}\n\n\t\toptions = normalizeListenerOptions(options);\n\t\tlet callback: MappedEventListener;\n\t\tif (typeof listener === \"object\") {\n\t\t\tcallback = () => listener.handleEvent.apply(listener, arguments as any);\n\t\t} else {\n\t\t\tcallback = listener;\n\t\t}\n\n\t\tconst record: EventListenerRecord = {type, listener, callback, options};\n\t\tif (options.once) {\n\t\t\trecord.callback = function (this: any) {\n\t\t\t\tconst i = listeners.indexOf(record);\n\t\t\t\tif (i !== -1) {\n\t\t\t\t\tlisteners.splice(i, 1);\n\t\t\t\t}\n\n\t\t\t\treturn callback.apply(this, arguments as any);\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tlisteners.some(\n\t\t\t\t(record1) =>\n\t\t\t\t\trecord.type === record1.type &&\n\t\t\t\t\trecord.listener === record1.listener &&\n\t\t\t\t\t!record.options.capture === !record1.options.capture,\n\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tlisteners.push(record);\n\n\t\t// TODO: is it possible to separate out the EventTarget delegation logic\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tvalue.addEventListener(record.type, record.callback, record.options);\n\t\t\t}\n\t\t}\n\t}\n\n\tremoveEventListener(\n\t\ttype: T,\n\t\tlistener: MappedEventListenerOrEventListenerObject | null,\n\t\toptions?: EventListenerOptions | boolean,\n\t): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tconst listeners = listenersMap.get(ctx);\n\t\tif (listeners == null || !isListenerOrListenerObject(listener)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options1 = normalizeListenerOptions(options);\n\t\tconst i = listeners.findIndex(\n\t\t\t(record) =>\n\t\t\t\trecord.type === type &&\n\t\t\t\trecord.listener === listener &&\n\t\t\t\t!record.options.capture === !options1.capture,\n\t\t);\n\n\t\tif (i === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst record = listeners[i];\n\t\tlisteners.splice(i, 1);\n\n\t\t// TODO: is it possible to separate out the EventTarget delegation logic\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tvalue.removeEventListener(record.type, record.callback, record.options);\n\t\t\t}\n\t\t}\n\t}\n\n\tdispatchEvent(ev: Event): boolean {\n\t\tconst ctx = this[_ContextImpl];\n\t\tconst path: Array = [];\n\t\tfor (\n\t\t\tlet parent = ctx.parent;\n\t\t\tparent !== undefined;\n\t\t\tparent = parent.parent\n\t\t) {\n\t\t\tpath.push(parent);\n\t\t}\n\n\t\t// We patch the stopImmediatePropagation method because ev.cancelBubble\n\t\t// only informs us if stopPropagation was called and there are no\n\t\t// properties which inform us if stopImmediatePropagation was called.\n\t\tlet immediateCancelBubble = false;\n\t\tconst stopImmediatePropagation = ev.stopImmediatePropagation;\n\t\tsetEventProperty(ev, \"stopImmediatePropagation\", () => {\n\t\t\timmediateCancelBubble = true;\n\t\t\treturn stopImmediatePropagation.call(ev);\n\t\t});\n\t\tsetEventProperty(ev, \"target\", ctx.owner);\n\n\t\t// The only possible errors in this block are errors thrown by callbacks,\n\t\t// and dispatchEvent will only log these errors rather than throwing\n\t\t// them. Therefore, we place all code in a try block, log errors in the\n\t\t// catch block, and use an unsafe return statement in the finally block.\n\t\t//\n\t\t// Each early return within the try block returns true because while the\n\t\t// return value is overridden in the finally block, TypeScript\n\t\t// (justifiably) does not recognize the unsafe return statement.\n\t\ttry {\n\t\t\tsetEventProperty(ev, \"eventPhase\", CAPTURING_PHASE);\n\t\t\tfor (let i = path.length - 1; i >= 0; i--) {\n\t\t\t\tconst target = path[i];\n\t\t\t\tconst listeners = listenersMap.get(target);\n\t\t\t\tif (listeners) {\n\t\t\t\t\tsetEventProperty(ev, \"currentTarget\", target.owner);\n\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\tif (record.type === ev.type && record.options.capture) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\trecord.callback.call(target.owner, ev);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t{\n\t\t\t\tsetEventProperty(ev, \"eventPhase\", AT_TARGET);\n\t\t\t\tsetEventProperty(ev, \"currentTarget\", ctx.owner);\n\n\t\t\t\t// dispatchEvent calls the prop callback if it exists\n\t\t\t\tlet propCallback = ctx.ret.el.props[\"on\" + ev.type] as unknown;\n\t\t\t\tif (typeof propCallback === \"function\") {\n\t\t\t\t\tpropCallback(ev);\n\t\t\t\t\tif (immediateCancelBubble || ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Checks for camel-cased event props\n\t\t\t\t\tfor (const propName in ctx.ret.el.props) {\n\t\t\t\t\t\tif (propName.toLowerCase() === \"on\" + ev.type.toLowerCase()) {\n\t\t\t\t\t\t\tpropCallback = ctx.ret.el.props[propName] as unknown;\n\t\t\t\t\t\t\tif (typeof propCallback === \"function\") {\n\t\t\t\t\t\t\t\tpropCallback(ev);\n\t\t\t\t\t\t\t\tif (immediateCancelBubble || ev.cancelBubble) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst listeners = listenersMap.get(ctx);\n\t\t\t\tif (listeners) {\n\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\tif (record.type === ev.type) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\trecord.callback.call(ctx.owner, ev);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (ev.bubbles) {\n\t\t\t\tsetEventProperty(ev, \"eventPhase\", BUBBLING_PHASE);\n\t\t\t\tfor (let i = 0; i < path.length; i++) {\n\t\t\t\t\tconst target = path[i];\n\t\t\t\t\tconst listeners = listenersMap.get(target);\n\t\t\t\t\tif (listeners) {\n\t\t\t\t\t\tsetEventProperty(ev, \"currentTarget\", target.owner);\n\t\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\t\tif (record.type === ev.type && !record.options.capture) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\trecord.callback.call(target.owner, ev);\n\t\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tsetEventProperty(ev, \"eventPhase\", NONE);\n\t\t\tsetEventProperty(ev, \"currentTarget\", null);\n\t\t\t// eslint-disable-next-line no-unsafe-finally\n\t\t\treturn !ev.defaultPrevented;\n\t\t}\n\t}\n}\n\n/*** PRIVATE CONTEXT FUNCTIONS ***/\nfunction ctxContains(parent: ContextImpl, child: ContextImpl): boolean {\n\tfor (\n\t\tlet current: ContextImpl | undefined = child;\n\t\tcurrent !== undefined;\n\t\tcurrent = current.parent\n\t) {\n\t\tif (current === parent) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nfunction updateComponent(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tparent: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tlet ctx: ContextImpl;\n\tif (oldProps) {\n\t\tctx = ret.ctx as ContextImpl;\n\t\tif (ctx.f & IsSyncExecuting) {\n\t\t\tconsole.error(\"Component is already executing\");\n\t\t\treturn ret.cachedChildValues;\n\t\t}\n\t} else {\n\t\tctx = ret.ctx = new ContextImpl(renderer, root, host, parent, scope, ret);\n\t}\n\n\tctx.f |= IsUpdating;\n\treturn enqueueComponentRun(ctx, hydrationData);\n}\n\nfunction updateComponentChildren(\n\tctx: ContextImpl,\n\tchildren: Children,\n\thydrationData?: HydrationData | undefined,\n): Promise> | ElementValue {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t} else if (ctx.f & IsErrored) {\n\t\t// This branch is necessary for some race conditions where this function is\n\t\t// called after iterator.throw() in async generator components.\n\t\treturn;\n\t} else if (children === undefined) {\n\t\tconsole.error(\n\t\t\t\"A component has returned or yielded undefined. If this was intentional, return or yield null instead.\",\n\t\t);\n\t}\n\n\tlet childValues: Promise> | Array;\n\ttry {\n\t\t// TODO: WAT\n\t\t// We set the isExecuting flag in case a child component dispatches an event\n\t\t// which bubbles to this component and causes a synchronous refresh().\n\t\tctx.f |= IsSyncExecuting;\n\t\tchildValues = diffChildren(\n\t\t\tctx.renderer,\n\t\t\tctx.root,\n\t\t\tctx.host,\n\t\t\tctx,\n\t\t\tctx.scope,\n\t\t\tctx.ret,\n\t\t\tnarrow(children),\n\t\t\thydrationData,\n\t\t);\n\t} finally {\n\t\tctx.f &= ~IsSyncExecuting;\n\t}\n\n\tif (isPromiseLike(childValues)) {\n\t\tctx.ret.inflightValue = childValues.then((childValues) =>\n\t\t\tcommitComponent(ctx, childValues),\n\t\t);\n\n\t\treturn ctx.ret.inflightValue;\n\t}\n\n\treturn commitComponent(ctx, childValues);\n}\n\nfunction commitComponent(\n\tctx: ContextImpl,\n\tvalues: Array,\n): ElementValue {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t}\n\n\tconst listeners = listenersMap.get(ctx);\n\tif (listeners && listeners.length) {\n\t\tfor (let i = 0; i < values.length; i++) {\n\t\t\tconst value = values[i];\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tfor (let j = 0; j < listeners.length; j++) {\n\t\t\t\t\tconst record = listeners[j];\n\t\t\t\t\tvalue.addEventListener(record.type, record.callback, record.options);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst oldValues = wrap(ctx.ret.cachedChildValues);\n\tlet value = (ctx.ret.cachedChildValues = unwrap(values));\n\tif (ctx.f & IsScheduling) {\n\t\tctx.f |= IsSchedulingRefresh;\n\t} else if (!(ctx.f & IsUpdating)) {\n\t\t// If we’re not updating the component, which happens when components are\n\t\t// refreshed, or when async generator components iterate, we have to do a\n\t\t// little bit housekeeping when a component’s child values have changed.\n\t\tif (!arrayEqual(oldValues, values)) {\n\t\t\tconst records = getListenerRecords(ctx.parent, ctx.host);\n\t\t\tif (records.length) {\n\t\t\t\tfor (let i = 0; i < values.length; i++) {\n\t\t\t\t\tconst value = values[i];\n\t\t\t\t\tif (isEventTarget(value)) {\n\t\t\t\t\t\tfor (let j = 0; j < records.length; j++) {\n\t\t\t\t\t\t\tconst record = records[j];\n\t\t\t\t\t\t\tvalue.addEventListener(\n\t\t\t\t\t\t\t\trecord.type,\n\t\t\t\t\t\t\t\trecord.callback,\n\t\t\t\t\t\t\t\trecord.options,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// rearranging the nearest ancestor host element\n\t\t\tconst host = ctx.host;\n\t\t\tconst oldHostValues = wrap(host.cachedChildValues);\n\t\t\tinvalidate(ctx, host);\n\t\t\tconst hostValues = getChildValues(host);\n\t\t\tctx.renderer.arrange(\n\t\t\t\thost.el.tag as string | symbol,\n\t\t\t\thost.value as TNode,\n\t\t\t\thost.el.props,\n\t\t\t\thostValues,\n\t\t\t\t// props and oldProps are the same because the host isn’t updated.\n\t\t\t\thost.el.props,\n\t\t\t\toldHostValues,\n\t\t\t);\n\t\t}\n\n\t\tflush(ctx.renderer, ctx.root, ctx);\n\t}\n\n\tconst callbacks = scheduleMap.get(ctx);\n\tif (callbacks) {\n\t\tscheduleMap.delete(ctx);\n\t\tctx.f |= IsScheduling;\n\t\tconst value1 = ctx.renderer.read(value);\n\t\tfor (const callback of callbacks) {\n\t\t\tcallback(value1);\n\t\t}\n\n\t\tctx.f &= ~IsScheduling;\n\t\t// Handles an edge case where refresh() is called during a schedule().\n\t\tif (ctx.f & IsSchedulingRefresh) {\n\t\t\tctx.f &= ~IsSchedulingRefresh;\n\t\t\tvalue = getValue(ctx.ret);\n\t\t}\n\t}\n\n\tctx.f &= ~IsUpdating;\n\treturn value;\n}\n\nfunction invalidate(ctx: ContextImpl, host: Retainer): void {\n\tfor (\n\t\tlet parent = ctx.parent;\n\t\tparent !== undefined && parent.host === host;\n\t\tparent = parent.parent\n\t) {\n\t\tparent.ret.cachedChildValues = undefined;\n\t}\n\n\thost.cachedChildValues = undefined;\n}\n\nfunction arrayEqual(arr1: Array, arr2: Array): boolean {\n\tif (arr1.length !== arr2.length) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < arr1.length; i++) {\n\t\tconst value1 = arr1[i];\n\t\tconst value2 = arr2[i];\n\t\tif (value1 !== value2) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/** Enqueues and executes the component associated with the context. */\nfunction enqueueComponentRun(\n\tctx: ContextImpl,\n\thydrationData?: HydrationData | undefined,\n): Promise> | ElementValue {\n\tif (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) {\n\t\tif (hydrationData !== undefined) {\n\t\t\tthrow new Error(\"Hydration error\");\n\t\t}\n\n\t\t// This branch will run for non-initial renders of async generator\n\t\t// components when they are not in for...of loops. When in a for...of loop,\n\t\t// async generator components will behave normally.\n\t\t//\n\t\t// Async gen componennts can be in one of three states:\n\t\t//\n\t\t// 1. propsAvailable flag is true: \"available\"\n\t\t//\n\t\t// The component is suspended somewhere in the loop. When the component\n\t\t// reaches the bottom of the loop, it will run again with the next props.\n\t\t//\n\t\t// 2. onAvailable callback is defined: \"suspended\"\n\t\t//\n\t\t// The component has suspended at the bottom of the loop and is waiting\n\t\t// for new props.\n\t\t//\n\t\t// 3. neither 1 or 2: \"Running\"\n\t\t//\n\t\t// The component is suspended somewhere in the loop. When the component\n\t\t// reaches the bottom of the loop, it will suspend.\n\t\t//\n\t\t// Components will never be both available and suspended at\n\t\t// the same time.\n\t\t//\n\t\t// If the component is at the loop bottom, this means that the next value\n\t\t// produced by the component will have the most up to date props, so we can\n\t\t// simply return the current inflight value. Otherwise, we have to wait for\n\t\t// the bottom of the loop to be reached before returning the inflight\n\t\t// value.\n\t\tconst isAtLoopbottom = ctx.f & IsInForAwaitOfLoop && !ctx.onProps;\n\t\tresumePropsAsyncIterator(ctx);\n\t\tif (isAtLoopbottom) {\n\t\t\tif (ctx.inflightBlock == null) {\n\t\t\t\tctx.inflightBlock = new Promise(\n\t\t\t\t\t(resolve) => (ctx.onPropsRequested = resolve),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn ctx.inflightBlock.then(() => {\n\t\t\t\tctx.inflightBlock = undefined;\n\t\t\t\treturn ctx.inflightValue;\n\t\t\t});\n\t\t}\n\n\t\treturn ctx.inflightValue;\n\t} else if (!ctx.inflightBlock) {\n\t\ttry {\n\t\t\tconst [block, value] = runComponent(ctx, hydrationData);\n\t\t\tif (block) {\n\t\t\t\tctx.inflightBlock = block\n\t\t\t\t\t// TODO: there is some fuckery going on here related to async\n\t\t\t\t\t// generator components resuming when they’re meant to be returned.\n\t\t\t\t\t.then((v) => v)\n\t\t\t\t\t.finally(() => advanceComponent(ctx));\n\t\t\t\t// stepComponent will only return a block if the value is asynchronous\n\t\t\t\tctx.inflightValue = value as Promise>;\n\t\t\t}\n\n\t\t\treturn value;\n\t\t} catch (err) {\n\t\t\tif (!(ctx.f & IsUpdating)) {\n\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t}\n\n\t\t\tthrow err;\n\t\t}\n\t} else if (!ctx.enqueuedBlock) {\n\t\tif (hydrationData !== undefined) {\n\t\t\tthrow new Error(\"Hydration error\");\n\t\t}\n\t\t// We need to assign enqueuedBlock and enqueuedValue synchronously, hence\n\t\t// the Promise constructor call here.\n\t\tlet resolveEnqueuedBlock: Function;\n\t\tctx.enqueuedBlock = new Promise(\n\t\t\t(resolve) => (resolveEnqueuedBlock = resolve),\n\t\t);\n\n\t\tctx.enqueuedValue = ctx.inflightBlock.then(() => {\n\t\t\ttry {\n\t\t\t\tconst [block, value] = runComponent(ctx);\n\t\t\t\tif (block) {\n\t\t\t\t\tresolveEnqueuedBlock(block.finally(() => advanceComponent(ctx)));\n\t\t\t\t}\n\n\t\t\t\treturn value;\n\t\t\t} catch (err) {\n\t\t\t\tif (!(ctx.f & IsUpdating)) {\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t}\n\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t});\n\t}\n\n\treturn ctx.enqueuedValue;\n}\n\n/** Called when the inflight block promise settles. */\nfunction advanceComponent(ctx: ContextImpl): void {\n\tif (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) {\n\t\treturn;\n\t}\n\n\tctx.inflightBlock = ctx.enqueuedBlock;\n\tctx.inflightValue = ctx.enqueuedValue;\n\tctx.enqueuedBlock = undefined;\n\tctx.enqueuedValue = undefined;\n}\n\n/**\n * This function is responsible for executing the component and handling all\n * the different component types. We cannot identify whether a component is a\n * generator or async without calling it and inspecting the return value.\n *\n * @returns {[block, value]} A tuple where\n * block - A possible promise which represents the duration during which the\n * component is blocked from updating.\n * value - A possible promise resolving to the rendered value of children.\n *\n * Each component type will block according to the type of the component.\n * - Sync function components never block and will transparently pass updates\n * to children.\n * - Async function components and async generator components block while\n * executing itself, but will not block for async children.\n * - Sync generator components block while any children are executing, because\n * they are expected to only resume when they’ve actually rendered.\n */\nfunction runComponent(\n\tctx: ContextImpl,\n\thydrationData?: HydrationData | undefined,\n): [\n\tPromise | undefined,\n\tPromise> | ElementValue,\n] {\n\tconst ret = ctx.ret;\n\tconst initial = !ctx.iterator;\n\tif (initial) {\n\t\tresumePropsAsyncIterator(ctx);\n\t\tctx.f |= IsSyncExecuting;\n\t\tclearEventListeners(ctx);\n\t\tlet result: ReturnType;\n\t\ttry {\n\t\t\tresult = (ret.el.tag as Component).call(\n\t\t\t\tctx.owner,\n\t\t\t\tret.el.props,\n\t\t\t\tctx.owner,\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tctx.f |= IsErrored;\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\n\t\tif (isIteratorLike(result)) {\n\t\t\tctx.iterator = result;\n\t\t} else if (isPromiseLike(result)) {\n\t\t\t// async function component\n\t\t\tconst result1 =\n\t\t\t\tresult instanceof Promise ? result : Promise.resolve(result);\n\t\t\tconst value = result1.then(\n\t\t\t\t(result) =>\n\t\t\t\t\tupdateComponentChildren(ctx, result, hydrationData),\n\t\t\t\t(err) => {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t},\n\t\t\t);\n\t\t\treturn [result1.catch(NOOP), value];\n\t\t} else {\n\t\t\t// sync function component\n\t\t\treturn [\n\t\t\t\tundefined,\n\t\t\t\tupdateComponentChildren(ctx, result, hydrationData),\n\t\t\t];\n\t\t}\n\t} else if (hydrationData !== undefined) {\n\t\t// hydration data should only be passed on the initial render\n\t\tthrow new Error(\"Hydration error\");\n\t}\n\n\tlet iteration!: Promise | ChildrenIteratorResult;\n\tif (initial) {\n\t\ttry {\n\t\t\tctx.f |= IsSyncExecuting;\n\t\t\titeration = ctx.iterator!.next();\n\t\t} catch (err) {\n\t\t\tctx.f |= IsErrored;\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\n\t\tif (isPromiseLike(iteration)) {\n\t\t\tctx.f |= IsAsyncGen;\n\t\t} else {\n\t\t\tctx.f |= IsSyncGen;\n\t\t}\n\t}\n\n\tif (ctx.f & IsSyncGen) {\n\t\t// sync generator component\n\t\tif (!initial) {\n\t\t\ttry {\n\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\titeration = ctx.iterator!.next(ctx.renderer.read(getValue(ret)));\n\t\t\t} catch (err) {\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t}\n\t\t}\n\n\t\tif (isPromiseLike(iteration)) {\n\t\t\tthrow new Error(\"Mixed generator component\");\n\t\t}\n\n\t\tif (\n\t\t\tctx.f & IsInForOfLoop &&\n\t\t\t!(ctx.f & NeedsToYield) &&\n\t\t\t!(ctx.f & IsUnmounted)\n\t\t) {\n\t\t\tconsole.error(\"Component yielded more than once in for...of loop\");\n\t\t}\n\n\t\tctx.f &= ~NeedsToYield;\n\t\tif (iteration.done) {\n\t\t\tctx.f &= ~IsSyncGen;\n\t\t\tctx.iterator = undefined;\n\t\t}\n\n\t\tlet value: Promise> | ElementValue;\n\t\ttry {\n\t\t\tvalue = updateComponentChildren(\n\t\t\t\tctx,\n\t\t\t\t// Children can be void so we eliminate that here\n\t\t\t\titeration.value as Children,\n\t\t\t\thydrationData,\n\t\t\t);\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tvalue = value.catch((err) => handleChildError(ctx, err));\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tvalue = handleChildError(ctx, err);\n\t\t}\n\n\t\tconst block = isPromiseLike(value) ? value.catch(NOOP) : undefined;\n\t\treturn [block, value];\n\t} else {\n\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t// Async generator component using for...of loops behave similar to sync\n\t\t\t// generator components. This allows for easier refactoring of sync to\n\t\t\t// async generator components.\n\t\t\tif (!initial) {\n\t\t\t\ttry {\n\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\titeration = ctx.iterator!.next(ctx.renderer.read(getValue(ret)));\n\t\t\t\t} catch (err) {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t} finally {\n\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!isPromiseLike(iteration)) {\n\t\t\t\tthrow new Error(\"Mixed generator component\");\n\t\t\t}\n\n\t\t\tconst block = iteration.catch(NOOP);\n\t\t\tconst value = iteration.then(\n\t\t\t\t(iteration) => {\n\t\t\t\t\tlet value: Promise> | ElementValue;\n\t\t\t\t\tif (!(ctx.f & IsInForOfLoop)) {\n\t\t\t\t\t\trunAsyncGenComponent(\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\tPromise.resolve(iteration),\n\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!(ctx.f & NeedsToYield) && !(ctx.f & IsUnmounted)) {\n\t\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\t\t\"Component yielded more than once in for...of loop\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tctx.f &= ~NeedsToYield;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tvalue = updateComponentChildren(\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t// Children can be void so we eliminate that here\n\t\t\t\t\t\t\titeration.value as Children,\n\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (isPromiseLike(value)) {\n\t\t\t\t\t\t\tvalue = value.catch((err) => handleChildError(ctx, err));\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tvalue = handleChildError(ctx, err);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn value;\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn [block, value];\n\t\t} else {\n\t\t\trunAsyncGenComponent(\n\t\t\t\tctx,\n\t\t\t\titeration as Promise,\n\t\t\t\thydrationData,\n\t\t\t\tinitial,\n\t\t\t);\n\t\t\treturn [ctx.inflightBlock, ctx.inflightValue];\n\t\t}\n\t}\n}\n\nasync function runAsyncGenComponent(\n\tctx: ContextImpl,\n\titerationP: Promise,\n\thydrationData: HydrationData | undefined,\n\tinitial: boolean = false,\n): Promise {\n\tlet done = false;\n\ttry {\n\t\twhile (!done) {\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// inflightValue must be set synchronously.\n\t\t\tlet onValue!: Function;\n\t\t\tctx.inflightValue = new Promise((resolve) => (onValue = resolve));\n\t\t\tif (ctx.f & IsUpdating) {\n\t\t\t\t// We should not swallow unhandled promise rejections if the component is\n\t\t\t\t// updating independently.\n\t\t\t\t// TODO: Does this handle this.refresh() calls?\n\t\t\t\tctx.inflightValue.catch(NOOP);\n\t\t\t}\n\n\t\t\tlet iteration: ChildrenIteratorResult;\n\t\t\ttry {\n\t\t\t\titeration = await iterationP;\n\t\t\t} catch (err) {\n\t\t\t\tdone = true;\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tonValue(Promise.reject(err));\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (!(ctx.f & IsInForAwaitOfLoop)) {\n\t\t\t\tctx.f &= ~PropsAvailable;\n\t\t\t}\n\n\t\t\tdone = !!iteration.done;\n\t\t\tlet value: Promise> | ElementValue;\n\t\t\ttry {\n\t\t\t\tif (\n\t\t\t\t\t!(ctx.f & NeedsToYield) &&\n\t\t\t\t\tctx.f & PropsAvailable &&\n\t\t\t\t\tctx.f & IsInForAwaitOfLoop &&\n\t\t\t\t\t!initial &&\n\t\t\t\t\t!done\n\t\t\t\t) {\n\t\t\t\t\t// We skip stale iterations in for await...of loops.\n\t\t\t\t\tvalue = ctx.ret.inflightValue || getValue(ctx.ret);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = updateComponentChildren(\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\titeration.value!,\n\t\t\t\t\t\thydrationData,\n\t\t\t\t\t);\n\t\t\t\t\thydrationData = undefined;\n\t\t\t\t\tif (isPromiseLike(value)) {\n\t\t\t\t\t\tvalue = value.catch((err: any) => handleChildError(ctx, err));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tctx.f &= ~NeedsToYield;\n\t\t\t} catch (err) {\n\t\t\t\t// Do we need to catch potential errors here in the case of unhandled\n\t\t\t\t// promise rejections?\n\t\t\t\tvalue = handleChildError(ctx, err);\n\t\t\t} finally {\n\t\t\t\tonValue(value);\n\t\t\t}\n\n\t\t\tlet oldResult: Promise | TResult;\n\t\t\tif (ctx.ret.inflightValue) {\n\t\t\t\t// The value passed back into the generator as the argument to the next\n\t\t\t\t// method is a promise if an async generator component has async\n\t\t\t\t// children. Sync generator components only resume when their children\n\t\t\t\t// have fulfilled so the element’s inflight child values will never be\n\t\t\t\t// defined.\n\t\t\t\toldResult = ctx.ret.inflightValue.then((value) =>\n\t\t\t\t\tctx.renderer.read(value),\n\t\t\t\t);\n\n\t\t\t\toldResult.catch((err) => {\n\t\t\t\t\tif (ctx.f & IsUpdating) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\toldResult = ctx.renderer.read(getValue(ctx.ret));\n\t\t\t}\n\n\t\t\tif (ctx.f & IsUnmounted) {\n\t\t\t\tif (ctx.f & IsInForAwaitOfLoop) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\t\titerationP = ctx.iterator!.next(\n\t\t\t\t\t\t\toldResult,\n\t\t\t\t\t\t) as Promise;\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (!done && !(ctx.f & IsInForOfLoop)) {\n\t\t\t\ttry {\n\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\titerationP = ctx.iterator!.next(\n\t\t\t\t\t\toldResult,\n\t\t\t\t\t) as Promise;\n\t\t\t\t} finally {\n\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tinitial = false;\n\t\t}\n\t} finally {\n\t\tif (done) {\n\t\t\tctx.f &= ~IsAsyncGen;\n\t\t\tctx.iterator = undefined;\n\t\t}\n\t}\n}\n\n/**\n * Called to resume the props async iterator for async generator components.\n */\nfunction resumePropsAsyncIterator(ctx: ContextImpl): void {\n\tif (ctx.onProps) {\n\t\tctx.onProps(ctx.ret.el.props);\n\t\tctx.onProps = undefined;\n\t\tctx.f &= ~PropsAvailable;\n\t} else {\n\t\tctx.f |= PropsAvailable;\n\t}\n}\n\n// TODO: async unmounting\nfunction unmountComponent(ctx: ContextImpl): void {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t}\n\n\tclearEventListeners(ctx);\n\n\tconst callbacks = cleanupMap.get(ctx);\n\tif (callbacks) {\n\t\tcleanupMap.delete(ctx);\n\t\tconst value = ctx.renderer.read(getValue(ctx.ret));\n\t\tfor (const callback of callbacks) {\n\t\t\tcallback(value);\n\t\t}\n\t}\n\n\tctx.f |= IsUnmounted;\n\tif (ctx.iterator) {\n\t\tif (ctx.f & IsSyncGen) {\n\t\t\tlet value: unknown;\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tvalue = enqueueComponentRun(ctx);\n\t\t\t}\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tvalue.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t(err) => {\n\t\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t} else {\n\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (ctx.f & IsAsyncGen) {\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tconst value = enqueueComponentRun(ctx) as Promise;\n\t\t\t\tvalue.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t(err) => {\n\t\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// The logic for unmounting async generator components is in the\n\t\t\t\t// runAsyncGenComponent function.\n\t\t\t\tresumePropsAsyncIterator(ctx);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction returnComponent(ctx: ContextImpl): void {\n\tresumePropsAsyncIterator(ctx);\n\tif (ctx.iterator && typeof ctx.iterator!.return === \"function\") {\n\t\ttry {\n\t\t\tctx.f |= IsSyncExecuting;\n\t\t\tconst iteration = ctx.iterator!.return();\n\t\t\tif (isPromiseLike(iteration)) {\n\t\t\t\titeration.catch((err) => {\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t});\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\t}\n}\n\n/*** EVENT TARGET UTILITIES ***/\n// EVENT PHASE CONSTANTS\n// https://developer.mozilla.org/en-US/docs/Web/API/Event/eventPhase\nconst NONE = 0;\nconst CAPTURING_PHASE = 1;\nconst AT_TARGET = 2;\nconst BUBBLING_PHASE = 3;\n\nconst listenersMap = new WeakMap>();\n/**\n * A map of event type strings to Event subclasses. Can be extended via\n * TypeScript module augmentation to have strongly typed event listeners.\n */\nexport interface EventMap extends Crank.EventMap {\n\t[type: string]: Event;\n}\n\ntype MappedEventListener = (ev: EventMap[T]) => unknown;\n\ntype MappedEventListenerOrEventListenerObject =\n\t| MappedEventListener\n\t| {handleEvent: MappedEventListener};\n\nfunction isListenerOrListenerObject(\n\tvalue: unknown,\n): value is MappedEventListenerOrEventListenerObject {\n\treturn (\n\t\ttypeof value === \"function\" ||\n\t\t(value !== null &&\n\t\t\ttypeof value === \"object\" &&\n\t\t\ttypeof (value as any).handleEvent === \"function\")\n\t);\n}\n\ninterface EventListenerRecord {\n\ttype: string;\n\t// listener is the original value passed to addEventListener, callback is the\n\t// transformed function\n\tlistener: MappedEventListenerOrEventListenerObject;\n\tcallback: MappedEventListener;\n\toptions: AddEventListenerOptions;\n}\n\nfunction normalizeListenerOptions(\n\toptions: AddEventListenerOptions | boolean | null | undefined,\n): AddEventListenerOptions {\n\tif (typeof options === \"boolean\") {\n\t\treturn {capture: options};\n\t} else if (options == null) {\n\t\treturn {};\n\t}\n\n\treturn options;\n}\n\nfunction isEventTarget(value: any): value is EventTarget {\n\treturn (\n\t\tvalue != null &&\n\t\ttypeof value.addEventListener === \"function\" &&\n\t\ttypeof value.removeEventListener === \"function\" &&\n\t\ttypeof value.dispatchEvent === \"function\"\n\t);\n}\n\nfunction setEventProperty(\n\tev: Event,\n\tkey: T,\n\tvalue: Event[T],\n): void {\n\tObject.defineProperty(ev, key, {value, writable: false, configurable: true});\n}\n\n// TODO: Maybe we can pass in the current context directly, rather than\n// starting from the parent?\n/**\n * A function to reconstruct an array of every listener given a context and a\n * host element.\n *\n * This function exploits the fact that contexts retain their nearest ancestor\n * host element. We can determine all the contexts which are directly listening\n * to an element by traversing up the context tree and checking that the host\n * element passed in matches the parent context’s host element.\n */\nfunction getListenerRecords(\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n): Array {\n\tlet listeners: Array = [];\n\twhile (ctx !== undefined && ctx.host === ret) {\n\t\tconst listeners1 = listenersMap.get(ctx);\n\t\tif (listeners1) {\n\t\t\tlisteners = listeners.concat(listeners1);\n\t\t}\n\n\t\tctx = ctx.parent;\n\t}\n\n\treturn listeners;\n}\n\nfunction clearEventListeners(ctx: ContextImpl): void {\n\tconst listeners = listenersMap.get(ctx);\n\tif (listeners && listeners.length) {\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\tvalue.removeEventListener(\n\t\t\t\t\t\trecord.type,\n\t\t\t\t\t\trecord.callback,\n\t\t\t\t\t\trecord.options,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlisteners.length = 0;\n\t}\n}\n\n/*** ERROR HANDLING UTILITIES ***/\nfunction handleChildError(\n\tctx: ContextImpl,\n\terr: unknown,\n): Promise> | ElementValue {\n\tif (!ctx.iterator || typeof ctx.iterator.throw !== \"function\") {\n\t\tthrow err;\n\t}\n\n\tresumePropsAsyncIterator(ctx);\n\tlet iteration: ChildrenIteratorResult | Promise;\n\ttry {\n\t\tctx.f |= IsSyncExecuting;\n\t\titeration = ctx.iterator.throw(err);\n\t} catch (err) {\n\t\tctx.f |= IsErrored;\n\t\tthrow err;\n\t} finally {\n\t\tctx.f &= ~IsSyncExecuting;\n\t}\n\n\tif (isPromiseLike(iteration)) {\n\t\treturn iteration.then(\n\t\t\t(iteration) => {\n\t\t\t\tif (iteration.done) {\n\t\t\t\t\tctx.f &= ~IsAsyncGen;\n\t\t\t\t\tctx.iterator = undefined;\n\t\t\t\t}\n\n\t\t\t\treturn updateComponentChildren(ctx, iteration.value as Children);\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tthrow err;\n\t\t\t},\n\t\t);\n\t}\n\n\tif (iteration.done) {\n\t\tctx.f &= ~IsSyncGen;\n\t\tctx.f &= ~IsAsyncGen;\n\t\tctx.iterator = undefined;\n\t}\n\n\treturn updateComponentChildren(ctx, iteration.value as Children);\n}\n\nfunction propagateError(\n\tctx: ContextImpl,\n\terr: unknown,\n): Promise> | ElementValue {\n\tlet result: Promise> | ElementValue;\n\ttry {\n\t\tresult = handleChildError(ctx, err);\n\t} catch (err) {\n\t\tif (!ctx.parent) {\n\t\t\tthrow err;\n\t\t}\n\n\t\treturn propagateError(ctx.parent, err);\n\t}\n\n\tif (isPromiseLike(result)) {\n\t\treturn result.catch((err) => {\n\t\t\tif (!ctx.parent) {\n\t\t\t\tthrow err;\n\t\t\t}\n\n\t\t\treturn propagateError(ctx.parent, err);\n\t\t});\n\t}\n\n\treturn result;\n}\n\n// TODO: uncomment and use in the Element interface below\n// type CrankElement = Element;\ndeclare global {\n\tnamespace Crank {\n\t\texport interface EventMap {}\n\n\t\texport interface ProvisionMap {}\n\n\t\texport interface Context {}\n\t}\n\n\tnamespace JSX {\n\t\t// TODO: JSX Element type (the result of JSX expressions) don’t work\n\t\t// because TypeScript demands that all Components return JSX elements for\n\t\t// some reason.\n\t\t// interface Element extends CrankElement {}\n\n\t\texport interface IntrinsicElements {\n\t\t\t[tag: string]: any;\n\t\t}\n\n\t\texport interface IntrinsicAttributes {\n\t\t\tchildren?: unknown;\n\t\t\tkey?: unknown;\n\t\t\tref?: unknown;\n\t\t\t[\"static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-key\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-ref\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-key\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-ref\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$key?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$ref?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$static?: unknown;\n\t\t}\n\n\t\texport interface ElementChildrenAttribute {\n\t\t\tchildren: {};\n\t\t}\n\t}\n}\n\n// Some JSX transpilation tools expect these functions to be defined on the\n// default export. Prefer named exports when importing directly.\nexport default {createElement, Fragment};\n", "// This file is provided for compatibility reasons with the JSX automatic\n// runtime. Besides automatic imports, the JSX automatic runtime provides no\n// actual advantage over the createElement transform.\nimport {createElement} from \"./crank.js\";\n\nfunction jsxAdapter(tag: any, props: Record, key: any) {\n\t// The new JSX transform extracts the key from props for performance reasons,\n\t// but key is not a special property in Crank.\n\tprops.key = key;\n\treturn createElement(tag, props);\n}\n\nexport const Fragment = \"\";\nexport const jsx = jsxAdapter;\nexport const jsxs = jsxAdapter;\nexport const jsxDEV = jsxAdapter;\n"], + "mappings": "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", + "names": ["e", "fill", "compare", "i", "byteLength"] +} diff --git a/static/jsx-tag-LOQQR4CC.js b/static/jsx-tag-LOQQR4CC.js new file mode 100644 index 00000000..4f5b3bcf --- /dev/null +++ b/static/jsx-tag-LOQQR4CC.js @@ -0,0 +1,2263 @@ +// node_modules/@esbuild-plugins/node-globals-polyfill/process.js +function defaultSetTimout() { + throw new Error("setTimeout has not been defined"); +} +function defaultClearTimeout() { + throw new Error("clearTimeout has not been defined"); +} +var cachedSetTimeout = defaultSetTimout; +var cachedClearTimeout = defaultClearTimeout; +if (typeof globalThis.setTimeout === "function") { + cachedSetTimeout = setTimeout; +} +if (typeof globalThis.clearTimeout === "function") { + cachedClearTimeout = clearTimeout; +} +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + return setTimeout(fun, 0); + } + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + return cachedSetTimeout(fun, 0); + } catch (e) { + try { + return cachedSetTimeout.call(null, fun, 0); + } catch (e2) { + return cachedSetTimeout.call(this, fun, 0); + } + } +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + return clearTimeout(marker); + } + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + return cachedClearTimeout(marker); + } catch (e) { + try { + return cachedClearTimeout.call(null, marker); + } catch (e2) { + return cachedClearTimeout.call(this, marker); + } + } +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + var len = queue.length; + while (len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} +function nextTick(fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +} +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function() { + this.fun.apply(null, this.array); +}; +var title = "browser"; +var platform = "browser"; +var browser = true; +var env = {}; +var argv = []; +var version = ""; +var versions = {}; +var release = {}; +var config = {}; +function noop() { +} +var on = noop; +var addListener = noop; +var once = noop; +var off = noop; +var removeListener = noop; +var removeAllListeners = noop; +var emit = noop; +function binding(name) { + throw new Error("process.binding is not supported"); +} +function cwd() { + return "/"; +} +function chdir(dir) { + throw new Error("process.chdir is not supported"); +} +function umask() { + return 0; +} +var performance = globalThis.performance || {}; +var performanceNow = performance.now || performance.mozNow || performance.msNow || performance.oNow || performance.webkitNow || function() { + return (/* @__PURE__ */ new Date()).getTime(); +}; +function hrtime(previousTimestamp) { + var clocktime = performanceNow.call(performance) * 1e-3; + var seconds = Math.floor(clocktime); + var nanoseconds = Math.floor(clocktime % 1 * 1e9); + if (previousTimestamp) { + seconds = seconds - previousTimestamp[0]; + nanoseconds = nanoseconds - previousTimestamp[1]; + if (nanoseconds < 0) { + seconds--; + nanoseconds += 1e9; + } + } + return [seconds, nanoseconds]; +} +var startTime = /* @__PURE__ */ new Date(); +function uptime() { + var currentTime = /* @__PURE__ */ new Date(); + var dif = currentTime - startTime; + return dif / 1e3; +} +var process = { + nextTick, + title, + browser, + env, + argv, + version, + versions, + on, + addListener, + once, + off, + removeListener, + removeAllListeners, + emit, + binding, + cwd, + chdir, + umask, + hrtime, + platform, + release, + config, + uptime +}; +var defines = {}; +Object.keys(defines).forEach((key) => { + const segs = key.split("."); + let target = process; + for (let i = 0; i < segs.length; i++) { + const seg = segs[i]; + if (i === segs.length - 1) { + target[seg] = defines[key]; + } else { + target = target[seg] || (target[seg] = {}); + } + } +}); + +// node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js +var lookup = []; +var revLookup = []; +var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array; +var inited = false; +function init() { + inited = true; + var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i]; + revLookup[code.charCodeAt(i)] = i; + } + revLookup["-".charCodeAt(0)] = 62; + revLookup["_".charCodeAt(0)] = 63; +} +function base64toByteArray(b64) { + if (!inited) { + init(); + } + var i, j, l, tmp, placeHolders, arr; + var len = b64.length; + if (len % 4 > 0) { + throw new Error("Invalid string. Length must be a multiple of 4"); + } + placeHolders = b64[len - 2] === "=" ? 2 : b64[len - 1] === "=" ? 1 : 0; + arr = new Arr(len * 3 / 4 - placeHolders); + l = placeHolders > 0 ? len - 4 : len; + var L = 0; + for (i = 0, j = 0; i < l; i += 4, j += 3) { + tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)]; + arr[L++] = tmp >> 16 & 255; + arr[L++] = tmp >> 8 & 255; + arr[L++] = tmp & 255; + } + if (placeHolders === 2) { + tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4; + arr[L++] = tmp & 255; + } else if (placeHolders === 1) { + tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2; + arr[L++] = tmp >> 8 & 255; + arr[L++] = tmp & 255; + } + return arr; +} +function tripletToBase64(num) { + return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63]; +} +function encodeChunk(uint8, start, end) { + var tmp; + var output = []; + for (var i = start; i < end; i += 3) { + tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2]; + output.push(tripletToBase64(tmp)); + } + return output.join(""); +} +function base64fromByteArray(uint8) { + if (!inited) { + init(); + } + var tmp; + var len = uint8.length; + var extraBytes = len % 3; + var output = ""; + var parts = []; + var maxChunkLength = 16383; + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push( + encodeChunk( + uint8, + i, + i + maxChunkLength > len2 ? len2 : i + maxChunkLength + ) + ); + } + if (extraBytes === 1) { + tmp = uint8[len - 1]; + output += lookup[tmp >> 2]; + output += lookup[tmp << 4 & 63]; + output += "=="; + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1]; + output += lookup[tmp >> 10]; + output += lookup[tmp >> 4 & 63]; + output += lookup[tmp << 2 & 63]; + output += "="; + } + parts.push(output); + return parts.join(""); +} +Buffer.TYPED_ARRAY_SUPPORT = globalThis.TYPED_ARRAY_SUPPORT !== void 0 ? globalThis.TYPED_ARRAY_SUPPORT : true; +function kMaxLength() { + return Buffer.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823; +} +function createBuffer(that, length) { + if (kMaxLength() < length) { + throw new RangeError("Invalid typed array length"); + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + that = new Uint8Array(length); + that.__proto__ = Buffer.prototype; + } else { + if (that === null) { + that = new Buffer(length); + } + that.length = length; + } + return that; +} +function Buffer(arg, encodingOrOffset, length) { + if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { + return new Buffer(arg, encodingOrOffset, length); + } + if (typeof arg === "number") { + if (typeof encodingOrOffset === "string") { + throw new Error( + "If encoding is specified then the first argument must be a string" + ); + } + return allocUnsafe(this, arg); + } + return from(this, arg, encodingOrOffset, length); +} +Buffer.poolSize = 8192; +Buffer._augment = function(arr) { + arr.__proto__ = Buffer.prototype; + return arr; +}; +function from(that, value, encodingOrOffset, length) { + if (typeof value === "number") { + throw new TypeError('"value" argument must not be a number'); + } + if (typeof ArrayBuffer !== "undefined" && value instanceof ArrayBuffer) { + return fromArrayBuffer(that, value, encodingOrOffset, length); + } + if (typeof value === "string") { + return fromString(that, value, encodingOrOffset); + } + return fromObject(that, value); +} +Buffer.from = function(value, encodingOrOffset, length) { + return from(null, value, encodingOrOffset, length); +}; +Buffer.kMaxLength = kMaxLength(); +if (Buffer.TYPED_ARRAY_SUPPORT) { + Buffer.prototype.__proto__ = Uint8Array.prototype; + Buffer.__proto__ = Uint8Array; + if (typeof Symbol !== "undefined" && Symbol.species && Buffer[Symbol.species] === Buffer) { + } +} +function assertSize(size) { + if (typeof size !== "number") { + throw new TypeError('"size" argument must be a number'); + } else if (size < 0) { + throw new RangeError('"size" argument must not be negative'); + } +} +function alloc(that, size, fill2, encoding) { + assertSize(size); + if (size <= 0) { + return createBuffer(that, size); + } + if (fill2 !== void 0) { + return typeof encoding === "string" ? createBuffer(that, size).fill(fill2, encoding) : createBuffer(that, size).fill(fill2); + } + return createBuffer(that, size); +} +Buffer.alloc = function(size, fill2, encoding) { + return alloc(null, size, fill2, encoding); +}; +function allocUnsafe(that, size) { + assertSize(size); + that = createBuffer(that, size < 0 ? 0 : checked(size) | 0); + if (!Buffer.TYPED_ARRAY_SUPPORT) { + for (var i = 0; i < size; ++i) { + that[i] = 0; + } + } + return that; +} +Buffer.allocUnsafe = function(size) { + return allocUnsafe(null, size); +}; +Buffer.allocUnsafeSlow = function(size) { + return allocUnsafe(null, size); +}; +function fromString(that, string, encoding) { + if (typeof encoding !== "string" || encoding === "") { + encoding = "utf8"; + } + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding'); + } + var length = byteLength(string, encoding) | 0; + that = createBuffer(that, length); + var actual = that.write(string, encoding); + if (actual !== length) { + that = that.slice(0, actual); + } + return that; +} +function fromArrayLike(that, array) { + var length = array.length < 0 ? 0 : checked(array.length) | 0; + that = createBuffer(that, length); + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255; + } + return that; +} +function fromArrayBuffer(that, array, byteOffset, length) { + array.byteLength; + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError("'offset' is out of bounds"); + } + if (array.byteLength < byteOffset + (length || 0)) { + throw new RangeError("'length' is out of bounds"); + } + if (byteOffset === void 0 && length === void 0) { + array = new Uint8Array(array); + } else if (length === void 0) { + array = new Uint8Array(array, byteOffset); + } else { + array = new Uint8Array(array, byteOffset, length); + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + that = array; + that.__proto__ = Buffer.prototype; + } else { + that = fromArrayLike(that, array); + } + return that; +} +function fromObject(that, obj) { + if (internalIsBuffer(obj)) { + var len = checked(obj.length) | 0; + that = createBuffer(that, len); + if (that.length === 0) { + return that; + } + obj.copy(that, 0, 0, len); + return that; + } + if (obj) { + if (typeof ArrayBuffer !== "undefined" && obj.buffer instanceof ArrayBuffer || "length" in obj) { + if (typeof obj.length !== "number" || isnan(obj.length)) { + return createBuffer(that, 0); + } + return fromArrayLike(that, obj); + } + if (obj.type === "Buffer" && Array.isArray(obj.data)) { + return fromArrayLike(that, obj.data); + } + } + throw new TypeError( + "First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object." + ); +} +function checked(length) { + if (length >= kMaxLength()) { + throw new RangeError( + "Attempt to allocate Buffer larger than maximum size: 0x" + kMaxLength().toString(16) + " bytes" + ); + } + return length | 0; +} +Buffer.isBuffer = isBuffer; +function internalIsBuffer(b) { + return !!(b != null && b._isBuffer); +} +Buffer.compare = function compare(a, b) { + if (!internalIsBuffer(a) || !internalIsBuffer(b)) { + throw new TypeError("Arguments must be Buffers"); + } + if (a === b) + return 0; + var x = a.length; + var y = b.length; + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i]; + y = b[i]; + break; + } + } + if (x < y) + return -1; + if (y < x) + return 1; + return 0; +}; +Buffer.isEncoding = function isEncoding(encoding) { + switch (String(encoding).toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "latin1": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return true; + default: + return false; + } +}; +Buffer.concat = function concat(list, length) { + if (!Array.isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + if (list.length === 0) { + return Buffer.alloc(0); + } + var i; + if (length === void 0) { + length = 0; + for (i = 0; i < list.length; ++i) { + length += list[i].length; + } + } + var buffer = Buffer.allocUnsafe(length); + var pos = 0; + for (i = 0; i < list.length; ++i) { + var buf = list[i]; + if (!internalIsBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + buf.copy(buffer, pos); + pos += buf.length; + } + return buffer; +}; +function byteLength(string, encoding) { + if (internalIsBuffer(string)) { + return string.length; + } + if (typeof ArrayBuffer !== "undefined" && typeof ArrayBuffer.isView === "function" && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { + return string.byteLength; + } + if (typeof string !== "string") { + string = "" + string; + } + var len = string.length; + if (len === 0) + return 0; + var loweredCase = false; + for (; ; ) { + switch (encoding) { + case "ascii": + case "latin1": + case "binary": + return len; + case "utf8": + case "utf-8": + case void 0: + return utf8ToBytes(string).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return len * 2; + case "hex": + return len >>> 1; + case "base64": + return base64ToBytes(string).length; + default: + if (loweredCase) + return utf8ToBytes(string).length; + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } +} +Buffer.byteLength = byteLength; +function slowToString(encoding, start, end) { + var loweredCase = false; + if (start === void 0 || start < 0) { + start = 0; + } + if (start > this.length) { + return ""; + } + if (end === void 0 || end > this.length) { + end = this.length; + } + if (end <= 0) { + return ""; + } + end >>>= 0; + start >>>= 0; + if (end <= start) { + return ""; + } + if (!encoding) + encoding = "utf8"; + while (true) { + switch (encoding) { + case "hex": + return hexSlice(this, start, end); + case "utf8": + case "utf-8": + return utf8Slice(this, start, end); + case "ascii": + return asciiSlice(this, start, end); + case "latin1": + case "binary": + return latin1Slice(this, start, end); + case "base64": + return base64Slice(this, start, end); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return utf16leSlice(this, start, end); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = (encoding + "").toLowerCase(); + loweredCase = true; + } + } +} +Buffer.prototype._isBuffer = true; +function swap(b, n, m) { + var i = b[n]; + b[n] = b[m]; + b[m] = i; +} +Buffer.prototype.swap16 = function swap16() { + var len = this.length; + if (len % 2 !== 0) { + throw new RangeError("Buffer size must be a multiple of 16-bits"); + } + for (var i = 0; i < len; i += 2) { + swap(this, i, i + 1); + } + return this; +}; +Buffer.prototype.swap32 = function swap32() { + var len = this.length; + if (len % 4 !== 0) { + throw new RangeError("Buffer size must be a multiple of 32-bits"); + } + for (var i = 0; i < len; i += 4) { + swap(this, i, i + 3); + swap(this, i + 1, i + 2); + } + return this; +}; +Buffer.prototype.swap64 = function swap64() { + var len = this.length; + if (len % 8 !== 0) { + throw new RangeError("Buffer size must be a multiple of 64-bits"); + } + for (var i = 0; i < len; i += 8) { + swap(this, i, i + 7); + swap(this, i + 1, i + 6); + swap(this, i + 2, i + 5); + swap(this, i + 3, i + 4); + } + return this; +}; +Buffer.prototype.toString = function toString() { + var length = this.length | 0; + if (length === 0) + return ""; + if (arguments.length === 0) + return utf8Slice(this, 0, length); + return slowToString.apply(this, arguments); +}; +Buffer.prototype.equals = function equals(b) { + if (!internalIsBuffer(b)) + throw new TypeError("Argument must be a Buffer"); + if (this === b) + return true; + return Buffer.compare(this, b) === 0; +}; +Buffer.prototype.compare = function compare2(target, start, end, thisStart, thisEnd) { + if (!internalIsBuffer(target)) { + throw new TypeError("Argument must be a Buffer"); + } + if (start === void 0) { + start = 0; + } + if (end === void 0) { + end = target ? target.length : 0; + } + if (thisStart === void 0) { + thisStart = 0; + } + if (thisEnd === void 0) { + thisEnd = this.length; + } + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError("out of range index"); + } + if (thisStart >= thisEnd && start >= end) { + return 0; + } + if (thisStart >= thisEnd) { + return -1; + } + if (start >= end) { + return 1; + } + start >>>= 0; + end >>>= 0; + thisStart >>>= 0; + thisEnd >>>= 0; + if (this === target) + return 0; + var x = thisEnd - thisStart; + var y = end - start; + var len = Math.min(x, y); + var thisCopy = this.slice(thisStart, thisEnd); + var targetCopy = target.slice(start, end); + for (var i = 0; i < len; ++i) { + if (thisCopy[i] !== targetCopy[i]) { + x = thisCopy[i]; + y = targetCopy[i]; + break; + } + } + if (x < y) + return -1; + if (y < x) + return 1; + return 0; +}; +function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { + if (buffer.length === 0) + return -1; + if (typeof byteOffset === "string") { + encoding = byteOffset; + byteOffset = 0; + } else if (byteOffset > 2147483647) { + byteOffset = 2147483647; + } else if (byteOffset < -2147483648) { + byteOffset = -2147483648; + } + byteOffset = +byteOffset; + if (isNaN(byteOffset)) { + byteOffset = dir ? 0 : buffer.length - 1; + } + if (byteOffset < 0) + byteOffset = buffer.length + byteOffset; + if (byteOffset >= buffer.length) { + if (dir) + return -1; + else + byteOffset = buffer.length - 1; + } else if (byteOffset < 0) { + if (dir) + byteOffset = 0; + else + return -1; + } + if (typeof val === "string") { + val = Buffer.from(val, encoding); + } + if (internalIsBuffer(val)) { + if (val.length === 0) { + return -1; + } + return arrayIndexOf(buffer, val, byteOffset, encoding, dir); + } else if (typeof val === "number") { + val = val & 255; + if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === "function") { + if (dir) { + return Uint8Array.prototype.indexOf.call( + buffer, + val, + byteOffset + ); + } else { + return Uint8Array.prototype.lastIndexOf.call( + buffer, + val, + byteOffset + ); + } + } + return arrayIndexOf(buffer, [val], byteOffset, encoding, dir); + } + throw new TypeError("val must be string, number or Buffer"); +} +function arrayIndexOf(arr, val, byteOffset, encoding, dir) { + var indexSize = 1; + var arrLength = arr.length; + var valLength = val.length; + if (encoding !== void 0) { + encoding = String(encoding).toLowerCase(); + if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") { + if (arr.length < 2 || val.length < 2) { + return -1; + } + indexSize = 2; + arrLength /= 2; + valLength /= 2; + byteOffset /= 2; + } + } + function read(buf, i2) { + if (indexSize === 1) { + return buf[i2]; + } else { + return buf.readUInt16BE(i2 * indexSize); + } + } + var i; + if (dir) { + var foundIndex = -1; + for (i = byteOffset; i < arrLength; i++) { + if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { + if (foundIndex === -1) + foundIndex = i; + if (i - foundIndex + 1 === valLength) + return foundIndex * indexSize; + } else { + if (foundIndex !== -1) + i -= i - foundIndex; + foundIndex = -1; + } + } + } else { + if (byteOffset + valLength > arrLength) + byteOffset = arrLength - valLength; + for (i = byteOffset; i >= 0; i--) { + var found = true; + for (var j = 0; j < valLength; j++) { + if (read(arr, i + j) !== read(val, j)) { + found = false; + break; + } + } + if (found) + return i; + } + } + return -1; +} +Buffer.prototype.includes = function includes(val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1; +}; +Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true); +}; +Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false); +}; +function hexWrite(buf, string, offset, length) { + offset = Number(offset) || 0; + var remaining = buf.length - offset; + if (!length) { + length = remaining; + } else { + length = Number(length); + if (length > remaining) { + length = remaining; + } + } + var strLen = string.length; + if (strLen % 2 !== 0) + throw new TypeError("Invalid hex string"); + if (length > strLen / 2) { + length = strLen / 2; + } + for (var i = 0; i < length; ++i) { + var parsed = parseInt(string.substr(i * 2, 2), 16); + if (isNaN(parsed)) + return i; + buf[offset + i] = parsed; + } + return i; +} +function utf8Write(buf, string, offset, length) { + return blitBuffer( + utf8ToBytes(string, buf.length - offset), + buf, + offset, + length + ); +} +function asciiWrite(buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length); +} +function latin1Write(buf, string, offset, length) { + return asciiWrite(buf, string, offset, length); +} +function base64Write(buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length); +} +function ucs2Write(buf, string, offset, length) { + return blitBuffer( + utf16leToBytes(string, buf.length - offset), + buf, + offset, + length + ); +} +Buffer.prototype.write = function write(string, offset, length, encoding) { + if (offset === void 0) { + encoding = "utf8"; + length = this.length; + offset = 0; + } else if (length === void 0 && typeof offset === "string") { + encoding = offset; + length = this.length; + offset = 0; + } else if (isFinite(offset)) { + offset = offset | 0; + if (isFinite(length)) { + length = length | 0; + if (encoding === void 0) + encoding = "utf8"; + } else { + encoding = length; + length = void 0; + } + } else { + throw new Error( + "Buffer.write(string, encoding, offset[, length]) is no longer supported" + ); + } + var remaining = this.length - offset; + if (length === void 0 || length > remaining) + length = remaining; + if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) { + throw new RangeError("Attempt to write outside buffer bounds"); + } + if (!encoding) + encoding = "utf8"; + var loweredCase = false; + for (; ; ) { + switch (encoding) { + case "hex": + return hexWrite(this, string, offset, length); + case "utf8": + case "utf-8": + return utf8Write(this, string, offset, length); + case "ascii": + return asciiWrite(this, string, offset, length); + case "latin1": + case "binary": + return latin1Write(this, string, offset, length); + case "base64": + return base64Write(this, string, offset, length); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return ucs2Write(this, string, offset, length); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } +}; +Buffer.prototype.toJSON = function toJSON() { + return { + type: "Buffer", + data: Array.prototype.slice.call(this._arr || this, 0) + }; +}; +function base64Slice(buf, start, end) { + if (start === 0 && end === buf.length) { + return base64fromByteArray(buf); + } else { + return base64fromByteArray(buf.slice(start, end)); + } +} +function utf8Slice(buf, start, end) { + end = Math.min(buf.length, end); + var res = []; + var i = start; + while (i < end) { + var firstByte = buf[i]; + var codePoint = null; + var bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1; + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint; + switch (bytesPerSequence) { + case 1: + if (firstByte < 128) { + codePoint = firstByte; + } + break; + case 2: + secondByte = buf[i + 1]; + if ((secondByte & 192) === 128) { + tempCodePoint = (firstByte & 31) << 6 | secondByte & 63; + if (tempCodePoint > 127) { + codePoint = tempCodePoint; + } + } + break; + case 3: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63; + if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) { + codePoint = tempCodePoint; + } + } + break; + case 4: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + fourthByte = buf[i + 3]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63; + if (tempCodePoint > 65535 && tempCodePoint < 1114112) { + codePoint = tempCodePoint; + } + } + } + } + if (codePoint === null) { + codePoint = 65533; + bytesPerSequence = 1; + } else if (codePoint > 65535) { + codePoint -= 65536; + res.push(codePoint >>> 10 & 1023 | 55296); + codePoint = 56320 | codePoint & 1023; + } + res.push(codePoint); + i += bytesPerSequence; + } + return decodeCodePointsArray(res); +} +var MAX_ARGUMENTS_LENGTH = 4096; +function decodeCodePointsArray(codePoints) { + var len = codePoints.length; + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints); + } + var res = ""; + var i = 0; + while (i < len) { + res += String.fromCharCode.apply( + String, + codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) + ); + } + return res; +} +function asciiSlice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i] & 127); + } + return ret; +} +function latin1Slice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i]); + } + return ret; +} +function hexSlice(buf, start, end) { + var len = buf.length; + if (!start || start < 0) + start = 0; + if (!end || end < 0 || end > len) + end = len; + var out = ""; + for (var i = start; i < end; ++i) { + out += toHex(buf[i]); + } + return out; +} +function utf16leSlice(buf, start, end) { + var bytes = buf.slice(start, end); + var res = ""; + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); + } + return res; +} +Buffer.prototype.slice = function slice(start, end) { + var len = this.length; + start = ~~start; + end = end === void 0 ? len : ~~end; + if (start < 0) { + start += len; + if (start < 0) + start = 0; + } else if (start > len) { + start = len; + } + if (end < 0) { + end += len; + if (end < 0) + end = 0; + } else if (end > len) { + end = len; + } + if (end < start) + end = start; + var newBuf; + if (Buffer.TYPED_ARRAY_SUPPORT) { + newBuf = this.subarray(start, end); + newBuf.__proto__ = Buffer.prototype; + } else { + var sliceLen = end - start; + newBuf = new Buffer(sliceLen, void 0); + for (var i = 0; i < sliceLen; ++i) { + newBuf[i] = this[i + start]; + } + } + return newBuf; +}; +function checkOffset(offset, ext, length) { + if (offset % 1 !== 0 || offset < 0) + throw new RangeError("offset is not uint"); + if (offset + ext > length) + throw new RangeError("Trying to access beyond buffer length"); +} +Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength2 && (mul *= 256)) { + val += this[offset + i] * mul; + } + return val; +}; +Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + checkOffset(offset, byteLength2, this.length); + } + var val = this[offset + --byteLength2]; + var mul = 1; + while (byteLength2 > 0 && (mul *= 256)) { + val += this[offset + --byteLength2] * mul; + } + return val; +}; +Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 1, this.length); + return this[offset]; +}; +Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] | this[offset + 1] << 8; +}; +Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] << 8 | this[offset + 1]; +}; +Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216; +}; +Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); +}; +Buffer.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength2 && (mul *= 256)) { + val += this[offset + i] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength2); + return val; +}; +Buffer.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var i = byteLength2; + var mul = 1; + var val = this[offset + --i]; + while (i > 0 && (mul *= 256)) { + val += this[offset + --i] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength2); + return val; +}; +Buffer.prototype.readInt8 = function readInt8(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 1, this.length); + if (!(this[offset] & 128)) + return this[offset]; + return (255 - this[offset] + 1) * -1; +}; +Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + var val = this[offset] | this[offset + 1] << 8; + return val & 32768 ? val | 4294901760 : val; +}; +Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + var val = this[offset + 1] | this[offset] << 8; + return val & 32768 ? val | 4294901760 : val; +}; +Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24; +}; +Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]; +}; +Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754read(this, offset, true, 23, 4); +}; +Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754read(this, offset, false, 23, 4); +}; +Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754read(this, offset, true, 52, 8); +}; +Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754read(this, offset, false, 52, 8); +}; +function checkInt(buf, value, offset, ext, max, min) { + if (!internalIsBuffer(buf)) + throw new TypeError('"buffer" argument must be a Buffer instance'); + if (value > max || value < min) + throw new RangeError('"value" argument is out of bounds'); + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); +} +Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength2) - 1; + checkInt(this, value, offset, byteLength2, maxBytes, 0); + } + var mul = 1; + var i = 0; + this[offset] = value & 255; + while (++i < byteLength2 && (mul *= 256)) { + this[offset + i] = value / mul & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength2) - 1; + checkInt(this, value, offset, byteLength2, maxBytes, 0); + } + var i = byteLength2 - 1; + var mul = 1; + this[offset + i] = value & 255; + while (--i >= 0 && (mul *= 256)) { + this[offset + i] = value / mul & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 1, 255, 0); + if (!Buffer.TYPED_ARRAY_SUPPORT) + value = Math.floor(value); + this[offset] = value & 255; + return offset + 1; +}; +function objectWriteUInt16(buf, value, offset, littleEndian) { + if (value < 0) + value = 65535 + value + 1; + for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { + buf[offset + i] = (value & 255 << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8; + } +} +Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + } else { + objectWriteUInt16(this, value, offset, true); + } + return offset + 2; +}; +Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + } else { + objectWriteUInt16(this, value, offset, false); + } + return offset + 2; +}; +function objectWriteUInt32(buf, value, offset, littleEndian) { + if (value < 0) + value = 4294967295 + value + 1; + for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { + buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 255; + } +} +Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset + 3] = value >>> 24; + this[offset + 2] = value >>> 16; + this[offset + 1] = value >>> 8; + this[offset] = value & 255; + } else { + objectWriteUInt32(this, value, offset, true); + } + return offset + 4; +}; +Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + } else { + objectWriteUInt32(this, value, offset, false); + } + return offset + 4; +}; +Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength2 - 1); + checkInt(this, value, offset, byteLength2, limit - 1, -limit); + } + var i = 0; + var mul = 1; + var sub = 0; + this[offset] = value & 255; + while (++i < byteLength2 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { + sub = 1; + } + this[offset + i] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength2 - 1); + checkInt(this, value, offset, byteLength2, limit - 1, -limit); + } + var i = byteLength2 - 1; + var mul = 1; + var sub = 0; + this[offset + i] = value & 255; + while (--i >= 0 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { + sub = 1; + } + this[offset + i] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength2; +}; +Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 1, 127, -128); + if (!Buffer.TYPED_ARRAY_SUPPORT) + value = Math.floor(value); + if (value < 0) + value = 255 + value + 1; + this[offset] = value & 255; + return offset + 1; +}; +Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + } else { + objectWriteUInt16(this, value, offset, true); + } + return offset + 2; +}; +Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + } else { + objectWriteUInt16(this, value, offset, false); + } + return offset + 2; +}; +Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + this[offset + 2] = value >>> 16; + this[offset + 3] = value >>> 24; + } else { + objectWriteUInt32(this, value, offset, true); + } + return offset + 4; +}; +Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + if (value < 0) + value = 4294967295 + value + 1; + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + } else { + objectWriteUInt32(this, value, offset, false); + } + return offset + 4; +}; +function checkIEEE754(buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); + if (offset < 0) + throw new RangeError("Index out of range"); +} +function writeFloat(buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754( + buf, + value, + offset, + 4, + 34028234663852886e22, + -34028234663852886e22 + ); + } + ieee754write(buf, value, offset, littleEndian, 23, 4); + return offset + 4; +} +Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert); +}; +Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert); +}; +function writeDouble(buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754( + buf, + value, + offset, + 8, + 17976931348623157e292, + -17976931348623157e292 + ); + } + ieee754write(buf, value, offset, littleEndian, 52, 8); + return offset + 8; +} +Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert); +}; +Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert); +}; +Buffer.prototype.copy = function copy(target, targetStart, start, end) { + if (!start) + start = 0; + if (!end && end !== 0) + end = this.length; + if (targetStart >= target.length) + targetStart = target.length; + if (!targetStart) + targetStart = 0; + if (end > 0 && end < start) + end = start; + if (end === start) + return 0; + if (target.length === 0 || this.length === 0) + return 0; + if (targetStart < 0) { + throw new RangeError("targetStart out of bounds"); + } + if (start < 0 || start >= this.length) + throw new RangeError("sourceStart out of bounds"); + if (end < 0) + throw new RangeError("sourceEnd out of bounds"); + if (end > this.length) + end = this.length; + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start; + } + var len = end - start; + var i; + if (this === target && start < targetStart && targetStart < end) { + for (i = len - 1; i >= 0; --i) { + target[i + targetStart] = this[i + start]; + } + } else if (len < 1e3 || !Buffer.TYPED_ARRAY_SUPPORT) { + for (i = 0; i < len; ++i) { + target[i + targetStart] = this[i + start]; + } + } else { + Uint8Array.prototype.set.call( + target, + this.subarray(start, start + len), + targetStart + ); + } + return len; +}; +Buffer.prototype.fill = function fill(val, start, end, encoding) { + if (typeof val === "string") { + if (typeof start === "string") { + encoding = start; + start = 0; + end = this.length; + } else if (typeof end === "string") { + encoding = end; + end = this.length; + } + if (val.length === 1) { + var code = val.charCodeAt(0); + if (code < 256) { + val = code; + } + } + if (encoding !== void 0 && typeof encoding !== "string") { + throw new TypeError("encoding must be a string"); + } + if (typeof encoding === "string" && !Buffer.isEncoding(encoding)) { + throw new TypeError("Unknown encoding: " + encoding); + } + } else if (typeof val === "number") { + val = val & 255; + } + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError("Out of range index"); + } + if (end <= start) { + return this; + } + start = start >>> 0; + end = end === void 0 ? this.length : end >>> 0; + if (!val) + val = 0; + var i; + if (typeof val === "number") { + for (i = start; i < end; ++i) { + this[i] = val; + } + } else { + var bytes = internalIsBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString()); + var len = bytes.length; + for (i = 0; i < end - start; ++i) { + this[i + start] = bytes[i % len]; + } + } + return this; +}; +var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g; +function base64clean(str) { + str = stringtrim(str).replace(INVALID_BASE64_RE, ""); + if (str.length < 2) + return ""; + while (str.length % 4 !== 0) { + str = str + "="; + } + return str; +} +function stringtrim(str) { + if (str.trim) + return str.trim(); + return str.replace(/^\s+|\s+$/g, ""); +} +function toHex(n) { + if (n < 16) + return "0" + n.toString(16); + return n.toString(16); +} +function utf8ToBytes(string, units) { + units = units || Infinity; + var codePoint; + var length = string.length; + var leadSurrogate = null; + var bytes = []; + for (var i = 0; i < length; ++i) { + codePoint = string.charCodeAt(i); + if (codePoint > 55295 && codePoint < 57344) { + if (!leadSurrogate) { + if (codePoint > 56319) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } else if (i + 1 === length) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } + leadSurrogate = codePoint; + continue; + } + if (codePoint < 56320) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + leadSurrogate = codePoint; + continue; + } + codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536; + } else if (leadSurrogate) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + } + leadSurrogate = null; + if (codePoint < 128) { + if ((units -= 1) < 0) + break; + bytes.push(codePoint); + } else if (codePoint < 2048) { + if ((units -= 2) < 0) + break; + bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128); + } else if (codePoint < 65536) { + if ((units -= 3) < 0) + break; + bytes.push( + codePoint >> 12 | 224, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else if (codePoint < 1114112) { + if ((units -= 4) < 0) + break; + bytes.push( + codePoint >> 18 | 240, + codePoint >> 12 & 63 | 128, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else { + throw new Error("Invalid code point"); + } + } + return bytes; +} +function asciiToBytes(str) { + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + byteArray.push(str.charCodeAt(i) & 255); + } + return byteArray; +} +function utf16leToBytes(str, units) { + var c, hi, lo; + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + if ((units -= 2) < 0) + break; + c = str.charCodeAt(i); + hi = c >> 8; + lo = c % 256; + byteArray.push(lo); + byteArray.push(hi); + } + return byteArray; +} +function base64ToBytes(str) { + return base64toByteArray(base64clean(str)); +} +function blitBuffer(src, dst, offset, length) { + for (var i = 0; i < length; ++i) { + if (i + offset >= dst.length || i >= src.length) + break; + dst[i + offset] = src[i]; + } + return i; +} +function isnan(val) { + return val !== val; +} +function isBuffer(obj) { + return obj != null && (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj)); +} +function isFastBuffer(obj) { + return !!obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj); +} +function isSlowBuffer(obj) { + return typeof obj.readFloatLE === "function" && typeof obj.slice === "function" && isFastBuffer(obj.slice(0, 0)); +} +function ieee754read(buffer, offset, isLE, mLen, nBytes) { + var e, m; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = -7; + var i = isLE ? nBytes - 1 : 0; + var d = isLE ? -1 : 1; + var s = buffer[offset + i]; + i += d; + e = s & (1 << -nBits) - 1; + s >>= -nBits; + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : (s ? -1 : 1) * Infinity; + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); +} +function ieee754write(buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; + var i = isLE ? 0 : nBytes - 1; + var d = isLE ? 1 : -1; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + value = Math.abs(value); + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) { + } + e = e << mLen | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) { + } + buffer[offset + i - d] |= s * 128; +} + +// node_modules/@b9g/crank/crank.js +var Portal = Symbol.for("crank.Portal"); +var Copy = Symbol.for("crank.Copy"); +var Raw = Symbol.for("crank.Raw"); +var ElementSymbol = Symbol.for("crank.Element"); +var Element = class { + constructor(tag, props) { + this.tag = tag; + this.props = props; + } + get key() { + return this.props.key; + } + get ref() { + return this.props.ref; + } + get copy() { + return !!this.props.copy; + } +}; +Element.prototype.$$typeof = ElementSymbol; +var DEPRECATED_PROP_PREFIXES = ["crank-", "c-", "$"]; +var DEPRECATED_SPECIAL_PROP_BASES = ["key", "ref", "static"]; +var SPECIAL_PROPS = /* @__PURE__ */ new Set(["children", "key", "ref", "copy"]); +for (const propPrefix of DEPRECATED_PROP_PREFIXES) { + for (const propBase of DEPRECATED_SPECIAL_PROP_BASES) { + SPECIAL_PROPS.add(propPrefix + propBase); + } +} +function createElement(tag, props, ...children) { + if (props == null) { + props = {}; + } + for (let i = 0; i < DEPRECATED_PROP_PREFIXES.length; i++) { + const propPrefix = DEPRECATED_PROP_PREFIXES[i]; + for (let j = 0; j < DEPRECATED_SPECIAL_PROP_BASES.length; j++) { + const propBase = DEPRECATED_SPECIAL_PROP_BASES[j]; + const deprecatedPropName = propPrefix + propBase; + const targetPropBase = propBase === "static" ? "copy" : propBase; + if (deprecatedPropName in props) { + console.warn(`The \`${deprecatedPropName}\` prop is deprecated. Use \`${targetPropBase}\` instead.`); + props[targetPropBase] = props[deprecatedPropName]; + } + } + } + if (children.length > 1) { + props.children = children; + } else if (children.length === 1) { + props.children = children[0]; + } + return new Element(tag, props); +} +var _RendererImpl = Symbol.for("crank.RendererImpl"); +var IsUpdating = 1 << 0; +var IsSyncExecuting = 1 << 1; +var IsInForOfLoop = 1 << 2; +var IsInForAwaitOfLoop = 1 << 3; +var NeedsToYield = 1 << 4; +var PropsAvailable = 1 << 5; +var IsErrored = 1 << 6; +var IsUnmounted = 1 << 7; +var IsSyncGen = 1 << 8; +var IsAsyncGen = 1 << 9; +var IsScheduling = 1 << 10; +var IsSchedulingRefresh = 1 << 11; +var _ContextImpl = Symbol.for("crank.ContextImpl"); + +// node_modules/@b9g/crank/jsx-tag.js +var cache = /* @__PURE__ */ new Map(); +function jsx(spans, ...expressions) { + const key = JSON.stringify(spans.raw); + let parseResult = cache.get(key); + if (parseResult == null) { + parseResult = parse(spans.raw); + cache.set(key, parseResult); + } + const { element, targets } = parseResult; + for (let i = 0; i < expressions.length; i++) { + const exp = expressions[i]; + const target = targets[i]; + if (target) { + if (target.type === "error") { + throw new SyntaxError(target.message.replace("${}", formatTagForError(exp))); + } + target.value = exp; + } + } + return build(element); +} +var CHILDREN_RE = /((?:\r|\n|\r\n)\s*)|(|$))|(<\s*(\/{0,2})\s*([-_$\w]*))/g; +var PROPS_RE = /\s*(?:(\/?\s*>)|(\.\.\.\s*)|(?:([-_$\w]+)\s*(=)?\s*(?:("(\\"|[\S\s])*?(?:"|$)|'(?:\\'|[\S\s])*?(?:'|$)))?))/g; +var CLOSING_BRACKET_RE = />/g; +var CLOSING_SINGLE_QUOTE_RE = /[^\\]?'/g; +var CLOSING_DOUBLE_QUOTE_RE = /[^\\]?"/g; +var CLOSING_COMMENT_RE = /-->/g; +function parse(spans) { + let matcher = CHILDREN_RE; + const stack = []; + let element = { + type: "element", + open: { type: "tag", slash: "", value: "" }, + close: null, + props: [], + children: [] + }; + const targets = []; + let lineStart = true; + for (let s = 0; s < spans.length; s++) { + const span = spans[s]; + const expressing = s < spans.length - 1; + let expressionTarget = null; + for (let i = 0, end = i; i < span.length; i = end) { + matcher.lastIndex = i; + const match = matcher.exec(span); + end = match ? match.index + match[0].length : span.length; + switch (matcher) { + case CHILDREN_RE: { + if (match) { + const [, newline, comment, tag, closingSlash, tagName] = match; + if (i < match.index) { + let before = span.slice(i, match.index); + if (lineStart) { + before = before.replace(/^\s*/, ""); + } + if (newline) { + if (span[Math.max(0, match.index - 1)] === "\\") { + before = before.slice(0, -1); + } else { + before = before.replace(/\s*$/, ""); + } + } + if (before) { + element.children.push({ type: "value", value: before }); + } + } + lineStart = !!newline; + if (comment) { + if (end === span.length) { + matcher = CLOSING_COMMENT_RE; + } + } else if (tag) { + if (closingSlash) { + element.close = { + type: "tag", + slash: closingSlash, + value: tagName + }; + if (!stack.length) { + if (end !== span.length) { + throw new SyntaxError(`Unmatched closing tag "${tagName}"`); + } + expressionTarget = { + type: "error", + message: "Unmatched closing tag ${}", + value: null + }; + } else { + if (end === span.length) { + expressionTarget = element.close; + } + element = stack.pop(); + matcher = CLOSING_BRACKET_RE; + } + } else { + const next = { + type: "element", + open: { + type: "tag", + slash: "", + value: tagName + }, + close: null, + props: [], + children: [] + }; + element.children.push(next); + stack.push(element); + element = next; + matcher = PROPS_RE; + if (end === span.length) { + expressionTarget = element.open; + } + } + } + } else { + if (i < span.length) { + let after = span.slice(i); + if (!expressing) { + after = after.replace(/\s*$/, ""); + } + if (after) { + element.children.push({ type: "value", value: after }); + } + } + } + break; + } + case PROPS_RE: { + if (match) { + const [, tagEnd, spread, name, equals2, string] = match; + if (i < match.index) { + throw new SyntaxError(`Unexpected text \`${span.slice(i, match.index).trim()}\``); + } + if (tagEnd) { + if (tagEnd[0] === "/") { + element = stack.pop(); + } + matcher = CHILDREN_RE; + } else if (spread) { + const value = { + type: "value", + value: null + }; + element.props.push(value); + expressionTarget = value; + if (!(expressing && end === span.length)) { + throw new SyntaxError('Expression expected after "..."'); + } + } else if (name) { + let value; + if (string == null) { + if (!equals2) { + value = { type: "value", value: true }; + } else if (end < span.length) { + throw new SyntaxError(`Unexpected text \`${span.slice(end, end + 20)}\``); + } else { + value = { type: "value", value: null }; + expressionTarget = value; + if (!(expressing && end === span.length)) { + throw new SyntaxError(`Expression expected for prop "${name}"`); + } + } + } else { + const quote = string[0]; + value = { type: "propString", parts: [] }; + value.parts.push(string); + if (end === span.length) { + matcher = quote === "'" ? CLOSING_SINGLE_QUOTE_RE : CLOSING_DOUBLE_QUOTE_RE; + } + } + const prop = { + type: "prop", + name, + value + }; + element.props.push(prop); + } + } else { + if (!expressing) { + if (i === span.length) { + throw new SyntaxError(`Expected props but reached end of document`); + } else { + throw new SyntaxError(`Unexpected text \`${span.slice(i, i + 20).trim()}\``); + } + } + } + break; + } + case CLOSING_BRACKET_RE: { + if (match) { + if (i < match.index) { + throw new SyntaxError(`Unexpected text \`${span.slice(i, match.index).trim()}\``); + } + matcher = CHILDREN_RE; + } else { + if (!expressing) { + throw new SyntaxError(`Unexpected text \`${span.slice(i, i + 20).trim()}\``); + } + } + break; + } + case CLOSING_SINGLE_QUOTE_RE: + case CLOSING_DOUBLE_QUOTE_RE: { + const string = span.slice(i, end); + const prop = element.props[element.props.length - 1]; + const propString = prop.value; + propString.parts.push(string); + if (match) { + matcher = PROPS_RE; + } else { + if (!expressing) { + throw new SyntaxError(`Missing \`${matcher === CLOSING_SINGLE_QUOTE_RE ? "'" : '"'}\``); + } + } + break; + } + case CLOSING_COMMENT_RE: { + if (match) { + matcher = CHILDREN_RE; + } else { + if (!expressing) { + throw new SyntaxError("Expected `-->` but reached end of template"); + } + } + break; + } + } + } + if (expressing) { + if (expressionTarget) { + targets.push(expressionTarget); + if (expressionTarget.type === "error") { + break; + } + continue; + } + switch (matcher) { + case CHILDREN_RE: { + const target = { type: "value", value: null }; + element.children.push(target); + targets.push(target); + break; + } + case CLOSING_SINGLE_QUOTE_RE: + case CLOSING_DOUBLE_QUOTE_RE: { + const prop = element.props[element.props.length - 1]; + const target = { type: "value", value: null }; + prop.value.parts.push(target); + targets.push(target); + break; + } + case CLOSING_COMMENT_RE: + targets.push(null); + break; + default: + throw new SyntaxError("Unexpected expression"); + } + } else if (expressionTarget) { + throw new SyntaxError("Expression expected"); + } + lineStart = false; + } + if (stack.length) { + const ti = targets.indexOf(element.open); + if (ti === -1) { + throw new SyntaxError(`Unmatched opening tag "${element.open.value}"`); + } + targets[ti] = { + type: "error", + message: "Unmatched opening tag ${}", + value: null + }; + } + if (element.children.length === 1 && element.children[0].type === "element") { + element = element.children[0]; + } + return { element, targets }; +} +function build(parsed) { + if (parsed.close !== null && parsed.close.slash !== "//" && parsed.open.value !== parsed.close.value) { + throw new SyntaxError(`Unmatched closing tag ${formatTagForError(parsed.close.value)}, expected ${formatTagForError(parsed.open.value)}`); + } + const children = []; + for (let i = 0; i < parsed.children.length; i++) { + const child = parsed.children[i]; + children.push(child.type === "element" ? build(child) : child.value); + } + let props = parsed.props.length ? {} : null; + for (let i = 0; i < parsed.props.length; i++) { + const prop = parsed.props[i]; + if (prop.type === "prop") { + let value; + if (prop.value.type === "value") { + value = prop.value.value; + } else { + let string = ""; + for (let i2 = 0; i2 < prop.value.parts.length; i2++) { + const part = prop.value.parts[i2]; + if (typeof part === "string") { + string += part; + } else if (typeof part.value !== "boolean" && part.value != null) { + string += typeof part.value === "string" ? part.value : String(part.value); + } + } + value = string.slice(1, -1).replace(/\\x[0-9a-f]{2}|\\u[0-9a-f]{4}|\\u\{[0-9a-f]+\}|\\./gi, (match) => { + switch (match[1]) { + case "b": + return "\b"; + case "f": + return "\f"; + case "n": + return "\n"; + case "r": + return "\r"; + case "t": + return " "; + case "v": + return "\v"; + case "x": + return String.fromCharCode(parseInt(match.slice(2), 16)); + case "u": + if (match[2] === "{") { + return String.fromCodePoint(parseInt(match.slice(3, -1), 16)); + } + return String.fromCharCode(parseInt(match.slice(2), 16)); + case "0": + return "\0"; + default: + return match.slice(1); + } + }); + } + props[prop.name] = value; + } else { + props = { ...props, ...prop.value }; + } + } + return createElement(parsed.open.value, props, ...children); +} +function formatTagForError(tag) { + return typeof tag === "function" ? tag.name + "()" : typeof tag === "string" ? `"${tag}"` : JSON.stringify(tag); +} +export { + jsx +}; +/*! Bundled license information: + +@esbuild-plugins/node-globals-polyfill/Buffer.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) +*/ +//# sourceMappingURL=jsx-tag-LOQQR4CC.js.map diff --git a/static/jsx-tag-LOQQR4CC.js.map b/static/jsx-tag-LOQQR4CC.js.map new file mode 100644 index 00000000..5ff8e562 --- /dev/null +++ b/static/jsx-tag-LOQQR4CC.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/@esbuild-plugins/node-globals-polyfill/process.js", "../node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js", "../node_modules/@b9g/src/crank.ts", "../node_modules/@b9g/src/jsx-tag.ts"], + "sourcesContent": ["// shim for using process in browser\n// based off https://github.com/defunctzombie/node-process/blob/master/browser.js\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined')\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined')\n}\nvar cachedSetTimeout = defaultSetTimout\nvar cachedClearTimeout = defaultClearTimeout\nif (typeof global.setTimeout === 'function') {\n cachedSetTimeout = setTimeout\n}\nif (typeof global.clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout\n}\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0)\n }\n // if setTimeout wasn't available but was latter defined\n if (\n (cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) &&\n setTimeout\n ) {\n cachedSetTimeout = setTimeout\n return setTimeout(fun, 0)\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0)\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0)\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0)\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker)\n }\n // if clearTimeout wasn't available but was latter defined\n if (\n (cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) &&\n clearTimeout\n ) {\n cachedClearTimeout = clearTimeout\n return clearTimeout(marker)\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker)\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker)\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker)\n }\n }\n}\nvar queue = []\nvar draining = false\nvar currentQueue\nvar queueIndex = -1\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return\n }\n draining = false\n if (currentQueue.length) {\n queue = currentQueue.concat(queue)\n } else {\n queueIndex = -1\n }\n if (queue.length) {\n drainQueue()\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return\n }\n var timeout = runTimeout(cleanUpNextTick)\n draining = true\n\n var len = queue.length\n while (len) {\n currentQueue = queue\n queue = []\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run()\n }\n }\n queueIndex = -1\n len = queue.length\n }\n currentQueue = null\n draining = false\n runClearTimeout(timeout)\n}\nfunction nextTick(fun) {\n var args = new Array(arguments.length - 1)\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i]\n }\n }\n queue.push(new Item(fun, args))\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue)\n }\n}\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun\n this.array = array\n}\nItem.prototype.run = function() {\n this.fun.apply(null, this.array)\n}\nvar title = 'browser'\nvar platform = 'browser'\nvar browser = true\nvar env = {}\nvar argv = []\nvar version = '' // empty string to avoid regexp issues\nvar versions = {}\nvar release = {}\nvar config = {}\n\nfunction noop() {}\n\nvar on = noop\nvar addListener = noop\nvar once = noop\nvar off = noop\nvar removeListener = noop\nvar removeAllListeners = noop\nvar emit = noop\n\nfunction binding(name) {\n throw new Error('process.binding is not supported')\n}\n\nfunction cwd() {\n return '/'\n}\nfunction chdir(dir) {\n throw new Error('process.chdir is not supported')\n}\nfunction umask() {\n return 0\n}\n\n// from https://github.com/kumavis/browser-process-hrtime/blob/master/index.js\nvar performance = global.performance || {}\nvar performanceNow =\n performance.now ||\n performance.mozNow ||\n performance.msNow ||\n performance.oNow ||\n performance.webkitNow ||\n function() {\n return new Date().getTime()\n }\n\n// generate timestamp or delta\n// see http://nodejs.org/api/process.html#process_process_hrtime\nfunction hrtime(previousTimestamp) {\n var clocktime = performanceNow.call(performance) * 1e-3\n var seconds = Math.floor(clocktime)\n var nanoseconds = Math.floor((clocktime % 1) * 1e9)\n if (previousTimestamp) {\n seconds = seconds - previousTimestamp[0]\n nanoseconds = nanoseconds - previousTimestamp[1]\n if (nanoseconds < 0) {\n seconds--\n nanoseconds += 1e9\n }\n }\n return [seconds, nanoseconds]\n}\n\nvar startTime = new Date()\nfunction uptime() {\n var currentTime = new Date()\n var dif = currentTime - startTime\n return dif / 1000\n}\n\nexport var process = {\n nextTick: nextTick,\n title: title,\n browser: browser,\n env: env,\n argv: argv,\n version: version,\n versions: versions,\n on: on,\n addListener: addListener,\n once: once,\n off: off,\n removeListener: removeListener,\n removeAllListeners: removeAllListeners,\n emit: emit,\n binding: binding,\n cwd: cwd,\n chdir: chdir,\n umask: umask,\n hrtime: hrtime,\n platform: platform,\n release: release,\n config: config,\n uptime: uptime,\n}\n\n// replace process.env.VAR with define\n\nconst defines = {}\nObject.keys(defines).forEach((key) => {\n const segs = key.split('.')\n let target = process\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n if (i === segs.length - 1) {\n target[seg] = defines[key]\n } else {\n target = target[seg] || (target[seg] = {})\n }\n }\n})\n", "// taken from https://github.com/calvinmetcalf/buffer-es6\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\nvar inited = false\nfunction init() {\n inited = true\n var code =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n for (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n }\n\n revLookup['-'.charCodeAt(0)] = 62\n revLookup['_'.charCodeAt(0)] = 63\n}\n\nfunction base64toByteArray(b64) {\n if (!inited) {\n init()\n }\n var i, j, l, tmp, placeHolders, arr\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n placeHolders = b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n\n // base64 is 4/3 + up to two characters of the original data\n arr = new Arr((len * 3) / 4 - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0, j = 0; i < l; i += 4, j += 3) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xff\n arr[L++] = (tmp >> 8) & 0xff\n arr[L++] = tmp & 0xff\n }\n\n if (placeHolders === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xff\n } else if (placeHolders === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xff\n arr[L++] = tmp & 0xff\n }\n\n return arr\n}\n\nfunction tripletToBase64(num) {\n return (\n lookup[(num >> 18) & 0x3f] +\n lookup[(num >> 12) & 0x3f] +\n lookup[(num >> 6) & 0x3f] +\n lookup[num & 0x3f]\n )\n}\n\nfunction encodeChunk(uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2]\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction base64fromByteArray(uint8) {\n if (!inited) {\n init()\n }\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(\n encodeChunk(\n uint8,\n i,\n i + maxChunkLength > len2 ? len2 : i + maxChunkLength,\n ),\n )\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3f]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3f]\n output += lookup[(tmp << 2) & 0x3f]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\nvar INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT =\n global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : true\n\nfunction kMaxLength() {\n return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff\n}\n\nfunction createBuffer(that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nexport function Buffer(arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string',\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function(arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from(that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function(value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nBuffer.kMaxLength = kMaxLength()\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (\n typeof Symbol !== 'undefined' &&\n Symbol.species &&\n Buffer[Symbol.species] === Buffer\n ) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n // Object.defineProperty(Buffer, Symbol.species, {\n // value: null,\n // configurable: true\n // })\n }\n}\n\nfunction assertSize(size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc(that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function(size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe(that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function(size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function(size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString(that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike(that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer(that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\"'offset' is out of bounds\")\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\"'length' is out of bounds\")\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject(that, obj) {\n if (internalIsBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if (\n (typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) ||\n 'length' in obj\n ) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError(\n 'First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.',\n )\n}\n\nfunction checked(length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError(\n 'Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' +\n kMaxLength().toString(16) +\n ' bytes',\n )\n }\n return length | 0\n}\n\nexport function SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\nBuffer.isBuffer = isBuffer\nfunction internalIsBuffer(b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare(a, b) {\n if (!internalIsBuffer(a) || !internalIsBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!internalIsBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength(string, encoding) {\n if (internalIsBuffer(string)) {\n return string.length\n }\n if (\n typeof ArrayBuffer !== 'undefined' &&\n typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)\n ) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString(encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase)\n throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap(b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16() {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32() {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64() {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString() {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals(b) {\n if (!internalIsBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\n\nBuffer.prototype.compare = function compare(\n target,\n start,\n end,\n thisStart,\n thisEnd,\n) {\n if (!internalIsBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (\n start < 0 ||\n end > target.length ||\n thisStart < 0 ||\n thisEnd > this.length\n ) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (internalIsBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xff // Search for a byte value [0-255]\n if (\n Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function'\n ) {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(\n buffer,\n val,\n byteOffset,\n )\n } else {\n return Uint8Array.prototype.lastIndexOf.call(\n buffer,\n val,\n byteOffset,\n )\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (\n encoding === 'ucs2' ||\n encoding === 'ucs-2' ||\n encoding === 'utf16le' ||\n encoding === 'utf-16le'\n ) {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (\n read(arr, i) ===\n read(val, foundIndex === -1 ? 0 : i - foundIndex)\n ) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength)\n return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength)\n byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write(buf, string, offset, length) {\n return blitBuffer(\n utf8ToBytes(string, buf.length - offset),\n buf,\n offset,\n length,\n )\n}\n\nfunction asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write(buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write(buf, string, offset, length) {\n return blitBuffer(\n utf16leToBytes(string, buf.length - offset),\n buf,\n offset,\n length,\n )\n}\n\nBuffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported',\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if (\n (string.length > 0 && (length < 0 || offset < 0)) ||\n offset > this.length\n ) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase)\n throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON() {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0),\n }\n}\n\nfunction base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64fromByteArray(buf)\n } else {\n return base64fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence =\n firstByte > 0xef\n ? 4\n : firstByte > 0xdf\n ? 3\n : firstByte > 0xbf\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xc0) === 0x80) {\n tempCodePoint =\n ((firstByte & 0x1f) << 0x6) | (secondByte & 0x3f)\n if (tempCodePoint > 0x7f) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if (\n (secondByte & 0xc0) === 0x80 &&\n (thirdByte & 0xc0) === 0x80\n ) {\n tempCodePoint =\n ((firstByte & 0xf) << 0xc) |\n ((secondByte & 0x3f) << 0x6) |\n (thirdByte & 0x3f)\n if (\n tempCodePoint > 0x7ff &&\n (tempCodePoint < 0xd800 || tempCodePoint > 0xdfff)\n ) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if (\n (secondByte & 0xc0) === 0x80 &&\n (thirdByte & 0xc0) === 0x80 &&\n (fourthByte & 0xc0) === 0x80\n ) {\n tempCodePoint =\n ((firstByte & 0xf) << 0x12) |\n ((secondByte & 0x3f) << 0xc) |\n ((thirdByte & 0x3f) << 0x6) |\n (fourthByte & 0x3f)\n if (\n tempCodePoint > 0xffff &&\n tempCodePoint < 0x110000\n ) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xfffd\n bytesPerSequence = 1\n } else if (codePoint > 0xffff) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(((codePoint >>> 10) & 0x3ff) | 0xd800)\n codePoint = 0xdc00 | (codePoint & 0x3ff)\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray(codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, (i += MAX_ARGUMENTS_LENGTH)),\n )\n }\n return res\n}\n\nfunction asciiSlice(buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7f)\n }\n return ret\n}\n\nfunction latin1Slice(buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice(buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice(buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice(start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0)\n throw new RangeError('offset is not uint')\n if (offset + ext > length)\n throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE(\n offset,\n byteLength,\n noAssert,\n) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE(\n offset,\n byteLength,\n noAssert,\n) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n (this[offset] | (this[offset + 1] << 8) | (this[offset + 2] << 16)) +\n this[offset + 3] * 0x1000000\n )\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n this[offset] * 0x1000000 +\n ((this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3])\n )\n}\n\nBuffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return this[offset]\n return (0xff - this[offset] + 1) * -1\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return val & 0x8000 ? val | 0xffff0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return val & 0x8000 ? val | 0xffff0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n this[offset] |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n )\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3]\n )\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754read(this, offset, false, 52, 8)\n}\n\nfunction checkInt(buf, value, offset, ext, max, min) {\n if (!internalIsBuffer(buf))\n throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min)\n throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xff\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xff\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = value & 0xff\n return offset + 1\n}\n\nfunction objectWriteUInt16(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] =\n (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n ((littleEndian ? i : 1 - i) * 8)\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8\n this[offset + 1] = value & 0xff\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> ((littleEndian ? i : 3 - i) * 8)) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = value >>> 24\n this[offset + 2] = value >>> 16\n this[offset + 1] = value >>> 8\n this[offset] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24\n this[offset + 1] = value >>> 16\n this[offset + 2] = value >>> 8\n this[offset + 3] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xff\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xff\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = value & 0xff\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8\n this[offset + 1] = value & 0xff\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n this[offset + 2] = value >>> 16\n this[offset + 3] = value >>> 24\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24\n this[offset + 1] = value >>> 16\n this[offset + 2] = value >>> 8\n this[offset + 3] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(\n buf,\n value,\n offset,\n 4,\n 3.4028234663852886e38,\n -3.4028234663852886e38,\n )\n }\n ieee754write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(\n buf,\n value,\n offset,\n 8,\n 1.7976931348623157e308,\n -1.7976931348623157e308,\n )\n }\n ieee754write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE(\n value,\n offset,\n noAssert,\n) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE(\n value,\n offset,\n noAssert,\n) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length)\n throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart,\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = internalIsBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean(str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim(str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex(n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes(string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xd7ff && codePoint < 0xe000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xdbff) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xdc00) {\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint =\n (((leadSurrogate - 0xd800) << 10) | (codePoint - 0xdc00)) +\n 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push((codePoint >> 0x6) | 0xc0, (codePoint & 0x3f) | 0x80)\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n (codePoint >> 0xc) | 0xe0,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80,\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n (codePoint >> 0x12) | 0xf0,\n ((codePoint >> 0xc) & 0x3f) | 0x80,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80,\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes(str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xff)\n }\n return byteArray\n}\n\nfunction utf16leToBytes(str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes(str) {\n return base64toByteArray(base64clean(str))\n}\n\nfunction blitBuffer(src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan(val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n// the following is from is-buffer, also by Feross Aboukhadijeh and with same lisence\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nfunction isBuffer(obj) {\n return (\n obj != null &&\n (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj))\n )\n}\n\nfunction isFastBuffer(obj) {\n return (\n !!obj.constructor &&\n typeof obj.constructor.isBuffer === 'function' &&\n obj.constructor.isBuffer(obj)\n )\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer(obj) {\n return (\n typeof obj.readFloatLE === 'function' &&\n typeof obj.slice === 'function' &&\n isFastBuffer(obj.slice(0, 0))\n )\n}\n\nfunction ieee754read(buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? nBytes - 1 : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << -nBits) - 1)\n s >>= -nBits\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << -nBits) - 1)\n e >>= -nBits\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nfunction ieee754write(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0\n var i = isLE ? 0 : nBytes - 1\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (\n ;\n mLen >= 8;\n buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8\n ) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (\n ;\n eLen > 0;\n buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8\n ) {}\n\n buffer[offset + i - d] |= s * 128\n}\n", "const NOOP = () => {};\nconst IDENTITY = (value: T): T => value;\n\nfunction wrap(value: Array | T | undefined): Array {\n\treturn value === undefined ? [] : Array.isArray(value) ? value : [value];\n}\n\nfunction unwrap(arr: Array): Array | T | undefined {\n\treturn arr.length === 0 ? undefined : arr.length === 1 ? arr[0] : arr;\n}\n\ntype NonStringIterable = Iterable & object;\n\n/**\n * Ensures a value is an array.\n *\n * This function does the same thing as wrap() above except it handles nulls\n * and iterables, so it is appropriate for wrapping user-provided element\n * children.\n */\nfunction arrayify(\n\tvalue: NonStringIterable | T | null | undefined,\n): Array {\n\treturn value == null\n\t\t? []\n\t\t: Array.isArray(value)\n\t\t\t? value\n\t\t\t: typeof value === \"string\" ||\n\t\t\t\t typeof (value as any)[Symbol.iterator] !== \"function\"\n\t\t\t\t? [value]\n\t\t\t\t: // TODO: inference broke in TypeScript 3.9.\n\t\t\t\t\t[...(value as any)];\n}\n\nfunction isIteratorLike(\n\tvalue: any,\n): value is Iterator | AsyncIterator {\n\treturn value != null && typeof value.next === \"function\";\n}\n\nfunction isPromiseLike(value: any): value is PromiseLike {\n\treturn value != null && typeof value.then === \"function\";\n}\n\n/**\n * A type which represents all valid values for an element tag.\n */\nexport type Tag = string | symbol | Component;\n\n/**\n * A helper type to map the tag of an element to its expected props.\n *\n * @template TTag - The tag associated with the props. Can be a string, symbol\n * or a component function.\n */\nexport type TagProps = TTag extends string\n\t? JSX.IntrinsicElements[TTag]\n\t: TTag extends Component\n\t\t? TProps & JSX.IntrinsicAttributes\n\t\t: Record & JSX.IntrinsicAttributes;\n\n/***\n * SPECIAL TAGS\n *\n * Crank provides a couple tags which have special meaning for the renderer.\n ***/\n\n/**\n * A special tag for grouping multiple children within the same parent.\n *\n * All non-string iterables which appear in the element tree are implicitly\n * wrapped in a fragment element.\n *\n * This tag is just the empty string, and you can use the empty string in\n * createElement calls or transpiler options directly to avoid having to\n * reference this export.\n */\nexport const Fragment = \"\";\nexport type Fragment = typeof Fragment;\n\n// TODO: We assert the following symbol tags as any because TypeScript support\n// for symbol tags in JSX doesn’t exist yet.\n// https://github.com/microsoft/TypeScript/issues/38367\n\n/**\n * A special tag for rendering into a new root node via a root prop.\n *\n * This tag is useful for creating element trees with multiple roots, for\n * things like modals or tooltips.\n *\n * Renderer.prototype.render() will implicitly wrap top-level element trees in\n * a Portal element.\n */\nexport const Portal = Symbol.for(\"crank.Portal\") as any;\nexport type Portal = typeof Portal;\n\n/**\n * A special tag which preserves whatever was previously rendered in the\n * element’s position.\n *\n * Copy elements are useful for when you want to prevent a subtree from\n * rerendering as a performance optimization. Copy elements can also be keyed,\n * in which case the previously rendered keyed element will be copied.\n */\nexport const Copy = Symbol.for(\"crank.Copy\") as any;\nexport type Copy = typeof Copy;\n\n/**\n * A special tag for injecting raw nodes or strings via a value prop.\n *\n * Renderer.prototype.raw() is called with the value prop.\n */\nexport const Raw = Symbol.for(\"crank.Raw\") as any;\nexport type Raw = typeof Raw;\n\n/**\n * Describes all valid values of an element tree, excluding iterables.\n *\n * Arbitrary objects can also be safely rendered, but will be converted to a\n * string using the toString() method. We exclude them from this type to catch\n * potential mistakes.\n */\nexport type Child = Element | string | number | boolean | null | undefined;\n\n/**\n * An arbitrarily nested iterable of Child values.\n *\n * We use a recursive interface here rather than making the Children type\n * directly recursive because recursive type aliases were added in TypeScript\n * 3.7.\n *\n * You should avoid referencing this type directly, as it is mainly exported to\n * prevent TypeScript errors.\n */\nexport interface ChildIterable extends Iterable {}\n\n/**\n * Describes all valid values of an element tree, including arbitrarily nested\n * iterables of such values.\n */\nexport type Children = Child | ChildIterable;\n\n/**\n * Represents all functions which can be used as a component.\n *\n * @template [TProps=*] - The expected props for the component.\n */\nexport type Component = any> = (\n\tthis: Context,\n\tprops: TProps,\n\tctx: Context,\n) =>\n\t| Children\n\t| PromiseLike\n\t// The return type of iterators must include void because TypeScript will\n\t// infer generators which return implicitly as having a void return type.\n\t| Iterator\n\t| AsyncIterator;\n\ntype ChildrenIteratorResult = IteratorResult;\n\n/**\n * A type to keep track of keys. Any value can be a key, though null and\n * undefined are ignored.\n */\ntype Key = unknown;\n\nconst ElementSymbol = Symbol.for(\"crank.Element\");\n\n// To maximize compatibility between Crank versions, starting with 0.2.0, any\n// changes to the Element properties will be considered a breaking change.\nexport interface Element {\n\t/**\n\t * @internal\n\t * A unique symbol to identify elements as elements across versions and\n\t * realms, and to protect against basic injection attacks.\n\t * https://overreacted.io/why-do-react-elements-have-typeof-property/\n\t *\n\t * This property is defined on the element prototype rather than per\n\t * instance, because it is the same for every Element.\n\t */\n\t$$typeof: typeof ElementSymbol;\n\n\t/**\n\t * The tag of the element. Can be a string, symbol or function.\n\t */\n\ttag: TTag;\n\n\t/**\n\t * An object containing the \"properties\" of an element. These correspond to\n\t * the attribute syntax from JSX.\n\t */\n\tprops: TagProps;\n}\n\n/**\n * Elements are the basic building blocks of Crank applications. They are\n * JavaScript objects which are interpreted by special classes called renderers\n * to produce and manage stateful nodes.\n *\n * @template {Tag} [TTag=Tag] - The type of the tag of the element.\n *\n * @example\n * // specific element types\n * let div: Element<\"div\">;\n * let portal: Element;\n * let myEl: Element;\n *\n * // general element types\n * let host: Element;\n * let component: Element;\n *\n * Typically, you use a helper function like createElement to create elements\n * rather than instatiating this class directly.\n */\nexport class Element {\n\tconstructor(tag: TTag, props: TagProps) {\n\t\tthis.tag = tag;\n\t\tthis.props = props;\n\t}\n\n\tget key(): Key {\n\t\treturn this.props.key;\n\t}\n\n\tget ref(): unknown {\n\t\treturn this.props.ref;\n\t}\n\n\tget copy(): boolean {\n\t\treturn !!this.props.copy;\n\t}\n}\n\n// See Element interface\nElement.prototype.$$typeof = ElementSymbol;\n\nexport function isElement(value: any): value is Element {\n\treturn value != null && value.$$typeof === ElementSymbol;\n}\n\nconst DEPRECATED_PROP_PREFIXES = [\"crank-\", \"c-\", \"$\"];\n\nconst DEPRECATED_SPECIAL_PROP_BASES = [\"key\", \"ref\", \"static\"];\n\nconst SPECIAL_PROPS = new Set([\"children\", \"key\", \"ref\", \"copy\"]);\nfor (const propPrefix of DEPRECATED_PROP_PREFIXES) {\n\tfor (const propBase of DEPRECATED_SPECIAL_PROP_BASES) {\n\t\tSPECIAL_PROPS.add(propPrefix + propBase);\n\t}\n}\n\n/**\n * Creates an element with the specified tag, props and children.\n *\n * This function is usually used as a transpilation target for JSX transpilers,\n * but it can also be called directly. It additionally extracts special props so\n * they aren’t accessible to renderer methods or components, and assigns the\n * children prop according to any additional arguments passed to the function.\n */\nexport function createElement(\n\ttag: TTag,\n\tprops?: TagProps | null | undefined,\n\t...children: Array\n): Element {\n\tif (props == null) {\n\t\tprops = {} as TagProps;\n\t}\n\n\tfor (let i = 0; i < DEPRECATED_PROP_PREFIXES.length; i++) {\n\t\tconst propPrefix = DEPRECATED_PROP_PREFIXES[i];\n\t\tfor (let j = 0; j < DEPRECATED_SPECIAL_PROP_BASES.length; j++) {\n\t\t\tconst propBase = DEPRECATED_SPECIAL_PROP_BASES[j];\n\t\t\tconst deprecatedPropName = propPrefix + propBase;\n\t\t\tconst targetPropBase = propBase === \"static\" ? \"copy\" : propBase;\n\t\t\tif (deprecatedPropName in (props as TagProps)) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`The \\`${deprecatedPropName}\\` prop is deprecated. Use \\`${targetPropBase}\\` instead.`,\n\t\t\t\t);\n\t\t\t\t(props as TagProps)[targetPropBase] = (props as TagProps)[\n\t\t\t\t\tdeprecatedPropName\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (children.length > 1) {\n\t\t(props as TagProps).children = children;\n\t} else if (children.length === 1) {\n\t\t(props as TagProps).children = children[0];\n\t}\n\n\treturn new Element(tag, props as TagProps);\n}\n\n/** Clones a given element, shallowly copying the props object. */\nexport function cloneElement(\n\tel: Element,\n): Element {\n\tif (!isElement(el)) {\n\t\tthrow new TypeError(\"Cannot clone non-element\");\n\t}\n\n\treturn new Element(el.tag, {...el.props});\n}\n\n/*** ELEMENT UTILITIES ***/\n\n// WHAT ARE WE DOING TO THE CHILDREN???\n/**\n * All values in the element tree are narrowed from the union in Child to\n * NarrowedChild during rendering, to simplify element diffing.\n */\ntype NarrowedChild = Element | string | undefined;\n\nfunction narrow(value: Children): NarrowedChild {\n\tif (typeof value === \"boolean\" || value == null) {\n\t\treturn undefined;\n\t} else if (typeof value === \"string\" || isElement(value)) {\n\t\treturn value;\n\t} else if (typeof (value as any)[Symbol.iterator] === \"function\") {\n\t\treturn createElement(Fragment, null, value);\n\t}\n\n\treturn value.toString();\n}\n\n/**\n * A helper type which repesents all possible rendered values of an element.\n *\n * @template TNode - The node type for the element provided by the renderer.\n *\n * When asking the question, what is the \"value\" of a specific element, the\n * answer varies depending on the tag:\n *\n * For host elements, the value is the nodes created for the element, e.g. the\n * DOM node in the case of the DOMRenderer.\n *\n * For fragments, the value is the value of the\n *\n * For portals, the value is undefined, because a Portal element’s root and\n * children are opaque to its parent.\n *\n * For components, the value can be any of the above, because the value of a\n * component is determined by its immediate children.\n *\n * Rendered values can also be strings or arrays of nodes and strings, in the\n * case of component or fragment elements with strings or multiple children.\n *\n * All of these possible values are reflected in this utility type.\n */\nexport type ElementValue =\n\t| Array\n\t| TNode\n\t| string\n\t| undefined;\n\n/**\n * Takes an array of element values and normalizes the output as an array of\n * nodes and strings.\n *\n * @returns Normalized array of nodes and/or strings.\n *\n * Normalize will flatten only one level of nested arrays, because it is\n * designed to be called once at each level of the tree. It will also\n * concatenate adjacent strings and remove all undefined values.\n */\nfunction normalize(\n\tvalues: Array>,\n): Array {\n\tconst result: Array = [];\n\tlet buffer: string | undefined;\n\tfor (let i = 0; i < values.length; i++) {\n\t\tconst value = values[i];\n\t\tif (!value) {\n\t\t\t// pass\n\t\t} else if (typeof value === \"string\") {\n\t\t\tbuffer = (buffer || \"\") + value;\n\t\t} else if (!Array.isArray(value)) {\n\t\t\tif (buffer) {\n\t\t\t\tresult.push(buffer);\n\t\t\t\tbuffer = undefined;\n\t\t\t}\n\n\t\t\tresult.push(value);\n\t\t} else {\n\t\t\t// We could use recursion here but it’s just easier to do it inline.\n\t\t\tfor (let j = 0; j < value.length; j++) {\n\t\t\t\tconst value1 = value[j];\n\t\t\t\tif (!value1) {\n\t\t\t\t\t// pass\n\t\t\t\t} else if (typeof value1 === \"string\") {\n\t\t\t\t\tbuffer = (buffer || \"\") + value1;\n\t\t\t\t} else {\n\t\t\t\t\tif (buffer) {\n\t\t\t\t\t\tresult.push(buffer);\n\t\t\t\t\t\tbuffer = undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\tresult.push(value1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (buffer) {\n\t\tresult.push(buffer);\n\t}\n\n\treturn result;\n}\n\n/**\n * @internal\n * The internal nodes which are cached and diffed against new elements when\n * rendering element trees.\n */\nclass Retainer {\n\t/**\n\t * The element associated with this retainer.\n\t */\n\tdeclare el: Element;\n\t/**\n\t * The context associated with this element. Will only be defined for\n\t * component elements.\n\t */\n\tdeclare ctx: ContextImpl | undefined;\n\t/**\n\t * The retainer children of this element. Retainers form a tree which mirrors\n\t * elements. Can be a single child or undefined as a memory optimization.\n\t */\n\tdeclare children: Array> | RetainerChild;\n\t/**\n\t * The value associated with this element.\n\t */\n\tdeclare value: ElementValue;\n\t/**\n\t * The cached child values of this element. Only host and component elements\n\t * will use this property.\n\t */\n\tdeclare cachedChildValues: ElementValue;\n\t/**\n\t * The child which this retainer replaces. This property is used when an\n\t * async retainer tree replaces previously rendered elements, so that the\n\t * previously rendered elements can remain visible until the async tree\n\t * fulfills. Will be set to undefined once this subtree fully renders.\n\t */\n\tdeclare fallbackValue: RetainerChild;\n\n\tdeclare inflightValue: Promise> | undefined;\n\tdeclare onNextValues: Function | undefined;\n\tconstructor(el: Element) {\n\t\tthis.el = el;\n\t\tthis.ctx = undefined;\n\t\tthis.children = undefined;\n\t\tthis.value = undefined;\n\t\tthis.cachedChildValues = undefined;\n\t\tthis.fallbackValue = undefined;\n\t\tthis.inflightValue = undefined;\n\t\tthis.onNextValues = undefined;\n\t}\n}\n\n/**\n * The retainer equivalent of ElementValue\n */\ntype RetainerChild = Retainer | string | undefined;\n\n/**\n * Finds the value of the element according to its type.\n *\n * @returns The value of the element.\n */\nfunction getValue(ret: Retainer): ElementValue {\n\tif (typeof ret.fallbackValue !== \"undefined\") {\n\t\treturn typeof ret.fallbackValue === \"object\"\n\t\t\t? getValue(ret.fallbackValue)\n\t\t\t: ret.fallbackValue;\n\t} else if (ret.el.tag === Portal) {\n\t\treturn;\n\t} else if (typeof ret.el.tag !== \"function\" && ret.el.tag !== Fragment) {\n\t\treturn ret.value;\n\t}\n\n\treturn unwrap(getChildValues(ret));\n}\n\n/**\n * Walks an element’s children to find its child values.\n *\n * @returns A normalized array of nodes and strings.\n */\nfunction getChildValues(ret: Retainer): Array {\n\tif (ret.cachedChildValues) {\n\t\treturn wrap(ret.cachedChildValues);\n\t}\n\n\tconst values: Array> = [];\n\tconst children = wrap(ret.children);\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (child) {\n\t\t\tvalues.push(typeof child === \"string\" ? child : getValue(child));\n\t\t}\n\t}\n\n\tconst values1 = normalize(values);\n\tconst tag = ret.el.tag;\n\tif (typeof tag === \"function\" || (tag !== Fragment && tag !== Raw)) {\n\t\tret.cachedChildValues = unwrap(values1);\n\t}\n\treturn values1;\n}\n\nexport interface HydrationData {\n\tprops: Record;\n\tchildren: Array;\n}\n\n// TODO: Document the interface and methods\nexport interface RendererImpl<\n\tTNode,\n\tTScope,\n\tTRoot extends TNode = TNode,\n\tTResult = ElementValue,\n> {\n\tscope(\n\t\tscope: TScope | undefined,\n\t\ttag: TTag,\n\t\tprops: TagProps,\n\t): TScope | undefined;\n\n\tcreate(\n\t\ttag: TTag,\n\t\tprops: TagProps,\n\t\tscope: TScope | undefined,\n\t): TNode;\n\n\thydrate(\n\t\ttag: TTag,\n\t\tnode: TNode | TRoot,\n\t\tprops: TagProps,\n\t): HydrationData | undefined;\n\n\t/**\n\t * Called when an element’s rendered value is exposed via render, schedule,\n\t * refresh, refs, or generator yield expressions.\n\t *\n\t * @param value - The value of the element being read. Can be a node, a\n\t * string, undefined, or an array of nodes and strings, depending on the\n\t * element.\n\t *\n\t * @returns Varies according to the specific renderer subclass. By default,\n\t * it exposes the element’s value.\n\t *\n\t * This is useful for renderers which don’t want to expose their internal\n\t * nodes. For instance, the HTML renderer will convert all internal nodes to\n\t * strings.\n\t */\n\tread(value: ElementValue): TResult;\n\n\t/**\n\t * Called for each string in an element tree.\n\t *\n\t * @param text - The string child.\n\t * @param scope - The current scope.\n\t *\n\t * @returns A string to be passed to arrange.\n\t *\n\t * Rather than returning Text nodes as we would in the DOM case, for example,\n\t * we delay that step for Renderer.prototype.arrange. We do this so that\n\t * adjacent strings can be concatenated, and the actual element tree can be\n\t * rendered in normalized form.\n\t */\n\ttext(\n\t\ttext: string,\n\t\tscope: TScope | undefined,\n\t\thydration: HydrationData | undefined,\n\t): string;\n\n\t/**\n\t * Called for each Raw element whose value prop is a string.\n\t *\n\t * @param text - The string child.\n\t * @param scope - The current scope.\n\t *\n\t * @returns The parsed node or string.\n\t */\n\traw(\n\t\tvalue: string | TNode,\n\t\tscope: TScope | undefined,\n\t\thydration: HydrationData | undefined,\n\t): ElementValue;\n\n\tpatch(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tname: TName,\n\t\tvalue: unknown,\n\t\toldValue: unknown,\n\t\tscope: TScope,\n\t): unknown;\n\n\tarrange(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tprops: Record,\n\t\tchildren: Array,\n\t\toldProps: Record | undefined,\n\t\toldChildren: Array | undefined,\n\t): unknown;\n\n\tdispose(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tprops: Record,\n\t): unknown;\n\n\tflush(root: TRoot): unknown;\n}\n\nconst defaultRendererImpl: RendererImpl = {\n\tcreate() {\n\t\tthrow new Error(\"Not implemented\");\n\t},\n\thydrate() {\n\t\tthrow new Error(\"Not implemented\");\n\t},\n\tscope: IDENTITY,\n\tread: IDENTITY,\n\ttext: IDENTITY,\n\traw: IDENTITY,\n\tpatch: NOOP,\n\tarrange: NOOP,\n\tdispose: NOOP,\n\tflush: NOOP,\n};\n\nconst _RendererImpl = Symbol.for(\"crank.RendererImpl\");\n/**\n * An abstract class which is subclassed to render to different target\n * environments. Subclasses will typically call super() with a custom\n * RendererImpl. This class is responsible for kicking off the rendering\n * process and caching previous trees by root.\n *\n * @template TNode - The type of the node for a rendering environment.\n * @template TScope - Data which is passed down the tree.\n * @template TRoot - The type of the root for a rendering environment.\n * @template TResult - The type of exposed values.\n */\nexport class Renderer<\n\tTNode extends object = object,\n\tTScope = unknown,\n\tTRoot extends TNode = TNode,\n\tTResult = ElementValue,\n> {\n\t/**\n\t * @internal\n\t * A weakmap which stores element trees by root.\n\t */\n\tdeclare cache: WeakMap>;\n\n\tdeclare [_RendererImpl]: RendererImpl;\n\tconstructor(impl: Partial>) {\n\t\tthis.cache = new WeakMap();\n\t\tthis[_RendererImpl] = {\n\t\t\t...(defaultRendererImpl as RendererImpl),\n\t\t\t...impl,\n\t\t};\n\t}\n\n\t/**\n\t * Renders an element tree into a specific root.\n\t *\n\t * @param children - An element tree. You can render null with a previously\n\t * used root to delete the previously rendered element tree from the cache.\n\t * @param root - The node to be rendered into. The renderer will cache\n\t * element trees per root.\n\t * @param bridge - An optional context that will be the ancestor context of all\n\t * elements in the tree. Useful for connecting different renderers so that\n\t * events/provisions properly propagate. The context for a given root must be\n\t * the same or an error will be thrown.\n\t *\n\t * @returns The result of rendering the children, or a possible promise of\n\t * the result if the element tree renders asynchronously.\n\t */\n\trender(\n\t\tchildren: Children,\n\t\troot?: TRoot | undefined,\n\t\tbridge?: Context | undefined,\n\t): Promise | TResult {\n\t\tlet ret: Retainer | undefined;\n\t\tconst ctx = bridge && (bridge[_ContextImpl] as ContextImpl);\n\t\tif (typeof root === \"object\" && root !== null) {\n\t\t\tret = this.cache.get(root);\n\t\t}\n\n\t\tlet oldProps: Record | undefined;\n\t\tif (ret === undefined) {\n\t\t\tret = new Retainer(createElement(Portal, {children, root}));\n\t\t\tret.value = root;\n\t\t\tret.ctx = ctx;\n\t\t\tif (typeof root === \"object\" && root !== null && children != null) {\n\t\t\t\tthis.cache.set(root, ret);\n\t\t\t}\n\t\t} else if (ret.ctx !== ctx) {\n\t\t\tthrow new Error(\"Context mismatch\");\n\t\t} else {\n\t\t\toldProps = ret.el.props;\n\t\t\tret.el = createElement(Portal, {children, root});\n\t\t\tif (typeof root === \"object\" && root !== null && children == null) {\n\t\t\t\tthis.cache.delete(root);\n\t\t\t}\n\t\t}\n\n\t\tconst impl = this[_RendererImpl];\n\t\tconst childValues = diffChildren(\n\t\t\timpl,\n\t\t\troot,\n\t\t\tret,\n\t\t\tctx,\n\t\t\timpl.scope(undefined, Portal, ret.el.props),\n\t\t\tret,\n\t\t\tchildren,\n\t\t\tundefined, // hydration data\n\t\t);\n\n\t\t// We return the child values of the portal because portal elements\n\t\t// themselves have no readable value.\n\t\tif (isPromiseLike(childValues)) {\n\t\t\treturn childValues.then((childValues) =>\n\t\t\t\tcommitRootRender(impl, root, ctx, ret!, childValues, oldProps),\n\t\t\t);\n\t\t}\n\n\t\treturn commitRootRender(impl, root, ctx, ret, childValues, oldProps);\n\t}\n\n\thydrate(\n\t\tchildren: Children,\n\t\troot: TRoot,\n\t\tbridge?: Context | undefined,\n\t): Promise | TResult {\n\t\tconst impl = this[_RendererImpl];\n\t\tconst ctx = bridge && (bridge[_ContextImpl] as ContextImpl);\n\t\tlet ret: Retainer | undefined;\n\t\tret = this.cache.get(root);\n\t\tif (ret !== undefined) {\n\t\t\t// If there is a retainer for the root, hydration is not necessary.\n\t\t\treturn this.render(children, root, bridge);\n\t\t}\n\n\t\tlet oldProps: Record | undefined;\n\t\tret = new Retainer(createElement(Portal, {children, root}));\n\t\tret.value = root;\n\t\tif (typeof root === \"object\" && root !== null && children != null) {\n\t\t\tthis.cache.set(root, ret);\n\t\t}\n\n\t\tconst hydrationData = impl.hydrate(Portal, root, {});\n\t\tconst childValues = diffChildren(\n\t\t\timpl,\n\t\t\troot,\n\t\t\tret,\n\t\t\tctx,\n\t\t\timpl.scope(undefined, Portal, ret.el.props),\n\t\t\tret,\n\t\t\tchildren,\n\t\t\thydrationData,\n\t\t);\n\n\t\t// We return the child values of the portal because portal elements\n\t\t// themselves have no readable value.\n\t\tif (isPromiseLike(childValues)) {\n\t\t\treturn childValues.then((childValues) =>\n\t\t\t\tcommitRootRender(impl, root, ctx, ret!, childValues, oldProps),\n\t\t\t);\n\t\t}\n\n\t\treturn commitRootRender(impl, root, ctx, ret, childValues, oldProps);\n\t}\n}\n\n/*** PRIVATE RENDERER FUNCTIONS ***/\nfunction commitRootRender(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n\tchildValues: Array,\n\toldProps: Record | undefined,\n): TResult {\n\t// element is a host or portal element\n\tif (root != null) {\n\t\trenderer.arrange(\n\t\t\tPortal,\n\t\t\troot,\n\t\t\tret.el.props,\n\t\t\tchildValues,\n\t\t\toldProps,\n\t\t\twrap(ret.cachedChildValues),\n\t\t);\n\t\tflush(renderer, root);\n\t}\n\n\tret.cachedChildValues = unwrap(childValues);\n\tif (root == null) {\n\t\tunmount(renderer, ret, ctx, ret);\n\t}\n\n\treturn renderer.read(ret.cachedChildValues);\n}\n\nfunction diffChildren(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tparent: Retainer,\n\tchildren: Children,\n\thydrationData: HydrationData | undefined,\n): Promise> | Array {\n\tconst oldRetained = wrap(parent.children);\n\tconst newRetained: typeof oldRetained = [];\n\tconst newChildren = arrayify(children);\n\tconst values: Array> | ElementValue> = [];\n\tlet graveyard: Array> | undefined;\n\tlet childrenByKey: Map> | undefined;\n\tlet seenKeys: Set | undefined;\n\tlet isAsync = false;\n\t// When hydrating, sibling element trees must be rendered in order, because\n\t// we do not know how many DOM nodes an element will render.\n\tlet hydrationBlock: Promise | undefined;\n\tlet oi = 0;\n\tlet oldLength = oldRetained.length;\n\tfor (let ni = 0, newLength = newChildren.length; ni < newLength; ni++) {\n\t\t// length checks to prevent index out of bounds deoptimizations.\n\t\tlet ret = oi >= oldLength ? undefined : oldRetained[oi];\n\t\tlet child = narrow(newChildren[ni]);\n\t\t{\n\t\t\t// aligning new children with old retainers\n\t\t\tlet oldKey = typeof ret === \"object\" ? ret.el.key : undefined;\n\t\t\tlet newKey = typeof child === \"object\" ? child.key : undefined;\n\t\t\tif (newKey !== undefined && seenKeys && seenKeys.has(newKey)) {\n\t\t\t\tconsole.error(\"Duplicate key\", newKey);\n\t\t\t\tnewKey = undefined;\n\t\t\t}\n\n\t\t\tif (oldKey === newKey) {\n\t\t\t\tif (childrenByKey !== undefined && newKey !== undefined) {\n\t\t\t\t\tchildrenByKey.delete(newKey);\n\t\t\t\t}\n\n\t\t\t\toi++;\n\t\t\t} else {\n\t\t\t\tchildrenByKey = childrenByKey || createChildrenByKey(oldRetained, oi);\n\t\t\t\tif (newKey === undefined) {\n\t\t\t\t\twhile (ret !== undefined && oldKey !== undefined) {\n\t\t\t\t\t\toi++;\n\t\t\t\t\t\tret = oldRetained[oi];\n\t\t\t\t\t\toldKey = typeof ret === \"object\" ? ret.el.key : undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\toi++;\n\t\t\t\t} else {\n\t\t\t\t\tret = childrenByKey.get(newKey);\n\t\t\t\t\tif (ret !== undefined) {\n\t\t\t\t\t\tchildrenByKey.delete(newKey);\n\t\t\t\t\t}\n\n\t\t\t\t\t(seenKeys = seenKeys || new Set()).add(newKey);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Updating\n\t\tlet value: Promise> | ElementValue;\n\t\tif (typeof child === \"object\") {\n\t\t\tif (child.tag === Copy || (typeof ret === \"object\" && ret.el === child)) {\n\t\t\t\tvalue = getInflightValue(ret);\n\t\t\t} else {\n\t\t\t\tlet oldProps: Record | undefined;\n\t\t\t\tlet copy = false;\n\t\t\t\tif (typeof ret === \"object\" && ret.el.tag === child.tag) {\n\t\t\t\t\toldProps = ret.el.props;\n\t\t\t\t\tret.el = child;\n\t\t\t\t\tif (child.copy) {\n\t\t\t\t\t\tvalue = getInflightValue(ret);\n\t\t\t\t\t\tcopy = true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof ret === \"object\") {\n\t\t\t\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fallback = ret;\n\t\t\t\t\tret = new Retainer(child);\n\t\t\t\t\tret.fallbackValue = fallback;\n\t\t\t\t}\n\n\t\t\t\tif (copy) {\n\t\t\t\t\t// pass\n\t\t\t\t} else if (child.tag === Raw) {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateRaw(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateRaw(renderer, ret, scope, oldProps, hydrationData);\n\t\t\t\t} else if (child.tag === Fragment) {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateFragment(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateFragment(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t} else if (typeof child.tag === \"function\") {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateComponent(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateComponent(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateHost(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateHost(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tisAsync = true;\n\t\t\t\tif (hydrationData !== undefined) {\n\t\t\t\t\thydrationBlock = value;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// child is a string or undefined\n\t\t\tif (typeof ret === \"object\") {\n\t\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t\t}\n\n\t\t\tif (typeof child === \"string\") {\n\t\t\t\tvalue = ret = renderer.text(child, scope, hydrationData);\n\t\t\t} else {\n\t\t\t\tret = undefined;\n\t\t\t}\n\t\t}\n\n\t\tvalues[ni] = value;\n\t\tnewRetained[ni] = ret;\n\t}\n\n\t// cleanup remaining retainers\n\tfor (; oi < oldLength; oi++) {\n\t\tconst ret = oldRetained[oi];\n\t\tif (\n\t\t\ttypeof ret === \"object\" &&\n\t\t\t(typeof ret.el.key === \"undefined\" ||\n\t\t\t\t!seenKeys ||\n\t\t\t\t!seenKeys.has(ret.el.key))\n\t\t) {\n\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t}\n\t}\n\n\tif (childrenByKey !== undefined && childrenByKey.size > 0) {\n\t\t(graveyard = graveyard || []).push(...childrenByKey.values());\n\t}\n\n\tparent.children = unwrap(newRetained);\n\tif (isAsync) {\n\t\tlet childValues1 = Promise.all(values).finally(() => {\n\t\t\tif (graveyard) {\n\t\t\t\tfor (let i = 0; i < graveyard.length; i++) {\n\t\t\t\t\tunmount(renderer, host, ctx, graveyard[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tlet onChildValues!: Function;\n\t\tchildValues1 = Promise.race([\n\t\t\tchildValues1,\n\t\t\tnew Promise((resolve) => (onChildValues = resolve)),\n\t\t]);\n\n\t\tif (parent.onNextValues) {\n\t\t\tparent.onNextValues(childValues1);\n\t\t}\n\n\t\tparent.onNextValues = onChildValues;\n\t\treturn childValues1.then((childValues) => {\n\t\t\tparent.inflightValue = parent.fallbackValue = undefined;\n\t\t\treturn normalize(childValues);\n\t\t});\n\t} else {\n\t\tif (graveyard) {\n\t\t\tfor (let i = 0; i < graveyard.length; i++) {\n\t\t\t\tunmount(renderer, host, ctx, graveyard[i]);\n\t\t\t}\n\t\t}\n\n\t\tif (parent.onNextValues) {\n\t\t\tparent.onNextValues(values);\n\t\t\tparent.onNextValues = undefined;\n\t\t}\n\n\t\tparent.inflightValue = parent.fallbackValue = undefined;\n\t\t// We can assert there are no promises in the array because isAsync is false\n\t\treturn normalize(values as Array>);\n\t}\n}\n\nfunction createChildrenByKey(\n\tchildren: Array>,\n\toffset: number,\n): Map> {\n\tconst childrenByKey = new Map>();\n\tfor (let i = offset; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (typeof child === \"object\" && typeof child.el.key !== \"undefined\") {\n\t\t\tchildrenByKey.set(child.el.key, child);\n\t\t}\n\t}\n\n\treturn childrenByKey;\n}\n\nfunction getInflightValue(\n\tchild: RetainerChild,\n): Promise> | ElementValue {\n\tif (typeof child !== \"object\") {\n\t\treturn child;\n\t}\n\n\tconst ctx: ContextImpl | undefined =\n\t\ttypeof child.el.tag === \"function\" ? child.ctx : undefined;\n\tif (ctx && ctx.f & IsUpdating && ctx.inflightValue) {\n\t\treturn ctx.inflightValue;\n\t} else if (child.inflightValue) {\n\t\treturn child.inflightValue;\n\t}\n\n\treturn getValue(child);\n}\n\nfunction updateRaw(\n\trenderer: RendererImpl,\n\tret: Retainer,\n\tscope: TScope | undefined,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): ElementValue {\n\tconst props = ret.el.props;\n\tif (!oldProps || oldProps.value !== props.value) {\n\t\tret.value = renderer.raw(props.value as any, scope, hydrationData);\n\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\tret.el.ref(ret.value);\n\t\t}\n\t}\n\n\treturn ret.value;\n}\n\nfunction updateFragment(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tconst childValues = diffChildren(\n\t\trenderer,\n\t\troot,\n\t\thost,\n\t\tctx,\n\t\tscope,\n\t\tret,\n\t\tret.el.props.children as any,\n\t\thydrationData,\n\t);\n\n\tif (isPromiseLike(childValues)) {\n\t\tret.inflightValue = childValues.then((childValues) => unwrap(childValues));\n\t\treturn ret.inflightValue;\n\t}\n\n\treturn unwrap(childValues);\n}\n\nfunction updateHost(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tconst el = ret.el;\n\tconst tag = el.tag as string | symbol;\n\tlet hydrationValue: TNode | string | undefined;\n\tif (el.tag === Portal) {\n\t\troot = ret.value = el.props.root as any;\n\t} else {\n\t\tif (hydrationData !== undefined) {\n\t\t\tconst value = hydrationData.children.shift();\n\t\t\thydrationValue = value;\n\t\t}\n\t}\n\n\tscope = renderer.scope(scope, tag, el.props);\n\tlet childHydrationData: HydrationData | undefined;\n\tif (hydrationValue != null && typeof hydrationValue !== \"string\") {\n\t\tchildHydrationData = renderer.hydrate(tag, hydrationValue, el.props);\n\n\t\tif (childHydrationData === undefined) {\n\t\t\thydrationValue = undefined;\n\t\t}\n\t}\n\tconst childValues = diffChildren(\n\t\trenderer,\n\t\troot,\n\t\tret,\n\t\tctx,\n\t\tscope,\n\t\tret,\n\t\tret.el.props.children as any,\n\t\tchildHydrationData,\n\t);\n\n\tif (isPromiseLike(childValues)) {\n\t\tret.inflightValue = childValues.then((childValues) =>\n\t\t\tcommitHost(renderer, scope, ret, childValues, oldProps, hydrationValue),\n\t\t);\n\n\t\treturn ret.inflightValue;\n\t}\n\n\treturn commitHost(\n\t\trenderer,\n\t\tscope,\n\t\tret,\n\t\tchildValues,\n\t\toldProps,\n\t\thydrationValue,\n\t);\n}\n\nfunction commitHost(\n\trenderer: RendererImpl,\n\tscope: TScope,\n\tret: Retainer,\n\tchildValues: Array,\n\toldProps: Record | undefined,\n\thydrationValue: TNode | undefined,\n): ElementValue {\n\tconst tag = ret.el.tag as string | symbol;\n\tlet value = ret.value as TNode;\n\tif (hydrationValue != null) {\n\t\tvalue = ret.value = hydrationValue;\n\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\tret.el.ref(value);\n\t\t}\n\t}\n\n\tlet props = ret.el.props;\n\tlet copied: Set | undefined;\n\tif (tag !== Portal) {\n\t\tif (value == null) {\n\t\t\t// This assumes that renderer.create does not return nullish values.\n\t\t\tvalue = ret.value = renderer.create(tag, props, scope);\n\t\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\t\tret.el.ref(value);\n\t\t\t}\n\t\t}\n\n\t\tfor (const propName in {...oldProps, ...props}) {\n\t\t\tconst propValue = props[propName];\n\t\t\tif (propValue === Copy) {\n\t\t\t\t// TODO: The Copy tag doubles as a way to skip the patching of a prop.\n\t\t\t\t// Not sure about this feature. Should probably be removed.\n\t\t\t\t(copied = copied || new Set()).add(propName);\n\t\t\t} else if (!SPECIAL_PROPS.has(propName)) {\n\t\t\t\trenderer.patch(\n\t\t\t\t\ttag,\n\t\t\t\t\tvalue,\n\t\t\t\t\tpropName,\n\t\t\t\t\tpropValue,\n\t\t\t\t\toldProps && oldProps[propName],\n\t\t\t\t\tscope,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (copied) {\n\t\tprops = {...ret.el.props};\n\t\tfor (const name of copied) {\n\t\t\tprops[name] = oldProps && oldProps[name];\n\t\t}\n\n\t\tret.el = new Element(tag, props);\n\t}\n\n\trenderer.arrange(\n\t\ttag,\n\t\tvalue,\n\t\tprops,\n\t\tchildValues,\n\t\toldProps,\n\t\twrap(ret.cachedChildValues),\n\t);\n\tret.cachedChildValues = unwrap(childValues);\n\tif (tag === Portal) {\n\t\tflush(renderer, ret.value);\n\t\treturn;\n\t}\n\n\treturn value;\n}\n\nfunction flush(\n\trenderer: RendererImpl,\n\troot: TRoot,\n\tinitiator?: ContextImpl,\n) {\n\trenderer.flush(root);\n\tif (typeof root !== \"object\" || root === null) {\n\t\treturn;\n\t}\n\n\tconst flushMap = flushMaps.get(root as any);\n\tif (flushMap) {\n\t\tif (initiator) {\n\t\t\tconst flushMap1 = new Map>();\n\t\t\tfor (let [ctx, callbacks] of flushMap) {\n\t\t\t\tif (!ctxContains(initiator, ctx)) {\n\t\t\t\t\tflushMap.delete(ctx);\n\t\t\t\t\tflushMap1.set(ctx, callbacks);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (flushMap1.size) {\n\t\t\t\tflushMaps.set(root as any, flushMap1);\n\t\t\t} else {\n\t\t\t\tflushMaps.delete(root as any);\n\t\t\t}\n\t\t} else {\n\t\t\tflushMaps.delete(root as any);\n\t\t}\n\n\t\tfor (const [ctx, callbacks] of flushMap) {\n\t\t\tconst value = renderer.read(getValue(ctx.ret));\n\t\t\tfor (const callback of callbacks) {\n\t\t\t\tcallback(value);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction unmount(\n\trenderer: RendererImpl,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n): void {\n\tif (typeof ret.el.tag === \"function\") {\n\t\tctx = ret.ctx as ContextImpl;\n\t\tunmountComponent(ctx);\n\t} else if (ret.el.tag === Portal) {\n\t\thost = ret;\n\t\trenderer.arrange(\n\t\t\tPortal,\n\t\t\thost.value as TNode,\n\t\t\thost.el.props,\n\t\t\t[],\n\t\t\thost.el.props,\n\t\t\twrap(host.cachedChildValues),\n\t\t);\n\t\tflush(renderer, host.value);\n\t} else if (ret.el.tag !== Fragment) {\n\t\tif (isEventTarget(ret.value)) {\n\t\t\tconst records = getListenerRecords(ctx, host);\n\t\t\tfor (let i = 0; i < records.length; i++) {\n\t\t\t\tconst record = records[i];\n\t\t\t\tret.value.removeEventListener(\n\t\t\t\t\trecord.type,\n\t\t\t\t\trecord.callback,\n\t\t\t\t\trecord.options,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\trenderer.dispose(ret.el.tag, ret.value as TNode, ret.el.props);\n\t\thost = ret;\n\t}\n\n\tconst children = wrap(ret.children);\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (typeof child === \"object\") {\n\t\t\tunmount(renderer, host, ctx, child);\n\t\t}\n\t}\n}\n\n/*** CONTEXT FLAGS ***/\n/**\n * A flag which is true when the component is initialized or updated by an\n * ancestor component or the root render call.\n *\n * Used to determine things like whether the nearest host ancestor needs to be\n * rearranged.\n */\nconst IsUpdating = 1 << 0;\n\n/**\n * A flag which is true when the component is synchronously executing.\n *\n * Used to guard against components triggering stack overflow or generator error.\n */\nconst IsSyncExecuting = 1 << 1;\n\n/**\n * A flag which is true when the component is in a for...of loop.\n */\nconst IsInForOfLoop = 1 << 2;\n\n/**\n * A flag which is true when the component is in a for await...of loop.\n */\nconst IsInForAwaitOfLoop = 1 << 3;\n\n/**\n * A flag which is true when the component starts the render loop but has not\n * yielded yet.\n *\n * Used to make sure that components yield at least once per loop.\n */\nconst NeedsToYield = 1 << 4;\n\n/**\n * A flag used by async generator components in conjunction with the\n * onAvailable callback to mark whether new props can be pulled via the context\n * async iterator. See the Symbol.asyncIterator method and the\n * resumeCtxIterator function.\n */\nconst PropsAvailable = 1 << 5;\n\n/**\n * A flag which is set when a component errors.\n *\n * This is mainly used to prevent some false positives in \"component yields or\n * returns undefined\" warnings. The reason we’re using this versus IsUnmounted\n * is a very troubling test (cascades sync generator parent and sync generator\n * child) where synchronous code causes a stack overflow error in a\n * non-deterministic way. Deeply disturbing stuff.\n */\nconst IsErrored = 1 << 6;\n\n/**\n * A flag which is set when the component is unmounted. Unmounted components\n * are no longer in the element tree and cannot refresh or rerender.\n */\nconst IsUnmounted = 1 << 7;\n\n/**\n * A flag which indicates that the component is a sync generator component.\n */\nconst IsSyncGen = 1 << 8;\n\n/**\n * A flag which indicates that the component is an async generator component.\n */\nconst IsAsyncGen = 1 << 9;\n\n/**\n * A flag which is set while schedule callbacks are called.\n */\nconst IsScheduling = 1 << 10;\n\n/**\n * A flag which is set when a schedule callback calls refresh.\n */\nconst IsSchedulingRefresh = 1 << 11;\n\nexport interface Context extends Crank.Context {}\n\n/**\n * An interface which can be extended to provide strongly typed provisions.\n * See Context.prototype.consume and Context.prototype.provide.\n */\nexport interface ProvisionMap extends Crank.ProvisionMap {}\n\nconst provisionMaps = new WeakMap>();\n\nconst scheduleMap = new WeakMap>();\n\nconst cleanupMap = new WeakMap>();\n\n// keys are roots\nconst flushMaps = new WeakMap>>();\n\n/**\n * @internal\n * The internal class which holds context data.\n */\nclass ContextImpl<\n\tTNode = unknown,\n\tTScope = unknown,\n\tTRoot extends TNode = TNode,\n\tTResult = unknown,\n> {\n\t/** A bitmask. See CONTEXT FLAGS above. */\n\tdeclare f: number;\n\n\t/** The actual context associated with this impl. */\n\tdeclare owner: Context;\n\n\t/**\n\t * The renderer which created this context.\n\t */\n\tdeclare renderer: RendererImpl;\n\n\t/** The root node as set by the nearest ancestor portal. */\n\tdeclare root: TRoot | undefined;\n\n\t/**\n\t * The nearest ancestor host or portal retainer.\n\t *\n\t * When refresh is called, the host element will be arranged as the last step\n\t * of the commit, to make sure the parent’s children properly reflects the\n\t * components’s children.\n\t */\n\tdeclare host: Retainer;\n\n\t/** The parent context impl. */\n\tdeclare parent: ContextImpl | undefined;\n\n\t/** The value of the scope at the point of element’s creation. */\n\tdeclare scope: TScope | undefined;\n\n\t/** The internal node associated with this context. */\n\tdeclare ret: Retainer;\n\n\t/**\n\t * The iterator returned by the component function.\n\t *\n\t * Existence of this property implies that the component is a generator\n\t * component. It is deleted when a component is returned.\n\t */\n\tdeclare iterator:\n\t\t| Iterator\n\t\t| AsyncIterator\n\t\t| undefined;\n\n\t// A \"block\" is a promise which represents the duration during which new\n\t// updates are queued, whereas \"value\" is a promise which represents the\n\t// actual pending result of rendering.\n\tdeclare inflightBlock: Promise | undefined;\n\tdeclare inflightValue: Promise> | undefined;\n\tdeclare enqueuedBlock: Promise | undefined;\n\tdeclare enqueuedValue: Promise> | undefined;\n\n\t// The following callbacks are used to implement the async generator render\n\t// loop behavior.\n\tdeclare onProps: ((props: Record) => unknown) | undefined;\n\tdeclare onPropsRequested: Function | undefined;\n\tconstructor(\n\t\trenderer: RendererImpl,\n\t\troot: TRoot | undefined,\n\t\thost: Retainer,\n\t\tparent: ContextImpl | undefined,\n\t\tscope: TScope | undefined,\n\t\tret: Retainer,\n\t) {\n\t\tthis.f = 0;\n\t\tthis.owner = new Context(this);\n\t\tthis.renderer = renderer;\n\t\tthis.root = root;\n\t\tthis.host = host;\n\t\tthis.parent = parent;\n\t\tthis.scope = scope;\n\t\tthis.ret = ret;\n\n\t\tthis.iterator = undefined;\n\t\tthis.inflightBlock = undefined;\n\t\tthis.inflightValue = undefined;\n\t\tthis.enqueuedBlock = undefined;\n\t\tthis.enqueuedValue = undefined;\n\t\tthis.onProps = undefined;\n\t\tthis.onPropsRequested = undefined;\n\t}\n}\n\nconst _ContextImpl = Symbol.for(\"crank.ContextImpl\");\n\ntype ComponentProps = T extends () => any\n\t? {}\n\t: T extends (props: infer U) => any\n\t\t? U\n\t\t: T;\n/**\n * A class which is instantiated and passed to every component as its this\n * value. Contexts form a tree just like elements and all components in the\n * element tree are connected via contexts. Components can use this tree to\n * communicate data upwards via events and downwards via provisions.\n *\n * @template [T=*] - The expected shape of the props passed to the component,\n * or a component function. Used to strongly type the Context iterator methods.\n * @template [TResult=*] - The readable element value type. It is used in\n * places such as the return value of refresh and the argument passed to\n * schedule and cleanup callbacks.\n */\nexport class Context implements EventTarget {\n\t/**\n\t * @internal\n\t */\n\tdeclare [_ContextImpl]: ContextImpl;\n\n\t// TODO: If we could make the constructor function take a nicer value, it\n\t// would be useful for testing purposes.\n\tconstructor(impl: ContextImpl) {\n\t\tthis[_ContextImpl] = impl;\n\t}\n\n\t/**\n\t * The current props of the associated element.\n\t */\n\tget props(): ComponentProps {\n\t\treturn this[_ContextImpl].ret.el.props as ComponentProps;\n\t}\n\n\t/**\n\t * The current value of the associated element.\n\t *\n\t * @deprecated\n\t */\n\tget value(): TResult {\n\t\treturn this[_ContextImpl].renderer.read(getValue(this[_ContextImpl].ret));\n\t}\n\n\t*[Symbol.iterator](): Generator> {\n\t\tconst ctx = this[_ContextImpl];\n\t\ttry {\n\t\t\tctx.f |= IsInForOfLoop;\n\t\t\twhile (!(ctx.f & IsUnmounted)) {\n\t\t\t\tif (ctx.f & NeedsToYield) {\n\t\t\t\t\tthrow new Error(\"Context iterated twice without a yield\");\n\t\t\t\t} else {\n\t\t\t\t\tctx.f |= NeedsToYield;\n\t\t\t\t}\n\n\t\t\t\tyield ctx.ret.el.props as ComponentProps;\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsInForOfLoop;\n\t\t}\n\t}\n\n\tasync *[Symbol.asyncIterator](): AsyncGenerator> {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (ctx.f & IsSyncGen) {\n\t\t\tthrow new Error(\"Use for...of in sync generator components\");\n\t\t}\n\n\t\ttry {\n\t\t\tctx.f |= IsInForAwaitOfLoop;\n\t\t\twhile (!(ctx.f & IsUnmounted)) {\n\t\t\t\tif (ctx.f & NeedsToYield) {\n\t\t\t\t\tthrow new Error(\"Context iterated twice without a yield\");\n\t\t\t\t} else {\n\t\t\t\t\tctx.f |= NeedsToYield;\n\t\t\t\t}\n\n\t\t\t\tif (ctx.f & PropsAvailable) {\n\t\t\t\t\tctx.f &= ~PropsAvailable;\n\t\t\t\t\tyield ctx.ret.el.props as ComponentProps;\n\t\t\t\t} else {\n\t\t\t\t\tconst props = await new Promise((resolve) => (ctx.onProps = resolve));\n\t\t\t\t\tif (ctx.f & IsUnmounted) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tyield props as ComponentProps;\n\t\t\t\t}\n\n\t\t\t\tif (ctx.onPropsRequested) {\n\t\t\t\t\tctx.onPropsRequested();\n\t\t\t\t\tctx.onPropsRequested = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsInForAwaitOfLoop;\n\t\t\tif (ctx.onPropsRequested) {\n\t\t\t\tctx.onPropsRequested();\n\t\t\t\tctx.onPropsRequested = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Re-executes a component.\n\t *\n\t * @returns The rendered value of the component or a promise thereof if the\n\t * component or its children execute asynchronously.\n\t *\n\t * The refresh method works a little differently for async generator\n\t * components, in that it will resume the Context’s props async iterator\n\t * rather than resuming execution. This is because async generator components\n\t * are perpetually resumed independent of updates, and rely on the props\n\t * async iterator to suspend.\n\t */\n\trefresh(): Promise | TResult {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (ctx.f & IsUnmounted) {\n\t\t\tconsole.error(\"Component is unmounted\");\n\t\t\treturn ctx.renderer.read(undefined);\n\t\t} else if (ctx.f & IsSyncExecuting) {\n\t\t\tconsole.error(\"Component is already executing\");\n\t\t\treturn ctx.renderer.read(getValue(ctx.ret));\n\t\t}\n\n\t\tconst value = enqueueComponentRun(ctx);\n\t\tif (isPromiseLike(value)) {\n\t\t\treturn (value as Promise).then((value) => ctx.renderer.read(value));\n\t\t}\n\n\t\treturn ctx.renderer.read(value);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component commits. Will only\n\t * fire once per callback and update.\n\t */\n\tschedule(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet callbacks = scheduleMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tscheduleMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component’s children are\n\t * rendered into the root. Will only fire once per callback and render.\n\t */\n\tflush(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (typeof ctx.root !== \"object\" || ctx.root === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet flushMap = flushMaps.get(ctx.root);\n\t\tif (!flushMap) {\n\t\t\tflushMap = new Map>();\n\t\t\tflushMaps.set(ctx.root, flushMap);\n\t\t}\n\n\t\tlet callbacks = flushMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tflushMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component unmounts. Will only\n\t * fire once per callback.\n\t */\n\tcleanup(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\n\t\tif (ctx.f & IsUnmounted) {\n\t\t\tconst value = ctx.renderer.read(getValue(ctx.ret));\n\t\t\tcallback(value);\n\t\t\treturn;\n\t\t}\n\n\t\tlet callbacks = cleanupMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tcleanupMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\tconsume(key: TKey): ProvisionMap[TKey];\n\tconsume(key: unknown): any;\n\tconsume(key: unknown): any {\n\t\tfor (\n\t\t\tlet ctx = this[_ContextImpl].parent;\n\t\t\tctx !== undefined;\n\t\t\tctx = ctx.parent\n\t\t) {\n\t\t\tconst provisions = provisionMaps.get(ctx);\n\t\t\tif (provisions && provisions.has(key)) {\n\t\t\t\treturn provisions.get(key)!;\n\t\t\t}\n\t\t}\n\t}\n\n\tprovide(\n\t\tkey: TKey,\n\t\tvalue: ProvisionMap[TKey],\n\t): void;\n\tprovide(key: unknown, value: any): void;\n\tprovide(key: unknown, value: any): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet provisions = provisionMaps.get(ctx);\n\t\tif (!provisions) {\n\t\t\tprovisions = new Map();\n\t\t\tprovisionMaps.set(ctx, provisions);\n\t\t}\n\n\t\tprovisions.set(key, value);\n\t}\n\n\taddEventListener(\n\t\ttype: T,\n\t\tlistener: MappedEventListenerOrEventListenerObject | null,\n\t\toptions?: boolean | AddEventListenerOptions,\n\t): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet listeners: Array;\n\t\tif (!isListenerOrListenerObject(listener)) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tconst listeners1 = listenersMap.get(ctx);\n\t\t\tif (listeners1) {\n\t\t\t\tlisteners = listeners1;\n\t\t\t} else {\n\t\t\t\tlisteners = [];\n\t\t\t\tlistenersMap.set(ctx, listeners);\n\t\t\t}\n\t\t}\n\n\t\toptions = normalizeListenerOptions(options);\n\t\tlet callback: MappedEventListener;\n\t\tif (typeof listener === \"object\") {\n\t\t\tcallback = () => listener.handleEvent.apply(listener, arguments as any);\n\t\t} else {\n\t\t\tcallback = listener;\n\t\t}\n\n\t\tconst record: EventListenerRecord = {type, listener, callback, options};\n\t\tif (options.once) {\n\t\t\trecord.callback = function (this: any) {\n\t\t\t\tconst i = listeners.indexOf(record);\n\t\t\t\tif (i !== -1) {\n\t\t\t\t\tlisteners.splice(i, 1);\n\t\t\t\t}\n\n\t\t\t\treturn callback.apply(this, arguments as any);\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tlisteners.some(\n\t\t\t\t(record1) =>\n\t\t\t\t\trecord.type === record1.type &&\n\t\t\t\t\trecord.listener === record1.listener &&\n\t\t\t\t\t!record.options.capture === !record1.options.capture,\n\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tlisteners.push(record);\n\n\t\t// TODO: is it possible to separate out the EventTarget delegation logic\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tvalue.addEventListener(record.type, record.callback, record.options);\n\t\t\t}\n\t\t}\n\t}\n\n\tremoveEventListener(\n\t\ttype: T,\n\t\tlistener: MappedEventListenerOrEventListenerObject | null,\n\t\toptions?: EventListenerOptions | boolean,\n\t): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tconst listeners = listenersMap.get(ctx);\n\t\tif (listeners == null || !isListenerOrListenerObject(listener)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options1 = normalizeListenerOptions(options);\n\t\tconst i = listeners.findIndex(\n\t\t\t(record) =>\n\t\t\t\trecord.type === type &&\n\t\t\t\trecord.listener === listener &&\n\t\t\t\t!record.options.capture === !options1.capture,\n\t\t);\n\n\t\tif (i === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst record = listeners[i];\n\t\tlisteners.splice(i, 1);\n\n\t\t// TODO: is it possible to separate out the EventTarget delegation logic\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tvalue.removeEventListener(record.type, record.callback, record.options);\n\t\t\t}\n\t\t}\n\t}\n\n\tdispatchEvent(ev: Event): boolean {\n\t\tconst ctx = this[_ContextImpl];\n\t\tconst path: Array = [];\n\t\tfor (\n\t\t\tlet parent = ctx.parent;\n\t\t\tparent !== undefined;\n\t\t\tparent = parent.parent\n\t\t) {\n\t\t\tpath.push(parent);\n\t\t}\n\n\t\t// We patch the stopImmediatePropagation method because ev.cancelBubble\n\t\t// only informs us if stopPropagation was called and there are no\n\t\t// properties which inform us if stopImmediatePropagation was called.\n\t\tlet immediateCancelBubble = false;\n\t\tconst stopImmediatePropagation = ev.stopImmediatePropagation;\n\t\tsetEventProperty(ev, \"stopImmediatePropagation\", () => {\n\t\t\timmediateCancelBubble = true;\n\t\t\treturn stopImmediatePropagation.call(ev);\n\t\t});\n\t\tsetEventProperty(ev, \"target\", ctx.owner);\n\n\t\t// The only possible errors in this block are errors thrown by callbacks,\n\t\t// and dispatchEvent will only log these errors rather than throwing\n\t\t// them. Therefore, we place all code in a try block, log errors in the\n\t\t// catch block, and use an unsafe return statement in the finally block.\n\t\t//\n\t\t// Each early return within the try block returns true because while the\n\t\t// return value is overridden in the finally block, TypeScript\n\t\t// (justifiably) does not recognize the unsafe return statement.\n\t\ttry {\n\t\t\tsetEventProperty(ev, \"eventPhase\", CAPTURING_PHASE);\n\t\t\tfor (let i = path.length - 1; i >= 0; i--) {\n\t\t\t\tconst target = path[i];\n\t\t\t\tconst listeners = listenersMap.get(target);\n\t\t\t\tif (listeners) {\n\t\t\t\t\tsetEventProperty(ev, \"currentTarget\", target.owner);\n\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\tif (record.type === ev.type && record.options.capture) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\trecord.callback.call(target.owner, ev);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t{\n\t\t\t\tsetEventProperty(ev, \"eventPhase\", AT_TARGET);\n\t\t\t\tsetEventProperty(ev, \"currentTarget\", ctx.owner);\n\n\t\t\t\t// dispatchEvent calls the prop callback if it exists\n\t\t\t\tlet propCallback = ctx.ret.el.props[\"on\" + ev.type] as unknown;\n\t\t\t\tif (typeof propCallback === \"function\") {\n\t\t\t\t\tpropCallback(ev);\n\t\t\t\t\tif (immediateCancelBubble || ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Checks for camel-cased event props\n\t\t\t\t\tfor (const propName in ctx.ret.el.props) {\n\t\t\t\t\t\tif (propName.toLowerCase() === \"on\" + ev.type.toLowerCase()) {\n\t\t\t\t\t\t\tpropCallback = ctx.ret.el.props[propName] as unknown;\n\t\t\t\t\t\t\tif (typeof propCallback === \"function\") {\n\t\t\t\t\t\t\t\tpropCallback(ev);\n\t\t\t\t\t\t\t\tif (immediateCancelBubble || ev.cancelBubble) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst listeners = listenersMap.get(ctx);\n\t\t\t\tif (listeners) {\n\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\tif (record.type === ev.type) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\trecord.callback.call(ctx.owner, ev);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (ev.bubbles) {\n\t\t\t\tsetEventProperty(ev, \"eventPhase\", BUBBLING_PHASE);\n\t\t\t\tfor (let i = 0; i < path.length; i++) {\n\t\t\t\t\tconst target = path[i];\n\t\t\t\t\tconst listeners = listenersMap.get(target);\n\t\t\t\t\tif (listeners) {\n\t\t\t\t\t\tsetEventProperty(ev, \"currentTarget\", target.owner);\n\t\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\t\tif (record.type === ev.type && !record.options.capture) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\trecord.callback.call(target.owner, ev);\n\t\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tsetEventProperty(ev, \"eventPhase\", NONE);\n\t\t\tsetEventProperty(ev, \"currentTarget\", null);\n\t\t\t// eslint-disable-next-line no-unsafe-finally\n\t\t\treturn !ev.defaultPrevented;\n\t\t}\n\t}\n}\n\n/*** PRIVATE CONTEXT FUNCTIONS ***/\nfunction ctxContains(parent: ContextImpl, child: ContextImpl): boolean {\n\tfor (\n\t\tlet current: ContextImpl | undefined = child;\n\t\tcurrent !== undefined;\n\t\tcurrent = current.parent\n\t) {\n\t\tif (current === parent) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nfunction updateComponent(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tparent: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tlet ctx: ContextImpl;\n\tif (oldProps) {\n\t\tctx = ret.ctx as ContextImpl;\n\t\tif (ctx.f & IsSyncExecuting) {\n\t\t\tconsole.error(\"Component is already executing\");\n\t\t\treturn ret.cachedChildValues;\n\t\t}\n\t} else {\n\t\tctx = ret.ctx = new ContextImpl(renderer, root, host, parent, scope, ret);\n\t}\n\n\tctx.f |= IsUpdating;\n\treturn enqueueComponentRun(ctx, hydrationData);\n}\n\nfunction updateComponentChildren(\n\tctx: ContextImpl,\n\tchildren: Children,\n\thydrationData?: HydrationData | undefined,\n): Promise> | ElementValue {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t} else if (ctx.f & IsErrored) {\n\t\t// This branch is necessary for some race conditions where this function is\n\t\t// called after iterator.throw() in async generator components.\n\t\treturn;\n\t} else if (children === undefined) {\n\t\tconsole.error(\n\t\t\t\"A component has returned or yielded undefined. If this was intentional, return or yield null instead.\",\n\t\t);\n\t}\n\n\tlet childValues: Promise> | Array;\n\ttry {\n\t\t// TODO: WAT\n\t\t// We set the isExecuting flag in case a child component dispatches an event\n\t\t// which bubbles to this component and causes a synchronous refresh().\n\t\tctx.f |= IsSyncExecuting;\n\t\tchildValues = diffChildren(\n\t\t\tctx.renderer,\n\t\t\tctx.root,\n\t\t\tctx.host,\n\t\t\tctx,\n\t\t\tctx.scope,\n\t\t\tctx.ret,\n\t\t\tnarrow(children),\n\t\t\thydrationData,\n\t\t);\n\t} finally {\n\t\tctx.f &= ~IsSyncExecuting;\n\t}\n\n\tif (isPromiseLike(childValues)) {\n\t\tctx.ret.inflightValue = childValues.then((childValues) =>\n\t\t\tcommitComponent(ctx, childValues),\n\t\t);\n\n\t\treturn ctx.ret.inflightValue;\n\t}\n\n\treturn commitComponent(ctx, childValues);\n}\n\nfunction commitComponent(\n\tctx: ContextImpl,\n\tvalues: Array,\n): ElementValue {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t}\n\n\tconst listeners = listenersMap.get(ctx);\n\tif (listeners && listeners.length) {\n\t\tfor (let i = 0; i < values.length; i++) {\n\t\t\tconst value = values[i];\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tfor (let j = 0; j < listeners.length; j++) {\n\t\t\t\t\tconst record = listeners[j];\n\t\t\t\t\tvalue.addEventListener(record.type, record.callback, record.options);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst oldValues = wrap(ctx.ret.cachedChildValues);\n\tlet value = (ctx.ret.cachedChildValues = unwrap(values));\n\tif (ctx.f & IsScheduling) {\n\t\tctx.f |= IsSchedulingRefresh;\n\t} else if (!(ctx.f & IsUpdating)) {\n\t\t// If we’re not updating the component, which happens when components are\n\t\t// refreshed, or when async generator components iterate, we have to do a\n\t\t// little bit housekeeping when a component’s child values have changed.\n\t\tif (!arrayEqual(oldValues, values)) {\n\t\t\tconst records = getListenerRecords(ctx.parent, ctx.host);\n\t\t\tif (records.length) {\n\t\t\t\tfor (let i = 0; i < values.length; i++) {\n\t\t\t\t\tconst value = values[i];\n\t\t\t\t\tif (isEventTarget(value)) {\n\t\t\t\t\t\tfor (let j = 0; j < records.length; j++) {\n\t\t\t\t\t\t\tconst record = records[j];\n\t\t\t\t\t\t\tvalue.addEventListener(\n\t\t\t\t\t\t\t\trecord.type,\n\t\t\t\t\t\t\t\trecord.callback,\n\t\t\t\t\t\t\t\trecord.options,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// rearranging the nearest ancestor host element\n\t\t\tconst host = ctx.host;\n\t\t\tconst oldHostValues = wrap(host.cachedChildValues);\n\t\t\tinvalidate(ctx, host);\n\t\t\tconst hostValues = getChildValues(host);\n\t\t\tctx.renderer.arrange(\n\t\t\t\thost.el.tag as string | symbol,\n\t\t\t\thost.value as TNode,\n\t\t\t\thost.el.props,\n\t\t\t\thostValues,\n\t\t\t\t// props and oldProps are the same because the host isn’t updated.\n\t\t\t\thost.el.props,\n\t\t\t\toldHostValues,\n\t\t\t);\n\t\t}\n\n\t\tflush(ctx.renderer, ctx.root, ctx);\n\t}\n\n\tconst callbacks = scheduleMap.get(ctx);\n\tif (callbacks) {\n\t\tscheduleMap.delete(ctx);\n\t\tctx.f |= IsScheduling;\n\t\tconst value1 = ctx.renderer.read(value);\n\t\tfor (const callback of callbacks) {\n\t\t\tcallback(value1);\n\t\t}\n\n\t\tctx.f &= ~IsScheduling;\n\t\t// Handles an edge case where refresh() is called during a schedule().\n\t\tif (ctx.f & IsSchedulingRefresh) {\n\t\t\tctx.f &= ~IsSchedulingRefresh;\n\t\t\tvalue = getValue(ctx.ret);\n\t\t}\n\t}\n\n\tctx.f &= ~IsUpdating;\n\treturn value;\n}\n\nfunction invalidate(ctx: ContextImpl, host: Retainer): void {\n\tfor (\n\t\tlet parent = ctx.parent;\n\t\tparent !== undefined && parent.host === host;\n\t\tparent = parent.parent\n\t) {\n\t\tparent.ret.cachedChildValues = undefined;\n\t}\n\n\thost.cachedChildValues = undefined;\n}\n\nfunction arrayEqual(arr1: Array, arr2: Array): boolean {\n\tif (arr1.length !== arr2.length) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < arr1.length; i++) {\n\t\tconst value1 = arr1[i];\n\t\tconst value2 = arr2[i];\n\t\tif (value1 !== value2) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/** Enqueues and executes the component associated with the context. */\nfunction enqueueComponentRun(\n\tctx: ContextImpl,\n\thydrationData?: HydrationData | undefined,\n): Promise> | ElementValue {\n\tif (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) {\n\t\tif (hydrationData !== undefined) {\n\t\t\tthrow new Error(\"Hydration error\");\n\t\t}\n\n\t\t// This branch will run for non-initial renders of async generator\n\t\t// components when they are not in for...of loops. When in a for...of loop,\n\t\t// async generator components will behave normally.\n\t\t//\n\t\t// Async gen componennts can be in one of three states:\n\t\t//\n\t\t// 1. propsAvailable flag is true: \"available\"\n\t\t//\n\t\t// The component is suspended somewhere in the loop. When the component\n\t\t// reaches the bottom of the loop, it will run again with the next props.\n\t\t//\n\t\t// 2. onAvailable callback is defined: \"suspended\"\n\t\t//\n\t\t// The component has suspended at the bottom of the loop and is waiting\n\t\t// for new props.\n\t\t//\n\t\t// 3. neither 1 or 2: \"Running\"\n\t\t//\n\t\t// The component is suspended somewhere in the loop. When the component\n\t\t// reaches the bottom of the loop, it will suspend.\n\t\t//\n\t\t// Components will never be both available and suspended at\n\t\t// the same time.\n\t\t//\n\t\t// If the component is at the loop bottom, this means that the next value\n\t\t// produced by the component will have the most up to date props, so we can\n\t\t// simply return the current inflight value. Otherwise, we have to wait for\n\t\t// the bottom of the loop to be reached before returning the inflight\n\t\t// value.\n\t\tconst isAtLoopbottom = ctx.f & IsInForAwaitOfLoop && !ctx.onProps;\n\t\tresumePropsAsyncIterator(ctx);\n\t\tif (isAtLoopbottom) {\n\t\t\tif (ctx.inflightBlock == null) {\n\t\t\t\tctx.inflightBlock = new Promise(\n\t\t\t\t\t(resolve) => (ctx.onPropsRequested = resolve),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn ctx.inflightBlock.then(() => {\n\t\t\t\tctx.inflightBlock = undefined;\n\t\t\t\treturn ctx.inflightValue;\n\t\t\t});\n\t\t}\n\n\t\treturn ctx.inflightValue;\n\t} else if (!ctx.inflightBlock) {\n\t\ttry {\n\t\t\tconst [block, value] = runComponent(ctx, hydrationData);\n\t\t\tif (block) {\n\t\t\t\tctx.inflightBlock = block\n\t\t\t\t\t// TODO: there is some fuckery going on here related to async\n\t\t\t\t\t// generator components resuming when they’re meant to be returned.\n\t\t\t\t\t.then((v) => v)\n\t\t\t\t\t.finally(() => advanceComponent(ctx));\n\t\t\t\t// stepComponent will only return a block if the value is asynchronous\n\t\t\t\tctx.inflightValue = value as Promise>;\n\t\t\t}\n\n\t\t\treturn value;\n\t\t} catch (err) {\n\t\t\tif (!(ctx.f & IsUpdating)) {\n\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t}\n\n\t\t\tthrow err;\n\t\t}\n\t} else if (!ctx.enqueuedBlock) {\n\t\tif (hydrationData !== undefined) {\n\t\t\tthrow new Error(\"Hydration error\");\n\t\t}\n\t\t// We need to assign enqueuedBlock and enqueuedValue synchronously, hence\n\t\t// the Promise constructor call here.\n\t\tlet resolveEnqueuedBlock: Function;\n\t\tctx.enqueuedBlock = new Promise(\n\t\t\t(resolve) => (resolveEnqueuedBlock = resolve),\n\t\t);\n\n\t\tctx.enqueuedValue = ctx.inflightBlock.then(() => {\n\t\t\ttry {\n\t\t\t\tconst [block, value] = runComponent(ctx);\n\t\t\t\tif (block) {\n\t\t\t\t\tresolveEnqueuedBlock(block.finally(() => advanceComponent(ctx)));\n\t\t\t\t}\n\n\t\t\t\treturn value;\n\t\t\t} catch (err) {\n\t\t\t\tif (!(ctx.f & IsUpdating)) {\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t}\n\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t});\n\t}\n\n\treturn ctx.enqueuedValue;\n}\n\n/** Called when the inflight block promise settles. */\nfunction advanceComponent(ctx: ContextImpl): void {\n\tif (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) {\n\t\treturn;\n\t}\n\n\tctx.inflightBlock = ctx.enqueuedBlock;\n\tctx.inflightValue = ctx.enqueuedValue;\n\tctx.enqueuedBlock = undefined;\n\tctx.enqueuedValue = undefined;\n}\n\n/**\n * This function is responsible for executing the component and handling all\n * the different component types. We cannot identify whether a component is a\n * generator or async without calling it and inspecting the return value.\n *\n * @returns {[block, value]} A tuple where\n * block - A possible promise which represents the duration during which the\n * component is blocked from updating.\n * value - A possible promise resolving to the rendered value of children.\n *\n * Each component type will block according to the type of the component.\n * - Sync function components never block and will transparently pass updates\n * to children.\n * - Async function components and async generator components block while\n * executing itself, but will not block for async children.\n * - Sync generator components block while any children are executing, because\n * they are expected to only resume when they’ve actually rendered.\n */\nfunction runComponent(\n\tctx: ContextImpl,\n\thydrationData?: HydrationData | undefined,\n): [\n\tPromise | undefined,\n\tPromise> | ElementValue,\n] {\n\tconst ret = ctx.ret;\n\tconst initial = !ctx.iterator;\n\tif (initial) {\n\t\tresumePropsAsyncIterator(ctx);\n\t\tctx.f |= IsSyncExecuting;\n\t\tclearEventListeners(ctx);\n\t\tlet result: ReturnType;\n\t\ttry {\n\t\t\tresult = (ret.el.tag as Component).call(\n\t\t\t\tctx.owner,\n\t\t\t\tret.el.props,\n\t\t\t\tctx.owner,\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tctx.f |= IsErrored;\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\n\t\tif (isIteratorLike(result)) {\n\t\t\tctx.iterator = result;\n\t\t} else if (isPromiseLike(result)) {\n\t\t\t// async function component\n\t\t\tconst result1 =\n\t\t\t\tresult instanceof Promise ? result : Promise.resolve(result);\n\t\t\tconst value = result1.then(\n\t\t\t\t(result) =>\n\t\t\t\t\tupdateComponentChildren(ctx, result, hydrationData),\n\t\t\t\t(err) => {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t},\n\t\t\t);\n\t\t\treturn [result1.catch(NOOP), value];\n\t\t} else {\n\t\t\t// sync function component\n\t\t\treturn [\n\t\t\t\tundefined,\n\t\t\t\tupdateComponentChildren(ctx, result, hydrationData),\n\t\t\t];\n\t\t}\n\t} else if (hydrationData !== undefined) {\n\t\t// hydration data should only be passed on the initial render\n\t\tthrow new Error(\"Hydration error\");\n\t}\n\n\tlet iteration!: Promise | ChildrenIteratorResult;\n\tif (initial) {\n\t\ttry {\n\t\t\tctx.f |= IsSyncExecuting;\n\t\t\titeration = ctx.iterator!.next();\n\t\t} catch (err) {\n\t\t\tctx.f |= IsErrored;\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\n\t\tif (isPromiseLike(iteration)) {\n\t\t\tctx.f |= IsAsyncGen;\n\t\t} else {\n\t\t\tctx.f |= IsSyncGen;\n\t\t}\n\t}\n\n\tif (ctx.f & IsSyncGen) {\n\t\t// sync generator component\n\t\tif (!initial) {\n\t\t\ttry {\n\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\titeration = ctx.iterator!.next(ctx.renderer.read(getValue(ret)));\n\t\t\t} catch (err) {\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t}\n\t\t}\n\n\t\tif (isPromiseLike(iteration)) {\n\t\t\tthrow new Error(\"Mixed generator component\");\n\t\t}\n\n\t\tif (\n\t\t\tctx.f & IsInForOfLoop &&\n\t\t\t!(ctx.f & NeedsToYield) &&\n\t\t\t!(ctx.f & IsUnmounted)\n\t\t) {\n\t\t\tconsole.error(\"Component yielded more than once in for...of loop\");\n\t\t}\n\n\t\tctx.f &= ~NeedsToYield;\n\t\tif (iteration.done) {\n\t\t\tctx.f &= ~IsSyncGen;\n\t\t\tctx.iterator = undefined;\n\t\t}\n\n\t\tlet value: Promise> | ElementValue;\n\t\ttry {\n\t\t\tvalue = updateComponentChildren(\n\t\t\t\tctx,\n\t\t\t\t// Children can be void so we eliminate that here\n\t\t\t\titeration.value as Children,\n\t\t\t\thydrationData,\n\t\t\t);\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tvalue = value.catch((err) => handleChildError(ctx, err));\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tvalue = handleChildError(ctx, err);\n\t\t}\n\n\t\tconst block = isPromiseLike(value) ? value.catch(NOOP) : undefined;\n\t\treturn [block, value];\n\t} else {\n\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t// Async generator component using for...of loops behave similar to sync\n\t\t\t// generator components. This allows for easier refactoring of sync to\n\t\t\t// async generator components.\n\t\t\tif (!initial) {\n\t\t\t\ttry {\n\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\titeration = ctx.iterator!.next(ctx.renderer.read(getValue(ret)));\n\t\t\t\t} catch (err) {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t} finally {\n\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!isPromiseLike(iteration)) {\n\t\t\t\tthrow new Error(\"Mixed generator component\");\n\t\t\t}\n\n\t\t\tconst block = iteration.catch(NOOP);\n\t\t\tconst value = iteration.then(\n\t\t\t\t(iteration) => {\n\t\t\t\t\tlet value: Promise> | ElementValue;\n\t\t\t\t\tif (!(ctx.f & IsInForOfLoop)) {\n\t\t\t\t\t\trunAsyncGenComponent(\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\tPromise.resolve(iteration),\n\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!(ctx.f & NeedsToYield) && !(ctx.f & IsUnmounted)) {\n\t\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\t\t\"Component yielded more than once in for...of loop\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tctx.f &= ~NeedsToYield;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tvalue = updateComponentChildren(\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t// Children can be void so we eliminate that here\n\t\t\t\t\t\t\titeration.value as Children,\n\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (isPromiseLike(value)) {\n\t\t\t\t\t\t\tvalue = value.catch((err) => handleChildError(ctx, err));\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tvalue = handleChildError(ctx, err);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn value;\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn [block, value];\n\t\t} else {\n\t\t\trunAsyncGenComponent(\n\t\t\t\tctx,\n\t\t\t\titeration as Promise,\n\t\t\t\thydrationData,\n\t\t\t\tinitial,\n\t\t\t);\n\t\t\treturn [ctx.inflightBlock, ctx.inflightValue];\n\t\t}\n\t}\n}\n\nasync function runAsyncGenComponent(\n\tctx: ContextImpl,\n\titerationP: Promise,\n\thydrationData: HydrationData | undefined,\n\tinitial: boolean = false,\n): Promise {\n\tlet done = false;\n\ttry {\n\t\twhile (!done) {\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// inflightValue must be set synchronously.\n\t\t\tlet onValue!: Function;\n\t\t\tctx.inflightValue = new Promise((resolve) => (onValue = resolve));\n\t\t\tif (ctx.f & IsUpdating) {\n\t\t\t\t// We should not swallow unhandled promise rejections if the component is\n\t\t\t\t// updating independently.\n\t\t\t\t// TODO: Does this handle this.refresh() calls?\n\t\t\t\tctx.inflightValue.catch(NOOP);\n\t\t\t}\n\n\t\t\tlet iteration: ChildrenIteratorResult;\n\t\t\ttry {\n\t\t\t\titeration = await iterationP;\n\t\t\t} catch (err) {\n\t\t\t\tdone = true;\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tonValue(Promise.reject(err));\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (!(ctx.f & IsInForAwaitOfLoop)) {\n\t\t\t\tctx.f &= ~PropsAvailable;\n\t\t\t}\n\n\t\t\tdone = !!iteration.done;\n\t\t\tlet value: Promise> | ElementValue;\n\t\t\ttry {\n\t\t\t\tif (\n\t\t\t\t\t!(ctx.f & NeedsToYield) &&\n\t\t\t\t\tctx.f & PropsAvailable &&\n\t\t\t\t\tctx.f & IsInForAwaitOfLoop &&\n\t\t\t\t\t!initial &&\n\t\t\t\t\t!done\n\t\t\t\t) {\n\t\t\t\t\t// We skip stale iterations in for await...of loops.\n\t\t\t\t\tvalue = ctx.ret.inflightValue || getValue(ctx.ret);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = updateComponentChildren(\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\titeration.value!,\n\t\t\t\t\t\thydrationData,\n\t\t\t\t\t);\n\t\t\t\t\thydrationData = undefined;\n\t\t\t\t\tif (isPromiseLike(value)) {\n\t\t\t\t\t\tvalue = value.catch((err: any) => handleChildError(ctx, err));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tctx.f &= ~NeedsToYield;\n\t\t\t} catch (err) {\n\t\t\t\t// Do we need to catch potential errors here in the case of unhandled\n\t\t\t\t// promise rejections?\n\t\t\t\tvalue = handleChildError(ctx, err);\n\t\t\t} finally {\n\t\t\t\tonValue(value);\n\t\t\t}\n\n\t\t\tlet oldResult: Promise | TResult;\n\t\t\tif (ctx.ret.inflightValue) {\n\t\t\t\t// The value passed back into the generator as the argument to the next\n\t\t\t\t// method is a promise if an async generator component has async\n\t\t\t\t// children. Sync generator components only resume when their children\n\t\t\t\t// have fulfilled so the element’s inflight child values will never be\n\t\t\t\t// defined.\n\t\t\t\toldResult = ctx.ret.inflightValue.then((value) =>\n\t\t\t\t\tctx.renderer.read(value),\n\t\t\t\t);\n\n\t\t\t\toldResult.catch((err) => {\n\t\t\t\t\tif (ctx.f & IsUpdating) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\toldResult = ctx.renderer.read(getValue(ctx.ret));\n\t\t\t}\n\n\t\t\tif (ctx.f & IsUnmounted) {\n\t\t\t\tif (ctx.f & IsInForAwaitOfLoop) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\t\titerationP = ctx.iterator!.next(\n\t\t\t\t\t\t\toldResult,\n\t\t\t\t\t\t) as Promise;\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (!done && !(ctx.f & IsInForOfLoop)) {\n\t\t\t\ttry {\n\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\titerationP = ctx.iterator!.next(\n\t\t\t\t\t\toldResult,\n\t\t\t\t\t) as Promise;\n\t\t\t\t} finally {\n\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tinitial = false;\n\t\t}\n\t} finally {\n\t\tif (done) {\n\t\t\tctx.f &= ~IsAsyncGen;\n\t\t\tctx.iterator = undefined;\n\t\t}\n\t}\n}\n\n/**\n * Called to resume the props async iterator for async generator components.\n */\nfunction resumePropsAsyncIterator(ctx: ContextImpl): void {\n\tif (ctx.onProps) {\n\t\tctx.onProps(ctx.ret.el.props);\n\t\tctx.onProps = undefined;\n\t\tctx.f &= ~PropsAvailable;\n\t} else {\n\t\tctx.f |= PropsAvailable;\n\t}\n}\n\n// TODO: async unmounting\nfunction unmountComponent(ctx: ContextImpl): void {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t}\n\n\tclearEventListeners(ctx);\n\n\tconst callbacks = cleanupMap.get(ctx);\n\tif (callbacks) {\n\t\tcleanupMap.delete(ctx);\n\t\tconst value = ctx.renderer.read(getValue(ctx.ret));\n\t\tfor (const callback of callbacks) {\n\t\t\tcallback(value);\n\t\t}\n\t}\n\n\tctx.f |= IsUnmounted;\n\tif (ctx.iterator) {\n\t\tif (ctx.f & IsSyncGen) {\n\t\t\tlet value: unknown;\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tvalue = enqueueComponentRun(ctx);\n\t\t\t}\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tvalue.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t(err) => {\n\t\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t} else {\n\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (ctx.f & IsAsyncGen) {\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tconst value = enqueueComponentRun(ctx) as Promise;\n\t\t\t\tvalue.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t(err) => {\n\t\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// The logic for unmounting async generator components is in the\n\t\t\t\t// runAsyncGenComponent function.\n\t\t\t\tresumePropsAsyncIterator(ctx);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction returnComponent(ctx: ContextImpl): void {\n\tresumePropsAsyncIterator(ctx);\n\tif (ctx.iterator && typeof ctx.iterator!.return === \"function\") {\n\t\ttry {\n\t\t\tctx.f |= IsSyncExecuting;\n\t\t\tconst iteration = ctx.iterator!.return();\n\t\t\tif (isPromiseLike(iteration)) {\n\t\t\t\titeration.catch((err) => {\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t});\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\t}\n}\n\n/*** EVENT TARGET UTILITIES ***/\n// EVENT PHASE CONSTANTS\n// https://developer.mozilla.org/en-US/docs/Web/API/Event/eventPhase\nconst NONE = 0;\nconst CAPTURING_PHASE = 1;\nconst AT_TARGET = 2;\nconst BUBBLING_PHASE = 3;\n\nconst listenersMap = new WeakMap>();\n/**\n * A map of event type strings to Event subclasses. Can be extended via\n * TypeScript module augmentation to have strongly typed event listeners.\n */\nexport interface EventMap extends Crank.EventMap {\n\t[type: string]: Event;\n}\n\ntype MappedEventListener = (ev: EventMap[T]) => unknown;\n\ntype MappedEventListenerOrEventListenerObject =\n\t| MappedEventListener\n\t| {handleEvent: MappedEventListener};\n\nfunction isListenerOrListenerObject(\n\tvalue: unknown,\n): value is MappedEventListenerOrEventListenerObject {\n\treturn (\n\t\ttypeof value === \"function\" ||\n\t\t(value !== null &&\n\t\t\ttypeof value === \"object\" &&\n\t\t\ttypeof (value as any).handleEvent === \"function\")\n\t);\n}\n\ninterface EventListenerRecord {\n\ttype: string;\n\t// listener is the original value passed to addEventListener, callback is the\n\t// transformed function\n\tlistener: MappedEventListenerOrEventListenerObject;\n\tcallback: MappedEventListener;\n\toptions: AddEventListenerOptions;\n}\n\nfunction normalizeListenerOptions(\n\toptions: AddEventListenerOptions | boolean | null | undefined,\n): AddEventListenerOptions {\n\tif (typeof options === \"boolean\") {\n\t\treturn {capture: options};\n\t} else if (options == null) {\n\t\treturn {};\n\t}\n\n\treturn options;\n}\n\nfunction isEventTarget(value: any): value is EventTarget {\n\treturn (\n\t\tvalue != null &&\n\t\ttypeof value.addEventListener === \"function\" &&\n\t\ttypeof value.removeEventListener === \"function\" &&\n\t\ttypeof value.dispatchEvent === \"function\"\n\t);\n}\n\nfunction setEventProperty(\n\tev: Event,\n\tkey: T,\n\tvalue: Event[T],\n): void {\n\tObject.defineProperty(ev, key, {value, writable: false, configurable: true});\n}\n\n// TODO: Maybe we can pass in the current context directly, rather than\n// starting from the parent?\n/**\n * A function to reconstruct an array of every listener given a context and a\n * host element.\n *\n * This function exploits the fact that contexts retain their nearest ancestor\n * host element. We can determine all the contexts which are directly listening\n * to an element by traversing up the context tree and checking that the host\n * element passed in matches the parent context’s host element.\n */\nfunction getListenerRecords(\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n): Array {\n\tlet listeners: Array = [];\n\twhile (ctx !== undefined && ctx.host === ret) {\n\t\tconst listeners1 = listenersMap.get(ctx);\n\t\tif (listeners1) {\n\t\t\tlisteners = listeners.concat(listeners1);\n\t\t}\n\n\t\tctx = ctx.parent;\n\t}\n\n\treturn listeners;\n}\n\nfunction clearEventListeners(ctx: ContextImpl): void {\n\tconst listeners = listenersMap.get(ctx);\n\tif (listeners && listeners.length) {\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\tvalue.removeEventListener(\n\t\t\t\t\t\trecord.type,\n\t\t\t\t\t\trecord.callback,\n\t\t\t\t\t\trecord.options,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlisteners.length = 0;\n\t}\n}\n\n/*** ERROR HANDLING UTILITIES ***/\nfunction handleChildError(\n\tctx: ContextImpl,\n\terr: unknown,\n): Promise> | ElementValue {\n\tif (!ctx.iterator || typeof ctx.iterator.throw !== \"function\") {\n\t\tthrow err;\n\t}\n\n\tresumePropsAsyncIterator(ctx);\n\tlet iteration: ChildrenIteratorResult | Promise;\n\ttry {\n\t\tctx.f |= IsSyncExecuting;\n\t\titeration = ctx.iterator.throw(err);\n\t} catch (err) {\n\t\tctx.f |= IsErrored;\n\t\tthrow err;\n\t} finally {\n\t\tctx.f &= ~IsSyncExecuting;\n\t}\n\n\tif (isPromiseLike(iteration)) {\n\t\treturn iteration.then(\n\t\t\t(iteration) => {\n\t\t\t\tif (iteration.done) {\n\t\t\t\t\tctx.f &= ~IsAsyncGen;\n\t\t\t\t\tctx.iterator = undefined;\n\t\t\t\t}\n\n\t\t\t\treturn updateComponentChildren(ctx, iteration.value as Children);\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tthrow err;\n\t\t\t},\n\t\t);\n\t}\n\n\tif (iteration.done) {\n\t\tctx.f &= ~IsSyncGen;\n\t\tctx.f &= ~IsAsyncGen;\n\t\tctx.iterator = undefined;\n\t}\n\n\treturn updateComponentChildren(ctx, iteration.value as Children);\n}\n\nfunction propagateError(\n\tctx: ContextImpl,\n\terr: unknown,\n): Promise> | ElementValue {\n\tlet result: Promise> | ElementValue;\n\ttry {\n\t\tresult = handleChildError(ctx, err);\n\t} catch (err) {\n\t\tif (!ctx.parent) {\n\t\t\tthrow err;\n\t\t}\n\n\t\treturn propagateError(ctx.parent, err);\n\t}\n\n\tif (isPromiseLike(result)) {\n\t\treturn result.catch((err) => {\n\t\t\tif (!ctx.parent) {\n\t\t\t\tthrow err;\n\t\t\t}\n\n\t\t\treturn propagateError(ctx.parent, err);\n\t\t});\n\t}\n\n\treturn result;\n}\n\n// TODO: uncomment and use in the Element interface below\n// type CrankElement = Element;\ndeclare global {\n\tnamespace Crank {\n\t\texport interface EventMap {}\n\n\t\texport interface ProvisionMap {}\n\n\t\texport interface Context {}\n\t}\n\n\tnamespace JSX {\n\t\t// TODO: JSX Element type (the result of JSX expressions) don’t work\n\t\t// because TypeScript demands that all Components return JSX elements for\n\t\t// some reason.\n\t\t// interface Element extends CrankElement {}\n\n\t\texport interface IntrinsicElements {\n\t\t\t[tag: string]: any;\n\t\t}\n\n\t\texport interface IntrinsicAttributes {\n\t\t\tchildren?: unknown;\n\t\t\tkey?: unknown;\n\t\t\tref?: unknown;\n\t\t\t[\"static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-key\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-ref\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-key\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-ref\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$key?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$ref?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$static?: unknown;\n\t\t}\n\n\t\texport interface ElementChildrenAttribute {\n\t\t\tchildren: {};\n\t\t}\n\t}\n}\n\n// Some JSX transpilation tools expect these functions to be defined on the\n// default export. Prefer named exports when importing directly.\nexport default {createElement, Fragment};\n", "import {createElement} from \"./crank.js\";\nimport type {Element} from \"./crank.js\";\n\nconst cache = new Map();\nexport function jsx(\n\tspans: TemplateStringsArray,\n\t...expressions: Array\n): Element {\n\tconst key = JSON.stringify(spans.raw);\n\tlet parseResult = cache.get(key);\n\tif (parseResult == null) {\n\t\tparseResult = parse(spans.raw);\n\t\tcache.set(key, parseResult);\n\t}\n\n\tconst {element, targets} = parseResult;\n\tfor (let i = 0; i < expressions.length; i++) {\n\t\tconst exp = expressions[i];\n\t\tconst target = targets[i];\n\t\tif (target) {\n\t\t\tif (target.type === \"error\") {\n\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\ttarget.message.replace(\"${}\", formatTagForError(exp)),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\ttarget.value = exp;\n\t\t}\n\t}\n\n\treturn build(element);\n}\n\n// Type definitions for a bare-bones AST\ninterface ParseElement {\n\ttype: \"element\";\n\topen: ParseTag;\n\tclose: ParseTag | null;\n\t// ParseValue is used to represent spread props.\n\tprops: Array;\n\tchildren: Array;\n}\n\ninterface ParseValue {\n\ttype: \"value\";\n\tvalue: any;\n}\n\ninterface ParseTag {\n\ttype: \"tag\";\n\tslash: string;\n\tvalue: any;\n}\n\ninterface ParseProp {\n\ttype: \"prop\";\n\tname: string;\n\tvalue: ParseValue | ParsePropString;\n}\n\ninterface ParsePropString {\n\ttype: \"propString\";\n\tparts: Array;\n}\n\ninterface ParseError {\n\ttype: \"error\";\n\tmessage: string;\n\tvalue: any;\n}\n\n// The parse result includes an array of targets, references to objects in the\n// parse tree whose `value` property is overwritten with expressions when the\n// template function is called. By separating the logic of parsing static\n// template spans from the handling of dynamic expressions, we can cache parse\n// results for successive calls.\ntype ExpressionTarget = ParseValue | ParseTag | ParseProp | ParseError;\n\ninterface ParseResult {\n\telement: ParseElement;\n\ttargets: Array;\n}\n\n/**\n * Matches first significant character in children mode.\n *\n * Group 1: newline\n * Group 2: comment\n * Group 3: tag\n * Group 4: closing slash\n * Group 5: tag name\n *\n * The comment group must appear first because the tag group can potentially\n * match a comment, so that we can handle tag expressions where we’ve reached\n * the end of a span.\n */\nconst CHILDREN_RE =\n\t/((?:\\r|\\n|\\r\\n)\\s*)|(|$))|(<\\s*(\\/{0,2})\\s*([-_$\\w]*))/g;\n\n/**\n * Matches props after element tags.\n *\n * Group 1: tag end\n * Group 2: spread props\n * Group 3: prop name\n * Group 4: equals\n * Group 5: prop value string\n */\nconst PROPS_RE =\n\t/\\s*(?:(\\/?\\s*>)|(\\.\\.\\.\\s*)|(?:([-_$\\w]+)\\s*(=)?\\s*(?:(\"(\\\\\"|[\\S\\s])*?(?:\"|$)|'(?:\\\\'|[\\S\\s])*?(?:'|$)))?))/g;\n\nconst CLOSING_BRACKET_RE = />/g;\n\nconst CLOSING_SINGLE_QUOTE_RE = /[^\\\\]?'/g;\n\nconst CLOSING_DOUBLE_QUOTE_RE = /[^\\\\]?\"/g;\n\nconst CLOSING_COMMENT_RE = /-->/g;\n\nfunction parse(spans: ArrayLike): ParseResult {\n\tlet matcher = CHILDREN_RE;\n\tconst stack: Array = [];\n\tlet element: ParseElement = {\n\t\ttype: \"element\",\n\t\topen: {type: \"tag\", slash: \"\", value: \"\"},\n\t\tclose: null,\n\t\tprops: [],\n\t\tchildren: [],\n\t};\n\n\tconst targets: Array = [];\n\tlet lineStart = true;\n\tfor (let s = 0; s < spans.length; s++) {\n\t\tconst span = spans[s];\n\t\t// Whether or not an expression is upcoming. Used to provide better errors.\n\t\tconst expressing = s < spans.length - 1;\n\t\tlet expressionTarget: ExpressionTarget | null = null;\n\t\tfor (let i = 0, end = i; i < span.length; i = end) {\n\t\t\tmatcher.lastIndex = i;\n\t\t\tconst match = matcher.exec(span);\n\t\t\tend = match ? match.index + match[0].length : span.length;\n\t\t\tswitch (matcher) {\n\t\t\t\tcase CHILDREN_RE: {\n\t\t\t\t\tif (match) {\n\t\t\t\t\t\tconst [, newline, comment, tag, closingSlash, tagName] = match;\n\t\t\t\t\t\tif (i < match.index) {\n\t\t\t\t\t\t\tlet before = span.slice(i, match.index);\n\t\t\t\t\t\t\tif (lineStart) {\n\t\t\t\t\t\t\t\tbefore = before.replace(/^\\s*/, \"\");\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (newline) {\n\t\t\t\t\t\t\t\tif (span[Math.max(0, match.index - 1)] === \"\\\\\") {\n\t\t\t\t\t\t\t\t\t// We preserve whitespace before escaped newlines and have to\n\t\t\t\t\t\t\t\t\t// remove the backslash.\n\t\t\t\t\t\t\t\t\t// jsx` \\\n\t\t\t\t\t\t\t\t\t// `\n\t\t\t\t\t\t\t\t\tbefore = before.slice(0, -1);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tbefore = before.replace(/\\s*$/, \"\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (before) {\n\t\t\t\t\t\t\t\telement.children.push({type: \"value\", value: before});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlineStart = !!newline;\n\t\t\t\t\t\tif (comment) {\n\t\t\t\t\t\t\tif (end === span.length) {\n\t\t\t\t\t\t\t\t// Expression in a comment:\n\t\t\t\t\t\t\t\t// jsx``\n\t\t\t\t\t\t\t\tmatcher = CLOSING_COMMENT_RE;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (tag) {\n\t\t\t\t\t\t\tif (closingSlash) {\n\t\t\t\t\t\t\t\telement.close = {\n\t\t\t\t\t\t\t\t\ttype: \"tag\",\n\t\t\t\t\t\t\t\t\tslash: closingSlash,\n\t\t\t\t\t\t\t\t\tvalue: tagName,\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tif (!stack.length) {\n\t\t\t\t\t\t\t\t\tif (end !== span.length) {\n\t\t\t\t\t\t\t\t\t\tthrow new SyntaxError(`Unmatched closing tag \"${tagName}\"`);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// ERROR EXPRESSION\n\t\t\t\t\t\t\t\t\texpressionTarget = {\n\t\t\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\t\t\tmessage: \"Unmatched closing tag ${}\",\n\t\t\t\t\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (end === span.length) {\n\t\t\t\t\t\t\t\t\t\t// TAG EXPRESSION\n\t\t\t\t\t\t\t\t\t\texpressionTarget = element.close;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\telement = stack.pop()!;\n\t\t\t\t\t\t\t\t\tmatcher = CLOSING_BRACKET_RE;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tconst next: ParseElement = {\n\t\t\t\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\t\t\t\topen: {\n\t\t\t\t\t\t\t\t\t\ttype: \"tag\",\n\t\t\t\t\t\t\t\t\t\tslash: \"\",\n\t\t\t\t\t\t\t\t\t\tvalue: tagName,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tclose: null,\n\t\t\t\t\t\t\t\t\tprops: [],\n\t\t\t\t\t\t\t\t\tchildren: [],\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\telement.children.push(next);\n\t\t\t\t\t\t\t\tstack.push(element);\n\t\t\t\t\t\t\t\telement = next;\n\t\t\t\t\t\t\t\tmatcher = PROPS_RE;\n\t\t\t\t\t\t\t\tif (end === span.length) {\n\t\t\t\t\t\t\t\t\t// TAG EXPRESSION\n\t\t\t\t\t\t\t\t\texpressionTarget = element.open;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (i < span.length) {\n\t\t\t\t\t\t\tlet after = span.slice(i);\n\t\t\t\t\t\t\tif (!expressing) {\n\t\t\t\t\t\t\t\t// trim trailing whitespace\n\t\t\t\t\t\t\t\tafter = after.replace(/\\s*$/, \"\");\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (after) {\n\t\t\t\t\t\t\t\telement.children.push({type: \"value\", value: after});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase PROPS_RE: {\n\t\t\t\t\tif (match) {\n\t\t\t\t\t\tconst [, tagEnd, spread, name, equals, string] = match;\n\t\t\t\t\t\tif (i < match.index) {\n\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t`Unexpected text \\`${span.slice(i, match.index).trim()}\\``,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (tagEnd) {\n\t\t\t\t\t\t\tif (tagEnd[0] === \"/\") {\n\t\t\t\t\t\t\t\t// This is a self-closing element, so there will always be a\n\t\t\t\t\t\t\t\t// result on the stack.\n\t\t\t\t\t\t\t\telement = stack.pop()!;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tmatcher = CHILDREN_RE;\n\t\t\t\t\t\t} else if (spread) {\n\t\t\t\t\t\t\tconst value = {\n\t\t\t\t\t\t\t\ttype: \"value\" as const,\n\t\t\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\telement.props.push(value);\n\t\t\t\t\t\t\t// SPREAD PROP EXPRESSION\n\t\t\t\t\t\t\texpressionTarget = value;\n\t\t\t\t\t\t\tif (!(expressing && end === span.length)) {\n\t\t\t\t\t\t\t\tthrow new SyntaxError('Expression expected after \"...\"');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (name) {\n\t\t\t\t\t\t\tlet value: ParseValue | ParsePropString;\n\t\t\t\t\t\t\tif (string == null) {\n\t\t\t\t\t\t\t\tif (!equals) {\n\t\t\t\t\t\t\t\t\tvalue = {type: \"value\", value: true};\n\t\t\t\t\t\t\t\t} else if (end < span.length) {\n\t\t\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t\t\t`Unexpected text \\`${span.slice(end, end + 20)}\\``,\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tvalue = {type: \"value\" as const, value: null};\n\t\t\t\t\t\t\t\t\t// PROP EXPRESSION\n\t\t\t\t\t\t\t\t\texpressionTarget = value;\n\t\t\t\t\t\t\t\t\tif (!(expressing && end === span.length)) {\n\t\t\t\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t\t\t\t`Expression expected for prop \"${name}\"`,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tconst quote = string[0];\n\t\t\t\t\t\t\t\tvalue = {type: \"propString\", parts: []};\n\t\t\t\t\t\t\t\tvalue.parts.push(string);\n\t\t\t\t\t\t\t\tif (end === span.length) {\n\t\t\t\t\t\t\t\t\tmatcher =\n\t\t\t\t\t\t\t\t\t\tquote === \"'\"\n\t\t\t\t\t\t\t\t\t\t\t? CLOSING_SINGLE_QUOTE_RE\n\t\t\t\t\t\t\t\t\t\t\t: CLOSING_DOUBLE_QUOTE_RE;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst prop = {\n\t\t\t\t\t\t\t\ttype: \"prop\" as const,\n\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\telement.props.push(prop);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!expressing) {\n\t\t\t\t\t\t\tif (i === span.length) {\n\t\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t\t`Expected props but reached end of document`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t\t`Unexpected text \\`${span.slice(i, i + 20).trim()}\\``,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Unexpected expression errors are handled in the outer loop.\n\t\t\t\t\t\t//\n\t\t\t\t\t\t// This would most likely be the starting point for the logic of\n\t\t\t\t\t\t// prop name expressions.\n\t\t\t\t\t\t// jsx`

    `\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase CLOSING_BRACKET_RE: {\n\t\t\t\t\t// We’re in a closing tag and looking for the >.\n\t\t\t\t\tif (match) {\n\t\t\t\t\t\tif (i < match.index) {\n\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t`Unexpected text \\`${span.slice(i, match.index).trim()}\\``,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tmatcher = CHILDREN_RE;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!expressing) {\n\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t`Unexpected text \\`${span.slice(i, i + 20).trim()}\\``,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase CLOSING_SINGLE_QUOTE_RE:\n\t\t\t\tcase CLOSING_DOUBLE_QUOTE_RE: {\n\t\t\t\t\tconst string = span.slice(i, end);\n\t\t\t\t\tconst prop = element.props[element.props.length - 1] as ParseProp;\n\t\t\t\t\tconst propString = prop.value as ParsePropString;\n\t\t\t\t\tpropString.parts.push(string);\n\t\t\t\t\tif (match) {\n\t\t\t\t\t\tmatcher = PROPS_RE;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!expressing) {\n\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t`Missing \\`${\n\t\t\t\t\t\t\t\t\tmatcher === CLOSING_SINGLE_QUOTE_RE ? \"'\" : '\"'\n\t\t\t\t\t\t\t\t}\\``,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase CLOSING_COMMENT_RE: {\n\t\t\t\t\tif (match) {\n\t\t\t\t\t\tmatcher = CHILDREN_RE;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!expressing) {\n\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t\"Expected `-->` but reached end of template\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (expressing) {\n\t\t\tif (expressionTarget) {\n\t\t\t\ttargets.push(expressionTarget);\n\t\t\t\tif (expressionTarget.type === \"error\") {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tswitch (matcher) {\n\t\t\t\tcase CHILDREN_RE: {\n\t\t\t\t\tconst target = {type: \"value\" as const, value: null};\n\t\t\t\t\telement.children.push(target);\n\t\t\t\t\ttargets.push(target);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase CLOSING_SINGLE_QUOTE_RE:\n\t\t\t\tcase CLOSING_DOUBLE_QUOTE_RE: {\n\t\t\t\t\tconst prop = element.props[element.props.length - 1] as ParseProp;\n\t\t\t\t\tconst target = {type: \"value\" as const, value: null};\n\t\t\t\t\t(prop.value as ParsePropString).parts.push(target);\n\t\t\t\t\ttargets.push(target);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase CLOSING_COMMENT_RE:\n\t\t\t\t\ttargets.push(null);\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new SyntaxError(\"Unexpected expression\");\n\t\t\t}\n\t\t} else if (expressionTarget) {\n\t\t\tthrow new SyntaxError(\"Expression expected\");\n\t\t}\n\n\t\tlineStart = false;\n\t}\n\n\tif (stack.length) {\n\t\tconst ti = targets.indexOf(element.open);\n\t\tif (ti === -1) {\n\t\t\tthrow new SyntaxError(`Unmatched opening tag \"${element.open.value}\"`);\n\t\t}\n\n\t\ttargets[ti] = {\n\t\t\ttype: \"error\",\n\t\t\tmessage: \"Unmatched opening tag ${}\",\n\t\t\tvalue: null,\n\t\t};\n\t}\n\n\tif (element.children.length === 1 && element.children[0].type === \"element\") {\n\t\telement = element.children[0];\n\t}\n\n\treturn {element, targets};\n}\n\nfunction build(parsed: ParseElement): Element {\n\tif (\n\t\tparsed.close !== null &&\n\t\tparsed.close.slash !== \"//\" &&\n\t\tparsed.open.value !== parsed.close.value\n\t) {\n\t\tthrow new SyntaxError(\n\t\t\t`Unmatched closing tag ${formatTagForError(\n\t\t\t\tparsed.close.value,\n\t\t\t)}, expected ${formatTagForError(parsed.open.value)}`,\n\t\t);\n\t}\n\n\tconst children: Array = [];\n\tfor (let i = 0; i < parsed.children.length; i++) {\n\t\tconst child = parsed.children[i];\n\t\tchildren.push(child.type === \"element\" ? build(child) : child.value);\n\t}\n\n\tlet props = parsed.props.length ? ({} as Record) : null;\n\tfor (let i = 0; i < parsed.props.length; i++) {\n\t\tconst prop = parsed.props[i];\n\t\tif (prop.type === \"prop\") {\n\t\t\tlet value: any;\n\t\t\tif (prop.value.type === \"value\") {\n\t\t\t\tvalue = prop.value.value;\n\t\t\t} else {\n\t\t\t\tlet string = \"\";\n\t\t\t\tfor (let i = 0; i < prop.value.parts.length; i++) {\n\t\t\t\t\tconst part = prop.value.parts[i];\n\t\t\t\t\tif (typeof part === \"string\") {\n\t\t\t\t\t\tstring += part;\n\t\t\t\t\t} else if (typeof part.value !== \"boolean\" && part.value != null) {\n\t\t\t\t\t\tstring +=\n\t\t\t\t\t\t\ttypeof part.value === \"string\" ? part.value : String(part.value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvalue = string\n\t\t\t\t\t// remove quotes\n\t\t\t\t\t.slice(1, -1)\n\t\t\t\t\t// unescape things\n\t\t\t\t\t// adapted from https://stackoverflow.com/a/57330383/1825413\n\t\t\t\t\t.replace(\n\t\t\t\t\t\t/\\\\x[0-9a-f]{2}|\\\\u[0-9a-f]{4}|\\\\u\\{[0-9a-f]+\\}|\\\\./gi,\n\t\t\t\t\t\t(match) => {\n\t\t\t\t\t\t\tswitch (match[1]) {\n\t\t\t\t\t\t\t\tcase \"b\":\n\t\t\t\t\t\t\t\t\treturn \"\\b\";\n\t\t\t\t\t\t\t\tcase \"f\":\n\t\t\t\t\t\t\t\t\treturn \"\\f\";\n\t\t\t\t\t\t\t\tcase \"n\":\n\t\t\t\t\t\t\t\t\treturn \"\\n\";\n\t\t\t\t\t\t\t\tcase \"r\":\n\t\t\t\t\t\t\t\t\treturn \"\\r\";\n\t\t\t\t\t\t\t\tcase \"t\":\n\t\t\t\t\t\t\t\t\treturn \"\\t\";\n\t\t\t\t\t\t\t\tcase \"v\":\n\t\t\t\t\t\t\t\t\treturn \"\\v\";\n\t\t\t\t\t\t\t\tcase \"x\":\n\t\t\t\t\t\t\t\t\treturn String.fromCharCode(parseInt(match.slice(2), 16));\n\t\t\t\t\t\t\t\tcase \"u\":\n\t\t\t\t\t\t\t\t\tif (match[2] === \"{\") {\n\t\t\t\t\t\t\t\t\t\treturn String.fromCodePoint(\n\t\t\t\t\t\t\t\t\t\t\tparseInt(match.slice(3, -1), 16),\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturn String.fromCharCode(parseInt(match.slice(2), 16));\n\t\t\t\t\t\t\t\tcase \"0\":\n\t\t\t\t\t\t\t\t\treturn \"\\0\";\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn match.slice(1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t}\n\n\t\t\tprops![prop.name] = value;\n\t\t} else {\n\t\t\t// spread prop\n\t\t\tprops = {...props, ...(prop.value as any)};\n\t\t}\n\t}\n\n\treturn createElement(parsed.open.value, props, ...children);\n}\n\nfunction formatTagForError(tag: unknown): string {\n\treturn typeof tag === \"function\"\n\t\t? tag.name + \"()\"\n\t\t: typeof tag === \"string\"\n\t\t\t? `\"${tag}\"`\n\t\t\t: JSON.stringify(tag);\n}\n"], + "mappings": "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", + "names": ["e", "fill", "compare", "i", "byteLength", "equals", "i"] +} diff --git a/static/navbar-HS4GXO4K.js b/static/navbar-HS4GXO4K.js new file mode 100644 index 00000000..0bf73572 --- /dev/null +++ b/static/navbar-HS4GXO4K.js @@ -0,0 +1,5680 @@ +"use strict"; +(() => { + // node_modules/@esbuild-plugins/node-globals-polyfill/process.js + function defaultSetTimout() { + throw new Error("setTimeout has not been defined"); + } + function defaultClearTimeout() { + throw new Error("clearTimeout has not been defined"); + } + var cachedSetTimeout = defaultSetTimout; + var cachedClearTimeout = defaultClearTimeout; + if (typeof globalThis.setTimeout === "function") { + cachedSetTimeout = setTimeout; + } + if (typeof globalThis.clearTimeout === "function") { + cachedClearTimeout = clearTimeout; + } + function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + return setTimeout(fun, 0); + } + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + return cachedSetTimeout(fun, 0); + } catch (e) { + try { + return cachedSetTimeout.call(null, fun, 0); + } catch (e2) { + return cachedSetTimeout.call(this, fun, 0); + } + } + } + function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + return clearTimeout(marker); + } + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + return cachedClearTimeout(marker); + } catch (e) { + try { + return cachedClearTimeout.call(null, marker); + } catch (e2) { + return cachedClearTimeout.call(this, marker); + } + } + } + var queue = []; + var draining = false; + var currentQueue; + var queueIndex = -1; + function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } + } + function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + var len = queue.length; + while (len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); + } + function nextTick(fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } + } + function Item(fun, array) { + this.fun = fun; + this.array = array; + } + Item.prototype.run = function() { + this.fun.apply(null, this.array); + }; + var title = "browser"; + var platform = "browser"; + var browser = true; + var env = {}; + var argv = []; + var version = ""; + var versions = {}; + var release = {}; + var config = {}; + function noop() { + } + var on = noop; + var addListener = noop; + var once = noop; + var off = noop; + var removeListener = noop; + var removeAllListeners = noop; + var emit = noop; + function binding(name) { + throw new Error("process.binding is not supported"); + } + function cwd() { + return "/"; + } + function chdir(dir) { + throw new Error("process.chdir is not supported"); + } + function umask() { + return 0; + } + var performance = globalThis.performance || {}; + var performanceNow = performance.now || performance.mozNow || performance.msNow || performance.oNow || performance.webkitNow || function() { + return (/* @__PURE__ */ new Date()).getTime(); + }; + function hrtime(previousTimestamp) { + var clocktime = performanceNow.call(performance) * 1e-3; + var seconds = Math.floor(clocktime); + var nanoseconds = Math.floor(clocktime % 1 * 1e9); + if (previousTimestamp) { + seconds = seconds - previousTimestamp[0]; + nanoseconds = nanoseconds - previousTimestamp[1]; + if (nanoseconds < 0) { + seconds--; + nanoseconds += 1e9; + } + } + return [seconds, nanoseconds]; + } + var startTime = /* @__PURE__ */ new Date(); + function uptime() { + var currentTime = /* @__PURE__ */ new Date(); + var dif = currentTime - startTime; + return dif / 1e3; + } + var process = { + nextTick, + title, + browser, + env, + argv, + version, + versions, + on, + addListener, + once, + off, + removeListener, + removeAllListeners, + emit, + binding, + cwd, + chdir, + umask, + hrtime, + platform, + release, + config, + uptime + }; + var defines = {}; + Object.keys(defines).forEach((key) => { + const segs = key.split("."); + let target = process; + for (let i = 0; i < segs.length; i++) { + const seg = segs[i]; + if (i === segs.length - 1) { + target[seg] = defines[key]; + } else { + target = target[seg] || (target[seg] = {}); + } + } + }); + + // node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js + var lookup = []; + var revLookup = []; + var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array; + var inited = false; + function init() { + inited = true; + var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i]; + revLookup[code.charCodeAt(i)] = i; + } + revLookup["-".charCodeAt(0)] = 62; + revLookup["_".charCodeAt(0)] = 63; + } + function base64toByteArray(b64) { + if (!inited) { + init(); + } + var i, j, l, tmp, placeHolders, arr; + var len = b64.length; + if (len % 4 > 0) { + throw new Error("Invalid string. Length must be a multiple of 4"); + } + placeHolders = b64[len - 2] === "=" ? 2 : b64[len - 1] === "=" ? 1 : 0; + arr = new Arr(len * 3 / 4 - placeHolders); + l = placeHolders > 0 ? len - 4 : len; + var L = 0; + for (i = 0, j = 0; i < l; i += 4, j += 3) { + tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)]; + arr[L++] = tmp >> 16 & 255; + arr[L++] = tmp >> 8 & 255; + arr[L++] = tmp & 255; + } + if (placeHolders === 2) { + tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4; + arr[L++] = tmp & 255; + } else if (placeHolders === 1) { + tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2; + arr[L++] = tmp >> 8 & 255; + arr[L++] = tmp & 255; + } + return arr; + } + function tripletToBase64(num) { + return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63]; + } + function encodeChunk(uint8, start, end) { + var tmp; + var output = []; + for (var i = start; i < end; i += 3) { + tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2]; + output.push(tripletToBase64(tmp)); + } + return output.join(""); + } + function base64fromByteArray(uint8) { + if (!inited) { + init(); + } + var tmp; + var len = uint8.length; + var extraBytes = len % 3; + var output = ""; + var parts = []; + var maxChunkLength = 16383; + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push( + encodeChunk( + uint8, + i, + i + maxChunkLength > len2 ? len2 : i + maxChunkLength + ) + ); + } + if (extraBytes === 1) { + tmp = uint8[len - 1]; + output += lookup[tmp >> 2]; + output += lookup[tmp << 4 & 63]; + output += "=="; + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1]; + output += lookup[tmp >> 10]; + output += lookup[tmp >> 4 & 63]; + output += lookup[tmp << 2 & 63]; + output += "="; + } + parts.push(output); + return parts.join(""); + } + Buffer.TYPED_ARRAY_SUPPORT = globalThis.TYPED_ARRAY_SUPPORT !== void 0 ? globalThis.TYPED_ARRAY_SUPPORT : true; + function kMaxLength() { + return Buffer.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823; + } + function createBuffer(that, length2) { + if (kMaxLength() < length2) { + throw new RangeError("Invalid typed array length"); + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + that = new Uint8Array(length2); + that.__proto__ = Buffer.prototype; + } else { + if (that === null) { + that = new Buffer(length2); + } + that.length = length2; + } + return that; + } + function Buffer(arg, encodingOrOffset, length2) { + if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { + return new Buffer(arg, encodingOrOffset, length2); + } + if (typeof arg === "number") { + if (typeof encodingOrOffset === "string") { + throw new Error( + "If encoding is specified then the first argument must be a string" + ); + } + return allocUnsafe(this, arg); + } + return from(this, arg, encodingOrOffset, length2); + } + Buffer.poolSize = 8192; + Buffer._augment = function(arr) { + arr.__proto__ = Buffer.prototype; + return arr; + }; + function from(that, value, encodingOrOffset, length2) { + if (typeof value === "number") { + throw new TypeError('"value" argument must not be a number'); + } + if (typeof ArrayBuffer !== "undefined" && value instanceof ArrayBuffer) { + return fromArrayBuffer(that, value, encodingOrOffset, length2); + } + if (typeof value === "string") { + return fromString(that, value, encodingOrOffset); + } + return fromObject(that, value); + } + Buffer.from = function(value, encodingOrOffset, length2) { + return from(null, value, encodingOrOffset, length2); + }; + Buffer.kMaxLength = kMaxLength(); + if (Buffer.TYPED_ARRAY_SUPPORT) { + Buffer.prototype.__proto__ = Uint8Array.prototype; + Buffer.__proto__ = Uint8Array; + if (typeof Symbol !== "undefined" && Symbol.species && Buffer[Symbol.species] === Buffer) { + } + } + function assertSize(size) { + if (typeof size !== "number") { + throw new TypeError('"size" argument must be a number'); + } else if (size < 0) { + throw new RangeError('"size" argument must not be negative'); + } + } + function alloc(that, size, fill2, encoding) { + assertSize(size); + if (size <= 0) { + return createBuffer(that, size); + } + if (fill2 !== void 0) { + return typeof encoding === "string" ? createBuffer(that, size).fill(fill2, encoding) : createBuffer(that, size).fill(fill2); + } + return createBuffer(that, size); + } + Buffer.alloc = function(size, fill2, encoding) { + return alloc(null, size, fill2, encoding); + }; + function allocUnsafe(that, size) { + assertSize(size); + that = createBuffer(that, size < 0 ? 0 : checked(size) | 0); + if (!Buffer.TYPED_ARRAY_SUPPORT) { + for (var i = 0; i < size; ++i) { + that[i] = 0; + } + } + return that; + } + Buffer.allocUnsafe = function(size) { + return allocUnsafe(null, size); + }; + Buffer.allocUnsafeSlow = function(size) { + return allocUnsafe(null, size); + }; + function fromString(that, string, encoding) { + if (typeof encoding !== "string" || encoding === "") { + encoding = "utf8"; + } + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding'); + } + var length2 = byteLength(string, encoding) | 0; + that = createBuffer(that, length2); + var actual = that.write(string, encoding); + if (actual !== length2) { + that = that.slice(0, actual); + } + return that; + } + function fromArrayLike(that, array) { + var length2 = array.length < 0 ? 0 : checked(array.length) | 0; + that = createBuffer(that, length2); + for (var i = 0; i < length2; i += 1) { + that[i] = array[i] & 255; + } + return that; + } + function fromArrayBuffer(that, array, byteOffset, length2) { + array.byteLength; + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError("'offset' is out of bounds"); + } + if (array.byteLength < byteOffset + (length2 || 0)) { + throw new RangeError("'length' is out of bounds"); + } + if (byteOffset === void 0 && length2 === void 0) { + array = new Uint8Array(array); + } else if (length2 === void 0) { + array = new Uint8Array(array, byteOffset); + } else { + array = new Uint8Array(array, byteOffset, length2); + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + that = array; + that.__proto__ = Buffer.prototype; + } else { + that = fromArrayLike(that, array); + } + return that; + } + function fromObject(that, obj) { + if (internalIsBuffer(obj)) { + var len = checked(obj.length) | 0; + that = createBuffer(that, len); + if (that.length === 0) { + return that; + } + obj.copy(that, 0, 0, len); + return that; + } + if (obj) { + if (typeof ArrayBuffer !== "undefined" && obj.buffer instanceof ArrayBuffer || "length" in obj) { + if (typeof obj.length !== "number" || isnan(obj.length)) { + return createBuffer(that, 0); + } + return fromArrayLike(that, obj); + } + if (obj.type === "Buffer" && Array.isArray(obj.data)) { + return fromArrayLike(that, obj.data); + } + } + throw new TypeError( + "First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object." + ); + } + function checked(length2) { + if (length2 >= kMaxLength()) { + throw new RangeError( + "Attempt to allocate Buffer larger than maximum size: 0x" + kMaxLength().toString(16) + " bytes" + ); + } + return length2 | 0; + } + Buffer.isBuffer = isBuffer; + function internalIsBuffer(b) { + return !!(b != null && b._isBuffer); + } + Buffer.compare = function compare(a, b) { + if (!internalIsBuffer(a) || !internalIsBuffer(b)) { + throw new TypeError("Arguments must be Buffers"); + } + if (a === b) + return 0; + var x = a.length; + var y = b.length; + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i]; + y = b[i]; + break; + } + } + if (x < y) + return -1; + if (y < x) + return 1; + return 0; + }; + Buffer.isEncoding = function isEncoding(encoding) { + switch (String(encoding).toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "latin1": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return true; + default: + return false; + } + }; + Buffer.concat = function concat(list, length2) { + if (!Array.isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + if (list.length === 0) { + return Buffer.alloc(0); + } + var i; + if (length2 === void 0) { + length2 = 0; + for (i = 0; i < list.length; ++i) { + length2 += list[i].length; + } + } + var buffer = Buffer.allocUnsafe(length2); + var pos = 0; + for (i = 0; i < list.length; ++i) { + var buf = list[i]; + if (!internalIsBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + buf.copy(buffer, pos); + pos += buf.length; + } + return buffer; + }; + function byteLength(string, encoding) { + if (internalIsBuffer(string)) { + return string.length; + } + if (typeof ArrayBuffer !== "undefined" && typeof ArrayBuffer.isView === "function" && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { + return string.byteLength; + } + if (typeof string !== "string") { + string = "" + string; + } + var len = string.length; + if (len === 0) + return 0; + var loweredCase = false; + for (; ; ) { + switch (encoding) { + case "ascii": + case "latin1": + case "binary": + return len; + case "utf8": + case "utf-8": + case void 0: + return utf8ToBytes(string).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return len * 2; + case "hex": + return len >>> 1; + case "base64": + return base64ToBytes(string).length; + default: + if (loweredCase) + return utf8ToBytes(string).length; + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } + } + Buffer.byteLength = byteLength; + function slowToString(encoding, start, end) { + var loweredCase = false; + if (start === void 0 || start < 0) { + start = 0; + } + if (start > this.length) { + return ""; + } + if (end === void 0 || end > this.length) { + end = this.length; + } + if (end <= 0) { + return ""; + } + end >>>= 0; + start >>>= 0; + if (end <= start) { + return ""; + } + if (!encoding) + encoding = "utf8"; + while (true) { + switch (encoding) { + case "hex": + return hexSlice(this, start, end); + case "utf8": + case "utf-8": + return utf8Slice(this, start, end); + case "ascii": + return asciiSlice(this, start, end); + case "latin1": + case "binary": + return latin1Slice(this, start, end); + case "base64": + return base64Slice(this, start, end); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return utf16leSlice(this, start, end); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = (encoding + "").toLowerCase(); + loweredCase = true; + } + } + } + Buffer.prototype._isBuffer = true; + function swap(b, n, m) { + var i = b[n]; + b[n] = b[m]; + b[m] = i; + } + Buffer.prototype.swap16 = function swap16() { + var len = this.length; + if (len % 2 !== 0) { + throw new RangeError("Buffer size must be a multiple of 16-bits"); + } + for (var i = 0; i < len; i += 2) { + swap(this, i, i + 1); + } + return this; + }; + Buffer.prototype.swap32 = function swap32() { + var len = this.length; + if (len % 4 !== 0) { + throw new RangeError("Buffer size must be a multiple of 32-bits"); + } + for (var i = 0; i < len; i += 4) { + swap(this, i, i + 3); + swap(this, i + 1, i + 2); + } + return this; + }; + Buffer.prototype.swap64 = function swap64() { + var len = this.length; + if (len % 8 !== 0) { + throw new RangeError("Buffer size must be a multiple of 64-bits"); + } + for (var i = 0; i < len; i += 8) { + swap(this, i, i + 7); + swap(this, i + 1, i + 6); + swap(this, i + 2, i + 5); + swap(this, i + 3, i + 4); + } + return this; + }; + Buffer.prototype.toString = function toString() { + var length2 = this.length | 0; + if (length2 === 0) + return ""; + if (arguments.length === 0) + return utf8Slice(this, 0, length2); + return slowToString.apply(this, arguments); + }; + Buffer.prototype.equals = function equals(b) { + if (!internalIsBuffer(b)) + throw new TypeError("Argument must be a Buffer"); + if (this === b) + return true; + return Buffer.compare(this, b) === 0; + }; + Buffer.prototype.compare = function compare2(target, start, end, thisStart, thisEnd) { + if (!internalIsBuffer(target)) { + throw new TypeError("Argument must be a Buffer"); + } + if (start === void 0) { + start = 0; + } + if (end === void 0) { + end = target ? target.length : 0; + } + if (thisStart === void 0) { + thisStart = 0; + } + if (thisEnd === void 0) { + thisEnd = this.length; + } + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError("out of range index"); + } + if (thisStart >= thisEnd && start >= end) { + return 0; + } + if (thisStart >= thisEnd) { + return -1; + } + if (start >= end) { + return 1; + } + start >>>= 0; + end >>>= 0; + thisStart >>>= 0; + thisEnd >>>= 0; + if (this === target) + return 0; + var x = thisEnd - thisStart; + var y = end - start; + var len = Math.min(x, y); + var thisCopy = this.slice(thisStart, thisEnd); + var targetCopy = target.slice(start, end); + for (var i = 0; i < len; ++i) { + if (thisCopy[i] !== targetCopy[i]) { + x = thisCopy[i]; + y = targetCopy[i]; + break; + } + } + if (x < y) + return -1; + if (y < x) + return 1; + return 0; + }; + function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { + if (buffer.length === 0) + return -1; + if (typeof byteOffset === "string") { + encoding = byteOffset; + byteOffset = 0; + } else if (byteOffset > 2147483647) { + byteOffset = 2147483647; + } else if (byteOffset < -2147483648) { + byteOffset = -2147483648; + } + byteOffset = +byteOffset; + if (isNaN(byteOffset)) { + byteOffset = dir ? 0 : buffer.length - 1; + } + if (byteOffset < 0) + byteOffset = buffer.length + byteOffset; + if (byteOffset >= buffer.length) { + if (dir) + return -1; + else + byteOffset = buffer.length - 1; + } else if (byteOffset < 0) { + if (dir) + byteOffset = 0; + else + return -1; + } + if (typeof val === "string") { + val = Buffer.from(val, encoding); + } + if (internalIsBuffer(val)) { + if (val.length === 0) { + return -1; + } + return arrayIndexOf(buffer, val, byteOffset, encoding, dir); + } else if (typeof val === "number") { + val = val & 255; + if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === "function") { + if (dir) { + return Uint8Array.prototype.indexOf.call( + buffer, + val, + byteOffset + ); + } else { + return Uint8Array.prototype.lastIndexOf.call( + buffer, + val, + byteOffset + ); + } + } + return arrayIndexOf(buffer, [val], byteOffset, encoding, dir); + } + throw new TypeError("val must be string, number or Buffer"); + } + function arrayIndexOf(arr, val, byteOffset, encoding, dir) { + var indexSize = 1; + var arrLength = arr.length; + var valLength = val.length; + if (encoding !== void 0) { + encoding = String(encoding).toLowerCase(); + if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") { + if (arr.length < 2 || val.length < 2) { + return -1; + } + indexSize = 2; + arrLength /= 2; + valLength /= 2; + byteOffset /= 2; + } + } + function read(buf, i2) { + if (indexSize === 1) { + return buf[i2]; + } else { + return buf.readUInt16BE(i2 * indexSize); + } + } + var i; + if (dir) { + var foundIndex = -1; + for (i = byteOffset; i < arrLength; i++) { + if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { + if (foundIndex === -1) + foundIndex = i; + if (i - foundIndex + 1 === valLength) + return foundIndex * indexSize; + } else { + if (foundIndex !== -1) + i -= i - foundIndex; + foundIndex = -1; + } + } + } else { + if (byteOffset + valLength > arrLength) + byteOffset = arrLength - valLength; + for (i = byteOffset; i >= 0; i--) { + var found = true; + for (var j = 0; j < valLength; j++) { + if (read(arr, i + j) !== read(val, j)) { + found = false; + break; + } + } + if (found) + return i; + } + } + return -1; + } + Buffer.prototype.includes = function includes(val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1; + }; + Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true); + }; + Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false); + }; + function hexWrite(buf, string, offset, length2) { + offset = Number(offset) || 0; + var remaining = buf.length - offset; + if (!length2) { + length2 = remaining; + } else { + length2 = Number(length2); + if (length2 > remaining) { + length2 = remaining; + } + } + var strLen = string.length; + if (strLen % 2 !== 0) + throw new TypeError("Invalid hex string"); + if (length2 > strLen / 2) { + length2 = strLen / 2; + } + for (var i = 0; i < length2; ++i) { + var parsed = parseInt(string.substr(i * 2, 2), 16); + if (isNaN(parsed)) + return i; + buf[offset + i] = parsed; + } + return i; + } + function utf8Write(buf, string, offset, length2) { + return blitBuffer( + utf8ToBytes(string, buf.length - offset), + buf, + offset, + length2 + ); + } + function asciiWrite(buf, string, offset, length2) { + return blitBuffer(asciiToBytes(string), buf, offset, length2); + } + function latin1Write(buf, string, offset, length2) { + return asciiWrite(buf, string, offset, length2); + } + function base64Write(buf, string, offset, length2) { + return blitBuffer(base64ToBytes(string), buf, offset, length2); + } + function ucs2Write(buf, string, offset, length2) { + return blitBuffer( + utf16leToBytes(string, buf.length - offset), + buf, + offset, + length2 + ); + } + Buffer.prototype.write = function write(string, offset, length2, encoding) { + if (offset === void 0) { + encoding = "utf8"; + length2 = this.length; + offset = 0; + } else if (length2 === void 0 && typeof offset === "string") { + encoding = offset; + length2 = this.length; + offset = 0; + } else if (isFinite(offset)) { + offset = offset | 0; + if (isFinite(length2)) { + length2 = length2 | 0; + if (encoding === void 0) + encoding = "utf8"; + } else { + encoding = length2; + length2 = void 0; + } + } else { + throw new Error( + "Buffer.write(string, encoding, offset[, length]) is no longer supported" + ); + } + var remaining = this.length - offset; + if (length2 === void 0 || length2 > remaining) + length2 = remaining; + if (string.length > 0 && (length2 < 0 || offset < 0) || offset > this.length) { + throw new RangeError("Attempt to write outside buffer bounds"); + } + if (!encoding) + encoding = "utf8"; + var loweredCase = false; + for (; ; ) { + switch (encoding) { + case "hex": + return hexWrite(this, string, offset, length2); + case "utf8": + case "utf-8": + return utf8Write(this, string, offset, length2); + case "ascii": + return asciiWrite(this, string, offset, length2); + case "latin1": + case "binary": + return latin1Write(this, string, offset, length2); + case "base64": + return base64Write(this, string, offset, length2); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return ucs2Write(this, string, offset, length2); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } + }; + Buffer.prototype.toJSON = function toJSON() { + return { + type: "Buffer", + data: Array.prototype.slice.call(this._arr || this, 0) + }; + }; + function base64Slice(buf, start, end) { + if (start === 0 && end === buf.length) { + return base64fromByteArray(buf); + } else { + return base64fromByteArray(buf.slice(start, end)); + } + } + function utf8Slice(buf, start, end) { + end = Math.min(buf.length, end); + var res = []; + var i = start; + while (i < end) { + var firstByte = buf[i]; + var codePoint = null; + var bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1; + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint; + switch (bytesPerSequence) { + case 1: + if (firstByte < 128) { + codePoint = firstByte; + } + break; + case 2: + secondByte = buf[i + 1]; + if ((secondByte & 192) === 128) { + tempCodePoint = (firstByte & 31) << 6 | secondByte & 63; + if (tempCodePoint > 127) { + codePoint = tempCodePoint; + } + } + break; + case 3: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63; + if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) { + codePoint = tempCodePoint; + } + } + break; + case 4: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + fourthByte = buf[i + 3]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63; + if (tempCodePoint > 65535 && tempCodePoint < 1114112) { + codePoint = tempCodePoint; + } + } + } + } + if (codePoint === null) { + codePoint = 65533; + bytesPerSequence = 1; + } else if (codePoint > 65535) { + codePoint -= 65536; + res.push(codePoint >>> 10 & 1023 | 55296); + codePoint = 56320 | codePoint & 1023; + } + res.push(codePoint); + i += bytesPerSequence; + } + return decodeCodePointsArray(res); + } + var MAX_ARGUMENTS_LENGTH = 4096; + function decodeCodePointsArray(codePoints) { + var len = codePoints.length; + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints); + } + var res = ""; + var i = 0; + while (i < len) { + res += String.fromCharCode.apply( + String, + codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) + ); + } + return res; + } + function asciiSlice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i] & 127); + } + return ret; + } + function latin1Slice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i]); + } + return ret; + } + function hexSlice(buf, start, end) { + var len = buf.length; + if (!start || start < 0) + start = 0; + if (!end || end < 0 || end > len) + end = len; + var out = ""; + for (var i = start; i < end; ++i) { + out += toHex(buf[i]); + } + return out; + } + function utf16leSlice(buf, start, end) { + var bytes = buf.slice(start, end); + var res = ""; + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); + } + return res; + } + Buffer.prototype.slice = function slice(start, end) { + var len = this.length; + start = ~~start; + end = end === void 0 ? len : ~~end; + if (start < 0) { + start += len; + if (start < 0) + start = 0; + } else if (start > len) { + start = len; + } + if (end < 0) { + end += len; + if (end < 0) + end = 0; + } else if (end > len) { + end = len; + } + if (end < start) + end = start; + var newBuf; + if (Buffer.TYPED_ARRAY_SUPPORT) { + newBuf = this.subarray(start, end); + newBuf.__proto__ = Buffer.prototype; + } else { + var sliceLen = end - start; + newBuf = new Buffer(sliceLen, void 0); + for (var i = 0; i < sliceLen; ++i) { + newBuf[i] = this[i + start]; + } + } + return newBuf; + }; + function checkOffset(offset, ext, length2) { + if (offset % 1 !== 0 || offset < 0) + throw new RangeError("offset is not uint"); + if (offset + ext > length2) + throw new RangeError("Trying to access beyond buffer length"); + } + Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength2 && (mul *= 256)) { + val += this[offset + i] * mul; + } + return val; + }; + Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + checkOffset(offset, byteLength2, this.length); + } + var val = this[offset + --byteLength2]; + var mul = 1; + while (byteLength2 > 0 && (mul *= 256)) { + val += this[offset + --byteLength2] * mul; + } + return val; + }; + Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 1, this.length); + return this[offset]; + }; + Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] | this[offset + 1] << 8; + }; + Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] << 8 | this[offset + 1]; + }; + Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216; + }; + Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); + }; + Buffer.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength2 && (mul *= 256)) { + val += this[offset + i] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength2); + return val; + }; + Buffer.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) { + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + var i = byteLength2; + var mul = 1; + var val = this[offset + --i]; + while (i > 0 && (mul *= 256)) { + val += this[offset + --i] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength2); + return val; + }; + Buffer.prototype.readInt8 = function readInt8(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 1, this.length); + if (!(this[offset] & 128)) + return this[offset]; + return (255 - this[offset] + 1) * -1; + }; + Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + var val = this[offset] | this[offset + 1] << 8; + return val & 32768 ? val | 4294901760 : val; + }; + Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + var val = this[offset + 1] | this[offset] << 8; + return val & 32768 ? val | 4294901760 : val; + }; + Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24; + }; + Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]; + }; + Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754read(this, offset, true, 23, 4); + }; + Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754read(this, offset, false, 23, 4); + }; + Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754read(this, offset, true, 52, 8); + }; + Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754read(this, offset, false, 52, 8); + }; + function checkInt(buf, value, offset, ext, max, min) { + if (!internalIsBuffer(buf)) + throw new TypeError('"buffer" argument must be a Buffer instance'); + if (value > max || value < min) + throw new RangeError('"value" argument is out of bounds'); + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); + } + Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength2) - 1; + checkInt(this, value, offset, byteLength2, maxBytes, 0); + } + var mul = 1; + var i = 0; + this[offset] = value & 255; + while (++i < byteLength2 && (mul *= 256)) { + this[offset + i] = value / mul & 255; + } + return offset + byteLength2; + }; + Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + byteLength2 = byteLength2 | 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength2) - 1; + checkInt(this, value, offset, byteLength2, maxBytes, 0); + } + var i = byteLength2 - 1; + var mul = 1; + this[offset + i] = value & 255; + while (--i >= 0 && (mul *= 256)) { + this[offset + i] = value / mul & 255; + } + return offset + byteLength2; + }; + Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 1, 255, 0); + if (!Buffer.TYPED_ARRAY_SUPPORT) + value = Math.floor(value); + this[offset] = value & 255; + return offset + 1; + }; + function objectWriteUInt16(buf, value, offset, littleEndian) { + if (value < 0) + value = 65535 + value + 1; + for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { + buf[offset + i] = (value & 255 << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8; + } + } + Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + } else { + objectWriteUInt16(this, value, offset, true); + } + return offset + 2; + }; + Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + } else { + objectWriteUInt16(this, value, offset, false); + } + return offset + 2; + }; + function objectWriteUInt32(buf, value, offset, littleEndian) { + if (value < 0) + value = 4294967295 + value + 1; + for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { + buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 255; + } + } + Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset + 3] = value >>> 24; + this[offset + 2] = value >>> 16; + this[offset + 1] = value >>> 8; + this[offset] = value & 255; + } else { + objectWriteUInt32(this, value, offset, true); + } + return offset + 4; + }; + Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + } else { + objectWriteUInt32(this, value, offset, false); + } + return offset + 4; + }; + Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength2 - 1); + checkInt(this, value, offset, byteLength2, limit - 1, -limit); + } + var i = 0; + var mul = 1; + var sub = 0; + this[offset] = value & 255; + while (++i < byteLength2 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { + sub = 1; + } + this[offset + i] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength2; + }; + Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength2 - 1); + checkInt(this, value, offset, byteLength2, limit - 1, -limit); + } + var i = byteLength2 - 1; + var mul = 1; + var sub = 0; + this[offset + i] = value & 255; + while (--i >= 0 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { + sub = 1; + } + this[offset + i] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength2; + }; + Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 1, 127, -128); + if (!Buffer.TYPED_ARRAY_SUPPORT) + value = Math.floor(value); + if (value < 0) + value = 255 + value + 1; + this[offset] = value & 255; + return offset + 1; + }; + Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + } else { + objectWriteUInt16(this, value, offset, true); + } + return offset + 2; + }; + Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + } else { + objectWriteUInt16(this, value, offset, false); + } + return offset + 2; + }; + Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + this[offset + 2] = value >>> 16; + this[offset + 3] = value >>> 24; + } else { + objectWriteUInt32(this, value, offset, true); + } + return offset + 4; + }; + Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + if (value < 0) + value = 4294967295 + value + 1; + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + } else { + objectWriteUInt32(this, value, offset, false); + } + return offset + 4; + }; + function checkIEEE754(buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); + if (offset < 0) + throw new RangeError("Index out of range"); + } + function writeFloat(buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754( + buf, + value, + offset, + 4, + 34028234663852886e22, + -34028234663852886e22 + ); + } + ieee754write(buf, value, offset, littleEndian, 23, 4); + return offset + 4; + } + Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert); + }; + Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert); + }; + function writeDouble(buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754( + buf, + value, + offset, + 8, + 17976931348623157e292, + -17976931348623157e292 + ); + } + ieee754write(buf, value, offset, littleEndian, 52, 8); + return offset + 8; + } + Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert); + }; + Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert); + }; + Buffer.prototype.copy = function copy(target, targetStart, start, end) { + if (!start) + start = 0; + if (!end && end !== 0) + end = this.length; + if (targetStart >= target.length) + targetStart = target.length; + if (!targetStart) + targetStart = 0; + if (end > 0 && end < start) + end = start; + if (end === start) + return 0; + if (target.length === 0 || this.length === 0) + return 0; + if (targetStart < 0) { + throw new RangeError("targetStart out of bounds"); + } + if (start < 0 || start >= this.length) + throw new RangeError("sourceStart out of bounds"); + if (end < 0) + throw new RangeError("sourceEnd out of bounds"); + if (end > this.length) + end = this.length; + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start; + } + var len = end - start; + var i; + if (this === target && start < targetStart && targetStart < end) { + for (i = len - 1; i >= 0; --i) { + target[i + targetStart] = this[i + start]; + } + } else if (len < 1e3 || !Buffer.TYPED_ARRAY_SUPPORT) { + for (i = 0; i < len; ++i) { + target[i + targetStart] = this[i + start]; + } + } else { + Uint8Array.prototype.set.call( + target, + this.subarray(start, start + len), + targetStart + ); + } + return len; + }; + Buffer.prototype.fill = function fill(val, start, end, encoding) { + if (typeof val === "string") { + if (typeof start === "string") { + encoding = start; + start = 0; + end = this.length; + } else if (typeof end === "string") { + encoding = end; + end = this.length; + } + if (val.length === 1) { + var code = val.charCodeAt(0); + if (code < 256) { + val = code; + } + } + if (encoding !== void 0 && typeof encoding !== "string") { + throw new TypeError("encoding must be a string"); + } + if (typeof encoding === "string" && !Buffer.isEncoding(encoding)) { + throw new TypeError("Unknown encoding: " + encoding); + } + } else if (typeof val === "number") { + val = val & 255; + } + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError("Out of range index"); + } + if (end <= start) { + return this; + } + start = start >>> 0; + end = end === void 0 ? this.length : end >>> 0; + if (!val) + val = 0; + var i; + if (typeof val === "number") { + for (i = start; i < end; ++i) { + this[i] = val; + } + } else { + var bytes = internalIsBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString()); + var len = bytes.length; + for (i = 0; i < end - start; ++i) { + this[i + start] = bytes[i % len]; + } + } + return this; + }; + var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g; + function base64clean(str) { + str = stringtrim(str).replace(INVALID_BASE64_RE, ""); + if (str.length < 2) + return ""; + while (str.length % 4 !== 0) { + str = str + "="; + } + return str; + } + function stringtrim(str) { + if (str.trim) + return str.trim(); + return str.replace(/^\s+|\s+$/g, ""); + } + function toHex(n) { + if (n < 16) + return "0" + n.toString(16); + return n.toString(16); + } + function utf8ToBytes(string, units) { + units = units || Infinity; + var codePoint; + var length2 = string.length; + var leadSurrogate = null; + var bytes = []; + for (var i = 0; i < length2; ++i) { + codePoint = string.charCodeAt(i); + if (codePoint > 55295 && codePoint < 57344) { + if (!leadSurrogate) { + if (codePoint > 56319) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } else if (i + 1 === length2) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } + leadSurrogate = codePoint; + continue; + } + if (codePoint < 56320) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + leadSurrogate = codePoint; + continue; + } + codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536; + } else if (leadSurrogate) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + } + leadSurrogate = null; + if (codePoint < 128) { + if ((units -= 1) < 0) + break; + bytes.push(codePoint); + } else if (codePoint < 2048) { + if ((units -= 2) < 0) + break; + bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128); + } else if (codePoint < 65536) { + if ((units -= 3) < 0) + break; + bytes.push( + codePoint >> 12 | 224, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else if (codePoint < 1114112) { + if ((units -= 4) < 0) + break; + bytes.push( + codePoint >> 18 | 240, + codePoint >> 12 & 63 | 128, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else { + throw new Error("Invalid code point"); + } + } + return bytes; + } + function asciiToBytes(str) { + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + byteArray.push(str.charCodeAt(i) & 255); + } + return byteArray; + } + function utf16leToBytes(str, units) { + var c, hi, lo; + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + if ((units -= 2) < 0) + break; + c = str.charCodeAt(i); + hi = c >> 8; + lo = c % 256; + byteArray.push(lo); + byteArray.push(hi); + } + return byteArray; + } + function base64ToBytes(str) { + return base64toByteArray(base64clean(str)); + } + function blitBuffer(src, dst, offset, length2) { + for (var i = 0; i < length2; ++i) { + if (i + offset >= dst.length || i >= src.length) + break; + dst[i + offset] = src[i]; + } + return i; + } + function isnan(val) { + return val !== val; + } + function isBuffer(obj) { + return obj != null && (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj)); + } + function isFastBuffer(obj) { + return !!obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj); + } + function isSlowBuffer(obj) { + return typeof obj.readFloatLE === "function" && typeof obj.slice === "function" && isFastBuffer(obj.slice(0, 0)); + } + function ieee754read(buffer, offset, isLE, mLen, nBytes) { + var e, m; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = -7; + var i = isLE ? nBytes - 1 : 0; + var d = isLE ? -1 : 1; + var s = buffer[offset + i]; + i += d; + e = s & (1 << -nBits) - 1; + s >>= -nBits; + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : (s ? -1 : 1) * Infinity; + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); + } + function ieee754write(buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; + var i = isLE ? 0 : nBytes - 1; + var d = isLE ? 1 : -1; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + value = Math.abs(value); + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) { + } + e = e << mLen | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) { + } + buffer[offset + i - d] |= s * 128; + } + + // node_modules/@b9g/crank/crank.js + var NOOP = () => { + }; + var IDENTITY = (value) => value; + function wrap(value) { + return value === void 0 ? [] : Array.isArray(value) ? value : [value]; + } + function unwrap(arr) { + return arr.length === 0 ? void 0 : arr.length === 1 ? arr[0] : arr; + } + function arrayify(value) { + return value == null ? [] : Array.isArray(value) ? value : typeof value === "string" || typeof value[Symbol.iterator] !== "function" ? [value] : ( + // TODO: inference broke in TypeScript 3.9. + [...value] + ); + } + function isIteratorLike(value) { + return value != null && typeof value.next === "function"; + } + function isPromiseLike(value) { + return value != null && typeof value.then === "function"; + } + var Fragment = ""; + var Portal = Symbol.for("crank.Portal"); + var Copy = Symbol.for("crank.Copy"); + var Raw = Symbol.for("crank.Raw"); + var ElementSymbol = Symbol.for("crank.Element"); + var Element = class { + constructor(tag, props) { + this.tag = tag; + this.props = props; + } + get key() { + return this.props.key; + } + get ref() { + return this.props.ref; + } + get copy() { + return !!this.props.copy; + } + }; + Element.prototype.$$typeof = ElementSymbol; + function isElement(value) { + return value != null && value.$$typeof === ElementSymbol; + } + var DEPRECATED_PROP_PREFIXES = ["crank-", "c-", "$"]; + var DEPRECATED_SPECIAL_PROP_BASES = ["key", "ref", "static"]; + var SPECIAL_PROPS = /* @__PURE__ */ new Set(["children", "key", "ref", "copy"]); + for (const propPrefix of DEPRECATED_PROP_PREFIXES) { + for (const propBase of DEPRECATED_SPECIAL_PROP_BASES) { + SPECIAL_PROPS.add(propPrefix + propBase); + } + } + function createElement(tag, props, ...children) { + if (props == null) { + props = {}; + } + for (let i = 0; i < DEPRECATED_PROP_PREFIXES.length; i++) { + const propPrefix = DEPRECATED_PROP_PREFIXES[i]; + for (let j = 0; j < DEPRECATED_SPECIAL_PROP_BASES.length; j++) { + const propBase = DEPRECATED_SPECIAL_PROP_BASES[j]; + const deprecatedPropName = propPrefix + propBase; + const targetPropBase = propBase === "static" ? "copy" : propBase; + if (deprecatedPropName in props) { + console.warn(`The \`${deprecatedPropName}\` prop is deprecated. Use \`${targetPropBase}\` instead.`); + props[targetPropBase] = props[deprecatedPropName]; + } + } + } + if (children.length > 1) { + props.children = children; + } else if (children.length === 1) { + props.children = children[0]; + } + return new Element(tag, props); + } + function narrow(value) { + if (typeof value === "boolean" || value == null) { + return void 0; + } else if (typeof value === "string" || isElement(value)) { + return value; + } else if (typeof value[Symbol.iterator] === "function") { + return createElement(Fragment, null, value); + } + return value.toString(); + } + function normalize(values) { + const result = []; + let buffer; + for (let i = 0; i < values.length; i++) { + const value = values[i]; + if (!value) + ; + else if (typeof value === "string") { + buffer = (buffer || "") + value; + } else if (!Array.isArray(value)) { + if (buffer) { + result.push(buffer); + buffer = void 0; + } + result.push(value); + } else { + for (let j = 0; j < value.length; j++) { + const value1 = value[j]; + if (!value1) + ; + else if (typeof value1 === "string") { + buffer = (buffer || "") + value1; + } else { + if (buffer) { + result.push(buffer); + buffer = void 0; + } + result.push(value1); + } + } + } + } + if (buffer) { + result.push(buffer); + } + return result; + } + var Retainer = class { + constructor(el) { + this.el = el; + this.ctx = void 0; + this.children = void 0; + this.value = void 0; + this.cachedChildValues = void 0; + this.fallbackValue = void 0; + this.inflightValue = void 0; + this.onNextValues = void 0; + } + }; + function getValue(ret) { + if (typeof ret.fallbackValue !== "undefined") { + return typeof ret.fallbackValue === "object" ? getValue(ret.fallbackValue) : ret.fallbackValue; + } else if (ret.el.tag === Portal) { + return; + } else if (typeof ret.el.tag !== "function" && ret.el.tag !== Fragment) { + return ret.value; + } + return unwrap(getChildValues(ret)); + } + function getChildValues(ret) { + if (ret.cachedChildValues) { + return wrap(ret.cachedChildValues); + } + const values = []; + const children = wrap(ret.children); + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child) { + values.push(typeof child === "string" ? child : getValue(child)); + } + } + const values1 = normalize(values); + const tag = ret.el.tag; + if (typeof tag === "function" || tag !== Fragment && tag !== Raw) { + ret.cachedChildValues = unwrap(values1); + } + return values1; + } + var defaultRendererImpl = { + create() { + throw new Error("Not implemented"); + }, + hydrate() { + throw new Error("Not implemented"); + }, + scope: IDENTITY, + read: IDENTITY, + text: IDENTITY, + raw: IDENTITY, + patch: NOOP, + arrange: NOOP, + dispose: NOOP, + flush: NOOP + }; + var _RendererImpl = Symbol.for("crank.RendererImpl"); + var Renderer = class { + constructor(impl2) { + this.cache = /* @__PURE__ */ new WeakMap(); + this[_RendererImpl] = { + ...defaultRendererImpl, + ...impl2 + }; + } + /** + * Renders an element tree into a specific root. + * + * @param children - An element tree. You can render null with a previously + * used root to delete the previously rendered element tree from the cache. + * @param root - The node to be rendered into. The renderer will cache + * element trees per root. + * @param bridge - An optional context that will be the ancestor context of all + * elements in the tree. Useful for connecting different renderers so that + * events/provisions properly propagate. The context for a given root must be + * the same or an error will be thrown. + * + * @returns The result of rendering the children, or a possible promise of + * the result if the element tree renders asynchronously. + */ + render(children, root, bridge) { + let ret; + const ctx = bridge && bridge[_ContextImpl]; + if (typeof root === "object" && root !== null) { + ret = this.cache.get(root); + } + let oldProps; + if (ret === void 0) { + ret = new Retainer(createElement(Portal, { children, root })); + ret.value = root; + ret.ctx = ctx; + if (typeof root === "object" && root !== null && children != null) { + this.cache.set(root, ret); + } + } else if (ret.ctx !== ctx) { + throw new Error("Context mismatch"); + } else { + oldProps = ret.el.props; + ret.el = createElement(Portal, { children, root }); + if (typeof root === "object" && root !== null && children == null) { + this.cache.delete(root); + } + } + const impl2 = this[_RendererImpl]; + const childValues = diffChildren(impl2, root, ret, ctx, impl2.scope(void 0, Portal, ret.el.props), ret, children, void 0); + if (isPromiseLike(childValues)) { + return childValues.then((childValues2) => commitRootRender(impl2, root, ctx, ret, childValues2, oldProps)); + } + return commitRootRender(impl2, root, ctx, ret, childValues, oldProps); + } + hydrate(children, root, bridge) { + const impl2 = this[_RendererImpl]; + const ctx = bridge && bridge[_ContextImpl]; + let ret; + ret = this.cache.get(root); + if (ret !== void 0) { + return this.render(children, root, bridge); + } + let oldProps; + ret = new Retainer(createElement(Portal, { children, root })); + ret.value = root; + if (typeof root === "object" && root !== null && children != null) { + this.cache.set(root, ret); + } + const hydrationData = impl2.hydrate(Portal, root, {}); + const childValues = diffChildren(impl2, root, ret, ctx, impl2.scope(void 0, Portal, ret.el.props), ret, children, hydrationData); + if (isPromiseLike(childValues)) { + return childValues.then((childValues2) => commitRootRender(impl2, root, ctx, ret, childValues2, oldProps)); + } + return commitRootRender(impl2, root, ctx, ret, childValues, oldProps); + } + }; + function commitRootRender(renderer2, root, ctx, ret, childValues, oldProps) { + if (root != null) { + renderer2.arrange(Portal, root, ret.el.props, childValues, oldProps, wrap(ret.cachedChildValues)); + flush(renderer2, root); + } + ret.cachedChildValues = unwrap(childValues); + if (root == null) { + unmount(renderer2, ret, ctx, ret); + } + return renderer2.read(ret.cachedChildValues); + } + function diffChildren(renderer2, root, host, ctx, scope, parent, children, hydrationData) { + const oldRetained = wrap(parent.children); + const newRetained = []; + const newChildren = arrayify(children); + const values = []; + let graveyard; + let childrenByKey; + let seenKeys; + let isAsync = false; + let hydrationBlock; + let oi = 0; + let oldLength = oldRetained.length; + for (let ni = 0, newLength = newChildren.length; ni < newLength; ni++) { + let ret = oi >= oldLength ? void 0 : oldRetained[oi]; + let child = narrow(newChildren[ni]); + { + let oldKey = typeof ret === "object" ? ret.el.key : void 0; + let newKey = typeof child === "object" ? child.key : void 0; + if (newKey !== void 0 && seenKeys && seenKeys.has(newKey)) { + console.error("Duplicate key", newKey); + newKey = void 0; + } + if (oldKey === newKey) { + if (childrenByKey !== void 0 && newKey !== void 0) { + childrenByKey.delete(newKey); + } + oi++; + } else { + childrenByKey = childrenByKey || createChildrenByKey(oldRetained, oi); + if (newKey === void 0) { + while (ret !== void 0 && oldKey !== void 0) { + oi++; + ret = oldRetained[oi]; + oldKey = typeof ret === "object" ? ret.el.key : void 0; + } + oi++; + } else { + ret = childrenByKey.get(newKey); + if (ret !== void 0) { + childrenByKey.delete(newKey); + } + (seenKeys = seenKeys || /* @__PURE__ */ new Set()).add(newKey); + } + } + } + let value; + if (typeof child === "object") { + if (child.tag === Copy || typeof ret === "object" && ret.el === child) { + value = getInflightValue(ret); + } else { + let oldProps; + let copy3 = false; + if (typeof ret === "object" && ret.el.tag === child.tag) { + oldProps = ret.el.props; + ret.el = child; + if (child.copy) { + value = getInflightValue(ret); + copy3 = true; + } + } else { + if (typeof ret === "object") { + (graveyard = graveyard || []).push(ret); + } + const fallback = ret; + ret = new Retainer(child); + ret.fallbackValue = fallback; + } + if (copy3) + ; + else if (child.tag === Raw) { + value = hydrationBlock ? hydrationBlock.then(() => updateRaw(renderer2, ret, scope, oldProps, hydrationData)) : updateRaw(renderer2, ret, scope, oldProps, hydrationData); + } else if (child.tag === Fragment) { + value = hydrationBlock ? hydrationBlock.then(() => updateFragment(renderer2, root, host, ctx, scope, ret, hydrationData)) : updateFragment(renderer2, root, host, ctx, scope, ret, hydrationData); + } else if (typeof child.tag === "function") { + value = hydrationBlock ? hydrationBlock.then(() => updateComponent(renderer2, root, host, ctx, scope, ret, oldProps, hydrationData)) : updateComponent(renderer2, root, host, ctx, scope, ret, oldProps, hydrationData); + } else { + value = hydrationBlock ? hydrationBlock.then(() => updateHost(renderer2, root, ctx, scope, ret, oldProps, hydrationData)) : updateHost(renderer2, root, ctx, scope, ret, oldProps, hydrationData); + } + } + if (isPromiseLike(value)) { + isAsync = true; + if (hydrationData !== void 0) { + hydrationBlock = value; + } + } + } else { + if (typeof ret === "object") { + (graveyard = graveyard || []).push(ret); + } + if (typeof child === "string") { + value = ret = renderer2.text(child, scope, hydrationData); + } else { + ret = void 0; + } + } + values[ni] = value; + newRetained[ni] = ret; + } + for (; oi < oldLength; oi++) { + const ret = oldRetained[oi]; + if (typeof ret === "object" && (typeof ret.el.key === "undefined" || !seenKeys || !seenKeys.has(ret.el.key))) { + (graveyard = graveyard || []).push(ret); + } + } + if (childrenByKey !== void 0 && childrenByKey.size > 0) { + (graveyard = graveyard || []).push(...childrenByKey.values()); + } + parent.children = unwrap(newRetained); + if (isAsync) { + let childValues1 = Promise.all(values).finally(() => { + if (graveyard) { + for (let i = 0; i < graveyard.length; i++) { + unmount(renderer2, host, ctx, graveyard[i]); + } + } + }); + let onChildValues; + childValues1 = Promise.race([ + childValues1, + new Promise((resolve) => onChildValues = resolve) + ]); + if (parent.onNextValues) { + parent.onNextValues(childValues1); + } + parent.onNextValues = onChildValues; + return childValues1.then((childValues) => { + parent.inflightValue = parent.fallbackValue = void 0; + return normalize(childValues); + }); + } else { + if (graveyard) { + for (let i = 0; i < graveyard.length; i++) { + unmount(renderer2, host, ctx, graveyard[i]); + } + } + if (parent.onNextValues) { + parent.onNextValues(values); + parent.onNextValues = void 0; + } + parent.inflightValue = parent.fallbackValue = void 0; + return normalize(values); + } + } + function createChildrenByKey(children, offset) { + const childrenByKey = /* @__PURE__ */ new Map(); + for (let i = offset; i < children.length; i++) { + const child = children[i]; + if (typeof child === "object" && typeof child.el.key !== "undefined") { + childrenByKey.set(child.el.key, child); + } + } + return childrenByKey; + } + function getInflightValue(child) { + if (typeof child !== "object") { + return child; + } + const ctx = typeof child.el.tag === "function" ? child.ctx : void 0; + if (ctx && ctx.f & IsUpdating && ctx.inflightValue) { + return ctx.inflightValue; + } else if (child.inflightValue) { + return child.inflightValue; + } + return getValue(child); + } + function updateRaw(renderer2, ret, scope, oldProps, hydrationData) { + const props = ret.el.props; + if (!oldProps || oldProps.value !== props.value) { + ret.value = renderer2.raw(props.value, scope, hydrationData); + if (typeof ret.el.ref === "function") { + ret.el.ref(ret.value); + } + } + return ret.value; + } + function updateFragment(renderer2, root, host, ctx, scope, ret, hydrationData) { + const childValues = diffChildren(renderer2, root, host, ctx, scope, ret, ret.el.props.children, hydrationData); + if (isPromiseLike(childValues)) { + ret.inflightValue = childValues.then((childValues2) => unwrap(childValues2)); + return ret.inflightValue; + } + return unwrap(childValues); + } + function updateHost(renderer2, root, ctx, scope, ret, oldProps, hydrationData) { + const el = ret.el; + const tag = el.tag; + let hydrationValue; + if (el.tag === Portal) { + root = ret.value = el.props.root; + } else { + if (hydrationData !== void 0) { + const value = hydrationData.children.shift(); + hydrationValue = value; + } + } + scope = renderer2.scope(scope, tag, el.props); + let childHydrationData; + if (hydrationValue != null && typeof hydrationValue !== "string") { + childHydrationData = renderer2.hydrate(tag, hydrationValue, el.props); + if (childHydrationData === void 0) { + hydrationValue = void 0; + } + } + const childValues = diffChildren(renderer2, root, ret, ctx, scope, ret, ret.el.props.children, childHydrationData); + if (isPromiseLike(childValues)) { + ret.inflightValue = childValues.then((childValues2) => commitHost(renderer2, scope, ret, childValues2, oldProps, hydrationValue)); + return ret.inflightValue; + } + return commitHost(renderer2, scope, ret, childValues, oldProps, hydrationValue); + } + function commitHost(renderer2, scope, ret, childValues, oldProps, hydrationValue) { + const tag = ret.el.tag; + let value = ret.value; + if (hydrationValue != null) { + value = ret.value = hydrationValue; + if (typeof ret.el.ref === "function") { + ret.el.ref(value); + } + } + let props = ret.el.props; + let copied; + if (tag !== Portal) { + if (value == null) { + value = ret.value = renderer2.create(tag, props, scope); + if (typeof ret.el.ref === "function") { + ret.el.ref(value); + } + } + for (const propName in { ...oldProps, ...props }) { + const propValue = props[propName]; + if (propValue === Copy) { + (copied = copied || /* @__PURE__ */ new Set()).add(propName); + } else if (!SPECIAL_PROPS.has(propName)) { + renderer2.patch(tag, value, propName, propValue, oldProps && oldProps[propName], scope); + } + } + } + if (copied) { + props = { ...ret.el.props }; + for (const name of copied) { + props[name] = oldProps && oldProps[name]; + } + ret.el = new Element(tag, props); + } + renderer2.arrange(tag, value, props, childValues, oldProps, wrap(ret.cachedChildValues)); + ret.cachedChildValues = unwrap(childValues); + if (tag === Portal) { + flush(renderer2, ret.value); + return; + } + return value; + } + function flush(renderer2, root, initiator) { + renderer2.flush(root); + if (typeof root !== "object" || root === null) { + return; + } + const flushMap = flushMaps.get(root); + if (flushMap) { + if (initiator) { + const flushMap1 = /* @__PURE__ */ new Map(); + for (let [ctx, callbacks] of flushMap) { + if (!ctxContains(initiator, ctx)) { + flushMap.delete(ctx); + flushMap1.set(ctx, callbacks); + } + } + if (flushMap1.size) { + flushMaps.set(root, flushMap1); + } else { + flushMaps.delete(root); + } + } else { + flushMaps.delete(root); + } + for (const [ctx, callbacks] of flushMap) { + const value = renderer2.read(getValue(ctx.ret)); + for (const callback of callbacks) { + callback(value); + } + } + } + } + function unmount(renderer2, host, ctx, ret) { + if (typeof ret.el.tag === "function") { + ctx = ret.ctx; + unmountComponent(ctx); + } else if (ret.el.tag === Portal) { + host = ret; + renderer2.arrange(Portal, host.value, host.el.props, [], host.el.props, wrap(host.cachedChildValues)); + flush(renderer2, host.value); + } else if (ret.el.tag !== Fragment) { + if (isEventTarget(ret.value)) { + const records = getListenerRecords(ctx, host); + for (let i = 0; i < records.length; i++) { + const record = records[i]; + ret.value.removeEventListener(record.type, record.callback, record.options); + } + } + renderer2.dispose(ret.el.tag, ret.value, ret.el.props); + host = ret; + } + const children = wrap(ret.children); + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (typeof child === "object") { + unmount(renderer2, host, ctx, child); + } + } + } + var IsUpdating = 1 << 0; + var IsSyncExecuting = 1 << 1; + var IsInForOfLoop = 1 << 2; + var IsInForAwaitOfLoop = 1 << 3; + var NeedsToYield = 1 << 4; + var PropsAvailable = 1 << 5; + var IsErrored = 1 << 6; + var IsUnmounted = 1 << 7; + var IsSyncGen = 1 << 8; + var IsAsyncGen = 1 << 9; + var IsScheduling = 1 << 10; + var IsSchedulingRefresh = 1 << 11; + var provisionMaps = /* @__PURE__ */ new WeakMap(); + var scheduleMap = /* @__PURE__ */ new WeakMap(); + var cleanupMap = /* @__PURE__ */ new WeakMap(); + var flushMaps = /* @__PURE__ */ new WeakMap(); + var ContextImpl = class { + constructor(renderer2, root, host, parent, scope, ret) { + this.f = 0; + this.owner = new Context(this); + this.renderer = renderer2; + this.root = root; + this.host = host; + this.parent = parent; + this.scope = scope; + this.ret = ret; + this.iterator = void 0; + this.inflightBlock = void 0; + this.inflightValue = void 0; + this.enqueuedBlock = void 0; + this.enqueuedValue = void 0; + this.onProps = void 0; + this.onPropsRequested = void 0; + } + }; + var _ContextImpl = Symbol.for("crank.ContextImpl"); + var Context = class { + // TODO: If we could make the constructor function take a nicer value, it + // would be useful for testing purposes. + constructor(impl2) { + this[_ContextImpl] = impl2; + } + /** + * The current props of the associated element. + */ + get props() { + return this[_ContextImpl].ret.el.props; + } + /** + * The current value of the associated element. + * + * @deprecated + */ + get value() { + return this[_ContextImpl].renderer.read(getValue(this[_ContextImpl].ret)); + } + *[Symbol.iterator]() { + const ctx = this[_ContextImpl]; + try { + ctx.f |= IsInForOfLoop; + while (!(ctx.f & IsUnmounted)) { + if (ctx.f & NeedsToYield) { + throw new Error("Context iterated twice without a yield"); + } else { + ctx.f |= NeedsToYield; + } + yield ctx.ret.el.props; + } + } finally { + ctx.f &= ~IsInForOfLoop; + } + } + async *[Symbol.asyncIterator]() { + const ctx = this[_ContextImpl]; + if (ctx.f & IsSyncGen) { + throw new Error("Use for...of in sync generator components"); + } + try { + ctx.f |= IsInForAwaitOfLoop; + while (!(ctx.f & IsUnmounted)) { + if (ctx.f & NeedsToYield) { + throw new Error("Context iterated twice without a yield"); + } else { + ctx.f |= NeedsToYield; + } + if (ctx.f & PropsAvailable) { + ctx.f &= ~PropsAvailable; + yield ctx.ret.el.props; + } else { + const props = await new Promise((resolve) => ctx.onProps = resolve); + if (ctx.f & IsUnmounted) { + break; + } + yield props; + } + if (ctx.onPropsRequested) { + ctx.onPropsRequested(); + ctx.onPropsRequested = void 0; + } + } + } finally { + ctx.f &= ~IsInForAwaitOfLoop; + if (ctx.onPropsRequested) { + ctx.onPropsRequested(); + ctx.onPropsRequested = void 0; + } + } + } + /** + * Re-executes a component. + * + * @returns The rendered value of the component or a promise thereof if the + * component or its children execute asynchronously. + * + * The refresh method works a little differently for async generator + * components, in that it will resume the Context’s props async iterator + * rather than resuming execution. This is because async generator components + * are perpetually resumed independent of updates, and rely on the props + * async iterator to suspend. + */ + refresh() { + const ctx = this[_ContextImpl]; + if (ctx.f & IsUnmounted) { + console.error("Component is unmounted"); + return ctx.renderer.read(void 0); + } else if (ctx.f & IsSyncExecuting) { + console.error("Component is already executing"); + return ctx.renderer.read(getValue(ctx.ret)); + } + const value = enqueueComponentRun(ctx); + if (isPromiseLike(value)) { + return value.then((value2) => ctx.renderer.read(value2)); + } + return ctx.renderer.read(value); + } + /** + * Registers a callback which fires when the component commits. Will only + * fire once per callback and update. + */ + schedule(callback) { + const ctx = this[_ContextImpl]; + let callbacks = scheduleMap.get(ctx); + if (!callbacks) { + callbacks = /* @__PURE__ */ new Set(); + scheduleMap.set(ctx, callbacks); + } + callbacks.add(callback); + } + /** + * Registers a callback which fires when the component’s children are + * rendered into the root. Will only fire once per callback and render. + */ + flush(callback) { + const ctx = this[_ContextImpl]; + if (typeof ctx.root !== "object" || ctx.root === null) { + return; + } + let flushMap = flushMaps.get(ctx.root); + if (!flushMap) { + flushMap = /* @__PURE__ */ new Map(); + flushMaps.set(ctx.root, flushMap); + } + let callbacks = flushMap.get(ctx); + if (!callbacks) { + callbacks = /* @__PURE__ */ new Set(); + flushMap.set(ctx, callbacks); + } + callbacks.add(callback); + } + /** + * Registers a callback which fires when the component unmounts. Will only + * fire once per callback. + */ + cleanup(callback) { + const ctx = this[_ContextImpl]; + if (ctx.f & IsUnmounted) { + const value = ctx.renderer.read(getValue(ctx.ret)); + callback(value); + return; + } + let callbacks = cleanupMap.get(ctx); + if (!callbacks) { + callbacks = /* @__PURE__ */ new Set(); + cleanupMap.set(ctx, callbacks); + } + callbacks.add(callback); + } + consume(key) { + for (let ctx = this[_ContextImpl].parent; ctx !== void 0; ctx = ctx.parent) { + const provisions = provisionMaps.get(ctx); + if (provisions && provisions.has(key)) { + return provisions.get(key); + } + } + } + provide(key, value) { + const ctx = this[_ContextImpl]; + let provisions = provisionMaps.get(ctx); + if (!provisions) { + provisions = /* @__PURE__ */ new Map(); + provisionMaps.set(ctx, provisions); + } + provisions.set(key, value); + } + addEventListener(type, listener, options) { + const ctx = this[_ContextImpl]; + let listeners; + if (!isListenerOrListenerObject(listener)) { + return; + } else { + const listeners1 = listenersMap.get(ctx); + if (listeners1) { + listeners = listeners1; + } else { + listeners = []; + listenersMap.set(ctx, listeners); + } + } + options = normalizeListenerOptions(options); + let callback; + if (typeof listener === "object") { + callback = () => listener.handleEvent.apply(listener, arguments); + } else { + callback = listener; + } + const record = { type, listener, callback, options }; + if (options.once) { + record.callback = function() { + const i = listeners.indexOf(record); + if (i !== -1) { + listeners.splice(i, 1); + } + return callback.apply(this, arguments); + }; + } + if (listeners.some((record1) => record.type === record1.type && record.listener === record1.listener && !record.options.capture === !record1.options.capture)) { + return; + } + listeners.push(record); + for (const value of getChildValues(ctx.ret)) { + if (isEventTarget(value)) { + value.addEventListener(record.type, record.callback, record.options); + } + } + } + removeEventListener(type, listener, options) { + const ctx = this[_ContextImpl]; + const listeners = listenersMap.get(ctx); + if (listeners == null || !isListenerOrListenerObject(listener)) { + return; + } + const options1 = normalizeListenerOptions(options); + const i = listeners.findIndex((record2) => record2.type === type && record2.listener === listener && !record2.options.capture === !options1.capture); + if (i === -1) { + return; + } + const record = listeners[i]; + listeners.splice(i, 1); + for (const value of getChildValues(ctx.ret)) { + if (isEventTarget(value)) { + value.removeEventListener(record.type, record.callback, record.options); + } + } + } + dispatchEvent(ev) { + const ctx = this[_ContextImpl]; + const path = []; + for (let parent = ctx.parent; parent !== void 0; parent = parent.parent) { + path.push(parent); + } + let immediateCancelBubble = false; + const stopImmediatePropagation = ev.stopImmediatePropagation; + setEventProperty(ev, "stopImmediatePropagation", () => { + immediateCancelBubble = true; + return stopImmediatePropagation.call(ev); + }); + setEventProperty(ev, "target", ctx.owner); + try { + setEventProperty(ev, "eventPhase", CAPTURING_PHASE); + for (let i = path.length - 1; i >= 0; i--) { + const target = path[i]; + const listeners = listenersMap.get(target); + if (listeners) { + setEventProperty(ev, "currentTarget", target.owner); + for (const record of listeners) { + if (record.type === ev.type && record.options.capture) { + try { + record.callback.call(target.owner, ev); + } catch (err) { + console.error(err); + } + if (immediateCancelBubble) { + return true; + } + } + } + } + if (ev.cancelBubble) { + return true; + } + } + { + setEventProperty(ev, "eventPhase", AT_TARGET); + setEventProperty(ev, "currentTarget", ctx.owner); + let propCallback = ctx.ret.el.props["on" + ev.type]; + if (typeof propCallback === "function") { + propCallback(ev); + if (immediateCancelBubble || ev.cancelBubble) { + return true; + } + } else { + for (const propName in ctx.ret.el.props) { + if (propName.toLowerCase() === "on" + ev.type.toLowerCase()) { + propCallback = ctx.ret.el.props[propName]; + if (typeof propCallback === "function") { + propCallback(ev); + if (immediateCancelBubble || ev.cancelBubble) { + return true; + } + } + } + } + } + const listeners = listenersMap.get(ctx); + if (listeners) { + for (const record of listeners) { + if (record.type === ev.type) { + try { + record.callback.call(ctx.owner, ev); + } catch (err) { + console.error(err); + } + if (immediateCancelBubble) { + return true; + } + } + } + if (ev.cancelBubble) { + return true; + } + } + } + if (ev.bubbles) { + setEventProperty(ev, "eventPhase", BUBBLING_PHASE); + for (let i = 0; i < path.length; i++) { + const target = path[i]; + const listeners = listenersMap.get(target); + if (listeners) { + setEventProperty(ev, "currentTarget", target.owner); + for (const record of listeners) { + if (record.type === ev.type && !record.options.capture) { + try { + record.callback.call(target.owner, ev); + } catch (err) { + console.error(err); + } + if (immediateCancelBubble) { + return true; + } + } + } + } + if (ev.cancelBubble) { + return true; + } + } + } + } finally { + setEventProperty(ev, "eventPhase", NONE); + setEventProperty(ev, "currentTarget", null); + return !ev.defaultPrevented; + } + } + }; + function ctxContains(parent, child) { + for (let current = child; current !== void 0; current = current.parent) { + if (current === parent) { + return true; + } + } + return false; + } + function updateComponent(renderer2, root, host, parent, scope, ret, oldProps, hydrationData) { + let ctx; + if (oldProps) { + ctx = ret.ctx; + if (ctx.f & IsSyncExecuting) { + console.error("Component is already executing"); + return ret.cachedChildValues; + } + } else { + ctx = ret.ctx = new ContextImpl(renderer2, root, host, parent, scope, ret); + } + ctx.f |= IsUpdating; + return enqueueComponentRun(ctx, hydrationData); + } + function updateComponentChildren(ctx, children, hydrationData) { + if (ctx.f & IsUnmounted) { + return; + } else if (ctx.f & IsErrored) { + return; + } else if (children === void 0) { + console.error("A component has returned or yielded undefined. If this was intentional, return or yield null instead."); + } + let childValues; + try { + ctx.f |= IsSyncExecuting; + childValues = diffChildren(ctx.renderer, ctx.root, ctx.host, ctx, ctx.scope, ctx.ret, narrow(children), hydrationData); + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isPromiseLike(childValues)) { + ctx.ret.inflightValue = childValues.then((childValues2) => commitComponent(ctx, childValues2)); + return ctx.ret.inflightValue; + } + return commitComponent(ctx, childValues); + } + function commitComponent(ctx, values) { + if (ctx.f & IsUnmounted) { + return; + } + const listeners = listenersMap.get(ctx); + if (listeners && listeners.length) { + for (let i = 0; i < values.length; i++) { + const value2 = values[i]; + if (isEventTarget(value2)) { + for (let j = 0; j < listeners.length; j++) { + const record = listeners[j]; + value2.addEventListener(record.type, record.callback, record.options); + } + } + } + } + const oldValues = wrap(ctx.ret.cachedChildValues); + let value = ctx.ret.cachedChildValues = unwrap(values); + if (ctx.f & IsScheduling) { + ctx.f |= IsSchedulingRefresh; + } else if (!(ctx.f & IsUpdating)) { + if (!arrayEqual(oldValues, values)) { + const records = getListenerRecords(ctx.parent, ctx.host); + if (records.length) { + for (let i = 0; i < values.length; i++) { + const value2 = values[i]; + if (isEventTarget(value2)) { + for (let j = 0; j < records.length; j++) { + const record = records[j]; + value2.addEventListener(record.type, record.callback, record.options); + } + } + } + } + const host = ctx.host; + const oldHostValues = wrap(host.cachedChildValues); + invalidate(ctx, host); + const hostValues = getChildValues(host); + ctx.renderer.arrange( + host.el.tag, + host.value, + host.el.props, + hostValues, + // props and oldProps are the same because the host isn’t updated. + host.el.props, + oldHostValues + ); + } + flush(ctx.renderer, ctx.root, ctx); + } + const callbacks = scheduleMap.get(ctx); + if (callbacks) { + scheduleMap.delete(ctx); + ctx.f |= IsScheduling; + const value1 = ctx.renderer.read(value); + for (const callback of callbacks) { + callback(value1); + } + ctx.f &= ~IsScheduling; + if (ctx.f & IsSchedulingRefresh) { + ctx.f &= ~IsSchedulingRefresh; + value = getValue(ctx.ret); + } + } + ctx.f &= ~IsUpdating; + return value; + } + function invalidate(ctx, host) { + for (let parent = ctx.parent; parent !== void 0 && parent.host === host; parent = parent.parent) { + parent.ret.cachedChildValues = void 0; + } + host.cachedChildValues = void 0; + } + function arrayEqual(arr1, arr2) { + if (arr1.length !== arr2.length) { + return false; + } + for (let i = 0; i < arr1.length; i++) { + const value1 = arr1[i]; + const value2 = arr2[i]; + if (value1 !== value2) { + return false; + } + } + return true; + } + function enqueueComponentRun(ctx, hydrationData) { + if (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) { + if (hydrationData !== void 0) { + throw new Error("Hydration error"); + } + const isAtLoopbottom = ctx.f & IsInForAwaitOfLoop && !ctx.onProps; + resumePropsAsyncIterator(ctx); + if (isAtLoopbottom) { + if (ctx.inflightBlock == null) { + ctx.inflightBlock = new Promise((resolve) => ctx.onPropsRequested = resolve); + } + return ctx.inflightBlock.then(() => { + ctx.inflightBlock = void 0; + return ctx.inflightValue; + }); + } + return ctx.inflightValue; + } else if (!ctx.inflightBlock) { + try { + const [block, value] = runComponent(ctx, hydrationData); + if (block) { + ctx.inflightBlock = block.then((v) => v).finally(() => advanceComponent(ctx)); + ctx.inflightValue = value; + } + return value; + } catch (err) { + if (!(ctx.f & IsUpdating)) { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + } + throw err; + } + } else if (!ctx.enqueuedBlock) { + if (hydrationData !== void 0) { + throw new Error("Hydration error"); + } + let resolveEnqueuedBlock; + ctx.enqueuedBlock = new Promise((resolve) => resolveEnqueuedBlock = resolve); + ctx.enqueuedValue = ctx.inflightBlock.then(() => { + try { + const [block, value] = runComponent(ctx); + if (block) { + resolveEnqueuedBlock(block.finally(() => advanceComponent(ctx))); + } + return value; + } catch (err) { + if (!(ctx.f & IsUpdating)) { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + } + throw err; + } + }); + } + return ctx.enqueuedValue; + } + function advanceComponent(ctx) { + if (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) { + return; + } + ctx.inflightBlock = ctx.enqueuedBlock; + ctx.inflightValue = ctx.enqueuedValue; + ctx.enqueuedBlock = void 0; + ctx.enqueuedValue = void 0; + } + function runComponent(ctx, hydrationData) { + const ret = ctx.ret; + const initial = !ctx.iterator; + if (initial) { + resumePropsAsyncIterator(ctx); + ctx.f |= IsSyncExecuting; + clearEventListeners(ctx); + let result; + try { + result = ret.el.tag.call(ctx.owner, ret.el.props, ctx.owner); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isIteratorLike(result)) { + ctx.iterator = result; + } else if (isPromiseLike(result)) { + const result1 = result instanceof Promise ? result : Promise.resolve(result); + const value = result1.then((result2) => updateComponentChildren(ctx, result2, hydrationData), (err) => { + ctx.f |= IsErrored; + throw err; + }); + return [result1.catch(NOOP), value]; + } else { + return [ + void 0, + updateComponentChildren(ctx, result, hydrationData) + ]; + } + } else if (hydrationData !== void 0) { + throw new Error("Hydration error"); + } + let iteration; + if (initial) { + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.next(); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isPromiseLike(iteration)) { + ctx.f |= IsAsyncGen; + } else { + ctx.f |= IsSyncGen; + } + } + if (ctx.f & IsSyncGen) { + if (!initial) { + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.next(ctx.renderer.read(getValue(ret))); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + } + if (isPromiseLike(iteration)) { + throw new Error("Mixed generator component"); + } + if (ctx.f & IsInForOfLoop && !(ctx.f & NeedsToYield) && !(ctx.f & IsUnmounted)) { + console.error("Component yielded more than once in for...of loop"); + } + ctx.f &= ~NeedsToYield; + if (iteration.done) { + ctx.f &= ~IsSyncGen; + ctx.iterator = void 0; + } + let value; + try { + value = updateComponentChildren( + ctx, + // Children can be void so we eliminate that here + iteration.value, + hydrationData + ); + if (isPromiseLike(value)) { + value = value.catch((err) => handleChildError(ctx, err)); + } + } catch (err) { + value = handleChildError(ctx, err); + } + const block = isPromiseLike(value) ? value.catch(NOOP) : void 0; + return [block, value]; + } else { + if (ctx.f & IsInForOfLoop) { + if (!initial) { + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.next(ctx.renderer.read(getValue(ret))); + } catch (err) { + ctx.f |= IsErrored; + throw err; + } finally { + ctx.f &= ~IsSyncExecuting; + } + } + if (!isPromiseLike(iteration)) { + throw new Error("Mixed generator component"); + } + const block = iteration.catch(NOOP); + const value = iteration.then((iteration2) => { + let value2; + if (!(ctx.f & IsInForOfLoop)) { + runAsyncGenComponent(ctx, Promise.resolve(iteration2), hydrationData); + } else { + if (!(ctx.f & NeedsToYield) && !(ctx.f & IsUnmounted)) { + console.error("Component yielded more than once in for...of loop"); + } + } + ctx.f &= ~NeedsToYield; + try { + value2 = updateComponentChildren( + ctx, + // Children can be void so we eliminate that here + iteration2.value, + hydrationData + ); + if (isPromiseLike(value2)) { + value2 = value2.catch((err) => handleChildError(ctx, err)); + } + } catch (err) { + value2 = handleChildError(ctx, err); + } + return value2; + }, (err) => { + ctx.f |= IsErrored; + throw err; + }); + return [block, value]; + } else { + runAsyncGenComponent(ctx, iteration, hydrationData, initial); + return [ctx.inflightBlock, ctx.inflightValue]; + } + } + } + async function runAsyncGenComponent(ctx, iterationP, hydrationData, initial = false) { + let done = false; + try { + while (!done) { + if (ctx.f & IsInForOfLoop) { + break; + } + let onValue; + ctx.inflightValue = new Promise((resolve) => onValue = resolve); + if (ctx.f & IsUpdating) { + ctx.inflightValue.catch(NOOP); + } + let iteration; + try { + iteration = await iterationP; + } catch (err) { + done = true; + ctx.f |= IsErrored; + onValue(Promise.reject(err)); + break; + } + if (!(ctx.f & IsInForAwaitOfLoop)) { + ctx.f &= ~PropsAvailable; + } + done = !!iteration.done; + let value; + try { + if (!(ctx.f & NeedsToYield) && ctx.f & PropsAvailable && ctx.f & IsInForAwaitOfLoop && !initial && !done) { + value = ctx.ret.inflightValue || getValue(ctx.ret); + } else { + value = updateComponentChildren(ctx, iteration.value, hydrationData); + hydrationData = void 0; + if (isPromiseLike(value)) { + value = value.catch((err) => handleChildError(ctx, err)); + } + } + ctx.f &= ~NeedsToYield; + } catch (err) { + value = handleChildError(ctx, err); + } finally { + onValue(value); + } + let oldResult; + if (ctx.ret.inflightValue) { + oldResult = ctx.ret.inflightValue.then((value2) => ctx.renderer.read(value2)); + oldResult.catch((err) => { + if (ctx.f & IsUpdating) { + return; + } + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } else { + oldResult = ctx.renderer.read(getValue(ctx.ret)); + } + if (ctx.f & IsUnmounted) { + if (ctx.f & IsInForAwaitOfLoop) { + try { + ctx.f |= IsSyncExecuting; + iterationP = ctx.iterator.next(oldResult); + } finally { + ctx.f &= ~IsSyncExecuting; + } + } else { + returnComponent(ctx); + break; + } + } else if (!done && !(ctx.f & IsInForOfLoop)) { + try { + ctx.f |= IsSyncExecuting; + iterationP = ctx.iterator.next(oldResult); + } finally { + ctx.f &= ~IsSyncExecuting; + } + } + initial = false; + } + } finally { + if (done) { + ctx.f &= ~IsAsyncGen; + ctx.iterator = void 0; + } + } + } + function resumePropsAsyncIterator(ctx) { + if (ctx.onProps) { + ctx.onProps(ctx.ret.el.props); + ctx.onProps = void 0; + ctx.f &= ~PropsAvailable; + } else { + ctx.f |= PropsAvailable; + } + } + function unmountComponent(ctx) { + if (ctx.f & IsUnmounted) { + return; + } + clearEventListeners(ctx); + const callbacks = cleanupMap.get(ctx); + if (callbacks) { + cleanupMap.delete(ctx); + const value = ctx.renderer.read(getValue(ctx.ret)); + for (const callback of callbacks) { + callback(value); + } + } + ctx.f |= IsUnmounted; + if (ctx.iterator) { + if (ctx.f & IsSyncGen) { + let value; + if (ctx.f & IsInForOfLoop) { + value = enqueueComponentRun(ctx); + } + if (isPromiseLike(value)) { + value.then(() => { + if (ctx.f & IsInForOfLoop) { + unmountComponent(ctx); + } else { + returnComponent(ctx); + } + }, (err) => { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } else { + if (ctx.f & IsInForOfLoop) { + unmountComponent(ctx); + } else { + returnComponent(ctx); + } + } + } else if (ctx.f & IsAsyncGen) { + if (ctx.f & IsInForOfLoop) { + const value = enqueueComponentRun(ctx); + value.then(() => { + if (ctx.f & IsInForOfLoop) { + unmountComponent(ctx); + } else { + returnComponent(ctx); + } + }, (err) => { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } else { + resumePropsAsyncIterator(ctx); + } + } + } + } + function returnComponent(ctx) { + resumePropsAsyncIterator(ctx); + if (ctx.iterator && typeof ctx.iterator.return === "function") { + try { + ctx.f |= IsSyncExecuting; + const iteration = ctx.iterator.return(); + if (isPromiseLike(iteration)) { + iteration.catch((err) => { + if (!ctx.parent) { + throw err; + } + return propagateError(ctx.parent, err); + }); + } + } finally { + ctx.f &= ~IsSyncExecuting; + } + } + } + var NONE = 0; + var CAPTURING_PHASE = 1; + var AT_TARGET = 2; + var BUBBLING_PHASE = 3; + var listenersMap = /* @__PURE__ */ new WeakMap(); + function isListenerOrListenerObject(value) { + return typeof value === "function" || value !== null && typeof value === "object" && typeof value.handleEvent === "function"; + } + function normalizeListenerOptions(options) { + if (typeof options === "boolean") { + return { capture: options }; + } else if (options == null) { + return {}; + } + return options; + } + function isEventTarget(value) { + return value != null && typeof value.addEventListener === "function" && typeof value.removeEventListener === "function" && typeof value.dispatchEvent === "function"; + } + function setEventProperty(ev, key, value) { + Object.defineProperty(ev, key, { value, writable: false, configurable: true }); + } + function getListenerRecords(ctx, ret) { + let listeners = []; + while (ctx !== void 0 && ctx.host === ret) { + const listeners1 = listenersMap.get(ctx); + if (listeners1) { + listeners = listeners.concat(listeners1); + } + ctx = ctx.parent; + } + return listeners; + } + function clearEventListeners(ctx) { + const listeners = listenersMap.get(ctx); + if (listeners && listeners.length) { + for (const value of getChildValues(ctx.ret)) { + if (isEventTarget(value)) { + for (const record of listeners) { + value.removeEventListener(record.type, record.callback, record.options); + } + } + } + listeners.length = 0; + } + } + function handleChildError(ctx, err) { + if (!ctx.iterator || typeof ctx.iterator.throw !== "function") { + throw err; + } + resumePropsAsyncIterator(ctx); + let iteration; + try { + ctx.f |= IsSyncExecuting; + iteration = ctx.iterator.throw(err); + } catch (err2) { + ctx.f |= IsErrored; + throw err2; + } finally { + ctx.f &= ~IsSyncExecuting; + } + if (isPromiseLike(iteration)) { + return iteration.then((iteration2) => { + if (iteration2.done) { + ctx.f &= ~IsAsyncGen; + ctx.iterator = void 0; + } + return updateComponentChildren(ctx, iteration2.value); + }, (err2) => { + ctx.f |= IsErrored; + throw err2; + }); + } + if (iteration.done) { + ctx.f &= ~IsSyncGen; + ctx.f &= ~IsAsyncGen; + ctx.iterator = void 0; + } + return updateComponentChildren(ctx, iteration.value); + } + function propagateError(ctx, err) { + let result; + try { + result = handleChildError(ctx, err); + } catch (err2) { + if (!ctx.parent) { + throw err2; + } + return propagateError(ctx.parent, err2); + } + if (isPromiseLike(result)) { + return result.catch((err2) => { + if (!ctx.parent) { + throw err2; + } + return propagateError(ctx.parent, err2); + }); + } + return result; + } + + // node_modules/@b9g/crank/jsx-tag.js + var cache = /* @__PURE__ */ new Map(); + function jsx(spans, ...expressions) { + const key = JSON.stringify(spans.raw); + let parseResult = cache.get(key); + if (parseResult == null) { + parseResult = parse(spans.raw); + cache.set(key, parseResult); + } + const { element, targets } = parseResult; + for (let i = 0; i < expressions.length; i++) { + const exp = expressions[i]; + const target = targets[i]; + if (target) { + if (target.type === "error") { + throw new SyntaxError(target.message.replace("${}", formatTagForError(exp))); + } + target.value = exp; + } + } + return build(element); + } + var CHILDREN_RE = /((?:\r|\n|\r\n)\s*)|(|$))|(<\s*(\/{0,2})\s*([-_$\w]*))/g; + var PROPS_RE = /\s*(?:(\/?\s*>)|(\.\.\.\s*)|(?:([-_$\w]+)\s*(=)?\s*(?:("(\\"|[\S\s])*?(?:"|$)|'(?:\\'|[\S\s])*?(?:'|$)))?))/g; + var CLOSING_BRACKET_RE = />/g; + var CLOSING_SINGLE_QUOTE_RE = /[^\\]?'/g; + var CLOSING_DOUBLE_QUOTE_RE = /[^\\]?"/g; + var CLOSING_COMMENT_RE = /-->/g; + function parse(spans) { + let matcher = CHILDREN_RE; + const stack = []; + let element = { + type: "element", + open: { type: "tag", slash: "", value: "" }, + close: null, + props: [], + children: [] + }; + const targets = []; + let lineStart = true; + for (let s = 0; s < spans.length; s++) { + const span = spans[s]; + const expressing = s < spans.length - 1; + let expressionTarget = null; + for (let i = 0, end = i; i < span.length; i = end) { + matcher.lastIndex = i; + const match2 = matcher.exec(span); + end = match2 ? match2.index + match2[0].length : span.length; + switch (matcher) { + case CHILDREN_RE: { + if (match2) { + const [, newline, comment2, tag, closingSlash, tagName] = match2; + if (i < match2.index) { + let before = span.slice(i, match2.index); + if (lineStart) { + before = before.replace(/^\s*/, ""); + } + if (newline) { + if (span[Math.max(0, match2.index - 1)] === "\\") { + before = before.slice(0, -1); + } else { + before = before.replace(/\s*$/, ""); + } + } + if (before) { + element.children.push({ type: "value", value: before }); + } + } + lineStart = !!newline; + if (comment2) { + if (end === span.length) { + matcher = CLOSING_COMMENT_RE; + } + } else if (tag) { + if (closingSlash) { + element.close = { + type: "tag", + slash: closingSlash, + value: tagName + }; + if (!stack.length) { + if (end !== span.length) { + throw new SyntaxError(`Unmatched closing tag "${tagName}"`); + } + expressionTarget = { + type: "error", + message: "Unmatched closing tag ${}", + value: null + }; + } else { + if (end === span.length) { + expressionTarget = element.close; + } + element = stack.pop(); + matcher = CLOSING_BRACKET_RE; + } + } else { + const next2 = { + type: "element", + open: { + type: "tag", + slash: "", + value: tagName + }, + close: null, + props: [], + children: [] + }; + element.children.push(next2); + stack.push(element); + element = next2; + matcher = PROPS_RE; + if (end === span.length) { + expressionTarget = element.open; + } + } + } + } else { + if (i < span.length) { + let after = span.slice(i); + if (!expressing) { + after = after.replace(/\s*$/, ""); + } + if (after) { + element.children.push({ type: "value", value: after }); + } + } + } + break; + } + case PROPS_RE: { + if (match2) { + const [, tagEnd, spread, name, equals2, string] = match2; + if (i < match2.index) { + throw new SyntaxError(`Unexpected text \`${span.slice(i, match2.index).trim()}\``); + } + if (tagEnd) { + if (tagEnd[0] === "/") { + element = stack.pop(); + } + matcher = CHILDREN_RE; + } else if (spread) { + const value = { + type: "value", + value: null + }; + element.props.push(value); + expressionTarget = value; + if (!(expressing && end === span.length)) { + throw new SyntaxError('Expression expected after "..."'); + } + } else if (name) { + let value; + if (string == null) { + if (!equals2) { + value = { type: "value", value: true }; + } else if (end < span.length) { + throw new SyntaxError(`Unexpected text \`${span.slice(end, end + 20)}\``); + } else { + value = { type: "value", value: null }; + expressionTarget = value; + if (!(expressing && end === span.length)) { + throw new SyntaxError(`Expression expected for prop "${name}"`); + } + } + } else { + const quote = string[0]; + value = { type: "propString", parts: [] }; + value.parts.push(string); + if (end === span.length) { + matcher = quote === "'" ? CLOSING_SINGLE_QUOTE_RE : CLOSING_DOUBLE_QUOTE_RE; + } + } + const prop = { + type: "prop", + name, + value + }; + element.props.push(prop); + } + } else { + if (!expressing) { + if (i === span.length) { + throw new SyntaxError(`Expected props but reached end of document`); + } else { + throw new SyntaxError(`Unexpected text \`${span.slice(i, i + 20).trim()}\``); + } + } + } + break; + } + case CLOSING_BRACKET_RE: { + if (match2) { + if (i < match2.index) { + throw new SyntaxError(`Unexpected text \`${span.slice(i, match2.index).trim()}\``); + } + matcher = CHILDREN_RE; + } else { + if (!expressing) { + throw new SyntaxError(`Unexpected text \`${span.slice(i, i + 20).trim()}\``); + } + } + break; + } + case CLOSING_SINGLE_QUOTE_RE: + case CLOSING_DOUBLE_QUOTE_RE: { + const string = span.slice(i, end); + const prop = element.props[element.props.length - 1]; + const propString = prop.value; + propString.parts.push(string); + if (match2) { + matcher = PROPS_RE; + } else { + if (!expressing) { + throw new SyntaxError(`Missing \`${matcher === CLOSING_SINGLE_QUOTE_RE ? "'" : '"'}\``); + } + } + break; + } + case CLOSING_COMMENT_RE: { + if (match2) { + matcher = CHILDREN_RE; + } else { + if (!expressing) { + throw new SyntaxError("Expected `-->` but reached end of template"); + } + } + break; + } + } + } + if (expressing) { + if (expressionTarget) { + targets.push(expressionTarget); + if (expressionTarget.type === "error") { + break; + } + continue; + } + switch (matcher) { + case CHILDREN_RE: { + const target = { type: "value", value: null }; + element.children.push(target); + targets.push(target); + break; + } + case CLOSING_SINGLE_QUOTE_RE: + case CLOSING_DOUBLE_QUOTE_RE: { + const prop = element.props[element.props.length - 1]; + const target = { type: "value", value: null }; + prop.value.parts.push(target); + targets.push(target); + break; + } + case CLOSING_COMMENT_RE: + targets.push(null); + break; + default: + throw new SyntaxError("Unexpected expression"); + } + } else if (expressionTarget) { + throw new SyntaxError("Expression expected"); + } + lineStart = false; + } + if (stack.length) { + const ti = targets.indexOf(element.open); + if (ti === -1) { + throw new SyntaxError(`Unmatched opening tag "${element.open.value}"`); + } + targets[ti] = { + type: "error", + message: "Unmatched opening tag ${}", + value: null + }; + } + if (element.children.length === 1 && element.children[0].type === "element") { + element = element.children[0]; + } + return { element, targets }; + } + function build(parsed) { + if (parsed.close !== null && parsed.close.slash !== "//" && parsed.open.value !== parsed.close.value) { + throw new SyntaxError(`Unmatched closing tag ${formatTagForError(parsed.close.value)}, expected ${formatTagForError(parsed.open.value)}`); + } + const children = []; + for (let i = 0; i < parsed.children.length; i++) { + const child = parsed.children[i]; + children.push(child.type === "element" ? build(child) : child.value); + } + let props = parsed.props.length ? {} : null; + for (let i = 0; i < parsed.props.length; i++) { + const prop = parsed.props[i]; + if (prop.type === "prop") { + let value; + if (prop.value.type === "value") { + value = prop.value.value; + } else { + let string = ""; + for (let i2 = 0; i2 < prop.value.parts.length; i2++) { + const part = prop.value.parts[i2]; + if (typeof part === "string") { + string += part; + } else if (typeof part.value !== "boolean" && part.value != null) { + string += typeof part.value === "string" ? part.value : String(part.value); + } + } + value = string.slice(1, -1).replace(/\\x[0-9a-f]{2}|\\u[0-9a-f]{4}|\\u\{[0-9a-f]+\}|\\./gi, (match2) => { + switch (match2[1]) { + case "b": + return "\b"; + case "f": + return "\f"; + case "n": + return "\n"; + case "r": + return "\r"; + case "t": + return " "; + case "v": + return "\v"; + case "x": + return String.fromCharCode(parseInt(match2.slice(2), 16)); + case "u": + if (match2[2] === "{") { + return String.fromCodePoint(parseInt(match2.slice(3, -1), 16)); + } + return String.fromCharCode(parseInt(match2.slice(2), 16)); + case "0": + return "\0"; + default: + return match2.slice(1); + } + }); + } + props[prop.name] = value; + } else { + props = { ...props, ...prop.value }; + } + } + return createElement(parsed.open.value, props, ...children); + } + function formatTagForError(tag) { + return typeof tag === "function" ? tag.name + "()" : typeof tag === "string" ? `"${tag}"` : JSON.stringify(tag); + } + + // node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js + function sheetForTag(tag) { + if (tag.sheet) { + return tag.sheet; + } + for (var i = 0; i < document.styleSheets.length; i++) { + if (document.styleSheets[i].ownerNode === tag) { + return document.styleSheets[i]; + } + } + } + function createStyleElement(options) { + var tag = document.createElement("style"); + tag.setAttribute("data-emotion", options.key); + if (options.nonce !== void 0) { + tag.setAttribute("nonce", options.nonce); + } + tag.appendChild(document.createTextNode("")); + tag.setAttribute("data-s", ""); + return tag; + } + var StyleSheet = /* @__PURE__ */ function() { + function StyleSheet2(options) { + var _this = this; + this._insertTag = function(tag) { + var before; + if (_this.tags.length === 0) { + if (_this.insertionPoint) { + before = _this.insertionPoint.nextSibling; + } else if (_this.prepend) { + before = _this.container.firstChild; + } else { + before = _this.before; + } + } else { + before = _this.tags[_this.tags.length - 1].nextSibling; + } + _this.container.insertBefore(tag, before); + _this.tags.push(tag); + }; + this.isSpeedy = options.speedy === void 0 ? false : options.speedy; + this.tags = []; + this.ctr = 0; + this.nonce = options.nonce; + this.key = options.key; + this.container = options.container; + this.prepend = options.prepend; + this.insertionPoint = options.insertionPoint; + this.before = null; + } + var _proto = StyleSheet2.prototype; + _proto.hydrate = function hydrate2(nodes) { + nodes.forEach(this._insertTag); + }; + _proto.insert = function insert(rule) { + if (this.ctr % (this.isSpeedy ? 65e3 : 1) === 0) { + this._insertTag(createStyleElement(this)); + } + var tag = this.tags[this.tags.length - 1]; + if (true) { + var isImportRule3 = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105; + if (isImportRule3 && this._alreadyInsertedOrderInsensitiveRule) { + console.error("You're attempting to insert the following rule:\n" + rule + "\n\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules."); + } + this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule3; + } + if (this.isSpeedy) { + var sheet2 = sheetForTag(tag); + try { + sheet2.insertRule(rule, sheet2.cssRules.length); + } catch (e) { + if (!/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) { + console.error('There was a problem inserting the following rule: "' + rule + '"', e); + } + } + } else { + tag.appendChild(document.createTextNode(rule)); + } + this.ctr++; + }; + _proto.flush = function flush3() { + this.tags.forEach(function(tag) { + return tag.parentNode && tag.parentNode.removeChild(tag); + }); + this.tags = []; + this.ctr = 0; + if (true) { + this._alreadyInsertedOrderInsensitiveRule = false; + } + }; + return StyleSheet2; + }(); + + // node_modules/stylis/src/Enum.js + var MS = "-ms-"; + var MOZ = "-moz-"; + var WEBKIT = "-webkit-"; + var COMMENT = "comm"; + var RULESET = "rule"; + var DECLARATION = "decl"; + var IMPORT = "@import"; + var KEYFRAMES = "@keyframes"; + + // node_modules/stylis/src/Utility.js + var abs = Math.abs; + var from2 = String.fromCharCode; + var assign = Object.assign; + function hash(value, length2) { + return charat(value, 0) ^ 45 ? (((length2 << 2 ^ charat(value, 0)) << 2 ^ charat(value, 1)) << 2 ^ charat(value, 2)) << 2 ^ charat(value, 3) : 0; + } + function trim(value) { + return value.trim(); + } + function match(value, pattern) { + return (value = pattern.exec(value)) ? value[0] : value; + } + function replace(value, pattern, replacement) { + return value.replace(pattern, replacement); + } + function indexof(value, search) { + return value.indexOf(search); + } + function charat(value, index) { + return value.charCodeAt(index) | 0; + } + function substr(value, begin, end) { + return value.slice(begin, end); + } + function strlen(value) { + return value.length; + } + function sizeof(value) { + return value.length; + } + function append(value, array) { + return array.push(value), value; + } + function combine(array, callback) { + return array.map(callback).join(""); + } + + // node_modules/stylis/src/Tokenizer.js + var line = 1; + var column = 1; + var length = 0; + var position = 0; + var character = 0; + var characters = ""; + function node(value, root, parent, type, props, children, length2) { + return { value, root, parent, type, props, children, line, column, length: length2, return: "" }; + } + function copy2(root, props) { + return assign(node("", null, null, "", null, null, 0), root, { length: -root.length }, props); + } + function char() { + return character; + } + function prev() { + character = position > 0 ? charat(characters, --position) : 0; + if (column--, character === 10) + column = 1, line--; + return character; + } + function next() { + character = position < length ? charat(characters, position++) : 0; + if (column++, character === 10) + column = 1, line++; + return character; + } + function peek() { + return charat(characters, position); + } + function caret() { + return position; + } + function slice2(begin, end) { + return substr(characters, begin, end); + } + function token(type) { + switch (type) { + case 0: + case 9: + case 10: + case 13: + case 32: + return 5; + case 33: + case 43: + case 44: + case 47: + case 62: + case 64: + case 126: + case 59: + case 123: + case 125: + return 4; + case 58: + return 3; + case 34: + case 39: + case 40: + case 91: + return 2; + case 41: + case 93: + return 1; + } + return 0; + } + function alloc2(value) { + return line = column = 1, length = strlen(characters = value), position = 0, []; + } + function dealloc(value) { + return characters = "", value; + } + function delimit(type) { + return trim(slice2(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type))); + } + function whitespace(type) { + while (character = peek()) + if (character < 33) + next(); + else + break; + return token(type) > 2 || token(character) > 3 ? "" : " "; + } + function escaping(index, count) { + while (--count && next()) + if (character < 48 || character > 102 || character > 57 && character < 65 || character > 70 && character < 97) + break; + return slice2(index, caret() + (count < 6 && peek() == 32 && next() == 32)); + } + function delimiter(type) { + while (next()) + switch (character) { + case type: + return position; + case 34: + case 39: + if (type !== 34 && type !== 39) + delimiter(character); + break; + case 40: + if (type === 41) + delimiter(type); + break; + case 92: + next(); + break; + } + return position; + } + function commenter(type, index) { + while (next()) + if (type + character === 47 + 10) + break; + else if (type + character === 42 + 42 && peek() === 47) + break; + return "/*" + slice2(index, position - 1) + "*" + from2(type === 47 ? type : next()); + } + function identifier(index) { + while (!token(peek())) + next(); + return slice2(index, position); + } + + // node_modules/stylis/src/Parser.js + function compile(value) { + return dealloc(parse2("", null, null, null, [""], value = alloc2(value), 0, [0], value)); + } + function parse2(value, root, parent, rule, rules, rulesets, pseudo, points, declarations) { + var index = 0; + var offset = 0; + var length2 = pseudo; + var atrule = 0; + var property = 0; + var previous = 0; + var variable = 1; + var scanning = 1; + var ampersand = 1; + var character2 = 0; + var type = ""; + var props = rules; + var children = rulesets; + var reference = rule; + var characters2 = type; + while (scanning) + switch (previous = character2, character2 = next()) { + case 40: + if (previous != 108 && charat(characters2, length2 - 1) == 58) { + if (indexof(characters2 += replace(delimit(character2), "&", "&\f"), "&\f") != -1) + ampersand = -1; + break; + } + case 34: + case 39: + case 91: + characters2 += delimit(character2); + break; + case 9: + case 10: + case 13: + case 32: + characters2 += whitespace(previous); + break; + case 92: + characters2 += escaping(caret() - 1, 7); + continue; + case 47: + switch (peek()) { + case 42: + case 47: + append(comment(commenter(next(), caret()), root, parent), declarations); + break; + default: + characters2 += "/"; + } + break; + case 123 * variable: + points[index++] = strlen(characters2) * ampersand; + case 125 * variable: + case 59: + case 0: + switch (character2) { + case 0: + case 125: + scanning = 0; + case 59 + offset: + if (property > 0 && strlen(characters2) - length2) + append(property > 32 ? declaration(characters2 + ";", rule, parent, length2 - 1) : declaration(replace(characters2, " ", "") + ";", rule, parent, length2 - 2), declarations); + break; + case 59: + characters2 += ";"; + default: + append(reference = ruleset(characters2, root, parent, index, offset, rules, points, type, props = [], children = [], length2), rulesets); + if (character2 === 123) + if (offset === 0) + parse2(characters2, root, reference, reference, props, rulesets, length2, points, children); + else + switch (atrule === 99 && charat(characters2, 3) === 110 ? 100 : atrule) { + case 100: + case 109: + case 115: + parse2(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length2), children), rules, children, length2, points, rule ? props : children); + break; + default: + parse2(characters2, reference, reference, reference, [""], children, 0, points, children); + } + } + index = offset = property = 0, variable = ampersand = 1, type = characters2 = "", length2 = pseudo; + break; + case 58: + length2 = 1 + strlen(characters2), property = previous; + default: + if (variable < 1) { + if (character2 == 123) + --variable; + else if (character2 == 125 && variable++ == 0 && prev() == 125) + continue; + } + switch (characters2 += from2(character2), character2 * variable) { + case 38: + ampersand = offset > 0 ? 1 : (characters2 += "\f", -1); + break; + case 44: + points[index++] = (strlen(characters2) - 1) * ampersand, ampersand = 1; + break; + case 64: + if (peek() === 45) + characters2 += delimit(next()); + atrule = peek(), offset = length2 = strlen(type = characters2 += identifier(caret())), character2++; + break; + case 45: + if (previous === 45 && strlen(characters2) == 2) + variable = 0; + } + } + return rulesets; + } + function ruleset(value, root, parent, index, offset, rules, points, type, props, children, length2) { + var post = offset - 1; + var rule = offset === 0 ? rules : [""]; + var size = sizeof(rule); + for (var i = 0, j = 0, k = 0; i < index; ++i) + for (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x) + if (z = trim(j > 0 ? rule[x] + " " + y : replace(y, /&\f/g, rule[x]))) + props[k++] = z; + return node(value, root, parent, offset === 0 ? RULESET : type, props, children, length2); + } + function comment(value, root, parent) { + return node(value, root, parent, COMMENT, from2(char()), substr(value, 2, -2), 0); + } + function declaration(value, root, parent, length2) { + return node(value, root, parent, DECLARATION, substr(value, 0, length2), substr(value, length2 + 1, -1), length2); + } + + // node_modules/stylis/src/Serializer.js + function serialize(children, callback) { + var output = ""; + var length2 = sizeof(children); + for (var i = 0; i < length2; i++) + output += callback(children[i], i, children, callback) || ""; + return output; + } + function stringify(element, index, children, callback) { + switch (element.type) { + case IMPORT: + case DECLARATION: + return element.return = element.return || element.value; + case COMMENT: + return ""; + case KEYFRAMES: + return element.return = element.value + "{" + serialize(element.children, callback) + "}"; + case RULESET: + element.value = element.props.join(","); + } + return strlen(children = serialize(element.children, callback)) ? element.return = element.value + "{" + children + "}" : ""; + } + + // node_modules/stylis/src/Middleware.js + function middleware(collection) { + var length2 = sizeof(collection); + return function(element, index, children, callback) { + var output = ""; + for (var i = 0; i < length2; i++) + output += collection[i](element, index, children, callback) || ""; + return output; + }; + } + + // node_modules/@emotion/memoize/dist/emotion-memoize.esm.js + function memoize(fn) { + var cache3 = /* @__PURE__ */ Object.create(null); + return function(arg) { + if (cache3[arg] === void 0) + cache3[arg] = fn(arg); + return cache3[arg]; + }; + } + var emotion_memoize_esm_default = memoize; + + // node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js + var identifierWithPointTracking = function identifierWithPointTracking2(begin, points, index) { + var previous = 0; + var character2 = 0; + while (true) { + previous = character2; + character2 = peek(); + if (previous === 38 && character2 === 12) { + points[index] = 1; + } + if (token(character2)) { + break; + } + next(); + } + return slice2(begin, position); + }; + var toRules = function toRules2(parsed, points) { + var index = -1; + var character2 = 44; + do { + switch (token(character2)) { + case 0: + if (character2 === 38 && peek() === 12) { + points[index] = 1; + } + parsed[index] += identifierWithPointTracking(position - 1, points, index); + break; + case 2: + parsed[index] += delimit(character2); + break; + case 4: + if (character2 === 44) { + parsed[++index] = peek() === 58 ? "&\f" : ""; + points[index] = parsed[index].length; + break; + } + default: + parsed[index] += from2(character2); + } + } while (character2 = next()); + return parsed; + }; + var getRules = function getRules2(value, points) { + return dealloc(toRules(alloc2(value), points)); + }; + var fixedElements = /* @__PURE__ */ new WeakMap(); + var compat = function compat2(element) { + if (element.type !== "rule" || !element.parent || // positive .length indicates that this rule contains pseudo + // negative .length indicates that this rule has been already prefixed + element.length < 1) { + return; + } + var value = element.value, parent = element.parent; + var isImplicitRule = element.column === parent.column && element.line === parent.line; + while (parent.type !== "rule") { + parent = parent.parent; + if (!parent) + return; + } + if (element.props.length === 1 && value.charCodeAt(0) !== 58 && !fixedElements.get(parent)) { + return; + } + if (isImplicitRule) { + return; + } + fixedElements.set(element, true); + var points = []; + var rules = getRules(value, points); + var parentRules = parent.props; + for (var i = 0, k = 0; i < rules.length; i++) { + for (var j = 0; j < parentRules.length; j++, k++) { + element.props[k] = points[i] ? rules[i].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i]; + } + } + }; + var removeLabel = function removeLabel2(element) { + if (element.type === "decl") { + var value = element.value; + if ( + // charcode for l + value.charCodeAt(0) === 108 && // charcode for b + value.charCodeAt(2) === 98 + ) { + element["return"] = ""; + element.value = ""; + } + } + }; + var ignoreFlag = "emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason"; + var isIgnoringComment = function isIgnoringComment2(element) { + return element.type === "comm" && element.children.indexOf(ignoreFlag) > -1; + }; + var createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm2(cache3) { + return function(element, index, children) { + if (element.type !== "rule" || cache3.compat) + return; + var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g); + if (unsafePseudoClasses) { + var isNested = element.parent === children[0]; + var commentContainer = isNested ? children[0].children : ( + // global rule at the root level + children + ); + for (var i = commentContainer.length - 1; i >= 0; i--) { + var node2 = commentContainer[i]; + if (node2.line < element.line) { + break; + } + if (node2.column < element.column) { + if (isIgnoringComment(node2)) { + return; + } + break; + } + } + unsafePseudoClasses.forEach(function(unsafePseudoClass) { + console.error('The pseudo class "' + unsafePseudoClass + '" is potentially unsafe when doing server-side rendering. Try changing it to "' + unsafePseudoClass.split("-child")[0] + '-of-type".'); + }); + } + }; + }; + var isImportRule = function isImportRule2(element) { + return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64; + }; + var isPrependedWithRegularRules = function isPrependedWithRegularRules2(index, children) { + for (var i = index - 1; i >= 0; i--) { + if (!isImportRule(children[i])) { + return true; + } + } + return false; + }; + var nullifyElement = function nullifyElement2(element) { + element.type = ""; + element.value = ""; + element["return"] = ""; + element.children = ""; + element.props = ""; + }; + var incorrectImportAlarm = function incorrectImportAlarm2(element, index, children) { + if (!isImportRule(element)) { + return; + } + if (element.parent) { + console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles."); + nullifyElement(element); + } else if (isPrependedWithRegularRules(index, children)) { + console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules."); + nullifyElement(element); + } + }; + function prefix(value, length2) { + switch (hash(value, length2)) { + case 5103: + return WEBKIT + "print-" + value + value; + case 5737: + case 4201: + case 3177: + case 3433: + case 1641: + case 4457: + case 2921: + case 5572: + case 6356: + case 5844: + case 3191: + case 6645: + case 3005: + case 6391: + case 5879: + case 5623: + case 6135: + case 4599: + case 4855: + case 4215: + case 6389: + case 5109: + case 5365: + case 5621: + case 3829: + return WEBKIT + value + value; + case 5349: + case 4246: + case 4810: + case 6968: + case 2756: + return WEBKIT + value + MOZ + value + MS + value + value; + case 6828: + case 4268: + return WEBKIT + value + MS + value + value; + case 6165: + return WEBKIT + value + MS + "flex-" + value + value; + case 5187: + return WEBKIT + value + replace(value, /(\w+).+(:[^]+)/, WEBKIT + "box-$1$2" + MS + "flex-$1$2") + value; + case 5443: + return WEBKIT + value + MS + "flex-item-" + replace(value, /flex-|-self/, "") + value; + case 4675: + return WEBKIT + value + MS + "flex-line-pack" + replace(value, /align-content|flex-|-self/, "") + value; + case 5548: + return WEBKIT + value + MS + replace(value, "shrink", "negative") + value; + case 5292: + return WEBKIT + value + MS + replace(value, "basis", "preferred-size") + value; + case 6060: + return WEBKIT + "box-" + replace(value, "-grow", "") + WEBKIT + value + MS + replace(value, "grow", "positive") + value; + case 4554: + return WEBKIT + replace(value, /([^-])(transform)/g, "$1" + WEBKIT + "$2") + value; + case 6187: + return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + "$1"), /(image-set)/, WEBKIT + "$1"), value, "") + value; + case 5495: + case 3959: + return replace(value, /(image-set\([^]*)/, WEBKIT + "$1$`$1"); + case 4968: + return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + "box-pack:$3" + MS + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + WEBKIT + value + value; + case 4095: + case 3583: + case 4068: + case 2532: + return replace(value, /(.+)-inline(.+)/, WEBKIT + "$1$2") + value; + case 8116: + case 7059: + case 5753: + case 5535: + case 5445: + case 5701: + case 4933: + case 4677: + case 5533: + case 5789: + case 5021: + case 4765: + if (strlen(value) - 1 - length2 > 6) + switch (charat(value, length2 + 1)) { + case 109: + if (charat(value, length2 + 4) !== 45) + break; + case 102: + return replace(value, /(.+:)(.+)-([^]+)/, "$1" + WEBKIT + "$2-$3$1" + MOZ + (charat(value, length2 + 3) == 108 ? "$3" : "$2-$3")) + value; + case 115: + return ~indexof(value, "stretch") ? prefix(replace(value, "stretch", "fill-available"), length2) + value : value; + } + break; + case 4949: + if (charat(value, length2 + 1) !== 115) + break; + case 6444: + switch (charat(value, strlen(value) - 3 - (~indexof(value, "!important") && 10))) { + case 107: + return replace(value, ":", ":" + WEBKIT) + value; + case 101: + return replace(value, /(.+:)([^;!]+)(;|!.+)?/, "$1" + WEBKIT + (charat(value, 14) === 45 ? "inline-" : "") + "box$3$1" + WEBKIT + "$2$3$1" + MS + "$2box$3") + value; + } + break; + case 5936: + switch (charat(value, length2 + 11)) { + case 114: + return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb") + value; + case 108: + return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb-rl") + value; + case 45: + return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "lr") + value; + } + return WEBKIT + value + MS + value + value; + } + return value; + } + var prefixer = function prefixer2(element, index, children, callback) { + if (element.length > -1) { + if (!element["return"]) + switch (element.type) { + case DECLARATION: + element["return"] = prefix(element.value, element.length); + break; + case KEYFRAMES: + return serialize([copy2(element, { + value: replace(element.value, "@", "@" + WEBKIT) + })], callback); + case RULESET: + if (element.length) + return combine(element.props, function(value) { + switch (match(value, /(::plac\w+|:read-\w+)/)) { + case ":read-only": + case ":read-write": + return serialize([copy2(element, { + props: [replace(value, /:(read-\w+)/, ":" + MOZ + "$1")] + })], callback); + case "::placeholder": + return serialize([copy2(element, { + props: [replace(value, /:(plac\w+)/, ":" + WEBKIT + "input-$1")] + }), copy2(element, { + props: [replace(value, /:(plac\w+)/, ":" + MOZ + "$1")] + }), copy2(element, { + props: [replace(value, /:(plac\w+)/, MS + "input-$1")] + })], callback); + } + return ""; + }); + } + } + }; + var defaultStylisPlugins = [prefixer]; + var createCache = function createCache2(options) { + var key = options.key; + if (!key) { + throw new Error("You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\nIf multiple caches share the same key they might \"fight\" for each other's style elements."); + } + if (key === "css") { + var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])"); + Array.prototype.forEach.call(ssrStyles, function(node2) { + var dataEmotionAttribute = node2.getAttribute("data-emotion"); + if (dataEmotionAttribute.indexOf(" ") === -1) { + return; + } + document.head.appendChild(node2); + node2.setAttribute("data-s", ""); + }); + } + var stylisPlugins = options.stylisPlugins || defaultStylisPlugins; + if (true) { + if (/[^a-z-]/.test(key)) { + throw new Error('Emotion key must only contain lower case alphabetical characters and - but "' + key + '" was passed'); + } + } + var inserted = {}; + var container; + var nodesToHydrate = []; + { + container = options.container || document.head; + Array.prototype.forEach.call( + // this means we will ignore elements which don't have a space in them which + // means that the style elements we're looking at are only Emotion 11 server-rendered style elements + document.querySelectorAll('style[data-emotion^="' + key + ' "]'), + function(node2) { + var attrib = node2.getAttribute("data-emotion").split(" "); + for (var i = 1; i < attrib.length; i++) { + inserted[attrib[i]] = true; + } + nodesToHydrate.push(node2); + } + ); + } + var _insert; + var omnipresentPlugins = [compat, removeLabel]; + if (true) { + omnipresentPlugins.push(createUnsafeSelectorsAlarm({ + get compat() { + return cache3.compat; + } + }), incorrectImportAlarm); + } + { + var currentSheet; + var finalizingPlugins = [stringify, true ? function(element) { + if (!element.root) { + if (element["return"]) { + currentSheet.insert(element["return"]); + } else if (element.value && element.type !== COMMENT) { + currentSheet.insert(element.value + "{}"); + } + } + } : rulesheet(function(rule) { + currentSheet.insert(rule); + })]; + var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins)); + var stylis = function stylis2(styles) { + return serialize(compile(styles), serializer); + }; + _insert = function insert(selector, serialized, sheet2, shouldCache) { + currentSheet = sheet2; + if (serialized.map !== void 0) { + currentSheet = { + insert: function insert2(rule) { + sheet2.insert(rule + serialized.map); + } + }; + } + stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles); + if (shouldCache) { + cache3.inserted[serialized.name] = true; + } + }; + } + var cache3 = { + key, + sheet: new StyleSheet({ + key, + container, + nonce: options.nonce, + speedy: options.speedy, + prepend: options.prepend, + insertionPoint: options.insertionPoint + }), + nonce: options.nonce, + inserted, + registered: {}, + insert: _insert + }; + cache3.sheet.hydrate(nodesToHydrate); + return cache3; + }; + var emotion_cache_browser_esm_default = createCache; + + // node_modules/@emotion/hash/dist/emotion-hash.esm.js + function murmur2(str) { + var h = 0; + var k, i = 0, len = str.length; + for (; len >= 4; ++i, len -= 4) { + k = str.charCodeAt(i) & 255 | (str.charCodeAt(++i) & 255) << 8 | (str.charCodeAt(++i) & 255) << 16 | (str.charCodeAt(++i) & 255) << 24; + k = /* Math.imul(k, m): */ + (k & 65535) * 1540483477 + ((k >>> 16) * 59797 << 16); + k ^= /* k >>> r: */ + k >>> 24; + h = /* Math.imul(k, m): */ + (k & 65535) * 1540483477 + ((k >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */ + (h & 65535) * 1540483477 + ((h >>> 16) * 59797 << 16); + } + switch (len) { + case 3: + h ^= (str.charCodeAt(i + 2) & 255) << 16; + case 2: + h ^= (str.charCodeAt(i + 1) & 255) << 8; + case 1: + h ^= str.charCodeAt(i) & 255; + h = /* Math.imul(h, m): */ + (h & 65535) * 1540483477 + ((h >>> 16) * 59797 << 16); + } + h ^= h >>> 13; + h = /* Math.imul(h, m): */ + (h & 65535) * 1540483477 + ((h >>> 16) * 59797 << 16); + return ((h ^ h >>> 15) >>> 0).toString(36); + } + var emotion_hash_esm_default = murmur2; + + // node_modules/@emotion/unitless/dist/emotion-unitless.esm.js + var unitlessKeys = { + animationIterationCount: 1, + borderImageOutset: 1, + borderImageSlice: 1, + borderImageWidth: 1, + boxFlex: 1, + boxFlexGroup: 1, + boxOrdinalGroup: 1, + columnCount: 1, + columns: 1, + flex: 1, + flexGrow: 1, + flexPositive: 1, + flexShrink: 1, + flexNegative: 1, + flexOrder: 1, + gridRow: 1, + gridRowEnd: 1, + gridRowSpan: 1, + gridRowStart: 1, + gridColumn: 1, + gridColumnEnd: 1, + gridColumnSpan: 1, + gridColumnStart: 1, + msGridRow: 1, + msGridRowSpan: 1, + msGridColumn: 1, + msGridColumnSpan: 1, + fontWeight: 1, + lineHeight: 1, + opacity: 1, + order: 1, + orphans: 1, + tabSize: 1, + widows: 1, + zIndex: 1, + zoom: 1, + WebkitLineClamp: 1, + // SVG-related properties + fillOpacity: 1, + floodOpacity: 1, + stopOpacity: 1, + strokeDasharray: 1, + strokeDashoffset: 1, + strokeMiterlimit: 1, + strokeOpacity: 1, + strokeWidth: 1 + }; + var emotion_unitless_esm_default = unitlessKeys; + + // node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js + var ILLEGAL_ESCAPE_SEQUENCE_ERROR = `You have illegal escape sequence in your template literal, most likely inside content's property value. +Because you write your CSS inside a JavaScript string you actually have to do double escaping, so for example "content: '\\00d7';" should become "content: '\\\\00d7';". +You can read more about this here: +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences`; + var UNDEFINED_AS_OBJECT_KEY_ERROR = "You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key)."; + var hyphenateRegex = /[A-Z]|^ms/g; + var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g; + var isCustomProperty = function isCustomProperty2(property) { + return property.charCodeAt(1) === 45; + }; + var isProcessableValue = function isProcessableValue2(value) { + return value != null && typeof value !== "boolean"; + }; + var processStyleName = /* @__PURE__ */ emotion_memoize_esm_default(function(styleName) { + return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, "-$&").toLowerCase(); + }); + var processStyleValue = function processStyleValue2(key, value) { + switch (key) { + case "animation": + case "animationName": { + if (typeof value === "string") { + return value.replace(animationRegex, function(match2, p1, p2) { + cursor = { + name: p1, + styles: p2, + next: cursor + }; + return p1; + }); + } + } + } + if (emotion_unitless_esm_default[key] !== 1 && !isCustomProperty(key) && typeof value === "number" && value !== 0) { + return value + "px"; + } + return value; + }; + if (true) { + contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\(|(no-)?(open|close)-quote/; + contentValues = ["normal", "none", "initial", "inherit", "unset"]; + oldProcessStyleValue = processStyleValue; + msPattern = /^-ms-/; + hyphenPattern = /-(.)/g; + hyphenatedCache = {}; + processStyleValue = function processStyleValue3(key, value) { + if (key === "content") { + if (typeof value !== "string" || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '"' && value.charAt(0) !== "'")) { + throw new Error("You seem to be using a value for 'content' without quotes, try replacing it with `content: '\"" + value + "\"'`"); + } + } + var processed = oldProcessStyleValue(key, value); + if (processed !== "" && !isCustomProperty(key) && key.indexOf("-") !== -1 && hyphenatedCache[key] === void 0) { + hyphenatedCache[key] = true; + console.error("Using kebab-case for css properties in objects is not supported. Did you mean " + key.replace(msPattern, "ms-").replace(hyphenPattern, function(str, _char) { + return _char.toUpperCase(); + }) + "?"); + } + return processed; + }; + } + var contentValuePattern; + var contentValues; + var oldProcessStyleValue; + var msPattern; + var hyphenPattern; + var hyphenatedCache; + var noComponentSelectorMessage = "Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform."; + function handleInterpolation(mergedProps, registered, interpolation) { + if (interpolation == null) { + return ""; + } + if (interpolation.__emotion_styles !== void 0) { + if (interpolation.toString() === "NO_COMPONENT_SELECTOR") { + throw new Error(noComponentSelectorMessage); + } + return interpolation; + } + switch (typeof interpolation) { + case "boolean": { + return ""; + } + case "object": { + if (interpolation.anim === 1) { + cursor = { + name: interpolation.name, + styles: interpolation.styles, + next: cursor + }; + return interpolation.name; + } + if (interpolation.styles !== void 0) { + var next2 = interpolation.next; + if (next2 !== void 0) { + while (next2 !== void 0) { + cursor = { + name: next2.name, + styles: next2.styles, + next: cursor + }; + next2 = next2.next; + } + } + var styles = interpolation.styles + ";"; + if (interpolation.map !== void 0) { + styles += interpolation.map; + } + return styles; + } + return createStringFromObject(mergedProps, registered, interpolation); + } + case "function": { + if (mergedProps !== void 0) { + var previousCursor = cursor; + var result = interpolation(mergedProps); + cursor = previousCursor; + return handleInterpolation(mergedProps, registered, result); + } else if (true) { + console.error("Functions that are interpolated in css calls will be stringified.\nIf you want to have a css call based on props, create a function that returns a css call like this\nlet dynamicStyle = (props) => css`color: ${props.color}`\nIt can be called directly with props or interpolated in a styled call like this\nlet SomeComponent = styled('div')`${dynamicStyle}`"); + } + break; + } + case "string": + if (true) { + var matched = []; + var replaced = interpolation.replace(animationRegex, function(match2, p1, p2) { + var fakeVarName = "animation" + matched.length; + matched.push("const " + fakeVarName + " = keyframes`" + p2.replace(/^@keyframes animation-\w+/, "") + "`"); + return "${" + fakeVarName + "}"; + }); + if (matched.length) { + console.error("`keyframes` output got interpolated into plain string, please wrap it with `css`.\n\nInstead of doing this:\n\n" + [].concat(matched, ["`" + replaced + "`"]).join("\n") + "\n\nYou should wrap it with `css` like this:\n\n" + ("css`" + replaced + "`")); + } + } + break; + } + if (registered == null) { + return interpolation; + } + var cached = registered[interpolation]; + return cached !== void 0 ? cached : interpolation; + } + function createStringFromObject(mergedProps, registered, obj) { + var string = ""; + if (Array.isArray(obj)) { + for (var i = 0; i < obj.length; i++) { + string += handleInterpolation(mergedProps, registered, obj[i]) + ";"; + } + } else { + for (var _key in obj) { + var value = obj[_key]; + if (typeof value !== "object") { + if (registered != null && registered[value] !== void 0) { + string += _key + "{" + registered[value] + "}"; + } else if (isProcessableValue(value)) { + string += processStyleName(_key) + ":" + processStyleValue(_key, value) + ";"; + } + } else { + if (_key === "NO_COMPONENT_SELECTOR" && true) { + throw new Error(noComponentSelectorMessage); + } + if (Array.isArray(value) && typeof value[0] === "string" && (registered == null || registered[value[0]] === void 0)) { + for (var _i = 0; _i < value.length; _i++) { + if (isProcessableValue(value[_i])) { + string += processStyleName(_key) + ":" + processStyleValue(_key, value[_i]) + ";"; + } + } + } else { + var interpolated = handleInterpolation(mergedProps, registered, value); + switch (_key) { + case "animation": + case "animationName": { + string += processStyleName(_key) + ":" + interpolated + ";"; + break; + } + default: { + if (_key === "undefined") { + console.error(UNDEFINED_AS_OBJECT_KEY_ERROR); + } + string += _key + "{" + interpolated + "}"; + } + } + } + } + } + } + return string; + } + var labelPattern = /label:\s*([^\s;\n{]+)\s*(;|$)/g; + var sourceMapPattern; + if (true) { + sourceMapPattern = /\/\*#\ssourceMappingURL=data:application\/json;\S+\s+\*\//g; + } + var cursor; + var serializeStyles = function serializeStyles2(args, registered, mergedProps) { + if (args.length === 1 && typeof args[0] === "object" && args[0] !== null && args[0].styles !== void 0) { + return args[0]; + } + var stringMode = true; + var styles = ""; + cursor = void 0; + var strings = args[0]; + if (strings == null || strings.raw === void 0) { + stringMode = false; + styles += handleInterpolation(mergedProps, registered, strings); + } else { + if (strings[0] === void 0) { + console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR); + } + styles += strings[0]; + } + for (var i = 1; i < args.length; i++) { + styles += handleInterpolation(mergedProps, registered, args[i]); + if (stringMode) { + if (strings[i] === void 0) { + console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR); + } + styles += strings[i]; + } + } + var sourceMap; + if (true) { + styles = styles.replace(sourceMapPattern, function(match3) { + sourceMap = match3; + return ""; + }); + } + labelPattern.lastIndex = 0; + var identifierName = ""; + var match2; + while ((match2 = labelPattern.exec(styles)) !== null) { + identifierName += "-" + // $FlowFixMe we know it's not null + match2[1]; + } + var name = emotion_hash_esm_default(styles) + identifierName; + if (true) { + return { + name, + styles, + map: sourceMap, + next: cursor, + toString: function toString2() { + return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; + } + }; + } + return { + name, + styles, + next: cursor + }; + }; + + // node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js + var isBrowser = true; + function getRegisteredStyles(registered, registeredStyles, classNames) { + var rawClassName = ""; + classNames.split(" ").forEach(function(className) { + if (registered[className] !== void 0) { + registeredStyles.push(registered[className] + ";"); + } else { + rawClassName += className + " "; + } + }); + return rawClassName; + } + var registerStyles = function registerStyles2(cache3, serialized, isStringTag) { + var className = cache3.key + "-" + serialized.name; + if ( + // we only need to add the styles to the registered cache if the + // class name could be used further down + // the tree but if it's a string tag, we know it won't + // so we don't have to add it to registered cache. + // this improves memory usage since we can avoid storing the whole style string + (isStringTag === false || // we need to always store it if we're in compat mode and + // in node since emotion-server relies on whether a style is in + // the registered cache to know whether a style is global or not + // also, note that this check will be dead code eliminated in the browser + isBrowser === false) && cache3.registered[className] === void 0 + ) { + cache3.registered[className] = serialized.styles; + } + }; + var insertStyles = function insertStyles2(cache3, serialized, isStringTag) { + registerStyles(cache3, serialized, isStringTag); + var className = cache3.key + "-" + serialized.name; + if (cache3.inserted[serialized.name] === void 0) { + var current = serialized; + do { + var maybeStyles = cache3.insert(serialized === current ? "." + className : "", current, cache3.sheet, true); + current = current.next; + } while (current !== void 0); + } + }; + + // node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js + function insertWithoutScoping(cache3, serialized) { + if (cache3.inserted[serialized.name] === void 0) { + return cache3.insert("", serialized, cache3.sheet, true); + } + } + function merge(registered, css2, className) { + var registeredStyles = []; + var rawClassName = getRegisteredStyles(registered, registeredStyles, className); + if (registeredStyles.length < 2) { + return className; + } + return rawClassName + css2(registeredStyles); + } + var createEmotion = function createEmotion2(options) { + var cache3 = emotion_cache_browser_esm_default(options); + cache3.sheet.speedy = function(value) { + if (this.ctr !== 0) { + throw new Error("speedy must be changed before any rules are inserted"); + } + this.isSpeedy = value; + }; + cache3.compat = true; + var css2 = function css3() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + var serialized = serializeStyles(args, cache3.registered, void 0); + insertStyles(cache3, serialized, false); + return cache3.key + "-" + serialized.name; + }; + var keyframes2 = function keyframes3() { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + var serialized = serializeStyles(args, cache3.registered); + var animation = "animation-" + serialized.name; + insertWithoutScoping(cache3, { + name: serialized.name, + styles: "@keyframes " + animation + "{" + serialized.styles + "}" + }); + return animation; + }; + var injectGlobal2 = function injectGlobal3() { + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + var serialized = serializeStyles(args, cache3.registered); + insertWithoutScoping(cache3, serialized); + }; + var cx2 = function cx3() { + for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + args[_key4] = arguments[_key4]; + } + return merge(cache3.registered, css2, classnames(args)); + }; + return { + css: css2, + cx: cx2, + injectGlobal: injectGlobal2, + keyframes: keyframes2, + hydrate: function hydrate2(ids) { + ids.forEach(function(key) { + cache3.inserted[key] = true; + }); + }, + flush: function flush3() { + cache3.registered = {}; + cache3.inserted = {}; + cache3.sheet.flush(); + }, + // $FlowFixMe + sheet: cache3.sheet, + cache: cache3, + getRegisteredStyles: getRegisteredStyles.bind(null, cache3.registered), + merge: merge.bind(null, cache3.registered, css2) + }; + }; + var classnames = function classnames2(args) { + var cls = ""; + for (var i = 0; i < args.length; i++) { + var arg = args[i]; + if (arg == null) + continue; + var toAdd = void 0; + switch (typeof arg) { + case "boolean": + break; + case "object": { + if (Array.isArray(arg)) { + toAdd = classnames2(arg); + } else { + toAdd = ""; + for (var k in arg) { + if (arg[k] && k) { + toAdd && (toAdd += " "); + toAdd += k; + } + } + } + break; + } + default: { + toAdd = arg; + } + } + if (toAdd) { + cls && (cls += " "); + cls += toAdd; + } + } + return cls; + }; + var emotion_css_create_instance_esm_default = createEmotion; + + // node_modules/@emotion/css/dist/emotion-css.esm.js + var _createEmotion = emotion_css_create_instance_esm_default({ + key: "css" + }); + var flush2 = _createEmotion.flush; + var hydrate = _createEmotion.hydrate; + var cx = _createEmotion.cx; + var merge2 = _createEmotion.merge; + var getRegisteredStyles2 = _createEmotion.getRegisteredStyles; + var injectGlobal = _createEmotion.injectGlobal; + var keyframes = _createEmotion.keyframes; + var css = _createEmotion.css; + var sheet = _createEmotion.sheet; + var cache2 = _createEmotion.cache; + + // src/components/gear-interactive.ts + function radiansFromDegrees(d) { + return d * Math.PI / 180; + } + function rotate([x, y], a) { + return [x * Math.cos(a) - y * Math.sin(a), x * Math.sin(a) + y * Math.cos(a)]; + } + function invAngle(radius, baseRadius) { + return Math.sqrt(radius ** 2 - baseRadius ** 2) / baseRadius; + } + function invPoint(angle, baseRadius) { + return [ + baseRadius * (Math.cos(angle) + angle * Math.sin(angle)), + baseRadius * (Math.sin(angle) - angle * Math.cos(angle)) + ]; + } + function invIntersectAngle(radius, baseRadius) { + const angle = Math.sqrt(radius ** 2 - baseRadius ** 2) / baseRadius; + const [x, y] = invPoint(angle, baseRadius); + return Math.atan2(y, x); + } + function calculateGear(mod, toothCount, pressureAngle) { + const pitchRadius = mod * toothCount / 2; + const baseRadius = pitchRadius * Math.cos(pressureAngle); + const dedRadius = pitchRadius - mod; + const addRadius = pitchRadius + mod; + const toothAngle = 2 * Math.PI / toothCount; + const addAngle = invIntersectAngle(addRadius, baseRadius); + let points = []; + for (let i = 0, steps = 12, maxAngle = invAngle(addRadius, baseRadius); i <= steps; i++) { + const angle = maxAngle * i / steps; + const [x, y] = invPoint(angle, baseRadius); + points.push([x, y]); + } + const mirrorAngle = toothAngle / 2 + invIntersectAngle(pitchRadius, baseRadius) * 2; + { + const points1 = points.map(([x, y]) => { + y = -y; + [x, y] = rotate([x, y], mirrorAngle); + return [x, y]; + }).reverse(); + points.push(...points1); + } + points = points.map(([x, y]) => rotate([x, y], -mirrorAngle / 2)); + let toothPoints = []; + for (let i = 0; i <= toothCount; i++) { + const points1 = points.slice().map(([x, y]) => { + const a = toothAngle * i; + return rotate([x, y], a); + }).map(([x, y]) => [Math.round(x * 100) / 100, Math.round(y * 100) / 100]); + toothPoints.push(points1); + } + const path = toothPoints.map((points2, i) => { + return points2.map(([x, y], j) => { + if (i === 0) { + return `M ${x} ${y}`; + } else if (j === 0) { + const radius = toothCount / 2; + return `A ${radius} ${radius} 0 0 0 ${x} ${y}`; + } + return `L ${x} ${y}`; + }).join(" "); + }).join(" "); + return { + path, + pitchRadius, + baseRadius, + dedRadius, + addRadius, + addAngle, + toothAngle, + mirrorAngle + }; + } + function* Gear({ + mod, + toothCount, + offset, + mask, + stroke, + strokeWidth, + fill: fill2, + circleRadius + }) { + const pressureAngle = radiansFromDegrees(20); + let path; + let dedRadius = 0; + let toothAngle = 0; + let oldMod; + let oldToothCount; + for ({ + mod, + toothCount, + offset, + mask, + stroke, + strokeWidth, + fill: fill2, + circleRadius + } of this) { + if (oldMod !== mod || oldToothCount !== toothCount) { + ({ path, dedRadius, toothAngle } = calculateGear( + mod, + toothCount, + pressureAngle + )); + circleRadius = circleRadius == null ? dedRadius - 2 * mod : circleRadius; + path += ` + M ${-circleRadius} 0 + a ${circleRadius} ${circleRadius} 0 1 0 ${circleRadius * 2} 0 + a ${circleRadius} ${circleRadius} 0 1 0 ${-circleRadius * 2} 0 + `; + } + const pathAngle = offset ? 0 : -toothAngle / 2; + yield jsx` + + `; + oldMod = mod; + oldToothCount = toothCount; + } + } + function GearLogo({ width = 400, height = 400 }) { + const r = 300; + const wa = 35 * Math.PI / 180; + return jsx` + + + + + + + + + <${Gear} + mod=${20} + toothCount=${16} + offset=${1} + stroke="none" + strokeWidth="4" + mask="url(#wedge-mask)" + circleRadius=${110} + /> + + + + + `; + } + + // src/components/color-scheme-toggle.ts + var colorScheme; + if (typeof window !== "undefined") { + colorScheme = sessionStorage.getItem("color-scheme") || (window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"); + if (colorScheme === "dark") { + document.body.classList.remove("color-scheme-light"); + } else { + document.body.classList.add("color-scheme-light"); + } + } + function ColorSchemeToggle() { + const onclick2 = () => { + colorScheme = colorScheme === "dark" ? "light" : "dark"; + sessionStorage.setItem("color-scheme", colorScheme); + this.refresh(); + }; + if (typeof window !== "undefined") { + if (colorScheme === "dark") { + document.body.classList.remove("color-scheme-light"); + for (const iframe of Array.from( + document.querySelectorAll(".playground-iframe") + )) { + iframe.contentWindow?.document.body.classList.remove("color-scheme-light"); + } + } else { + document.body.classList.add("color-scheme-light"); + for (const iframe of Array.from( + document.querySelectorAll(".playground-iframe") + )) { + iframe.contentWindow?.document.body.classList.add("color-scheme-light"); + } + } + } + return jsx` + + `; + } + + // src/components/navbar.ts + var positionFixed = css` + position: fixed; + top: 0; + left: 0; + right: 0; + height: 50px; + z-index: 999; + gap: 1em; +`; + var navbarGroupLayout = css` + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + gap: 1em; +`; + function Navbar({ url }) { + return jsx` +

    + `; + } + + // node_modules/@b9g/crank/dom.js + var SVG_NAMESPACE = "http://www.w3.org/2000/svg"; + var impl = { + scope(xmlns, tag, props) { + switch (tag) { + case Portal: + xmlns = void 0; + break; + case "svg": + xmlns = SVG_NAMESPACE; + break; + } + return props.xmlns || xmlns; + }, + create(tag, _props, xmlns) { + if (typeof tag !== "string") { + throw new Error(`Unknown tag: ${tag.toString()}`); + } else if (tag.toLowerCase() === "svg") { + xmlns = SVG_NAMESPACE; + } + return xmlns ? document.createElementNS(xmlns, tag) : document.createElement(tag); + }, + hydrate(tag, node2, props) { + if (typeof tag !== "string" && tag !== Portal) { + throw new Error(`Unknown tag: ${tag.toString()}`); + } + if (typeof tag === "string" && tag.toUpperCase() !== node2.tagName) { + return void 0; + } + const children = []; + for (let i = 0; i < node2.childNodes.length; i++) { + const child = node2.childNodes[i]; + if (child.nodeType === Node.TEXT_NODE) { + children.push(child.data); + } else if (child.nodeType === Node.ELEMENT_NODE) { + children.push(child); + } + } + return { props, children }; + }, + patch(_tag, node2, name, value, oldValue, xmlns) { + const isSVG = xmlns === SVG_NAMESPACE; + switch (name) { + case "style": { + const style = node2.style; + if (style == null) { + node2.setAttribute("style", value); + } else if (value == null || value === false) { + node2.removeAttribute("style"); + } else if (value === true) { + node2.setAttribute("style", ""); + } else if (typeof value === "string") { + if (style.cssText !== value) { + style.cssText = value; + } + } else { + if (typeof oldValue === "string") { + style.cssText = ""; + } + for (const styleName in { ...oldValue, ...value }) { + const styleValue = value && value[styleName]; + if (styleValue == null) { + style.removeProperty(styleName); + } else if (style.getPropertyValue(styleName) !== styleValue) { + style.setProperty(styleName, styleValue); + } + } + } + break; + } + case "class": + case "className": + if (value === true) { + node2.setAttribute("class", ""); + } else if (value == null) { + node2.removeAttribute("class"); + } else if (!isSVG) { + if (node2.className !== value) { + node2["className"] = value; + } + } else if (node2.getAttribute("class") !== value) { + node2.setAttribute("class", value); + } + break; + case "innerHTML": + if (value !== oldValue) { + node2.innerHTML = value; + } + break; + default: { + if (name[0] === "o" && name[1] === "n" && name[2] === name[2].toUpperCase() && typeof value === "function") { + name = name.toLowerCase(); + } + if (name in node2 && // boolean properties will coerce strings, but sometimes they map to + // enumerated attributes, where truthy strings ("false", "no") map to + // falsy properties, so we use attributes in this case. + !(typeof value === "string" && typeof node2[name] === "boolean")) { + let obj = node2; + do { + if (Object.prototype.hasOwnProperty.call(obj, name)) { + break; + } + } while (obj = Object.getPrototypeOf(obj)); + const descriptor = Object.getOwnPropertyDescriptor(obj, name); + if (descriptor != null && (descriptor.writable === true || descriptor.set !== void 0)) { + if (node2[name] !== value || oldValue === void 0) { + node2[name] = value; + } + return; + } + } + if (value === true) { + value = ""; + } else if (value == null || value === false) { + node2.removeAttribute(name); + return; + } + if (node2.getAttribute(name) !== value) { + node2.setAttribute(name, value); + } + } + } + }, + arrange(tag, node2, props, children, _oldProps, oldChildren) { + if (tag === Portal && (node2 == null || typeof node2.nodeType !== "number")) { + throw new TypeError(`Portal root is not a node. Received: ${JSON.stringify(node2 && node2.toString())}`); + } + if (!("innerHTML" in props) && // We don’t want to update elements without explicit children (
    ), + // because these elements sometimes have child nodes added via raw + // DOM manipulations. + // However, if an element has previously rendered children, we clear the + // them because it would be surprising not to clear Crank managed + // children, even if the new element does not have explicit children. + ("children" in props || oldChildren && oldChildren.length)) { + if (children.length === 0) { + node2.textContent = ""; + } else { + let oldChild = node2.firstChild; + let i = 0; + while (oldChild !== null && i < children.length) { + const newChild = children[i]; + if (oldChild === newChild) { + oldChild = oldChild.nextSibling; + i++; + } else if (typeof newChild === "string") { + if (oldChild.nodeType === Node.TEXT_NODE) { + if (oldChild.data !== newChild) { + oldChild.data = newChild; + } + oldChild = oldChild.nextSibling; + } else { + node2.insertBefore(document.createTextNode(newChild), oldChild); + } + i++; + } else if (oldChild.nodeType === Node.TEXT_NODE) { + const nextSibling = oldChild.nextSibling; + node2.removeChild(oldChild); + oldChild = nextSibling; + } else { + node2.insertBefore(newChild, oldChild); + i++; + if (oldChild !== children[i]) { + const nextSibling = oldChild.nextSibling; + node2.removeChild(oldChild); + oldChild = nextSibling; + } + } + } + while (oldChild !== null) { + const nextSibling = oldChild.nextSibling; + node2.removeChild(oldChild); + oldChild = nextSibling; + } + for (; i < children.length; i++) { + const newChild = children[i]; + node2.appendChild(typeof newChild === "string" ? document.createTextNode(newChild) : newChild); + } + } + } + }, + text(text, _scope, hydrationData) { + if (hydrationData != null) { + let value = hydrationData.children.shift(); + if (typeof value !== "string" || !value.startsWith(text)) + ; + else if (text.length < value.length) { + value = value.slice(text.length); + hydrationData.children.unshift(value); + } + } + return text; + }, + raw(value, xmlns, hydrationData) { + let result; + if (typeof value === "string") { + const el = xmlns == null ? document.createElement("div") : document.createElementNS(xmlns, "svg"); + el.innerHTML = value; + if (el.childNodes.length === 0) { + result = void 0; + } else if (el.childNodes.length === 1) { + result = el.childNodes[0]; + } else { + result = Array.from(el.childNodes); + } + } else { + result = value; + } + if (hydrationData != null) { + if (Array.isArray(result)) { + for (let i = 0; i < result.length; i++) { + const node2 = result[i]; + if (typeof node2 !== "string" && (node2.nodeType === Node.ELEMENT_NODE || node2.nodeType === Node.TEXT_NODE)) { + hydrationData.children.shift(); + } + } + } else if (result != null && typeof result !== "string") { + if (result.nodeType === Node.ELEMENT_NODE || result.nodeType === Node.TEXT_NODE) { + hydrationData.children.shift(); + } + } + } + return result; + } + }; + var DOMRenderer = class extends Renderer { + constructor() { + super(impl); + } + render(children, root, ctx) { + validateRoot(root); + return super.render(children, root, ctx); + } + hydrate(children, root, ctx) { + validateRoot(root); + return super.hydrate(children, root, ctx); + } + }; + function validateRoot(root) { + if (root === null || typeof root === "object" && typeof root.nodeType !== "number") { + throw new TypeError(`Render root is not a node. Received: ${JSON.stringify(root && root.toString())}`); + } + } + var renderer = new DOMRenderer(); + + // src/clients/navbar.ts + renderer.hydrate( + jsx`<${Navbar} url=${new URL(window.location).pathname} />`, + document.getElementById("navbar-root") + ); +})(); +/*! Bundled license information: + +@esbuild-plugins/node-globals-polyfill/Buffer.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) +*/ +//# sourceMappingURL=navbar-HS4GXO4K.js.map diff --git a/static/navbar-HS4GXO4K.js.map b/static/navbar-HS4GXO4K.js.map new file mode 100644 index 00000000..6e90ee43 --- /dev/null +++ b/static/navbar-HS4GXO4K.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/@esbuild-plugins/node-globals-polyfill/process.js", "../node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js", "../node_modules/@b9g/src/crank.ts", "../node_modules/@b9g/src/jsx-tag.ts", "../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js", "../node_modules/stylis/src/Enum.js", "../node_modules/stylis/src/Utility.js", "../node_modules/stylis/src/Tokenizer.js", "../node_modules/stylis/src/Parser.js", "../node_modules/stylis/src/Serializer.js", "../node_modules/stylis/src/Middleware.js", "../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js", "../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js", "../node_modules/@emotion/hash/dist/emotion-hash.esm.js", "../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js", "../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js", "../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js", "../node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js", "../node_modules/@emotion/css/dist/emotion-css.esm.js", "components/gear-interactive.ts", "components/color-scheme-toggle.ts", "components/navbar.ts", "../node_modules/@b9g/src/dom.ts", "clients/navbar.ts"], + "sourcesContent": ["// shim for using process in browser\n// based off https://github.com/defunctzombie/node-process/blob/master/browser.js\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined')\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined')\n}\nvar cachedSetTimeout = defaultSetTimout\nvar cachedClearTimeout = defaultClearTimeout\nif (typeof global.setTimeout === 'function') {\n cachedSetTimeout = setTimeout\n}\nif (typeof global.clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout\n}\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0)\n }\n // if setTimeout wasn't available but was latter defined\n if (\n (cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) &&\n setTimeout\n ) {\n cachedSetTimeout = setTimeout\n return setTimeout(fun, 0)\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0)\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0)\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0)\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker)\n }\n // if clearTimeout wasn't available but was latter defined\n if (\n (cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) &&\n clearTimeout\n ) {\n cachedClearTimeout = clearTimeout\n return clearTimeout(marker)\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker)\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker)\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker)\n }\n }\n}\nvar queue = []\nvar draining = false\nvar currentQueue\nvar queueIndex = -1\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return\n }\n draining = false\n if (currentQueue.length) {\n queue = currentQueue.concat(queue)\n } else {\n queueIndex = -1\n }\n if (queue.length) {\n drainQueue()\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return\n }\n var timeout = runTimeout(cleanUpNextTick)\n draining = true\n\n var len = queue.length\n while (len) {\n currentQueue = queue\n queue = []\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run()\n }\n }\n queueIndex = -1\n len = queue.length\n }\n currentQueue = null\n draining = false\n runClearTimeout(timeout)\n}\nfunction nextTick(fun) {\n var args = new Array(arguments.length - 1)\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i]\n }\n }\n queue.push(new Item(fun, args))\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue)\n }\n}\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun\n this.array = array\n}\nItem.prototype.run = function() {\n this.fun.apply(null, this.array)\n}\nvar title = 'browser'\nvar platform = 'browser'\nvar browser = true\nvar env = {}\nvar argv = []\nvar version = '' // empty string to avoid regexp issues\nvar versions = {}\nvar release = {}\nvar config = {}\n\nfunction noop() {}\n\nvar on = noop\nvar addListener = noop\nvar once = noop\nvar off = noop\nvar removeListener = noop\nvar removeAllListeners = noop\nvar emit = noop\n\nfunction binding(name) {\n throw new Error('process.binding is not supported')\n}\n\nfunction cwd() {\n return '/'\n}\nfunction chdir(dir) {\n throw new Error('process.chdir is not supported')\n}\nfunction umask() {\n return 0\n}\n\n// from https://github.com/kumavis/browser-process-hrtime/blob/master/index.js\nvar performance = global.performance || {}\nvar performanceNow =\n performance.now ||\n performance.mozNow ||\n performance.msNow ||\n performance.oNow ||\n performance.webkitNow ||\n function() {\n return new Date().getTime()\n }\n\n// generate timestamp or delta\n// see http://nodejs.org/api/process.html#process_process_hrtime\nfunction hrtime(previousTimestamp) {\n var clocktime = performanceNow.call(performance) * 1e-3\n var seconds = Math.floor(clocktime)\n var nanoseconds = Math.floor((clocktime % 1) * 1e9)\n if (previousTimestamp) {\n seconds = seconds - previousTimestamp[0]\n nanoseconds = nanoseconds - previousTimestamp[1]\n if (nanoseconds < 0) {\n seconds--\n nanoseconds += 1e9\n }\n }\n return [seconds, nanoseconds]\n}\n\nvar startTime = new Date()\nfunction uptime() {\n var currentTime = new Date()\n var dif = currentTime - startTime\n return dif / 1000\n}\n\nexport var process = {\n nextTick: nextTick,\n title: title,\n browser: browser,\n env: env,\n argv: argv,\n version: version,\n versions: versions,\n on: on,\n addListener: addListener,\n once: once,\n off: off,\n removeListener: removeListener,\n removeAllListeners: removeAllListeners,\n emit: emit,\n binding: binding,\n cwd: cwd,\n chdir: chdir,\n umask: umask,\n hrtime: hrtime,\n platform: platform,\n release: release,\n config: config,\n uptime: uptime,\n}\n\n// replace process.env.VAR with define\n\nconst defines = {}\nObject.keys(defines).forEach((key) => {\n const segs = key.split('.')\n let target = process\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n if (i === segs.length - 1) {\n target[seg] = defines[key]\n } else {\n target = target[seg] || (target[seg] = {})\n }\n }\n})\n", "// taken from https://github.com/calvinmetcalf/buffer-es6\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\nvar inited = false\nfunction init() {\n inited = true\n var code =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n for (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n }\n\n revLookup['-'.charCodeAt(0)] = 62\n revLookup['_'.charCodeAt(0)] = 63\n}\n\nfunction base64toByteArray(b64) {\n if (!inited) {\n init()\n }\n var i, j, l, tmp, placeHolders, arr\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n placeHolders = b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n\n // base64 is 4/3 + up to two characters of the original data\n arr = new Arr((len * 3) / 4 - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0, j = 0; i < l; i += 4, j += 3) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xff\n arr[L++] = (tmp >> 8) & 0xff\n arr[L++] = tmp & 0xff\n }\n\n if (placeHolders === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xff\n } else if (placeHolders === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xff\n arr[L++] = tmp & 0xff\n }\n\n return arr\n}\n\nfunction tripletToBase64(num) {\n return (\n lookup[(num >> 18) & 0x3f] +\n lookup[(num >> 12) & 0x3f] +\n lookup[(num >> 6) & 0x3f] +\n lookup[num & 0x3f]\n )\n}\n\nfunction encodeChunk(uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2]\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction base64fromByteArray(uint8) {\n if (!inited) {\n init()\n }\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(\n encodeChunk(\n uint8,\n i,\n i + maxChunkLength > len2 ? len2 : i + maxChunkLength,\n ),\n )\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3f]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3f]\n output += lookup[(tmp << 2) & 0x3f]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\nvar INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT =\n global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : true\n\nfunction kMaxLength() {\n return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff\n}\n\nfunction createBuffer(that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nexport function Buffer(arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string',\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function(arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from(that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function(value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nBuffer.kMaxLength = kMaxLength()\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (\n typeof Symbol !== 'undefined' &&\n Symbol.species &&\n Buffer[Symbol.species] === Buffer\n ) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n // Object.defineProperty(Buffer, Symbol.species, {\n // value: null,\n // configurable: true\n // })\n }\n}\n\nfunction assertSize(size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc(that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function(size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe(that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function(size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function(size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString(that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike(that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer(that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\"'offset' is out of bounds\")\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\"'length' is out of bounds\")\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject(that, obj) {\n if (internalIsBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if (\n (typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) ||\n 'length' in obj\n ) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError(\n 'First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.',\n )\n}\n\nfunction checked(length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError(\n 'Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' +\n kMaxLength().toString(16) +\n ' bytes',\n )\n }\n return length | 0\n}\n\nexport function SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\nBuffer.isBuffer = isBuffer\nfunction internalIsBuffer(b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare(a, b) {\n if (!internalIsBuffer(a) || !internalIsBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!internalIsBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength(string, encoding) {\n if (internalIsBuffer(string)) {\n return string.length\n }\n if (\n typeof ArrayBuffer !== 'undefined' &&\n typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)\n ) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString(encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase)\n throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap(b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16() {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32() {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64() {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString() {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals(b) {\n if (!internalIsBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\n\nBuffer.prototype.compare = function compare(\n target,\n start,\n end,\n thisStart,\n thisEnd,\n) {\n if (!internalIsBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (\n start < 0 ||\n end > target.length ||\n thisStart < 0 ||\n thisEnd > this.length\n ) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (internalIsBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xff // Search for a byte value [0-255]\n if (\n Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function'\n ) {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(\n buffer,\n val,\n byteOffset,\n )\n } else {\n return Uint8Array.prototype.lastIndexOf.call(\n buffer,\n val,\n byteOffset,\n )\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (\n encoding === 'ucs2' ||\n encoding === 'ucs-2' ||\n encoding === 'utf16le' ||\n encoding === 'utf-16le'\n ) {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (\n read(arr, i) ===\n read(val, foundIndex === -1 ? 0 : i - foundIndex)\n ) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength)\n return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength)\n byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write(buf, string, offset, length) {\n return blitBuffer(\n utf8ToBytes(string, buf.length - offset),\n buf,\n offset,\n length,\n )\n}\n\nfunction asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write(buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write(buf, string, offset, length) {\n return blitBuffer(\n utf16leToBytes(string, buf.length - offset),\n buf,\n offset,\n length,\n )\n}\n\nBuffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported',\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if (\n (string.length > 0 && (length < 0 || offset < 0)) ||\n offset > this.length\n ) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase)\n throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON() {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0),\n }\n}\n\nfunction base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64fromByteArray(buf)\n } else {\n return base64fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence =\n firstByte > 0xef\n ? 4\n : firstByte > 0xdf\n ? 3\n : firstByte > 0xbf\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xc0) === 0x80) {\n tempCodePoint =\n ((firstByte & 0x1f) << 0x6) | (secondByte & 0x3f)\n if (tempCodePoint > 0x7f) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if (\n (secondByte & 0xc0) === 0x80 &&\n (thirdByte & 0xc0) === 0x80\n ) {\n tempCodePoint =\n ((firstByte & 0xf) << 0xc) |\n ((secondByte & 0x3f) << 0x6) |\n (thirdByte & 0x3f)\n if (\n tempCodePoint > 0x7ff &&\n (tempCodePoint < 0xd800 || tempCodePoint > 0xdfff)\n ) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if (\n (secondByte & 0xc0) === 0x80 &&\n (thirdByte & 0xc0) === 0x80 &&\n (fourthByte & 0xc0) === 0x80\n ) {\n tempCodePoint =\n ((firstByte & 0xf) << 0x12) |\n ((secondByte & 0x3f) << 0xc) |\n ((thirdByte & 0x3f) << 0x6) |\n (fourthByte & 0x3f)\n if (\n tempCodePoint > 0xffff &&\n tempCodePoint < 0x110000\n ) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xfffd\n bytesPerSequence = 1\n } else if (codePoint > 0xffff) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(((codePoint >>> 10) & 0x3ff) | 0xd800)\n codePoint = 0xdc00 | (codePoint & 0x3ff)\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray(codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, (i += MAX_ARGUMENTS_LENGTH)),\n )\n }\n return res\n}\n\nfunction asciiSlice(buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7f)\n }\n return ret\n}\n\nfunction latin1Slice(buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice(buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice(buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice(start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0)\n throw new RangeError('offset is not uint')\n if (offset + ext > length)\n throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE(\n offset,\n byteLength,\n noAssert,\n) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE(\n offset,\n byteLength,\n noAssert,\n) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n (this[offset] | (this[offset + 1] << 8) | (this[offset + 2] << 16)) +\n this[offset + 3] * 0x1000000\n )\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n this[offset] * 0x1000000 +\n ((this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3])\n )\n}\n\nBuffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return this[offset]\n return (0xff - this[offset] + 1) * -1\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return val & 0x8000 ? val | 0xffff0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return val & 0x8000 ? val | 0xffff0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n this[offset] |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n )\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (\n (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3]\n )\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754read(this, offset, false, 52, 8)\n}\n\nfunction checkInt(buf, value, offset, ext, max, min) {\n if (!internalIsBuffer(buf))\n throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min)\n throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xff\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xff\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = value & 0xff\n return offset + 1\n}\n\nfunction objectWriteUInt16(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] =\n (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n ((littleEndian ? i : 1 - i) * 8)\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8\n this[offset + 1] = value & 0xff\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> ((littleEndian ? i : 3 - i) * 8)) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = value >>> 24\n this[offset + 2] = value >>> 16\n this[offset + 1] = value >>> 8\n this[offset] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE(\n value,\n offset,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24\n this[offset + 1] = value >>> 16\n this[offset + 2] = value >>> 8\n this[offset + 3] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xff\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE(\n value,\n offset,\n byteLength,\n noAssert,\n) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xff\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = value & 0xff\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8\n this[offset + 1] = value & 0xff\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff\n this[offset + 1] = value >>> 8\n this[offset + 2] = value >>> 16\n this[offset + 3] = value >>> 24\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24\n this[offset + 1] = value >>> 16\n this[offset + 2] = value >>> 8\n this[offset + 3] = value & 0xff\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(\n buf,\n value,\n offset,\n 4,\n 3.4028234663852886e38,\n -3.4028234663852886e38,\n )\n }\n ieee754write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(\n buf,\n value,\n offset,\n 8,\n 1.7976931348623157e308,\n -1.7976931348623157e308,\n )\n }\n ieee754write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE(\n value,\n offset,\n noAssert,\n) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE(\n value,\n offset,\n noAssert,\n) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length)\n throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart,\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = internalIsBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean(str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim(str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex(n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes(string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xd7ff && codePoint < 0xe000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xdbff) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xdc00) {\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint =\n (((leadSurrogate - 0xd800) << 10) | (codePoint - 0xdc00)) +\n 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push((codePoint >> 0x6) | 0xc0, (codePoint & 0x3f) | 0x80)\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n (codePoint >> 0xc) | 0xe0,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80,\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n (codePoint >> 0x12) | 0xf0,\n ((codePoint >> 0xc) & 0x3f) | 0x80,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80,\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes(str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xff)\n }\n return byteArray\n}\n\nfunction utf16leToBytes(str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes(str) {\n return base64toByteArray(base64clean(str))\n}\n\nfunction blitBuffer(src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan(val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n// the following is from is-buffer, also by Feross Aboukhadijeh and with same lisence\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nfunction isBuffer(obj) {\n return (\n obj != null &&\n (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj))\n )\n}\n\nfunction isFastBuffer(obj) {\n return (\n !!obj.constructor &&\n typeof obj.constructor.isBuffer === 'function' &&\n obj.constructor.isBuffer(obj)\n )\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer(obj) {\n return (\n typeof obj.readFloatLE === 'function' &&\n typeof obj.slice === 'function' &&\n isFastBuffer(obj.slice(0, 0))\n )\n}\n\nfunction ieee754read(buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? nBytes - 1 : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << -nBits) - 1)\n s >>= -nBits\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << -nBits) - 1)\n e >>= -nBits\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nfunction ieee754write(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0\n var i = isLE ? 0 : nBytes - 1\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (\n ;\n mLen >= 8;\n buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8\n ) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (\n ;\n eLen > 0;\n buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8\n ) {}\n\n buffer[offset + i - d] |= s * 128\n}\n", "const NOOP = () => {};\nconst IDENTITY = (value: T): T => value;\n\nfunction wrap(value: Array | T | undefined): Array {\n\treturn value === undefined ? [] : Array.isArray(value) ? value : [value];\n}\n\nfunction unwrap(arr: Array): Array | T | undefined {\n\treturn arr.length === 0 ? undefined : arr.length === 1 ? arr[0] : arr;\n}\n\ntype NonStringIterable = Iterable & object;\n\n/**\n * Ensures a value is an array.\n *\n * This function does the same thing as wrap() above except it handles nulls\n * and iterables, so it is appropriate for wrapping user-provided element\n * children.\n */\nfunction arrayify(\n\tvalue: NonStringIterable | T | null | undefined,\n): Array {\n\treturn value == null\n\t\t? []\n\t\t: Array.isArray(value)\n\t\t\t? value\n\t\t\t: typeof value === \"string\" ||\n\t\t\t\t typeof (value as any)[Symbol.iterator] !== \"function\"\n\t\t\t\t? [value]\n\t\t\t\t: // TODO: inference broke in TypeScript 3.9.\n\t\t\t\t\t[...(value as any)];\n}\n\nfunction isIteratorLike(\n\tvalue: any,\n): value is Iterator | AsyncIterator {\n\treturn value != null && typeof value.next === \"function\";\n}\n\nfunction isPromiseLike(value: any): value is PromiseLike {\n\treturn value != null && typeof value.then === \"function\";\n}\n\n/**\n * A type which represents all valid values for an element tag.\n */\nexport type Tag = string | symbol | Component;\n\n/**\n * A helper type to map the tag of an element to its expected props.\n *\n * @template TTag - The tag associated with the props. Can be a string, symbol\n * or a component function.\n */\nexport type TagProps = TTag extends string\n\t? JSX.IntrinsicElements[TTag]\n\t: TTag extends Component\n\t\t? TProps & JSX.IntrinsicAttributes\n\t\t: Record & JSX.IntrinsicAttributes;\n\n/***\n * SPECIAL TAGS\n *\n * Crank provides a couple tags which have special meaning for the renderer.\n ***/\n\n/**\n * A special tag for grouping multiple children within the same parent.\n *\n * All non-string iterables which appear in the element tree are implicitly\n * wrapped in a fragment element.\n *\n * This tag is just the empty string, and you can use the empty string in\n * createElement calls or transpiler options directly to avoid having to\n * reference this export.\n */\nexport const Fragment = \"\";\nexport type Fragment = typeof Fragment;\n\n// TODO: We assert the following symbol tags as any because TypeScript support\n// for symbol tags in JSX doesn’t exist yet.\n// https://github.com/microsoft/TypeScript/issues/38367\n\n/**\n * A special tag for rendering into a new root node via a root prop.\n *\n * This tag is useful for creating element trees with multiple roots, for\n * things like modals or tooltips.\n *\n * Renderer.prototype.render() will implicitly wrap top-level element trees in\n * a Portal element.\n */\nexport const Portal = Symbol.for(\"crank.Portal\") as any;\nexport type Portal = typeof Portal;\n\n/**\n * A special tag which preserves whatever was previously rendered in the\n * element’s position.\n *\n * Copy elements are useful for when you want to prevent a subtree from\n * rerendering as a performance optimization. Copy elements can also be keyed,\n * in which case the previously rendered keyed element will be copied.\n */\nexport const Copy = Symbol.for(\"crank.Copy\") as any;\nexport type Copy = typeof Copy;\n\n/**\n * A special tag for injecting raw nodes or strings via a value prop.\n *\n * Renderer.prototype.raw() is called with the value prop.\n */\nexport const Raw = Symbol.for(\"crank.Raw\") as any;\nexport type Raw = typeof Raw;\n\n/**\n * Describes all valid values of an element tree, excluding iterables.\n *\n * Arbitrary objects can also be safely rendered, but will be converted to a\n * string using the toString() method. We exclude them from this type to catch\n * potential mistakes.\n */\nexport type Child = Element | string | number | boolean | null | undefined;\n\n/**\n * An arbitrarily nested iterable of Child values.\n *\n * We use a recursive interface here rather than making the Children type\n * directly recursive because recursive type aliases were added in TypeScript\n * 3.7.\n *\n * You should avoid referencing this type directly, as it is mainly exported to\n * prevent TypeScript errors.\n */\nexport interface ChildIterable extends Iterable {}\n\n/**\n * Describes all valid values of an element tree, including arbitrarily nested\n * iterables of such values.\n */\nexport type Children = Child | ChildIterable;\n\n/**\n * Represents all functions which can be used as a component.\n *\n * @template [TProps=*] - The expected props for the component.\n */\nexport type Component = any> = (\n\tthis: Context,\n\tprops: TProps,\n\tctx: Context,\n) =>\n\t| Children\n\t| PromiseLike\n\t// The return type of iterators must include void because TypeScript will\n\t// infer generators which return implicitly as having a void return type.\n\t| Iterator\n\t| AsyncIterator;\n\ntype ChildrenIteratorResult = IteratorResult;\n\n/**\n * A type to keep track of keys. Any value can be a key, though null and\n * undefined are ignored.\n */\ntype Key = unknown;\n\nconst ElementSymbol = Symbol.for(\"crank.Element\");\n\n// To maximize compatibility between Crank versions, starting with 0.2.0, any\n// changes to the Element properties will be considered a breaking change.\nexport interface Element {\n\t/**\n\t * @internal\n\t * A unique symbol to identify elements as elements across versions and\n\t * realms, and to protect against basic injection attacks.\n\t * https://overreacted.io/why-do-react-elements-have-typeof-property/\n\t *\n\t * This property is defined on the element prototype rather than per\n\t * instance, because it is the same for every Element.\n\t */\n\t$$typeof: typeof ElementSymbol;\n\n\t/**\n\t * The tag of the element. Can be a string, symbol or function.\n\t */\n\ttag: TTag;\n\n\t/**\n\t * An object containing the \"properties\" of an element. These correspond to\n\t * the attribute syntax from JSX.\n\t */\n\tprops: TagProps;\n}\n\n/**\n * Elements are the basic building blocks of Crank applications. They are\n * JavaScript objects which are interpreted by special classes called renderers\n * to produce and manage stateful nodes.\n *\n * @template {Tag} [TTag=Tag] - The type of the tag of the element.\n *\n * @example\n * // specific element types\n * let div: Element<\"div\">;\n * let portal: Element;\n * let myEl: Element;\n *\n * // general element types\n * let host: Element;\n * let component: Element;\n *\n * Typically, you use a helper function like createElement to create elements\n * rather than instatiating this class directly.\n */\nexport class Element {\n\tconstructor(tag: TTag, props: TagProps) {\n\t\tthis.tag = tag;\n\t\tthis.props = props;\n\t}\n\n\tget key(): Key {\n\t\treturn this.props.key;\n\t}\n\n\tget ref(): unknown {\n\t\treturn this.props.ref;\n\t}\n\n\tget copy(): boolean {\n\t\treturn !!this.props.copy;\n\t}\n}\n\n// See Element interface\nElement.prototype.$$typeof = ElementSymbol;\n\nexport function isElement(value: any): value is Element {\n\treturn value != null && value.$$typeof === ElementSymbol;\n}\n\nconst DEPRECATED_PROP_PREFIXES = [\"crank-\", \"c-\", \"$\"];\n\nconst DEPRECATED_SPECIAL_PROP_BASES = [\"key\", \"ref\", \"static\"];\n\nconst SPECIAL_PROPS = new Set([\"children\", \"key\", \"ref\", \"copy\"]);\nfor (const propPrefix of DEPRECATED_PROP_PREFIXES) {\n\tfor (const propBase of DEPRECATED_SPECIAL_PROP_BASES) {\n\t\tSPECIAL_PROPS.add(propPrefix + propBase);\n\t}\n}\n\n/**\n * Creates an element with the specified tag, props and children.\n *\n * This function is usually used as a transpilation target for JSX transpilers,\n * but it can also be called directly. It additionally extracts special props so\n * they aren’t accessible to renderer methods or components, and assigns the\n * children prop according to any additional arguments passed to the function.\n */\nexport function createElement(\n\ttag: TTag,\n\tprops?: TagProps | null | undefined,\n\t...children: Array\n): Element {\n\tif (props == null) {\n\t\tprops = {} as TagProps;\n\t}\n\n\tfor (let i = 0; i < DEPRECATED_PROP_PREFIXES.length; i++) {\n\t\tconst propPrefix = DEPRECATED_PROP_PREFIXES[i];\n\t\tfor (let j = 0; j < DEPRECATED_SPECIAL_PROP_BASES.length; j++) {\n\t\t\tconst propBase = DEPRECATED_SPECIAL_PROP_BASES[j];\n\t\t\tconst deprecatedPropName = propPrefix + propBase;\n\t\t\tconst targetPropBase = propBase === \"static\" ? \"copy\" : propBase;\n\t\t\tif (deprecatedPropName in (props as TagProps)) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`The \\`${deprecatedPropName}\\` prop is deprecated. Use \\`${targetPropBase}\\` instead.`,\n\t\t\t\t);\n\t\t\t\t(props as TagProps)[targetPropBase] = (props as TagProps)[\n\t\t\t\t\tdeprecatedPropName\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (children.length > 1) {\n\t\t(props as TagProps).children = children;\n\t} else if (children.length === 1) {\n\t\t(props as TagProps).children = children[0];\n\t}\n\n\treturn new Element(tag, props as TagProps);\n}\n\n/** Clones a given element, shallowly copying the props object. */\nexport function cloneElement(\n\tel: Element,\n): Element {\n\tif (!isElement(el)) {\n\t\tthrow new TypeError(\"Cannot clone non-element\");\n\t}\n\n\treturn new Element(el.tag, {...el.props});\n}\n\n/*** ELEMENT UTILITIES ***/\n\n// WHAT ARE WE DOING TO THE CHILDREN???\n/**\n * All values in the element tree are narrowed from the union in Child to\n * NarrowedChild during rendering, to simplify element diffing.\n */\ntype NarrowedChild = Element | string | undefined;\n\nfunction narrow(value: Children): NarrowedChild {\n\tif (typeof value === \"boolean\" || value == null) {\n\t\treturn undefined;\n\t} else if (typeof value === \"string\" || isElement(value)) {\n\t\treturn value;\n\t} else if (typeof (value as any)[Symbol.iterator] === \"function\") {\n\t\treturn createElement(Fragment, null, value);\n\t}\n\n\treturn value.toString();\n}\n\n/**\n * A helper type which repesents all possible rendered values of an element.\n *\n * @template TNode - The node type for the element provided by the renderer.\n *\n * When asking the question, what is the \"value\" of a specific element, the\n * answer varies depending on the tag:\n *\n * For host elements, the value is the nodes created for the element, e.g. the\n * DOM node in the case of the DOMRenderer.\n *\n * For fragments, the value is the value of the\n *\n * For portals, the value is undefined, because a Portal element’s root and\n * children are opaque to its parent.\n *\n * For components, the value can be any of the above, because the value of a\n * component is determined by its immediate children.\n *\n * Rendered values can also be strings or arrays of nodes and strings, in the\n * case of component or fragment elements with strings or multiple children.\n *\n * All of these possible values are reflected in this utility type.\n */\nexport type ElementValue =\n\t| Array\n\t| TNode\n\t| string\n\t| undefined;\n\n/**\n * Takes an array of element values and normalizes the output as an array of\n * nodes and strings.\n *\n * @returns Normalized array of nodes and/or strings.\n *\n * Normalize will flatten only one level of nested arrays, because it is\n * designed to be called once at each level of the tree. It will also\n * concatenate adjacent strings and remove all undefined values.\n */\nfunction normalize(\n\tvalues: Array>,\n): Array {\n\tconst result: Array = [];\n\tlet buffer: string | undefined;\n\tfor (let i = 0; i < values.length; i++) {\n\t\tconst value = values[i];\n\t\tif (!value) {\n\t\t\t// pass\n\t\t} else if (typeof value === \"string\") {\n\t\t\tbuffer = (buffer || \"\") + value;\n\t\t} else if (!Array.isArray(value)) {\n\t\t\tif (buffer) {\n\t\t\t\tresult.push(buffer);\n\t\t\t\tbuffer = undefined;\n\t\t\t}\n\n\t\t\tresult.push(value);\n\t\t} else {\n\t\t\t// We could use recursion here but it’s just easier to do it inline.\n\t\t\tfor (let j = 0; j < value.length; j++) {\n\t\t\t\tconst value1 = value[j];\n\t\t\t\tif (!value1) {\n\t\t\t\t\t// pass\n\t\t\t\t} else if (typeof value1 === \"string\") {\n\t\t\t\t\tbuffer = (buffer || \"\") + value1;\n\t\t\t\t} else {\n\t\t\t\t\tif (buffer) {\n\t\t\t\t\t\tresult.push(buffer);\n\t\t\t\t\t\tbuffer = undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\tresult.push(value1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (buffer) {\n\t\tresult.push(buffer);\n\t}\n\n\treturn result;\n}\n\n/**\n * @internal\n * The internal nodes which are cached and diffed against new elements when\n * rendering element trees.\n */\nclass Retainer {\n\t/**\n\t * The element associated with this retainer.\n\t */\n\tdeclare el: Element;\n\t/**\n\t * The context associated with this element. Will only be defined for\n\t * component elements.\n\t */\n\tdeclare ctx: ContextImpl | undefined;\n\t/**\n\t * The retainer children of this element. Retainers form a tree which mirrors\n\t * elements. Can be a single child or undefined as a memory optimization.\n\t */\n\tdeclare children: Array> | RetainerChild;\n\t/**\n\t * The value associated with this element.\n\t */\n\tdeclare value: ElementValue;\n\t/**\n\t * The cached child values of this element. Only host and component elements\n\t * will use this property.\n\t */\n\tdeclare cachedChildValues: ElementValue;\n\t/**\n\t * The child which this retainer replaces. This property is used when an\n\t * async retainer tree replaces previously rendered elements, so that the\n\t * previously rendered elements can remain visible until the async tree\n\t * fulfills. Will be set to undefined once this subtree fully renders.\n\t */\n\tdeclare fallbackValue: RetainerChild;\n\n\tdeclare inflightValue: Promise> | undefined;\n\tdeclare onNextValues: Function | undefined;\n\tconstructor(el: Element) {\n\t\tthis.el = el;\n\t\tthis.ctx = undefined;\n\t\tthis.children = undefined;\n\t\tthis.value = undefined;\n\t\tthis.cachedChildValues = undefined;\n\t\tthis.fallbackValue = undefined;\n\t\tthis.inflightValue = undefined;\n\t\tthis.onNextValues = undefined;\n\t}\n}\n\n/**\n * The retainer equivalent of ElementValue\n */\ntype RetainerChild = Retainer | string | undefined;\n\n/**\n * Finds the value of the element according to its type.\n *\n * @returns The value of the element.\n */\nfunction getValue(ret: Retainer): ElementValue {\n\tif (typeof ret.fallbackValue !== \"undefined\") {\n\t\treturn typeof ret.fallbackValue === \"object\"\n\t\t\t? getValue(ret.fallbackValue)\n\t\t\t: ret.fallbackValue;\n\t} else if (ret.el.tag === Portal) {\n\t\treturn;\n\t} else if (typeof ret.el.tag !== \"function\" && ret.el.tag !== Fragment) {\n\t\treturn ret.value;\n\t}\n\n\treturn unwrap(getChildValues(ret));\n}\n\n/**\n * Walks an element’s children to find its child values.\n *\n * @returns A normalized array of nodes and strings.\n */\nfunction getChildValues(ret: Retainer): Array {\n\tif (ret.cachedChildValues) {\n\t\treturn wrap(ret.cachedChildValues);\n\t}\n\n\tconst values: Array> = [];\n\tconst children = wrap(ret.children);\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (child) {\n\t\t\tvalues.push(typeof child === \"string\" ? child : getValue(child));\n\t\t}\n\t}\n\n\tconst values1 = normalize(values);\n\tconst tag = ret.el.tag;\n\tif (typeof tag === \"function\" || (tag !== Fragment && tag !== Raw)) {\n\t\tret.cachedChildValues = unwrap(values1);\n\t}\n\treturn values1;\n}\n\nexport interface HydrationData {\n\tprops: Record;\n\tchildren: Array;\n}\n\n// TODO: Document the interface and methods\nexport interface RendererImpl<\n\tTNode,\n\tTScope,\n\tTRoot extends TNode = TNode,\n\tTResult = ElementValue,\n> {\n\tscope(\n\t\tscope: TScope | undefined,\n\t\ttag: TTag,\n\t\tprops: TagProps,\n\t): TScope | undefined;\n\n\tcreate(\n\t\ttag: TTag,\n\t\tprops: TagProps,\n\t\tscope: TScope | undefined,\n\t): TNode;\n\n\thydrate(\n\t\ttag: TTag,\n\t\tnode: TNode | TRoot,\n\t\tprops: TagProps,\n\t): HydrationData | undefined;\n\n\t/**\n\t * Called when an element’s rendered value is exposed via render, schedule,\n\t * refresh, refs, or generator yield expressions.\n\t *\n\t * @param value - The value of the element being read. Can be a node, a\n\t * string, undefined, or an array of nodes and strings, depending on the\n\t * element.\n\t *\n\t * @returns Varies according to the specific renderer subclass. By default,\n\t * it exposes the element’s value.\n\t *\n\t * This is useful for renderers which don’t want to expose their internal\n\t * nodes. For instance, the HTML renderer will convert all internal nodes to\n\t * strings.\n\t */\n\tread(value: ElementValue): TResult;\n\n\t/**\n\t * Called for each string in an element tree.\n\t *\n\t * @param text - The string child.\n\t * @param scope - The current scope.\n\t *\n\t * @returns A string to be passed to arrange.\n\t *\n\t * Rather than returning Text nodes as we would in the DOM case, for example,\n\t * we delay that step for Renderer.prototype.arrange. We do this so that\n\t * adjacent strings can be concatenated, and the actual element tree can be\n\t * rendered in normalized form.\n\t */\n\ttext(\n\t\ttext: string,\n\t\tscope: TScope | undefined,\n\t\thydration: HydrationData | undefined,\n\t): string;\n\n\t/**\n\t * Called for each Raw element whose value prop is a string.\n\t *\n\t * @param text - The string child.\n\t * @param scope - The current scope.\n\t *\n\t * @returns The parsed node or string.\n\t */\n\traw(\n\t\tvalue: string | TNode,\n\t\tscope: TScope | undefined,\n\t\thydration: HydrationData | undefined,\n\t): ElementValue;\n\n\tpatch(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tname: TName,\n\t\tvalue: unknown,\n\t\toldValue: unknown,\n\t\tscope: TScope,\n\t): unknown;\n\n\tarrange(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tprops: Record,\n\t\tchildren: Array,\n\t\toldProps: Record | undefined,\n\t\toldChildren: Array | undefined,\n\t): unknown;\n\n\tdispose(\n\t\ttag: TTag,\n\t\tnode: TNode,\n\t\tprops: Record,\n\t): unknown;\n\n\tflush(root: TRoot): unknown;\n}\n\nconst defaultRendererImpl: RendererImpl = {\n\tcreate() {\n\t\tthrow new Error(\"Not implemented\");\n\t},\n\thydrate() {\n\t\tthrow new Error(\"Not implemented\");\n\t},\n\tscope: IDENTITY,\n\tread: IDENTITY,\n\ttext: IDENTITY,\n\traw: IDENTITY,\n\tpatch: NOOP,\n\tarrange: NOOP,\n\tdispose: NOOP,\n\tflush: NOOP,\n};\n\nconst _RendererImpl = Symbol.for(\"crank.RendererImpl\");\n/**\n * An abstract class which is subclassed to render to different target\n * environments. Subclasses will typically call super() with a custom\n * RendererImpl. This class is responsible for kicking off the rendering\n * process and caching previous trees by root.\n *\n * @template TNode - The type of the node for a rendering environment.\n * @template TScope - Data which is passed down the tree.\n * @template TRoot - The type of the root for a rendering environment.\n * @template TResult - The type of exposed values.\n */\nexport class Renderer<\n\tTNode extends object = object,\n\tTScope = unknown,\n\tTRoot extends TNode = TNode,\n\tTResult = ElementValue,\n> {\n\t/**\n\t * @internal\n\t * A weakmap which stores element trees by root.\n\t */\n\tdeclare cache: WeakMap>;\n\n\tdeclare [_RendererImpl]: RendererImpl;\n\tconstructor(impl: Partial>) {\n\t\tthis.cache = new WeakMap();\n\t\tthis[_RendererImpl] = {\n\t\t\t...(defaultRendererImpl as RendererImpl),\n\t\t\t...impl,\n\t\t};\n\t}\n\n\t/**\n\t * Renders an element tree into a specific root.\n\t *\n\t * @param children - An element tree. You can render null with a previously\n\t * used root to delete the previously rendered element tree from the cache.\n\t * @param root - The node to be rendered into. The renderer will cache\n\t * element trees per root.\n\t * @param bridge - An optional context that will be the ancestor context of all\n\t * elements in the tree. Useful for connecting different renderers so that\n\t * events/provisions properly propagate. The context for a given root must be\n\t * the same or an error will be thrown.\n\t *\n\t * @returns The result of rendering the children, or a possible promise of\n\t * the result if the element tree renders asynchronously.\n\t */\n\trender(\n\t\tchildren: Children,\n\t\troot?: TRoot | undefined,\n\t\tbridge?: Context | undefined,\n\t): Promise | TResult {\n\t\tlet ret: Retainer | undefined;\n\t\tconst ctx = bridge && (bridge[_ContextImpl] as ContextImpl);\n\t\tif (typeof root === \"object\" && root !== null) {\n\t\t\tret = this.cache.get(root);\n\t\t}\n\n\t\tlet oldProps: Record | undefined;\n\t\tif (ret === undefined) {\n\t\t\tret = new Retainer(createElement(Portal, {children, root}));\n\t\t\tret.value = root;\n\t\t\tret.ctx = ctx;\n\t\t\tif (typeof root === \"object\" && root !== null && children != null) {\n\t\t\t\tthis.cache.set(root, ret);\n\t\t\t}\n\t\t} else if (ret.ctx !== ctx) {\n\t\t\tthrow new Error(\"Context mismatch\");\n\t\t} else {\n\t\t\toldProps = ret.el.props;\n\t\t\tret.el = createElement(Portal, {children, root});\n\t\t\tif (typeof root === \"object\" && root !== null && children == null) {\n\t\t\t\tthis.cache.delete(root);\n\t\t\t}\n\t\t}\n\n\t\tconst impl = this[_RendererImpl];\n\t\tconst childValues = diffChildren(\n\t\t\timpl,\n\t\t\troot,\n\t\t\tret,\n\t\t\tctx,\n\t\t\timpl.scope(undefined, Portal, ret.el.props),\n\t\t\tret,\n\t\t\tchildren,\n\t\t\tundefined, // hydration data\n\t\t);\n\n\t\t// We return the child values of the portal because portal elements\n\t\t// themselves have no readable value.\n\t\tif (isPromiseLike(childValues)) {\n\t\t\treturn childValues.then((childValues) =>\n\t\t\t\tcommitRootRender(impl, root, ctx, ret!, childValues, oldProps),\n\t\t\t);\n\t\t}\n\n\t\treturn commitRootRender(impl, root, ctx, ret, childValues, oldProps);\n\t}\n\n\thydrate(\n\t\tchildren: Children,\n\t\troot: TRoot,\n\t\tbridge?: Context | undefined,\n\t): Promise | TResult {\n\t\tconst impl = this[_RendererImpl];\n\t\tconst ctx = bridge && (bridge[_ContextImpl] as ContextImpl);\n\t\tlet ret: Retainer | undefined;\n\t\tret = this.cache.get(root);\n\t\tif (ret !== undefined) {\n\t\t\t// If there is a retainer for the root, hydration is not necessary.\n\t\t\treturn this.render(children, root, bridge);\n\t\t}\n\n\t\tlet oldProps: Record | undefined;\n\t\tret = new Retainer(createElement(Portal, {children, root}));\n\t\tret.value = root;\n\t\tif (typeof root === \"object\" && root !== null && children != null) {\n\t\t\tthis.cache.set(root, ret);\n\t\t}\n\n\t\tconst hydrationData = impl.hydrate(Portal, root, {});\n\t\tconst childValues = diffChildren(\n\t\t\timpl,\n\t\t\troot,\n\t\t\tret,\n\t\t\tctx,\n\t\t\timpl.scope(undefined, Portal, ret.el.props),\n\t\t\tret,\n\t\t\tchildren,\n\t\t\thydrationData,\n\t\t);\n\n\t\t// We return the child values of the portal because portal elements\n\t\t// themselves have no readable value.\n\t\tif (isPromiseLike(childValues)) {\n\t\t\treturn childValues.then((childValues) =>\n\t\t\t\tcommitRootRender(impl, root, ctx, ret!, childValues, oldProps),\n\t\t\t);\n\t\t}\n\n\t\treturn commitRootRender(impl, root, ctx, ret, childValues, oldProps);\n\t}\n}\n\n/*** PRIVATE RENDERER FUNCTIONS ***/\nfunction commitRootRender(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n\tchildValues: Array,\n\toldProps: Record | undefined,\n): TResult {\n\t// element is a host or portal element\n\tif (root != null) {\n\t\trenderer.arrange(\n\t\t\tPortal,\n\t\t\troot,\n\t\t\tret.el.props,\n\t\t\tchildValues,\n\t\t\toldProps,\n\t\t\twrap(ret.cachedChildValues),\n\t\t);\n\t\tflush(renderer, root);\n\t}\n\n\tret.cachedChildValues = unwrap(childValues);\n\tif (root == null) {\n\t\tunmount(renderer, ret, ctx, ret);\n\t}\n\n\treturn renderer.read(ret.cachedChildValues);\n}\n\nfunction diffChildren(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tparent: Retainer,\n\tchildren: Children,\n\thydrationData: HydrationData | undefined,\n): Promise> | Array {\n\tconst oldRetained = wrap(parent.children);\n\tconst newRetained: typeof oldRetained = [];\n\tconst newChildren = arrayify(children);\n\tconst values: Array> | ElementValue> = [];\n\tlet graveyard: Array> | undefined;\n\tlet childrenByKey: Map> | undefined;\n\tlet seenKeys: Set | undefined;\n\tlet isAsync = false;\n\t// When hydrating, sibling element trees must be rendered in order, because\n\t// we do not know how many DOM nodes an element will render.\n\tlet hydrationBlock: Promise | undefined;\n\tlet oi = 0;\n\tlet oldLength = oldRetained.length;\n\tfor (let ni = 0, newLength = newChildren.length; ni < newLength; ni++) {\n\t\t// length checks to prevent index out of bounds deoptimizations.\n\t\tlet ret = oi >= oldLength ? undefined : oldRetained[oi];\n\t\tlet child = narrow(newChildren[ni]);\n\t\t{\n\t\t\t// aligning new children with old retainers\n\t\t\tlet oldKey = typeof ret === \"object\" ? ret.el.key : undefined;\n\t\t\tlet newKey = typeof child === \"object\" ? child.key : undefined;\n\t\t\tif (newKey !== undefined && seenKeys && seenKeys.has(newKey)) {\n\t\t\t\tconsole.error(\"Duplicate key\", newKey);\n\t\t\t\tnewKey = undefined;\n\t\t\t}\n\n\t\t\tif (oldKey === newKey) {\n\t\t\t\tif (childrenByKey !== undefined && newKey !== undefined) {\n\t\t\t\t\tchildrenByKey.delete(newKey);\n\t\t\t\t}\n\n\t\t\t\toi++;\n\t\t\t} else {\n\t\t\t\tchildrenByKey = childrenByKey || createChildrenByKey(oldRetained, oi);\n\t\t\t\tif (newKey === undefined) {\n\t\t\t\t\twhile (ret !== undefined && oldKey !== undefined) {\n\t\t\t\t\t\toi++;\n\t\t\t\t\t\tret = oldRetained[oi];\n\t\t\t\t\t\toldKey = typeof ret === \"object\" ? ret.el.key : undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\toi++;\n\t\t\t\t} else {\n\t\t\t\t\tret = childrenByKey.get(newKey);\n\t\t\t\t\tif (ret !== undefined) {\n\t\t\t\t\t\tchildrenByKey.delete(newKey);\n\t\t\t\t\t}\n\n\t\t\t\t\t(seenKeys = seenKeys || new Set()).add(newKey);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Updating\n\t\tlet value: Promise> | ElementValue;\n\t\tif (typeof child === \"object\") {\n\t\t\tif (child.tag === Copy || (typeof ret === \"object\" && ret.el === child)) {\n\t\t\t\tvalue = getInflightValue(ret);\n\t\t\t} else {\n\t\t\t\tlet oldProps: Record | undefined;\n\t\t\t\tlet copy = false;\n\t\t\t\tif (typeof ret === \"object\" && ret.el.tag === child.tag) {\n\t\t\t\t\toldProps = ret.el.props;\n\t\t\t\t\tret.el = child;\n\t\t\t\t\tif (child.copy) {\n\t\t\t\t\t\tvalue = getInflightValue(ret);\n\t\t\t\t\t\tcopy = true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof ret === \"object\") {\n\t\t\t\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fallback = ret;\n\t\t\t\t\tret = new Retainer(child);\n\t\t\t\t\tret.fallbackValue = fallback;\n\t\t\t\t}\n\n\t\t\t\tif (copy) {\n\t\t\t\t\t// pass\n\t\t\t\t} else if (child.tag === Raw) {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateRaw(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateRaw(renderer, ret, scope, oldProps, hydrationData);\n\t\t\t\t} else if (child.tag === Fragment) {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateFragment(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateFragment(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t} else if (typeof child.tag === \"function\") {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateComponent(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateComponent(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = hydrationBlock\n\t\t\t\t\t\t? hydrationBlock.then(() =>\n\t\t\t\t\t\t\t\tupdateHost(\n\t\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\tret as Retainer,\n\t\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: updateHost(\n\t\t\t\t\t\t\t\trenderer,\n\t\t\t\t\t\t\t\troot,\n\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tret,\n\t\t\t\t\t\t\t\toldProps,\n\t\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tisAsync = true;\n\t\t\t\tif (hydrationData !== undefined) {\n\t\t\t\t\thydrationBlock = value;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// child is a string or undefined\n\t\t\tif (typeof ret === \"object\") {\n\t\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t\t}\n\n\t\t\tif (typeof child === \"string\") {\n\t\t\t\tvalue = ret = renderer.text(child, scope, hydrationData);\n\t\t\t} else {\n\t\t\t\tret = undefined;\n\t\t\t}\n\t\t}\n\n\t\tvalues[ni] = value;\n\t\tnewRetained[ni] = ret;\n\t}\n\n\t// cleanup remaining retainers\n\tfor (; oi < oldLength; oi++) {\n\t\tconst ret = oldRetained[oi];\n\t\tif (\n\t\t\ttypeof ret === \"object\" &&\n\t\t\t(typeof ret.el.key === \"undefined\" ||\n\t\t\t\t!seenKeys ||\n\t\t\t\t!seenKeys.has(ret.el.key))\n\t\t) {\n\t\t\t(graveyard = graveyard || []).push(ret);\n\t\t}\n\t}\n\n\tif (childrenByKey !== undefined && childrenByKey.size > 0) {\n\t\t(graveyard = graveyard || []).push(...childrenByKey.values());\n\t}\n\n\tparent.children = unwrap(newRetained);\n\tif (isAsync) {\n\t\tlet childValues1 = Promise.all(values).finally(() => {\n\t\t\tif (graveyard) {\n\t\t\t\tfor (let i = 0; i < graveyard.length; i++) {\n\t\t\t\t\tunmount(renderer, host, ctx, graveyard[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tlet onChildValues!: Function;\n\t\tchildValues1 = Promise.race([\n\t\t\tchildValues1,\n\t\t\tnew Promise((resolve) => (onChildValues = resolve)),\n\t\t]);\n\n\t\tif (parent.onNextValues) {\n\t\t\tparent.onNextValues(childValues1);\n\t\t}\n\n\t\tparent.onNextValues = onChildValues;\n\t\treturn childValues1.then((childValues) => {\n\t\t\tparent.inflightValue = parent.fallbackValue = undefined;\n\t\t\treturn normalize(childValues);\n\t\t});\n\t} else {\n\t\tif (graveyard) {\n\t\t\tfor (let i = 0; i < graveyard.length; i++) {\n\t\t\t\tunmount(renderer, host, ctx, graveyard[i]);\n\t\t\t}\n\t\t}\n\n\t\tif (parent.onNextValues) {\n\t\t\tparent.onNextValues(values);\n\t\t\tparent.onNextValues = undefined;\n\t\t}\n\n\t\tparent.inflightValue = parent.fallbackValue = undefined;\n\t\t// We can assert there are no promises in the array because isAsync is false\n\t\treturn normalize(values as Array>);\n\t}\n}\n\nfunction createChildrenByKey(\n\tchildren: Array>,\n\toffset: number,\n): Map> {\n\tconst childrenByKey = new Map>();\n\tfor (let i = offset; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (typeof child === \"object\" && typeof child.el.key !== \"undefined\") {\n\t\t\tchildrenByKey.set(child.el.key, child);\n\t\t}\n\t}\n\n\treturn childrenByKey;\n}\n\nfunction getInflightValue(\n\tchild: RetainerChild,\n): Promise> | ElementValue {\n\tif (typeof child !== \"object\") {\n\t\treturn child;\n\t}\n\n\tconst ctx: ContextImpl | undefined =\n\t\ttypeof child.el.tag === \"function\" ? child.ctx : undefined;\n\tif (ctx && ctx.f & IsUpdating && ctx.inflightValue) {\n\t\treturn ctx.inflightValue;\n\t} else if (child.inflightValue) {\n\t\treturn child.inflightValue;\n\t}\n\n\treturn getValue(child);\n}\n\nfunction updateRaw(\n\trenderer: RendererImpl,\n\tret: Retainer,\n\tscope: TScope | undefined,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): ElementValue {\n\tconst props = ret.el.props;\n\tif (!oldProps || oldProps.value !== props.value) {\n\t\tret.value = renderer.raw(props.value as any, scope, hydrationData);\n\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\tret.el.ref(ret.value);\n\t\t}\n\t}\n\n\treturn ret.value;\n}\n\nfunction updateFragment(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tconst childValues = diffChildren(\n\t\trenderer,\n\t\troot,\n\t\thost,\n\t\tctx,\n\t\tscope,\n\t\tret,\n\t\tret.el.props.children as any,\n\t\thydrationData,\n\t);\n\n\tif (isPromiseLike(childValues)) {\n\t\tret.inflightValue = childValues.then((childValues) => unwrap(childValues));\n\t\treturn ret.inflightValue;\n\t}\n\n\treturn unwrap(childValues);\n}\n\nfunction updateHost(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\tctx: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tconst el = ret.el;\n\tconst tag = el.tag as string | symbol;\n\tlet hydrationValue: TNode | string | undefined;\n\tif (el.tag === Portal) {\n\t\troot = ret.value = el.props.root as any;\n\t} else {\n\t\tif (hydrationData !== undefined) {\n\t\t\tconst value = hydrationData.children.shift();\n\t\t\thydrationValue = value;\n\t\t}\n\t}\n\n\tscope = renderer.scope(scope, tag, el.props);\n\tlet childHydrationData: HydrationData | undefined;\n\tif (hydrationValue != null && typeof hydrationValue !== \"string\") {\n\t\tchildHydrationData = renderer.hydrate(tag, hydrationValue, el.props);\n\n\t\tif (childHydrationData === undefined) {\n\t\t\thydrationValue = undefined;\n\t\t}\n\t}\n\tconst childValues = diffChildren(\n\t\trenderer,\n\t\troot,\n\t\tret,\n\t\tctx,\n\t\tscope,\n\t\tret,\n\t\tret.el.props.children as any,\n\t\tchildHydrationData,\n\t);\n\n\tif (isPromiseLike(childValues)) {\n\t\tret.inflightValue = childValues.then((childValues) =>\n\t\t\tcommitHost(renderer, scope, ret, childValues, oldProps, hydrationValue),\n\t\t);\n\n\t\treturn ret.inflightValue;\n\t}\n\n\treturn commitHost(\n\t\trenderer,\n\t\tscope,\n\t\tret,\n\t\tchildValues,\n\t\toldProps,\n\t\thydrationValue,\n\t);\n}\n\nfunction commitHost(\n\trenderer: RendererImpl,\n\tscope: TScope,\n\tret: Retainer,\n\tchildValues: Array,\n\toldProps: Record | undefined,\n\thydrationValue: TNode | undefined,\n): ElementValue {\n\tconst tag = ret.el.tag as string | symbol;\n\tlet value = ret.value as TNode;\n\tif (hydrationValue != null) {\n\t\tvalue = ret.value = hydrationValue;\n\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\tret.el.ref(value);\n\t\t}\n\t}\n\n\tlet props = ret.el.props;\n\tlet copied: Set | undefined;\n\tif (tag !== Portal) {\n\t\tif (value == null) {\n\t\t\t// This assumes that renderer.create does not return nullish values.\n\t\t\tvalue = ret.value = renderer.create(tag, props, scope);\n\t\t\tif (typeof ret.el.ref === \"function\") {\n\t\t\t\tret.el.ref(value);\n\t\t\t}\n\t\t}\n\n\t\tfor (const propName in {...oldProps, ...props}) {\n\t\t\tconst propValue = props[propName];\n\t\t\tif (propValue === Copy) {\n\t\t\t\t// TODO: The Copy tag doubles as a way to skip the patching of a prop.\n\t\t\t\t// Not sure about this feature. Should probably be removed.\n\t\t\t\t(copied = copied || new Set()).add(propName);\n\t\t\t} else if (!SPECIAL_PROPS.has(propName)) {\n\t\t\t\trenderer.patch(\n\t\t\t\t\ttag,\n\t\t\t\t\tvalue,\n\t\t\t\t\tpropName,\n\t\t\t\t\tpropValue,\n\t\t\t\t\toldProps && oldProps[propName],\n\t\t\t\t\tscope,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (copied) {\n\t\tprops = {...ret.el.props};\n\t\tfor (const name of copied) {\n\t\t\tprops[name] = oldProps && oldProps[name];\n\t\t}\n\n\t\tret.el = new Element(tag, props);\n\t}\n\n\trenderer.arrange(\n\t\ttag,\n\t\tvalue,\n\t\tprops,\n\t\tchildValues,\n\t\toldProps,\n\t\twrap(ret.cachedChildValues),\n\t);\n\tret.cachedChildValues = unwrap(childValues);\n\tif (tag === Portal) {\n\t\tflush(renderer, ret.value);\n\t\treturn;\n\t}\n\n\treturn value;\n}\n\nfunction flush(\n\trenderer: RendererImpl,\n\troot: TRoot,\n\tinitiator?: ContextImpl,\n) {\n\trenderer.flush(root);\n\tif (typeof root !== \"object\" || root === null) {\n\t\treturn;\n\t}\n\n\tconst flushMap = flushMaps.get(root as any);\n\tif (flushMap) {\n\t\tif (initiator) {\n\t\t\tconst flushMap1 = new Map>();\n\t\t\tfor (let [ctx, callbacks] of flushMap) {\n\t\t\t\tif (!ctxContains(initiator, ctx)) {\n\t\t\t\t\tflushMap.delete(ctx);\n\t\t\t\t\tflushMap1.set(ctx, callbacks);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (flushMap1.size) {\n\t\t\t\tflushMaps.set(root as any, flushMap1);\n\t\t\t} else {\n\t\t\t\tflushMaps.delete(root as any);\n\t\t\t}\n\t\t} else {\n\t\t\tflushMaps.delete(root as any);\n\t\t}\n\n\t\tfor (const [ctx, callbacks] of flushMap) {\n\t\t\tconst value = renderer.read(getValue(ctx.ret));\n\t\t\tfor (const callback of callbacks) {\n\t\t\t\tcallback(value);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction unmount(\n\trenderer: RendererImpl,\n\thost: Retainer,\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n): void {\n\tif (typeof ret.el.tag === \"function\") {\n\t\tctx = ret.ctx as ContextImpl;\n\t\tunmountComponent(ctx);\n\t} else if (ret.el.tag === Portal) {\n\t\thost = ret;\n\t\trenderer.arrange(\n\t\t\tPortal,\n\t\t\thost.value as TNode,\n\t\t\thost.el.props,\n\t\t\t[],\n\t\t\thost.el.props,\n\t\t\twrap(host.cachedChildValues),\n\t\t);\n\t\tflush(renderer, host.value);\n\t} else if (ret.el.tag !== Fragment) {\n\t\tif (isEventTarget(ret.value)) {\n\t\t\tconst records = getListenerRecords(ctx, host);\n\t\t\tfor (let i = 0; i < records.length; i++) {\n\t\t\t\tconst record = records[i];\n\t\t\t\tret.value.removeEventListener(\n\t\t\t\t\trecord.type,\n\t\t\t\t\trecord.callback,\n\t\t\t\t\trecord.options,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\trenderer.dispose(ret.el.tag, ret.value as TNode, ret.el.props);\n\t\thost = ret;\n\t}\n\n\tconst children = wrap(ret.children);\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (typeof child === \"object\") {\n\t\t\tunmount(renderer, host, ctx, child);\n\t\t}\n\t}\n}\n\n/*** CONTEXT FLAGS ***/\n/**\n * A flag which is true when the component is initialized or updated by an\n * ancestor component or the root render call.\n *\n * Used to determine things like whether the nearest host ancestor needs to be\n * rearranged.\n */\nconst IsUpdating = 1 << 0;\n\n/**\n * A flag which is true when the component is synchronously executing.\n *\n * Used to guard against components triggering stack overflow or generator error.\n */\nconst IsSyncExecuting = 1 << 1;\n\n/**\n * A flag which is true when the component is in a for...of loop.\n */\nconst IsInForOfLoop = 1 << 2;\n\n/**\n * A flag which is true when the component is in a for await...of loop.\n */\nconst IsInForAwaitOfLoop = 1 << 3;\n\n/**\n * A flag which is true when the component starts the render loop but has not\n * yielded yet.\n *\n * Used to make sure that components yield at least once per loop.\n */\nconst NeedsToYield = 1 << 4;\n\n/**\n * A flag used by async generator components in conjunction with the\n * onAvailable callback to mark whether new props can be pulled via the context\n * async iterator. See the Symbol.asyncIterator method and the\n * resumeCtxIterator function.\n */\nconst PropsAvailable = 1 << 5;\n\n/**\n * A flag which is set when a component errors.\n *\n * This is mainly used to prevent some false positives in \"component yields or\n * returns undefined\" warnings. The reason we’re using this versus IsUnmounted\n * is a very troubling test (cascades sync generator parent and sync generator\n * child) where synchronous code causes a stack overflow error in a\n * non-deterministic way. Deeply disturbing stuff.\n */\nconst IsErrored = 1 << 6;\n\n/**\n * A flag which is set when the component is unmounted. Unmounted components\n * are no longer in the element tree and cannot refresh or rerender.\n */\nconst IsUnmounted = 1 << 7;\n\n/**\n * A flag which indicates that the component is a sync generator component.\n */\nconst IsSyncGen = 1 << 8;\n\n/**\n * A flag which indicates that the component is an async generator component.\n */\nconst IsAsyncGen = 1 << 9;\n\n/**\n * A flag which is set while schedule callbacks are called.\n */\nconst IsScheduling = 1 << 10;\n\n/**\n * A flag which is set when a schedule callback calls refresh.\n */\nconst IsSchedulingRefresh = 1 << 11;\n\nexport interface Context extends Crank.Context {}\n\n/**\n * An interface which can be extended to provide strongly typed provisions.\n * See Context.prototype.consume and Context.prototype.provide.\n */\nexport interface ProvisionMap extends Crank.ProvisionMap {}\n\nconst provisionMaps = new WeakMap>();\n\nconst scheduleMap = new WeakMap>();\n\nconst cleanupMap = new WeakMap>();\n\n// keys are roots\nconst flushMaps = new WeakMap>>();\n\n/**\n * @internal\n * The internal class which holds context data.\n */\nclass ContextImpl<\n\tTNode = unknown,\n\tTScope = unknown,\n\tTRoot extends TNode = TNode,\n\tTResult = unknown,\n> {\n\t/** A bitmask. See CONTEXT FLAGS above. */\n\tdeclare f: number;\n\n\t/** The actual context associated with this impl. */\n\tdeclare owner: Context;\n\n\t/**\n\t * The renderer which created this context.\n\t */\n\tdeclare renderer: RendererImpl;\n\n\t/** The root node as set by the nearest ancestor portal. */\n\tdeclare root: TRoot | undefined;\n\n\t/**\n\t * The nearest ancestor host or portal retainer.\n\t *\n\t * When refresh is called, the host element will be arranged as the last step\n\t * of the commit, to make sure the parent’s children properly reflects the\n\t * components’s children.\n\t */\n\tdeclare host: Retainer;\n\n\t/** The parent context impl. */\n\tdeclare parent: ContextImpl | undefined;\n\n\t/** The value of the scope at the point of element’s creation. */\n\tdeclare scope: TScope | undefined;\n\n\t/** The internal node associated with this context. */\n\tdeclare ret: Retainer;\n\n\t/**\n\t * The iterator returned by the component function.\n\t *\n\t * Existence of this property implies that the component is a generator\n\t * component. It is deleted when a component is returned.\n\t */\n\tdeclare iterator:\n\t\t| Iterator\n\t\t| AsyncIterator\n\t\t| undefined;\n\n\t// A \"block\" is a promise which represents the duration during which new\n\t// updates are queued, whereas \"value\" is a promise which represents the\n\t// actual pending result of rendering.\n\tdeclare inflightBlock: Promise | undefined;\n\tdeclare inflightValue: Promise> | undefined;\n\tdeclare enqueuedBlock: Promise | undefined;\n\tdeclare enqueuedValue: Promise> | undefined;\n\n\t// The following callbacks are used to implement the async generator render\n\t// loop behavior.\n\tdeclare onProps: ((props: Record) => unknown) | undefined;\n\tdeclare onPropsRequested: Function | undefined;\n\tconstructor(\n\t\trenderer: RendererImpl,\n\t\troot: TRoot | undefined,\n\t\thost: Retainer,\n\t\tparent: ContextImpl | undefined,\n\t\tscope: TScope | undefined,\n\t\tret: Retainer,\n\t) {\n\t\tthis.f = 0;\n\t\tthis.owner = new Context(this);\n\t\tthis.renderer = renderer;\n\t\tthis.root = root;\n\t\tthis.host = host;\n\t\tthis.parent = parent;\n\t\tthis.scope = scope;\n\t\tthis.ret = ret;\n\n\t\tthis.iterator = undefined;\n\t\tthis.inflightBlock = undefined;\n\t\tthis.inflightValue = undefined;\n\t\tthis.enqueuedBlock = undefined;\n\t\tthis.enqueuedValue = undefined;\n\t\tthis.onProps = undefined;\n\t\tthis.onPropsRequested = undefined;\n\t}\n}\n\nconst _ContextImpl = Symbol.for(\"crank.ContextImpl\");\n\ntype ComponentProps = T extends () => any\n\t? {}\n\t: T extends (props: infer U) => any\n\t\t? U\n\t\t: T;\n/**\n * A class which is instantiated and passed to every component as its this\n * value. Contexts form a tree just like elements and all components in the\n * element tree are connected via contexts. Components can use this tree to\n * communicate data upwards via events and downwards via provisions.\n *\n * @template [T=*] - The expected shape of the props passed to the component,\n * or a component function. Used to strongly type the Context iterator methods.\n * @template [TResult=*] - The readable element value type. It is used in\n * places such as the return value of refresh and the argument passed to\n * schedule and cleanup callbacks.\n */\nexport class Context implements EventTarget {\n\t/**\n\t * @internal\n\t */\n\tdeclare [_ContextImpl]: ContextImpl;\n\n\t// TODO: If we could make the constructor function take a nicer value, it\n\t// would be useful for testing purposes.\n\tconstructor(impl: ContextImpl) {\n\t\tthis[_ContextImpl] = impl;\n\t}\n\n\t/**\n\t * The current props of the associated element.\n\t */\n\tget props(): ComponentProps {\n\t\treturn this[_ContextImpl].ret.el.props as ComponentProps;\n\t}\n\n\t/**\n\t * The current value of the associated element.\n\t *\n\t * @deprecated\n\t */\n\tget value(): TResult {\n\t\treturn this[_ContextImpl].renderer.read(getValue(this[_ContextImpl].ret));\n\t}\n\n\t*[Symbol.iterator](): Generator> {\n\t\tconst ctx = this[_ContextImpl];\n\t\ttry {\n\t\t\tctx.f |= IsInForOfLoop;\n\t\t\twhile (!(ctx.f & IsUnmounted)) {\n\t\t\t\tif (ctx.f & NeedsToYield) {\n\t\t\t\t\tthrow new Error(\"Context iterated twice without a yield\");\n\t\t\t\t} else {\n\t\t\t\t\tctx.f |= NeedsToYield;\n\t\t\t\t}\n\n\t\t\t\tyield ctx.ret.el.props as ComponentProps;\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsInForOfLoop;\n\t\t}\n\t}\n\n\tasync *[Symbol.asyncIterator](): AsyncGenerator> {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (ctx.f & IsSyncGen) {\n\t\t\tthrow new Error(\"Use for...of in sync generator components\");\n\t\t}\n\n\t\ttry {\n\t\t\tctx.f |= IsInForAwaitOfLoop;\n\t\t\twhile (!(ctx.f & IsUnmounted)) {\n\t\t\t\tif (ctx.f & NeedsToYield) {\n\t\t\t\t\tthrow new Error(\"Context iterated twice without a yield\");\n\t\t\t\t} else {\n\t\t\t\t\tctx.f |= NeedsToYield;\n\t\t\t\t}\n\n\t\t\t\tif (ctx.f & PropsAvailable) {\n\t\t\t\t\tctx.f &= ~PropsAvailable;\n\t\t\t\t\tyield ctx.ret.el.props as ComponentProps;\n\t\t\t\t} else {\n\t\t\t\t\tconst props = await new Promise((resolve) => (ctx.onProps = resolve));\n\t\t\t\t\tif (ctx.f & IsUnmounted) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tyield props as ComponentProps;\n\t\t\t\t}\n\n\t\t\t\tif (ctx.onPropsRequested) {\n\t\t\t\t\tctx.onPropsRequested();\n\t\t\t\t\tctx.onPropsRequested = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsInForAwaitOfLoop;\n\t\t\tif (ctx.onPropsRequested) {\n\t\t\t\tctx.onPropsRequested();\n\t\t\t\tctx.onPropsRequested = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Re-executes a component.\n\t *\n\t * @returns The rendered value of the component or a promise thereof if the\n\t * component or its children execute asynchronously.\n\t *\n\t * The refresh method works a little differently for async generator\n\t * components, in that it will resume the Context’s props async iterator\n\t * rather than resuming execution. This is because async generator components\n\t * are perpetually resumed independent of updates, and rely on the props\n\t * async iterator to suspend.\n\t */\n\trefresh(): Promise | TResult {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (ctx.f & IsUnmounted) {\n\t\t\tconsole.error(\"Component is unmounted\");\n\t\t\treturn ctx.renderer.read(undefined);\n\t\t} else if (ctx.f & IsSyncExecuting) {\n\t\t\tconsole.error(\"Component is already executing\");\n\t\t\treturn ctx.renderer.read(getValue(ctx.ret));\n\t\t}\n\n\t\tconst value = enqueueComponentRun(ctx);\n\t\tif (isPromiseLike(value)) {\n\t\t\treturn (value as Promise).then((value) => ctx.renderer.read(value));\n\t\t}\n\n\t\treturn ctx.renderer.read(value);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component commits. Will only\n\t * fire once per callback and update.\n\t */\n\tschedule(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet callbacks = scheduleMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tscheduleMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component’s children are\n\t * rendered into the root. Will only fire once per callback and render.\n\t */\n\tflush(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tif (typeof ctx.root !== \"object\" || ctx.root === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet flushMap = flushMaps.get(ctx.root);\n\t\tif (!flushMap) {\n\t\t\tflushMap = new Map>();\n\t\t\tflushMaps.set(ctx.root, flushMap);\n\t\t}\n\n\t\tlet callbacks = flushMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tflushMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\t/**\n\t * Registers a callback which fires when the component unmounts. Will only\n\t * fire once per callback.\n\t */\n\tcleanup(callback: (value: TResult) => unknown): void {\n\t\tconst ctx = this[_ContextImpl];\n\n\t\tif (ctx.f & IsUnmounted) {\n\t\t\tconst value = ctx.renderer.read(getValue(ctx.ret));\n\t\t\tcallback(value);\n\t\t\treturn;\n\t\t}\n\n\t\tlet callbacks = cleanupMap.get(ctx);\n\t\tif (!callbacks) {\n\t\t\tcallbacks = new Set();\n\t\t\tcleanupMap.set(ctx, callbacks);\n\t\t}\n\n\t\tcallbacks.add(callback);\n\t}\n\n\tconsume(key: TKey): ProvisionMap[TKey];\n\tconsume(key: unknown): any;\n\tconsume(key: unknown): any {\n\t\tfor (\n\t\t\tlet ctx = this[_ContextImpl].parent;\n\t\t\tctx !== undefined;\n\t\t\tctx = ctx.parent\n\t\t) {\n\t\t\tconst provisions = provisionMaps.get(ctx);\n\t\t\tif (provisions && provisions.has(key)) {\n\t\t\t\treturn provisions.get(key)!;\n\t\t\t}\n\t\t}\n\t}\n\n\tprovide(\n\t\tkey: TKey,\n\t\tvalue: ProvisionMap[TKey],\n\t): void;\n\tprovide(key: unknown, value: any): void;\n\tprovide(key: unknown, value: any): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet provisions = provisionMaps.get(ctx);\n\t\tif (!provisions) {\n\t\t\tprovisions = new Map();\n\t\t\tprovisionMaps.set(ctx, provisions);\n\t\t}\n\n\t\tprovisions.set(key, value);\n\t}\n\n\taddEventListener(\n\t\ttype: T,\n\t\tlistener: MappedEventListenerOrEventListenerObject | null,\n\t\toptions?: boolean | AddEventListenerOptions,\n\t): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tlet listeners: Array;\n\t\tif (!isListenerOrListenerObject(listener)) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tconst listeners1 = listenersMap.get(ctx);\n\t\t\tif (listeners1) {\n\t\t\t\tlisteners = listeners1;\n\t\t\t} else {\n\t\t\t\tlisteners = [];\n\t\t\t\tlistenersMap.set(ctx, listeners);\n\t\t\t}\n\t\t}\n\n\t\toptions = normalizeListenerOptions(options);\n\t\tlet callback: MappedEventListener;\n\t\tif (typeof listener === \"object\") {\n\t\t\tcallback = () => listener.handleEvent.apply(listener, arguments as any);\n\t\t} else {\n\t\t\tcallback = listener;\n\t\t}\n\n\t\tconst record: EventListenerRecord = {type, listener, callback, options};\n\t\tif (options.once) {\n\t\t\trecord.callback = function (this: any) {\n\t\t\t\tconst i = listeners.indexOf(record);\n\t\t\t\tif (i !== -1) {\n\t\t\t\t\tlisteners.splice(i, 1);\n\t\t\t\t}\n\n\t\t\t\treturn callback.apply(this, arguments as any);\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tlisteners.some(\n\t\t\t\t(record1) =>\n\t\t\t\t\trecord.type === record1.type &&\n\t\t\t\t\trecord.listener === record1.listener &&\n\t\t\t\t\t!record.options.capture === !record1.options.capture,\n\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tlisteners.push(record);\n\n\t\t// TODO: is it possible to separate out the EventTarget delegation logic\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tvalue.addEventListener(record.type, record.callback, record.options);\n\t\t\t}\n\t\t}\n\t}\n\n\tremoveEventListener(\n\t\ttype: T,\n\t\tlistener: MappedEventListenerOrEventListenerObject | null,\n\t\toptions?: EventListenerOptions | boolean,\n\t): void {\n\t\tconst ctx = this[_ContextImpl];\n\t\tconst listeners = listenersMap.get(ctx);\n\t\tif (listeners == null || !isListenerOrListenerObject(listener)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options1 = normalizeListenerOptions(options);\n\t\tconst i = listeners.findIndex(\n\t\t\t(record) =>\n\t\t\t\trecord.type === type &&\n\t\t\t\trecord.listener === listener &&\n\t\t\t\t!record.options.capture === !options1.capture,\n\t\t);\n\n\t\tif (i === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst record = listeners[i];\n\t\tlisteners.splice(i, 1);\n\n\t\t// TODO: is it possible to separate out the EventTarget delegation logic\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tvalue.removeEventListener(record.type, record.callback, record.options);\n\t\t\t}\n\t\t}\n\t}\n\n\tdispatchEvent(ev: Event): boolean {\n\t\tconst ctx = this[_ContextImpl];\n\t\tconst path: Array = [];\n\t\tfor (\n\t\t\tlet parent = ctx.parent;\n\t\t\tparent !== undefined;\n\t\t\tparent = parent.parent\n\t\t) {\n\t\t\tpath.push(parent);\n\t\t}\n\n\t\t// We patch the stopImmediatePropagation method because ev.cancelBubble\n\t\t// only informs us if stopPropagation was called and there are no\n\t\t// properties which inform us if stopImmediatePropagation was called.\n\t\tlet immediateCancelBubble = false;\n\t\tconst stopImmediatePropagation = ev.stopImmediatePropagation;\n\t\tsetEventProperty(ev, \"stopImmediatePropagation\", () => {\n\t\t\timmediateCancelBubble = true;\n\t\t\treturn stopImmediatePropagation.call(ev);\n\t\t});\n\t\tsetEventProperty(ev, \"target\", ctx.owner);\n\n\t\t// The only possible errors in this block are errors thrown by callbacks,\n\t\t// and dispatchEvent will only log these errors rather than throwing\n\t\t// them. Therefore, we place all code in a try block, log errors in the\n\t\t// catch block, and use an unsafe return statement in the finally block.\n\t\t//\n\t\t// Each early return within the try block returns true because while the\n\t\t// return value is overridden in the finally block, TypeScript\n\t\t// (justifiably) does not recognize the unsafe return statement.\n\t\ttry {\n\t\t\tsetEventProperty(ev, \"eventPhase\", CAPTURING_PHASE);\n\t\t\tfor (let i = path.length - 1; i >= 0; i--) {\n\t\t\t\tconst target = path[i];\n\t\t\t\tconst listeners = listenersMap.get(target);\n\t\t\t\tif (listeners) {\n\t\t\t\t\tsetEventProperty(ev, \"currentTarget\", target.owner);\n\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\tif (record.type === ev.type && record.options.capture) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\trecord.callback.call(target.owner, ev);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t{\n\t\t\t\tsetEventProperty(ev, \"eventPhase\", AT_TARGET);\n\t\t\t\tsetEventProperty(ev, \"currentTarget\", ctx.owner);\n\n\t\t\t\t// dispatchEvent calls the prop callback if it exists\n\t\t\t\tlet propCallback = ctx.ret.el.props[\"on\" + ev.type] as unknown;\n\t\t\t\tif (typeof propCallback === \"function\") {\n\t\t\t\t\tpropCallback(ev);\n\t\t\t\t\tif (immediateCancelBubble || ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Checks for camel-cased event props\n\t\t\t\t\tfor (const propName in ctx.ret.el.props) {\n\t\t\t\t\t\tif (propName.toLowerCase() === \"on\" + ev.type.toLowerCase()) {\n\t\t\t\t\t\t\tpropCallback = ctx.ret.el.props[propName] as unknown;\n\t\t\t\t\t\t\tif (typeof propCallback === \"function\") {\n\t\t\t\t\t\t\t\tpropCallback(ev);\n\t\t\t\t\t\t\t\tif (immediateCancelBubble || ev.cancelBubble) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst listeners = listenersMap.get(ctx);\n\t\t\t\tif (listeners) {\n\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\tif (record.type === ev.type) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\trecord.callback.call(ctx.owner, ev);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (ev.bubbles) {\n\t\t\t\tsetEventProperty(ev, \"eventPhase\", BUBBLING_PHASE);\n\t\t\t\tfor (let i = 0; i < path.length; i++) {\n\t\t\t\t\tconst target = path[i];\n\t\t\t\t\tconst listeners = listenersMap.get(target);\n\t\t\t\t\tif (listeners) {\n\t\t\t\t\t\tsetEventProperty(ev, \"currentTarget\", target.owner);\n\t\t\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\t\t\tif (record.type === ev.type && !record.options.capture) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\trecord.callback.call(target.owner, ev);\n\t\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (immediateCancelBubble) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (ev.cancelBubble) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tsetEventProperty(ev, \"eventPhase\", NONE);\n\t\t\tsetEventProperty(ev, \"currentTarget\", null);\n\t\t\t// eslint-disable-next-line no-unsafe-finally\n\t\t\treturn !ev.defaultPrevented;\n\t\t}\n\t}\n}\n\n/*** PRIVATE CONTEXT FUNCTIONS ***/\nfunction ctxContains(parent: ContextImpl, child: ContextImpl): boolean {\n\tfor (\n\t\tlet current: ContextImpl | undefined = child;\n\t\tcurrent !== undefined;\n\t\tcurrent = current.parent\n\t) {\n\t\tif (current === parent) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nfunction updateComponent(\n\trenderer: RendererImpl,\n\troot: TRoot | undefined,\n\thost: Retainer,\n\tparent: ContextImpl | undefined,\n\tscope: TScope | undefined,\n\tret: Retainer,\n\toldProps: Record | undefined,\n\thydrationData: HydrationData | undefined,\n): Promise> | ElementValue {\n\tlet ctx: ContextImpl;\n\tif (oldProps) {\n\t\tctx = ret.ctx as ContextImpl;\n\t\tif (ctx.f & IsSyncExecuting) {\n\t\t\tconsole.error(\"Component is already executing\");\n\t\t\treturn ret.cachedChildValues;\n\t\t}\n\t} else {\n\t\tctx = ret.ctx = new ContextImpl(renderer, root, host, parent, scope, ret);\n\t}\n\n\tctx.f |= IsUpdating;\n\treturn enqueueComponentRun(ctx, hydrationData);\n}\n\nfunction updateComponentChildren(\n\tctx: ContextImpl,\n\tchildren: Children,\n\thydrationData?: HydrationData | undefined,\n): Promise> | ElementValue {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t} else if (ctx.f & IsErrored) {\n\t\t// This branch is necessary for some race conditions where this function is\n\t\t// called after iterator.throw() in async generator components.\n\t\treturn;\n\t} else if (children === undefined) {\n\t\tconsole.error(\n\t\t\t\"A component has returned or yielded undefined. If this was intentional, return or yield null instead.\",\n\t\t);\n\t}\n\n\tlet childValues: Promise> | Array;\n\ttry {\n\t\t// TODO: WAT\n\t\t// We set the isExecuting flag in case a child component dispatches an event\n\t\t// which bubbles to this component and causes a synchronous refresh().\n\t\tctx.f |= IsSyncExecuting;\n\t\tchildValues = diffChildren(\n\t\t\tctx.renderer,\n\t\t\tctx.root,\n\t\t\tctx.host,\n\t\t\tctx,\n\t\t\tctx.scope,\n\t\t\tctx.ret,\n\t\t\tnarrow(children),\n\t\t\thydrationData,\n\t\t);\n\t} finally {\n\t\tctx.f &= ~IsSyncExecuting;\n\t}\n\n\tif (isPromiseLike(childValues)) {\n\t\tctx.ret.inflightValue = childValues.then((childValues) =>\n\t\t\tcommitComponent(ctx, childValues),\n\t\t);\n\n\t\treturn ctx.ret.inflightValue;\n\t}\n\n\treturn commitComponent(ctx, childValues);\n}\n\nfunction commitComponent(\n\tctx: ContextImpl,\n\tvalues: Array,\n): ElementValue {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t}\n\n\tconst listeners = listenersMap.get(ctx);\n\tif (listeners && listeners.length) {\n\t\tfor (let i = 0; i < values.length; i++) {\n\t\t\tconst value = values[i];\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tfor (let j = 0; j < listeners.length; j++) {\n\t\t\t\t\tconst record = listeners[j];\n\t\t\t\t\tvalue.addEventListener(record.type, record.callback, record.options);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst oldValues = wrap(ctx.ret.cachedChildValues);\n\tlet value = (ctx.ret.cachedChildValues = unwrap(values));\n\tif (ctx.f & IsScheduling) {\n\t\tctx.f |= IsSchedulingRefresh;\n\t} else if (!(ctx.f & IsUpdating)) {\n\t\t// If we’re not updating the component, which happens when components are\n\t\t// refreshed, or when async generator components iterate, we have to do a\n\t\t// little bit housekeeping when a component’s child values have changed.\n\t\tif (!arrayEqual(oldValues, values)) {\n\t\t\tconst records = getListenerRecords(ctx.parent, ctx.host);\n\t\t\tif (records.length) {\n\t\t\t\tfor (let i = 0; i < values.length; i++) {\n\t\t\t\t\tconst value = values[i];\n\t\t\t\t\tif (isEventTarget(value)) {\n\t\t\t\t\t\tfor (let j = 0; j < records.length; j++) {\n\t\t\t\t\t\t\tconst record = records[j];\n\t\t\t\t\t\t\tvalue.addEventListener(\n\t\t\t\t\t\t\t\trecord.type,\n\t\t\t\t\t\t\t\trecord.callback,\n\t\t\t\t\t\t\t\trecord.options,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// rearranging the nearest ancestor host element\n\t\t\tconst host = ctx.host;\n\t\t\tconst oldHostValues = wrap(host.cachedChildValues);\n\t\t\tinvalidate(ctx, host);\n\t\t\tconst hostValues = getChildValues(host);\n\t\t\tctx.renderer.arrange(\n\t\t\t\thost.el.tag as string | symbol,\n\t\t\t\thost.value as TNode,\n\t\t\t\thost.el.props,\n\t\t\t\thostValues,\n\t\t\t\t// props and oldProps are the same because the host isn’t updated.\n\t\t\t\thost.el.props,\n\t\t\t\toldHostValues,\n\t\t\t);\n\t\t}\n\n\t\tflush(ctx.renderer, ctx.root, ctx);\n\t}\n\n\tconst callbacks = scheduleMap.get(ctx);\n\tif (callbacks) {\n\t\tscheduleMap.delete(ctx);\n\t\tctx.f |= IsScheduling;\n\t\tconst value1 = ctx.renderer.read(value);\n\t\tfor (const callback of callbacks) {\n\t\t\tcallback(value1);\n\t\t}\n\n\t\tctx.f &= ~IsScheduling;\n\t\t// Handles an edge case where refresh() is called during a schedule().\n\t\tif (ctx.f & IsSchedulingRefresh) {\n\t\t\tctx.f &= ~IsSchedulingRefresh;\n\t\t\tvalue = getValue(ctx.ret);\n\t\t}\n\t}\n\n\tctx.f &= ~IsUpdating;\n\treturn value;\n}\n\nfunction invalidate(ctx: ContextImpl, host: Retainer): void {\n\tfor (\n\t\tlet parent = ctx.parent;\n\t\tparent !== undefined && parent.host === host;\n\t\tparent = parent.parent\n\t) {\n\t\tparent.ret.cachedChildValues = undefined;\n\t}\n\n\thost.cachedChildValues = undefined;\n}\n\nfunction arrayEqual(arr1: Array, arr2: Array): boolean {\n\tif (arr1.length !== arr2.length) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < arr1.length; i++) {\n\t\tconst value1 = arr1[i];\n\t\tconst value2 = arr2[i];\n\t\tif (value1 !== value2) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/** Enqueues and executes the component associated with the context. */\nfunction enqueueComponentRun(\n\tctx: ContextImpl,\n\thydrationData?: HydrationData | undefined,\n): Promise> | ElementValue {\n\tif (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) {\n\t\tif (hydrationData !== undefined) {\n\t\t\tthrow new Error(\"Hydration error\");\n\t\t}\n\n\t\t// This branch will run for non-initial renders of async generator\n\t\t// components when they are not in for...of loops. When in a for...of loop,\n\t\t// async generator components will behave normally.\n\t\t//\n\t\t// Async gen componennts can be in one of three states:\n\t\t//\n\t\t// 1. propsAvailable flag is true: \"available\"\n\t\t//\n\t\t// The component is suspended somewhere in the loop. When the component\n\t\t// reaches the bottom of the loop, it will run again with the next props.\n\t\t//\n\t\t// 2. onAvailable callback is defined: \"suspended\"\n\t\t//\n\t\t// The component has suspended at the bottom of the loop and is waiting\n\t\t// for new props.\n\t\t//\n\t\t// 3. neither 1 or 2: \"Running\"\n\t\t//\n\t\t// The component is suspended somewhere in the loop. When the component\n\t\t// reaches the bottom of the loop, it will suspend.\n\t\t//\n\t\t// Components will never be both available and suspended at\n\t\t// the same time.\n\t\t//\n\t\t// If the component is at the loop bottom, this means that the next value\n\t\t// produced by the component will have the most up to date props, so we can\n\t\t// simply return the current inflight value. Otherwise, we have to wait for\n\t\t// the bottom of the loop to be reached before returning the inflight\n\t\t// value.\n\t\tconst isAtLoopbottom = ctx.f & IsInForAwaitOfLoop && !ctx.onProps;\n\t\tresumePropsAsyncIterator(ctx);\n\t\tif (isAtLoopbottom) {\n\t\t\tif (ctx.inflightBlock == null) {\n\t\t\t\tctx.inflightBlock = new Promise(\n\t\t\t\t\t(resolve) => (ctx.onPropsRequested = resolve),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn ctx.inflightBlock.then(() => {\n\t\t\t\tctx.inflightBlock = undefined;\n\t\t\t\treturn ctx.inflightValue;\n\t\t\t});\n\t\t}\n\n\t\treturn ctx.inflightValue;\n\t} else if (!ctx.inflightBlock) {\n\t\ttry {\n\t\t\tconst [block, value] = runComponent(ctx, hydrationData);\n\t\t\tif (block) {\n\t\t\t\tctx.inflightBlock = block\n\t\t\t\t\t// TODO: there is some fuckery going on here related to async\n\t\t\t\t\t// generator components resuming when they’re meant to be returned.\n\t\t\t\t\t.then((v) => v)\n\t\t\t\t\t.finally(() => advanceComponent(ctx));\n\t\t\t\t// stepComponent will only return a block if the value is asynchronous\n\t\t\t\tctx.inflightValue = value as Promise>;\n\t\t\t}\n\n\t\t\treturn value;\n\t\t} catch (err) {\n\t\t\tif (!(ctx.f & IsUpdating)) {\n\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t}\n\n\t\t\tthrow err;\n\t\t}\n\t} else if (!ctx.enqueuedBlock) {\n\t\tif (hydrationData !== undefined) {\n\t\t\tthrow new Error(\"Hydration error\");\n\t\t}\n\t\t// We need to assign enqueuedBlock and enqueuedValue synchronously, hence\n\t\t// the Promise constructor call here.\n\t\tlet resolveEnqueuedBlock: Function;\n\t\tctx.enqueuedBlock = new Promise(\n\t\t\t(resolve) => (resolveEnqueuedBlock = resolve),\n\t\t);\n\n\t\tctx.enqueuedValue = ctx.inflightBlock.then(() => {\n\t\t\ttry {\n\t\t\t\tconst [block, value] = runComponent(ctx);\n\t\t\t\tif (block) {\n\t\t\t\t\tresolveEnqueuedBlock(block.finally(() => advanceComponent(ctx)));\n\t\t\t\t}\n\n\t\t\t\treturn value;\n\t\t\t} catch (err) {\n\t\t\t\tif (!(ctx.f & IsUpdating)) {\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t}\n\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t});\n\t}\n\n\treturn ctx.enqueuedValue;\n}\n\n/** Called when the inflight block promise settles. */\nfunction advanceComponent(ctx: ContextImpl): void {\n\tif (ctx.f & IsAsyncGen && !(ctx.f & IsInForOfLoop)) {\n\t\treturn;\n\t}\n\n\tctx.inflightBlock = ctx.enqueuedBlock;\n\tctx.inflightValue = ctx.enqueuedValue;\n\tctx.enqueuedBlock = undefined;\n\tctx.enqueuedValue = undefined;\n}\n\n/**\n * This function is responsible for executing the component and handling all\n * the different component types. We cannot identify whether a component is a\n * generator or async without calling it and inspecting the return value.\n *\n * @returns {[block, value]} A tuple where\n * block - A possible promise which represents the duration during which the\n * component is blocked from updating.\n * value - A possible promise resolving to the rendered value of children.\n *\n * Each component type will block according to the type of the component.\n * - Sync function components never block and will transparently pass updates\n * to children.\n * - Async function components and async generator components block while\n * executing itself, but will not block for async children.\n * - Sync generator components block while any children are executing, because\n * they are expected to only resume when they’ve actually rendered.\n */\nfunction runComponent(\n\tctx: ContextImpl,\n\thydrationData?: HydrationData | undefined,\n): [\n\tPromise | undefined,\n\tPromise> | ElementValue,\n] {\n\tconst ret = ctx.ret;\n\tconst initial = !ctx.iterator;\n\tif (initial) {\n\t\tresumePropsAsyncIterator(ctx);\n\t\tctx.f |= IsSyncExecuting;\n\t\tclearEventListeners(ctx);\n\t\tlet result: ReturnType;\n\t\ttry {\n\t\t\tresult = (ret.el.tag as Component).call(\n\t\t\t\tctx.owner,\n\t\t\t\tret.el.props,\n\t\t\t\tctx.owner,\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tctx.f |= IsErrored;\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\n\t\tif (isIteratorLike(result)) {\n\t\t\tctx.iterator = result;\n\t\t} else if (isPromiseLike(result)) {\n\t\t\t// async function component\n\t\t\tconst result1 =\n\t\t\t\tresult instanceof Promise ? result : Promise.resolve(result);\n\t\t\tconst value = result1.then(\n\t\t\t\t(result) =>\n\t\t\t\t\tupdateComponentChildren(ctx, result, hydrationData),\n\t\t\t\t(err) => {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t},\n\t\t\t);\n\t\t\treturn [result1.catch(NOOP), value];\n\t\t} else {\n\t\t\t// sync function component\n\t\t\treturn [\n\t\t\t\tundefined,\n\t\t\t\tupdateComponentChildren(ctx, result, hydrationData),\n\t\t\t];\n\t\t}\n\t} else if (hydrationData !== undefined) {\n\t\t// hydration data should only be passed on the initial render\n\t\tthrow new Error(\"Hydration error\");\n\t}\n\n\tlet iteration!: Promise | ChildrenIteratorResult;\n\tif (initial) {\n\t\ttry {\n\t\t\tctx.f |= IsSyncExecuting;\n\t\t\titeration = ctx.iterator!.next();\n\t\t} catch (err) {\n\t\t\tctx.f |= IsErrored;\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\n\t\tif (isPromiseLike(iteration)) {\n\t\t\tctx.f |= IsAsyncGen;\n\t\t} else {\n\t\t\tctx.f |= IsSyncGen;\n\t\t}\n\t}\n\n\tif (ctx.f & IsSyncGen) {\n\t\t// sync generator component\n\t\tif (!initial) {\n\t\t\ttry {\n\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\titeration = ctx.iterator!.next(ctx.renderer.read(getValue(ret)));\n\t\t\t} catch (err) {\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t}\n\t\t}\n\n\t\tif (isPromiseLike(iteration)) {\n\t\t\tthrow new Error(\"Mixed generator component\");\n\t\t}\n\n\t\tif (\n\t\t\tctx.f & IsInForOfLoop &&\n\t\t\t!(ctx.f & NeedsToYield) &&\n\t\t\t!(ctx.f & IsUnmounted)\n\t\t) {\n\t\t\tconsole.error(\"Component yielded more than once in for...of loop\");\n\t\t}\n\n\t\tctx.f &= ~NeedsToYield;\n\t\tif (iteration.done) {\n\t\t\tctx.f &= ~IsSyncGen;\n\t\t\tctx.iterator = undefined;\n\t\t}\n\n\t\tlet value: Promise> | ElementValue;\n\t\ttry {\n\t\t\tvalue = updateComponentChildren(\n\t\t\t\tctx,\n\t\t\t\t// Children can be void so we eliminate that here\n\t\t\t\titeration.value as Children,\n\t\t\t\thydrationData,\n\t\t\t);\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tvalue = value.catch((err) => handleChildError(ctx, err));\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tvalue = handleChildError(ctx, err);\n\t\t}\n\n\t\tconst block = isPromiseLike(value) ? value.catch(NOOP) : undefined;\n\t\treturn [block, value];\n\t} else {\n\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t// Async generator component using for...of loops behave similar to sync\n\t\t\t// generator components. This allows for easier refactoring of sync to\n\t\t\t// async generator components.\n\t\t\tif (!initial) {\n\t\t\t\ttry {\n\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\titeration = ctx.iterator!.next(ctx.renderer.read(getValue(ret)));\n\t\t\t\t} catch (err) {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t} finally {\n\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!isPromiseLike(iteration)) {\n\t\t\t\tthrow new Error(\"Mixed generator component\");\n\t\t\t}\n\n\t\t\tconst block = iteration.catch(NOOP);\n\t\t\tconst value = iteration.then(\n\t\t\t\t(iteration) => {\n\t\t\t\t\tlet value: Promise> | ElementValue;\n\t\t\t\t\tif (!(ctx.f & IsInForOfLoop)) {\n\t\t\t\t\t\trunAsyncGenComponent(\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\tPromise.resolve(iteration),\n\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!(ctx.f & NeedsToYield) && !(ctx.f & IsUnmounted)) {\n\t\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\t\t\"Component yielded more than once in for...of loop\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tctx.f &= ~NeedsToYield;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tvalue = updateComponentChildren(\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t// Children can be void so we eliminate that here\n\t\t\t\t\t\t\titeration.value as Children,\n\t\t\t\t\t\t\thydrationData,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (isPromiseLike(value)) {\n\t\t\t\t\t\t\tvalue = value.catch((err) => handleChildError(ctx, err));\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tvalue = handleChildError(ctx, err);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn value;\n\t\t\t\t},\n\t\t\t\t(err) => {\n\t\t\t\t\tctx.f |= IsErrored;\n\t\t\t\t\tthrow err;\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn [block, value];\n\t\t} else {\n\t\t\trunAsyncGenComponent(\n\t\t\t\tctx,\n\t\t\t\titeration as Promise,\n\t\t\t\thydrationData,\n\t\t\t\tinitial,\n\t\t\t);\n\t\t\treturn [ctx.inflightBlock, ctx.inflightValue];\n\t\t}\n\t}\n}\n\nasync function runAsyncGenComponent(\n\tctx: ContextImpl,\n\titerationP: Promise,\n\thydrationData: HydrationData | undefined,\n\tinitial: boolean = false,\n): Promise {\n\tlet done = false;\n\ttry {\n\t\twhile (!done) {\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// inflightValue must be set synchronously.\n\t\t\tlet onValue!: Function;\n\t\t\tctx.inflightValue = new Promise((resolve) => (onValue = resolve));\n\t\t\tif (ctx.f & IsUpdating) {\n\t\t\t\t// We should not swallow unhandled promise rejections if the component is\n\t\t\t\t// updating independently.\n\t\t\t\t// TODO: Does this handle this.refresh() calls?\n\t\t\t\tctx.inflightValue.catch(NOOP);\n\t\t\t}\n\n\t\t\tlet iteration: ChildrenIteratorResult;\n\t\t\ttry {\n\t\t\t\titeration = await iterationP;\n\t\t\t} catch (err) {\n\t\t\t\tdone = true;\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tonValue(Promise.reject(err));\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (!(ctx.f & IsInForAwaitOfLoop)) {\n\t\t\t\tctx.f &= ~PropsAvailable;\n\t\t\t}\n\n\t\t\tdone = !!iteration.done;\n\t\t\tlet value: Promise> | ElementValue;\n\t\t\ttry {\n\t\t\t\tif (\n\t\t\t\t\t!(ctx.f & NeedsToYield) &&\n\t\t\t\t\tctx.f & PropsAvailable &&\n\t\t\t\t\tctx.f & IsInForAwaitOfLoop &&\n\t\t\t\t\t!initial &&\n\t\t\t\t\t!done\n\t\t\t\t) {\n\t\t\t\t\t// We skip stale iterations in for await...of loops.\n\t\t\t\t\tvalue = ctx.ret.inflightValue || getValue(ctx.ret);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = updateComponentChildren(\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\titeration.value!,\n\t\t\t\t\t\thydrationData,\n\t\t\t\t\t);\n\t\t\t\t\thydrationData = undefined;\n\t\t\t\t\tif (isPromiseLike(value)) {\n\t\t\t\t\t\tvalue = value.catch((err: any) => handleChildError(ctx, err));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tctx.f &= ~NeedsToYield;\n\t\t\t} catch (err) {\n\t\t\t\t// Do we need to catch potential errors here in the case of unhandled\n\t\t\t\t// promise rejections?\n\t\t\t\tvalue = handleChildError(ctx, err);\n\t\t\t} finally {\n\t\t\t\tonValue(value);\n\t\t\t}\n\n\t\t\tlet oldResult: Promise | TResult;\n\t\t\tif (ctx.ret.inflightValue) {\n\t\t\t\t// The value passed back into the generator as the argument to the next\n\t\t\t\t// method is a promise if an async generator component has async\n\t\t\t\t// children. Sync generator components only resume when their children\n\t\t\t\t// have fulfilled so the element’s inflight child values will never be\n\t\t\t\t// defined.\n\t\t\t\toldResult = ctx.ret.inflightValue.then((value) =>\n\t\t\t\t\tctx.renderer.read(value),\n\t\t\t\t);\n\n\t\t\t\toldResult.catch((err) => {\n\t\t\t\t\tif (ctx.f & IsUpdating) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\toldResult = ctx.renderer.read(getValue(ctx.ret));\n\t\t\t}\n\n\t\t\tif (ctx.f & IsUnmounted) {\n\t\t\t\tif (ctx.f & IsInForAwaitOfLoop) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\t\titerationP = ctx.iterator!.next(\n\t\t\t\t\t\t\toldResult,\n\t\t\t\t\t\t) as Promise;\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (!done && !(ctx.f & IsInForOfLoop)) {\n\t\t\t\ttry {\n\t\t\t\t\tctx.f |= IsSyncExecuting;\n\t\t\t\t\titerationP = ctx.iterator!.next(\n\t\t\t\t\t\toldResult,\n\t\t\t\t\t) as Promise;\n\t\t\t\t} finally {\n\t\t\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tinitial = false;\n\t\t}\n\t} finally {\n\t\tif (done) {\n\t\t\tctx.f &= ~IsAsyncGen;\n\t\t\tctx.iterator = undefined;\n\t\t}\n\t}\n}\n\n/**\n * Called to resume the props async iterator for async generator components.\n */\nfunction resumePropsAsyncIterator(ctx: ContextImpl): void {\n\tif (ctx.onProps) {\n\t\tctx.onProps(ctx.ret.el.props);\n\t\tctx.onProps = undefined;\n\t\tctx.f &= ~PropsAvailable;\n\t} else {\n\t\tctx.f |= PropsAvailable;\n\t}\n}\n\n// TODO: async unmounting\nfunction unmountComponent(ctx: ContextImpl): void {\n\tif (ctx.f & IsUnmounted) {\n\t\treturn;\n\t}\n\n\tclearEventListeners(ctx);\n\n\tconst callbacks = cleanupMap.get(ctx);\n\tif (callbacks) {\n\t\tcleanupMap.delete(ctx);\n\t\tconst value = ctx.renderer.read(getValue(ctx.ret));\n\t\tfor (const callback of callbacks) {\n\t\t\tcallback(value);\n\t\t}\n\t}\n\n\tctx.f |= IsUnmounted;\n\tif (ctx.iterator) {\n\t\tif (ctx.f & IsSyncGen) {\n\t\t\tlet value: unknown;\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tvalue = enqueueComponentRun(ctx);\n\t\t\t}\n\n\t\t\tif (isPromiseLike(value)) {\n\t\t\t\tvalue.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t(err) => {\n\t\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t} else {\n\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (ctx.f & IsAsyncGen) {\n\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\tconst value = enqueueComponentRun(ctx) as Promise;\n\t\t\t\tvalue.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif (ctx.f & IsInForOfLoop) {\n\t\t\t\t\t\t\tunmountComponent(ctx);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturnComponent(ctx);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t(err) => {\n\t\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// The logic for unmounting async generator components is in the\n\t\t\t\t// runAsyncGenComponent function.\n\t\t\t\tresumePropsAsyncIterator(ctx);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction returnComponent(ctx: ContextImpl): void {\n\tresumePropsAsyncIterator(ctx);\n\tif (ctx.iterator && typeof ctx.iterator!.return === \"function\") {\n\t\ttry {\n\t\t\tctx.f |= IsSyncExecuting;\n\t\t\tconst iteration = ctx.iterator!.return();\n\t\t\tif (isPromiseLike(iteration)) {\n\t\t\t\titeration.catch((err) => {\n\t\t\t\t\tif (!ctx.parent) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn propagateError(ctx.parent, err);\n\t\t\t\t});\n\t\t\t}\n\t\t} finally {\n\t\t\tctx.f &= ~IsSyncExecuting;\n\t\t}\n\t}\n}\n\n/*** EVENT TARGET UTILITIES ***/\n// EVENT PHASE CONSTANTS\n// https://developer.mozilla.org/en-US/docs/Web/API/Event/eventPhase\nconst NONE = 0;\nconst CAPTURING_PHASE = 1;\nconst AT_TARGET = 2;\nconst BUBBLING_PHASE = 3;\n\nconst listenersMap = new WeakMap>();\n/**\n * A map of event type strings to Event subclasses. Can be extended via\n * TypeScript module augmentation to have strongly typed event listeners.\n */\nexport interface EventMap extends Crank.EventMap {\n\t[type: string]: Event;\n}\n\ntype MappedEventListener = (ev: EventMap[T]) => unknown;\n\ntype MappedEventListenerOrEventListenerObject =\n\t| MappedEventListener\n\t| {handleEvent: MappedEventListener};\n\nfunction isListenerOrListenerObject(\n\tvalue: unknown,\n): value is MappedEventListenerOrEventListenerObject {\n\treturn (\n\t\ttypeof value === \"function\" ||\n\t\t(value !== null &&\n\t\t\ttypeof value === \"object\" &&\n\t\t\ttypeof (value as any).handleEvent === \"function\")\n\t);\n}\n\ninterface EventListenerRecord {\n\ttype: string;\n\t// listener is the original value passed to addEventListener, callback is the\n\t// transformed function\n\tlistener: MappedEventListenerOrEventListenerObject;\n\tcallback: MappedEventListener;\n\toptions: AddEventListenerOptions;\n}\n\nfunction normalizeListenerOptions(\n\toptions: AddEventListenerOptions | boolean | null | undefined,\n): AddEventListenerOptions {\n\tif (typeof options === \"boolean\") {\n\t\treturn {capture: options};\n\t} else if (options == null) {\n\t\treturn {};\n\t}\n\n\treturn options;\n}\n\nfunction isEventTarget(value: any): value is EventTarget {\n\treturn (\n\t\tvalue != null &&\n\t\ttypeof value.addEventListener === \"function\" &&\n\t\ttypeof value.removeEventListener === \"function\" &&\n\t\ttypeof value.dispatchEvent === \"function\"\n\t);\n}\n\nfunction setEventProperty(\n\tev: Event,\n\tkey: T,\n\tvalue: Event[T],\n): void {\n\tObject.defineProperty(ev, key, {value, writable: false, configurable: true});\n}\n\n// TODO: Maybe we can pass in the current context directly, rather than\n// starting from the parent?\n/**\n * A function to reconstruct an array of every listener given a context and a\n * host element.\n *\n * This function exploits the fact that contexts retain their nearest ancestor\n * host element. We can determine all the contexts which are directly listening\n * to an element by traversing up the context tree and checking that the host\n * element passed in matches the parent context’s host element.\n */\nfunction getListenerRecords(\n\tctx: ContextImpl | undefined,\n\tret: Retainer,\n): Array {\n\tlet listeners: Array = [];\n\twhile (ctx !== undefined && ctx.host === ret) {\n\t\tconst listeners1 = listenersMap.get(ctx);\n\t\tif (listeners1) {\n\t\t\tlisteners = listeners.concat(listeners1);\n\t\t}\n\n\t\tctx = ctx.parent;\n\t}\n\n\treturn listeners;\n}\n\nfunction clearEventListeners(ctx: ContextImpl): void {\n\tconst listeners = listenersMap.get(ctx);\n\tif (listeners && listeners.length) {\n\t\tfor (const value of getChildValues(ctx.ret)) {\n\t\t\tif (isEventTarget(value)) {\n\t\t\t\tfor (const record of listeners) {\n\t\t\t\t\tvalue.removeEventListener(\n\t\t\t\t\t\trecord.type,\n\t\t\t\t\t\trecord.callback,\n\t\t\t\t\t\trecord.options,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlisteners.length = 0;\n\t}\n}\n\n/*** ERROR HANDLING UTILITIES ***/\nfunction handleChildError(\n\tctx: ContextImpl,\n\terr: unknown,\n): Promise> | ElementValue {\n\tif (!ctx.iterator || typeof ctx.iterator.throw !== \"function\") {\n\t\tthrow err;\n\t}\n\n\tresumePropsAsyncIterator(ctx);\n\tlet iteration: ChildrenIteratorResult | Promise;\n\ttry {\n\t\tctx.f |= IsSyncExecuting;\n\t\titeration = ctx.iterator.throw(err);\n\t} catch (err) {\n\t\tctx.f |= IsErrored;\n\t\tthrow err;\n\t} finally {\n\t\tctx.f &= ~IsSyncExecuting;\n\t}\n\n\tif (isPromiseLike(iteration)) {\n\t\treturn iteration.then(\n\t\t\t(iteration) => {\n\t\t\t\tif (iteration.done) {\n\t\t\t\t\tctx.f &= ~IsAsyncGen;\n\t\t\t\t\tctx.iterator = undefined;\n\t\t\t\t}\n\n\t\t\t\treturn updateComponentChildren(ctx, iteration.value as Children);\n\t\t\t},\n\t\t\t(err) => {\n\t\t\t\tctx.f |= IsErrored;\n\t\t\t\tthrow err;\n\t\t\t},\n\t\t);\n\t}\n\n\tif (iteration.done) {\n\t\tctx.f &= ~IsSyncGen;\n\t\tctx.f &= ~IsAsyncGen;\n\t\tctx.iterator = undefined;\n\t}\n\n\treturn updateComponentChildren(ctx, iteration.value as Children);\n}\n\nfunction propagateError(\n\tctx: ContextImpl,\n\terr: unknown,\n): Promise> | ElementValue {\n\tlet result: Promise> | ElementValue;\n\ttry {\n\t\tresult = handleChildError(ctx, err);\n\t} catch (err) {\n\t\tif (!ctx.parent) {\n\t\t\tthrow err;\n\t\t}\n\n\t\treturn propagateError(ctx.parent, err);\n\t}\n\n\tif (isPromiseLike(result)) {\n\t\treturn result.catch((err) => {\n\t\t\tif (!ctx.parent) {\n\t\t\t\tthrow err;\n\t\t\t}\n\n\t\t\treturn propagateError(ctx.parent, err);\n\t\t});\n\t}\n\n\treturn result;\n}\n\n// TODO: uncomment and use in the Element interface below\n// type CrankElement = Element;\ndeclare global {\n\tnamespace Crank {\n\t\texport interface EventMap {}\n\n\t\texport interface ProvisionMap {}\n\n\t\texport interface Context {}\n\t}\n\n\tnamespace JSX {\n\t\t// TODO: JSX Element type (the result of JSX expressions) don’t work\n\t\t// because TypeScript demands that all Components return JSX elements for\n\t\t// some reason.\n\t\t// interface Element extends CrankElement {}\n\n\t\texport interface IntrinsicElements {\n\t\t\t[tag: string]: any;\n\t\t}\n\n\t\texport interface IntrinsicAttributes {\n\t\t\tchildren?: unknown;\n\t\t\tkey?: unknown;\n\t\t\tref?: unknown;\n\t\t\t[\"static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-key\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-ref\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"crank-static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-key\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-ref\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t[\"c-static\"]?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$key?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$ref?: unknown;\n\t\t\t/** @deprecated */\n\t\t\t$static?: unknown;\n\t\t}\n\n\t\texport interface ElementChildrenAttribute {\n\t\t\tchildren: {};\n\t\t}\n\t}\n}\n\n// Some JSX transpilation tools expect these functions to be defined on the\n// default export. Prefer named exports when importing directly.\nexport default {createElement, Fragment};\n", "import {createElement} from \"./crank.js\";\nimport type {Element} from \"./crank.js\";\n\nconst cache = new Map();\nexport function jsx(\n\tspans: TemplateStringsArray,\n\t...expressions: Array\n): Element {\n\tconst key = JSON.stringify(spans.raw);\n\tlet parseResult = cache.get(key);\n\tif (parseResult == null) {\n\t\tparseResult = parse(spans.raw);\n\t\tcache.set(key, parseResult);\n\t}\n\n\tconst {element, targets} = parseResult;\n\tfor (let i = 0; i < expressions.length; i++) {\n\t\tconst exp = expressions[i];\n\t\tconst target = targets[i];\n\t\tif (target) {\n\t\t\tif (target.type === \"error\") {\n\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\ttarget.message.replace(\"${}\", formatTagForError(exp)),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\ttarget.value = exp;\n\t\t}\n\t}\n\n\treturn build(element);\n}\n\n// Type definitions for a bare-bones AST\ninterface ParseElement {\n\ttype: \"element\";\n\topen: ParseTag;\n\tclose: ParseTag | null;\n\t// ParseValue is used to represent spread props.\n\tprops: Array;\n\tchildren: Array;\n}\n\ninterface ParseValue {\n\ttype: \"value\";\n\tvalue: any;\n}\n\ninterface ParseTag {\n\ttype: \"tag\";\n\tslash: string;\n\tvalue: any;\n}\n\ninterface ParseProp {\n\ttype: \"prop\";\n\tname: string;\n\tvalue: ParseValue | ParsePropString;\n}\n\ninterface ParsePropString {\n\ttype: \"propString\";\n\tparts: Array;\n}\n\ninterface ParseError {\n\ttype: \"error\";\n\tmessage: string;\n\tvalue: any;\n}\n\n// The parse result includes an array of targets, references to objects in the\n// parse tree whose `value` property is overwritten with expressions when the\n// template function is called. By separating the logic of parsing static\n// template spans from the handling of dynamic expressions, we can cache parse\n// results for successive calls.\ntype ExpressionTarget = ParseValue | ParseTag | ParseProp | ParseError;\n\ninterface ParseResult {\n\telement: ParseElement;\n\ttargets: Array;\n}\n\n/**\n * Matches first significant character in children mode.\n *\n * Group 1: newline\n * Group 2: comment\n * Group 3: tag\n * Group 4: closing slash\n * Group 5: tag name\n *\n * The comment group must appear first because the tag group can potentially\n * match a comment, so that we can handle tag expressions where we’ve reached\n * the end of a span.\n */\nconst CHILDREN_RE =\n\t/((?:\\r|\\n|\\r\\n)\\s*)|(|$))|(<\\s*(\\/{0,2})\\s*([-_$\\w]*))/g;\n\n/**\n * Matches props after element tags.\n *\n * Group 1: tag end\n * Group 2: spread props\n * Group 3: prop name\n * Group 4: equals\n * Group 5: prop value string\n */\nconst PROPS_RE =\n\t/\\s*(?:(\\/?\\s*>)|(\\.\\.\\.\\s*)|(?:([-_$\\w]+)\\s*(=)?\\s*(?:(\"(\\\\\"|[\\S\\s])*?(?:\"|$)|'(?:\\\\'|[\\S\\s])*?(?:'|$)))?))/g;\n\nconst CLOSING_BRACKET_RE = />/g;\n\nconst CLOSING_SINGLE_QUOTE_RE = /[^\\\\]?'/g;\n\nconst CLOSING_DOUBLE_QUOTE_RE = /[^\\\\]?\"/g;\n\nconst CLOSING_COMMENT_RE = /-->/g;\n\nfunction parse(spans: ArrayLike): ParseResult {\n\tlet matcher = CHILDREN_RE;\n\tconst stack: Array = [];\n\tlet element: ParseElement = {\n\t\ttype: \"element\",\n\t\topen: {type: \"tag\", slash: \"\", value: \"\"},\n\t\tclose: null,\n\t\tprops: [],\n\t\tchildren: [],\n\t};\n\n\tconst targets: Array = [];\n\tlet lineStart = true;\n\tfor (let s = 0; s < spans.length; s++) {\n\t\tconst span = spans[s];\n\t\t// Whether or not an expression is upcoming. Used to provide better errors.\n\t\tconst expressing = s < spans.length - 1;\n\t\tlet expressionTarget: ExpressionTarget | null = null;\n\t\tfor (let i = 0, end = i; i < span.length; i = end) {\n\t\t\tmatcher.lastIndex = i;\n\t\t\tconst match = matcher.exec(span);\n\t\t\tend = match ? match.index + match[0].length : span.length;\n\t\t\tswitch (matcher) {\n\t\t\t\tcase CHILDREN_RE: {\n\t\t\t\t\tif (match) {\n\t\t\t\t\t\tconst [, newline, comment, tag, closingSlash, tagName] = match;\n\t\t\t\t\t\tif (i < match.index) {\n\t\t\t\t\t\t\tlet before = span.slice(i, match.index);\n\t\t\t\t\t\t\tif (lineStart) {\n\t\t\t\t\t\t\t\tbefore = before.replace(/^\\s*/, \"\");\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (newline) {\n\t\t\t\t\t\t\t\tif (span[Math.max(0, match.index - 1)] === \"\\\\\") {\n\t\t\t\t\t\t\t\t\t// We preserve whitespace before escaped newlines and have to\n\t\t\t\t\t\t\t\t\t// remove the backslash.\n\t\t\t\t\t\t\t\t\t// jsx` \\\n\t\t\t\t\t\t\t\t\t// `\n\t\t\t\t\t\t\t\t\tbefore = before.slice(0, -1);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tbefore = before.replace(/\\s*$/, \"\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (before) {\n\t\t\t\t\t\t\t\telement.children.push({type: \"value\", value: before});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlineStart = !!newline;\n\t\t\t\t\t\tif (comment) {\n\t\t\t\t\t\t\tif (end === span.length) {\n\t\t\t\t\t\t\t\t// Expression in a comment:\n\t\t\t\t\t\t\t\t// jsx``\n\t\t\t\t\t\t\t\tmatcher = CLOSING_COMMENT_RE;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (tag) {\n\t\t\t\t\t\t\tif (closingSlash) {\n\t\t\t\t\t\t\t\telement.close = {\n\t\t\t\t\t\t\t\t\ttype: \"tag\",\n\t\t\t\t\t\t\t\t\tslash: closingSlash,\n\t\t\t\t\t\t\t\t\tvalue: tagName,\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tif (!stack.length) {\n\t\t\t\t\t\t\t\t\tif (end !== span.length) {\n\t\t\t\t\t\t\t\t\t\tthrow new SyntaxError(`Unmatched closing tag \"${tagName}\"`);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// ERROR EXPRESSION\n\t\t\t\t\t\t\t\t\texpressionTarget = {\n\t\t\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\t\t\tmessage: \"Unmatched closing tag ${}\",\n\t\t\t\t\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (end === span.length) {\n\t\t\t\t\t\t\t\t\t\t// TAG EXPRESSION\n\t\t\t\t\t\t\t\t\t\texpressionTarget = element.close;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\telement = stack.pop()!;\n\t\t\t\t\t\t\t\t\tmatcher = CLOSING_BRACKET_RE;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tconst next: ParseElement = {\n\t\t\t\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\t\t\t\topen: {\n\t\t\t\t\t\t\t\t\t\ttype: \"tag\",\n\t\t\t\t\t\t\t\t\t\tslash: \"\",\n\t\t\t\t\t\t\t\t\t\tvalue: tagName,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tclose: null,\n\t\t\t\t\t\t\t\t\tprops: [],\n\t\t\t\t\t\t\t\t\tchildren: [],\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\telement.children.push(next);\n\t\t\t\t\t\t\t\tstack.push(element);\n\t\t\t\t\t\t\t\telement = next;\n\t\t\t\t\t\t\t\tmatcher = PROPS_RE;\n\t\t\t\t\t\t\t\tif (end === span.length) {\n\t\t\t\t\t\t\t\t\t// TAG EXPRESSION\n\t\t\t\t\t\t\t\t\texpressionTarget = element.open;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (i < span.length) {\n\t\t\t\t\t\t\tlet after = span.slice(i);\n\t\t\t\t\t\t\tif (!expressing) {\n\t\t\t\t\t\t\t\t// trim trailing whitespace\n\t\t\t\t\t\t\t\tafter = after.replace(/\\s*$/, \"\");\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (after) {\n\t\t\t\t\t\t\t\telement.children.push({type: \"value\", value: after});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase PROPS_RE: {\n\t\t\t\t\tif (match) {\n\t\t\t\t\t\tconst [, tagEnd, spread, name, equals, string] = match;\n\t\t\t\t\t\tif (i < match.index) {\n\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t`Unexpected text \\`${span.slice(i, match.index).trim()}\\``,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (tagEnd) {\n\t\t\t\t\t\t\tif (tagEnd[0] === \"/\") {\n\t\t\t\t\t\t\t\t// This is a self-closing element, so there will always be a\n\t\t\t\t\t\t\t\t// result on the stack.\n\t\t\t\t\t\t\t\telement = stack.pop()!;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tmatcher = CHILDREN_RE;\n\t\t\t\t\t\t} else if (spread) {\n\t\t\t\t\t\t\tconst value = {\n\t\t\t\t\t\t\t\ttype: \"value\" as const,\n\t\t\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\telement.props.push(value);\n\t\t\t\t\t\t\t// SPREAD PROP EXPRESSION\n\t\t\t\t\t\t\texpressionTarget = value;\n\t\t\t\t\t\t\tif (!(expressing && end === span.length)) {\n\t\t\t\t\t\t\t\tthrow new SyntaxError('Expression expected after \"...\"');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (name) {\n\t\t\t\t\t\t\tlet value: ParseValue | ParsePropString;\n\t\t\t\t\t\t\tif (string == null) {\n\t\t\t\t\t\t\t\tif (!equals) {\n\t\t\t\t\t\t\t\t\tvalue = {type: \"value\", value: true};\n\t\t\t\t\t\t\t\t} else if (end < span.length) {\n\t\t\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t\t\t`Unexpected text \\`${span.slice(end, end + 20)}\\``,\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tvalue = {type: \"value\" as const, value: null};\n\t\t\t\t\t\t\t\t\t// PROP EXPRESSION\n\t\t\t\t\t\t\t\t\texpressionTarget = value;\n\t\t\t\t\t\t\t\t\tif (!(expressing && end === span.length)) {\n\t\t\t\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t\t\t\t`Expression expected for prop \"${name}\"`,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tconst quote = string[0];\n\t\t\t\t\t\t\t\tvalue = {type: \"propString\", parts: []};\n\t\t\t\t\t\t\t\tvalue.parts.push(string);\n\t\t\t\t\t\t\t\tif (end === span.length) {\n\t\t\t\t\t\t\t\t\tmatcher =\n\t\t\t\t\t\t\t\t\t\tquote === \"'\"\n\t\t\t\t\t\t\t\t\t\t\t? CLOSING_SINGLE_QUOTE_RE\n\t\t\t\t\t\t\t\t\t\t\t: CLOSING_DOUBLE_QUOTE_RE;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst prop = {\n\t\t\t\t\t\t\t\ttype: \"prop\" as const,\n\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\telement.props.push(prop);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!expressing) {\n\t\t\t\t\t\t\tif (i === span.length) {\n\t\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t\t`Expected props but reached end of document`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t\t`Unexpected text \\`${span.slice(i, i + 20).trim()}\\``,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Unexpected expression errors are handled in the outer loop.\n\t\t\t\t\t\t//\n\t\t\t\t\t\t// This would most likely be the starting point for the logic of\n\t\t\t\t\t\t// prop name expressions.\n\t\t\t\t\t\t// jsx`

    `\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase CLOSING_BRACKET_RE: {\n\t\t\t\t\t// We’re in a closing tag and looking for the >.\n\t\t\t\t\tif (match) {\n\t\t\t\t\t\tif (i < match.index) {\n\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t`Unexpected text \\`${span.slice(i, match.index).trim()}\\``,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tmatcher = CHILDREN_RE;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!expressing) {\n\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t`Unexpected text \\`${span.slice(i, i + 20).trim()}\\``,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase CLOSING_SINGLE_QUOTE_RE:\n\t\t\t\tcase CLOSING_DOUBLE_QUOTE_RE: {\n\t\t\t\t\tconst string = span.slice(i, end);\n\t\t\t\t\tconst prop = element.props[element.props.length - 1] as ParseProp;\n\t\t\t\t\tconst propString = prop.value as ParsePropString;\n\t\t\t\t\tpropString.parts.push(string);\n\t\t\t\t\tif (match) {\n\t\t\t\t\t\tmatcher = PROPS_RE;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!expressing) {\n\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t`Missing \\`${\n\t\t\t\t\t\t\t\t\tmatcher === CLOSING_SINGLE_QUOTE_RE ? \"'\" : '\"'\n\t\t\t\t\t\t\t\t}\\``,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase CLOSING_COMMENT_RE: {\n\t\t\t\t\tif (match) {\n\t\t\t\t\t\tmatcher = CHILDREN_RE;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!expressing) {\n\t\t\t\t\t\t\tthrow new SyntaxError(\n\t\t\t\t\t\t\t\t\"Expected `-->` but reached end of template\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (expressing) {\n\t\t\tif (expressionTarget) {\n\t\t\t\ttargets.push(expressionTarget);\n\t\t\t\tif (expressionTarget.type === \"error\") {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tswitch (matcher) {\n\t\t\t\tcase CHILDREN_RE: {\n\t\t\t\t\tconst target = {type: \"value\" as const, value: null};\n\t\t\t\t\telement.children.push(target);\n\t\t\t\t\ttargets.push(target);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase CLOSING_SINGLE_QUOTE_RE:\n\t\t\t\tcase CLOSING_DOUBLE_QUOTE_RE: {\n\t\t\t\t\tconst prop = element.props[element.props.length - 1] as ParseProp;\n\t\t\t\t\tconst target = {type: \"value\" as const, value: null};\n\t\t\t\t\t(prop.value as ParsePropString).parts.push(target);\n\t\t\t\t\ttargets.push(target);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase CLOSING_COMMENT_RE:\n\t\t\t\t\ttargets.push(null);\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new SyntaxError(\"Unexpected expression\");\n\t\t\t}\n\t\t} else if (expressionTarget) {\n\t\t\tthrow new SyntaxError(\"Expression expected\");\n\t\t}\n\n\t\tlineStart = false;\n\t}\n\n\tif (stack.length) {\n\t\tconst ti = targets.indexOf(element.open);\n\t\tif (ti === -1) {\n\t\t\tthrow new SyntaxError(`Unmatched opening tag \"${element.open.value}\"`);\n\t\t}\n\n\t\ttargets[ti] = {\n\t\t\ttype: \"error\",\n\t\t\tmessage: \"Unmatched opening tag ${}\",\n\t\t\tvalue: null,\n\t\t};\n\t}\n\n\tif (element.children.length === 1 && element.children[0].type === \"element\") {\n\t\telement = element.children[0];\n\t}\n\n\treturn {element, targets};\n}\n\nfunction build(parsed: ParseElement): Element {\n\tif (\n\t\tparsed.close !== null &&\n\t\tparsed.close.slash !== \"//\" &&\n\t\tparsed.open.value !== parsed.close.value\n\t) {\n\t\tthrow new SyntaxError(\n\t\t\t`Unmatched closing tag ${formatTagForError(\n\t\t\t\tparsed.close.value,\n\t\t\t)}, expected ${formatTagForError(parsed.open.value)}`,\n\t\t);\n\t}\n\n\tconst children: Array = [];\n\tfor (let i = 0; i < parsed.children.length; i++) {\n\t\tconst child = parsed.children[i];\n\t\tchildren.push(child.type === \"element\" ? build(child) : child.value);\n\t}\n\n\tlet props = parsed.props.length ? ({} as Record) : null;\n\tfor (let i = 0; i < parsed.props.length; i++) {\n\t\tconst prop = parsed.props[i];\n\t\tif (prop.type === \"prop\") {\n\t\t\tlet value: any;\n\t\t\tif (prop.value.type === \"value\") {\n\t\t\t\tvalue = prop.value.value;\n\t\t\t} else {\n\t\t\t\tlet string = \"\";\n\t\t\t\tfor (let i = 0; i < prop.value.parts.length; i++) {\n\t\t\t\t\tconst part = prop.value.parts[i];\n\t\t\t\t\tif (typeof part === \"string\") {\n\t\t\t\t\t\tstring += part;\n\t\t\t\t\t} else if (typeof part.value !== \"boolean\" && part.value != null) {\n\t\t\t\t\t\tstring +=\n\t\t\t\t\t\t\ttypeof part.value === \"string\" ? part.value : String(part.value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvalue = string\n\t\t\t\t\t// remove quotes\n\t\t\t\t\t.slice(1, -1)\n\t\t\t\t\t// unescape things\n\t\t\t\t\t// adapted from https://stackoverflow.com/a/57330383/1825413\n\t\t\t\t\t.replace(\n\t\t\t\t\t\t/\\\\x[0-9a-f]{2}|\\\\u[0-9a-f]{4}|\\\\u\\{[0-9a-f]+\\}|\\\\./gi,\n\t\t\t\t\t\t(match) => {\n\t\t\t\t\t\t\tswitch (match[1]) {\n\t\t\t\t\t\t\t\tcase \"b\":\n\t\t\t\t\t\t\t\t\treturn \"\\b\";\n\t\t\t\t\t\t\t\tcase \"f\":\n\t\t\t\t\t\t\t\t\treturn \"\\f\";\n\t\t\t\t\t\t\t\tcase \"n\":\n\t\t\t\t\t\t\t\t\treturn \"\\n\";\n\t\t\t\t\t\t\t\tcase \"r\":\n\t\t\t\t\t\t\t\t\treturn \"\\r\";\n\t\t\t\t\t\t\t\tcase \"t\":\n\t\t\t\t\t\t\t\t\treturn \"\\t\";\n\t\t\t\t\t\t\t\tcase \"v\":\n\t\t\t\t\t\t\t\t\treturn \"\\v\";\n\t\t\t\t\t\t\t\tcase \"x\":\n\t\t\t\t\t\t\t\t\treturn String.fromCharCode(parseInt(match.slice(2), 16));\n\t\t\t\t\t\t\t\tcase \"u\":\n\t\t\t\t\t\t\t\t\tif (match[2] === \"{\") {\n\t\t\t\t\t\t\t\t\t\treturn String.fromCodePoint(\n\t\t\t\t\t\t\t\t\t\t\tparseInt(match.slice(3, -1), 16),\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturn String.fromCharCode(parseInt(match.slice(2), 16));\n\t\t\t\t\t\t\t\tcase \"0\":\n\t\t\t\t\t\t\t\t\treturn \"\\0\";\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn match.slice(1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t}\n\n\t\t\tprops![prop.name] = value;\n\t\t} else {\n\t\t\t// spread prop\n\t\t\tprops = {...props, ...(prop.value as any)};\n\t\t}\n\t}\n\n\treturn createElement(parsed.open.value, props, ...children);\n}\n\nfunction formatTagForError(tag: unknown): string {\n\treturn typeof tag === \"function\"\n\t\t? tag.name + \"()\"\n\t\t: typeof tag === \"string\"\n\t\t\t? `\"${tag}\"`\n\t\t\t: JSON.stringify(tag);\n}\n", "/*\n\nBased off glamor's StyleSheet, thanks Sunil \u2764\uFE0F\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n", "export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n", "/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n", "import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n", "import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n", "import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n", "import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n", "function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n", "import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = element.parent === children[0]; // in nested rules comments become children of the \"auto-inserted\" rule\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? children[0].children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if ( key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n", "/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n", "var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n", "import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n", "var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n", "import createCache from '@emotion/cache';\nimport { serializeStyles } from '@emotion/serialize';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\n\nfunction insertWithoutScoping(cache, serialized) {\n if (cache.inserted[serialized.name] === undefined) {\n return cache.insert('', serialized, cache.sheet, true);\n }\n}\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar createEmotion = function createEmotion(options) {\n var cache = createCache(options); // $FlowFixMe\n\n cache.sheet.speedy = function (value) {\n if (process.env.NODE_ENV !== 'production' && this.ctr !== 0) {\n throw new Error('speedy must be changed before any rules are inserted');\n }\n\n this.isSpeedy = value;\n };\n\n cache.compat = true;\n\n var css = function css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered, undefined);\n insertStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var keyframes = function keyframes() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n var animation = \"animation-\" + serialized.name;\n insertWithoutScoping(cache, {\n name: serialized.name,\n styles: \"@keyframes \" + animation + \"{\" + serialized.styles + \"}\"\n });\n return animation;\n };\n\n var injectGlobal = function injectGlobal() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n insertWithoutScoping(cache, serialized);\n };\n\n var cx = function cx() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n return {\n css: css,\n cx: cx,\n injectGlobal: injectGlobal,\n keyframes: keyframes,\n hydrate: function hydrate(ids) {\n ids.forEach(function (key) {\n cache.inserted[key] = true;\n });\n },\n flush: function flush() {\n cache.registered = {};\n cache.inserted = {};\n cache.sheet.flush();\n },\n // $FlowFixMe\n sheet: cache.sheet,\n cache: cache,\n getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),\n merge: merge.bind(null, cache.registered, css)\n };\n};\n\nvar classnames = function classnames(args) {\n var cls = '';\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nexport default createEmotion;\n", "import '@emotion/cache';\nimport '@emotion/serialize';\nimport '@emotion/utils';\nimport createEmotion from '../create-instance/dist/emotion-css-create-instance.esm.js';\n\nvar _createEmotion = createEmotion({\n key: 'css'\n}),\n flush = _createEmotion.flush,\n hydrate = _createEmotion.hydrate,\n cx = _createEmotion.cx,\n merge = _createEmotion.merge,\n getRegisteredStyles = _createEmotion.getRegisteredStyles,\n injectGlobal = _createEmotion.injectGlobal,\n keyframes = _createEmotion.keyframes,\n css = _createEmotion.css,\n sheet = _createEmotion.sheet,\n cache = _createEmotion.cache;\n\nexport { cache, css, cx, flush, getRegisteredStyles, hydrate, injectGlobal, keyframes, merge, sheet };\n", "import {jsx} from \"@b9g/crank/standalone\";\nimport type {Context} from \"@b9g/crank\";\n\nfunction degreesFromRadians(r: number) {\n\treturn (r * 180) / Math.PI;\n}\n\nfunction radiansFromDegrees(d: number) {\n\treturn (d * Math.PI) / 180;\n}\n\nfunction rotate([x, y]: [number, number], a: number) {\n\treturn [x * Math.cos(a) - y * Math.sin(a), x * Math.sin(a) + y * Math.cos(a)];\n}\n\nfunction invAngle(radius: number, baseRadius: number) {\n\treturn Math.sqrt(radius ** 2 - baseRadius ** 2) / baseRadius;\n}\n\nfunction invPoint(angle: number, baseRadius: number) {\n\treturn [\n\t\tbaseRadius * (Math.cos(angle) + angle * Math.sin(angle)),\n\t\tbaseRadius * (Math.sin(angle) - angle * Math.cos(angle)),\n\t];\n}\n\nfunction invIntersectAngle(radius: number, baseRadius: number) {\n\tconst angle = Math.sqrt(radius ** 2 - baseRadius ** 2) / baseRadius;\n\tconst [x, y] = invPoint(angle, baseRadius);\n\treturn Math.atan2(y, x);\n}\n\nfunction calculateGear(mod: number, toothCount: number, pressureAngle: number) {\n\tconst pitchRadius = (mod * toothCount) / 2;\n\tconst baseRadius = pitchRadius * Math.cos(pressureAngle);\n\tconst dedRadius = pitchRadius - mod;\n\tconst addRadius = pitchRadius + mod;\n\tconst toothAngle = (2 * Math.PI) / toothCount;\n\tconst addAngle = invIntersectAngle(addRadius, baseRadius);\n\n\tlet points = [];\n\n\t// build a side of a tooth\n\tfor (\n\t\tlet i = 0, steps = 12, maxAngle = invAngle(addRadius, baseRadius);\n\t\ti <= steps;\n\t\ti++\n\t) {\n\t\tconst angle = (maxAngle * i) / steps;\n\t\tconst [x, y] = invPoint(angle, baseRadius);\n\t\tpoints.push([x, y]);\n\t}\n\n\t// TODO: I found this value by guess and check and I have no idea why it is correct\n\tconst mirrorAngle =\n\t\ttoothAngle / 2 + invIntersectAngle(pitchRadius, baseRadius) * 2;\n\t// build the reverse side of the tooth\n\t{\n\t\tconst points1 = points\n\t\t\t.map(([x, y]) => {\n\t\t\t\ty = -y;\n\t\t\t\t[x, y] = rotate([x, y], mirrorAngle);\n\t\t\t\treturn [x, y];\n\t\t\t})\n\t\t\t.reverse();\n\n\t\tpoints.push(...points1);\n\t}\n\n\t// rotate points so teeth tips aligned with x=0 and y=0\n\tpoints = points.map(([x, y]) => rotate([x, y], -mirrorAngle / 2));\n\n\tlet toothPoints = [];\n\tfor (let i = 0; i <= toothCount; i++) {\n\t\tconst points1 = points\n\t\t\t.slice()\n\t\t\t.map(([x, y]) => {\n\t\t\t\tconst a = toothAngle * i;\n\t\t\t\treturn rotate([x, y], a);\n\t\t\t})\n\t\t\t.map(([x, y]) => [Math.round(x * 100) / 100, Math.round(y * 100) / 100]);\n\n\t\ttoothPoints.push(points1);\n\t}\n\n\tconst path = toothPoints\n\t\t.map((points, i) => {\n\t\t\treturn points\n\t\t\t\t.map(([x, y], j) => {\n\t\t\t\t\tif (i === 0) {\n\t\t\t\t\t\treturn `M ${x} ${y}`;\n\t\t\t\t\t} else if (j === 0) {\n\t\t\t\t\t\tconst radius = toothCount / 2;\n\t\t\t\t\t\treturn `A ${radius} ${radius} 0 0 0 ${x} ${y}`;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn `L ${x} ${y}`;\n\t\t\t\t})\n\t\t\t\t.join(\" \");\n\t\t})\n\t\t.join(\" \");\n\n\treturn {\n\t\tpath,\n\t\tpitchRadius,\n\t\tbaseRadius,\n\t\tdedRadius,\n\t\taddRadius,\n\t\taddAngle,\n\t\ttoothAngle,\n\t\tmirrorAngle,\n\t};\n}\n\nexport function* Gear(\n\tthis: Context,\n\t{\n\t\tmod,\n\t\ttoothCount,\n\t\toffset,\n\t\tmask,\n\t\tstroke,\n\t\tstrokeWidth,\n\t\tfill,\n\t\tcircleRadius,\n\t}: {\n\t\tmod: number;\n\t\ttoothCount: number;\n\t\toffset: boolean | undefined;\n\t\tmask?: string;\n\t\tstroke?: string | number;\n\t\tstrokeWidth?: string | number;\n\t\tfill?: string | number;\n\t\tcircleRadius?: number;\n\t},\n): Generator {\n\tconst pressureAngle = radiansFromDegrees(20);\n\tlet path!: string;\n\tlet dedRadius = 0;\n\tlet toothAngle = 0;\n\tlet oldMod: number | undefined;\n\tlet oldToothCount: number | undefined;\n\tfor ({\n\t\tmod,\n\t\ttoothCount,\n\t\toffset,\n\t\tmask,\n\t\tstroke,\n\t\tstrokeWidth,\n\t\tfill,\n\t\tcircleRadius,\n\t} of this) {\n\t\tif (oldMod !== mod || oldToothCount !== toothCount) {\n\t\t\t({path, dedRadius, toothAngle} = calculateGear(\n\t\t\t\tmod,\n\t\t\t\ttoothCount,\n\t\t\t\tpressureAngle,\n\t\t\t));\n\n\t\t\tcircleRadius = circleRadius == null ? dedRadius - 2 * mod : circleRadius;\n\t\t\t// add the inner circle\n\t\t\tpath += `\n\t\t\t M ${-circleRadius} 0\n\t\t\t\ta ${circleRadius} ${circleRadius} 0 1 0 ${circleRadius * 2} 0\n\t\t\t\ta ${circleRadius} ${circleRadius} 0 1 0 ${-circleRadius * 2} 0\n\t\t\t`;\n\t\t}\n\n\t\tconst pathAngle = offset ? 0 : -toothAngle / 2;\n\t\tyield jsx`\n\t\t\t\n\t\t`;\n\n\t\toldMod = mod;\n\t\toldToothCount = toothCount;\n\t}\n}\n\nfunction Rack({mod, height}: {mod: number; height: number}) {\n\tconst pressureAngle = radiansFromDegrees(20);\n\tconst points = [];\n\tconst toothWidth = mod * Math.PI;\n\tlet tipWidth = toothWidth / 4;\n\tconst count = Math.ceil(height / toothWidth) + 1;\n\tfor (let i = Math.floor(-count); i <= count; i++) {\n\t\tconst offset = i * toothWidth;\n\t\tpoints.push(\n\t\t\t...[\n\t\t\t\t[0, offset],\n\t\t\t\t[2 * mod, offset + 2 * mod * Math.tan(pressureAngle)],\n\t\t\t\t[2 * mod, offset + tipWidth + 2 * mod * Math.tan(pressureAngle)],\n\t\t\t\t[0, offset + tipWidth + 4 * mod * Math.tan(pressureAngle)],\n\t\t\t],\n\t\t);\n\t}\n\n\tconst path =\n\t\t`M${points[0][0]} ${points[0][1]}` +\n\t\tpoints\n\t\t\t.slice(1)\n\t\t\t.map(([x, y]) => `L ${x} ${y}`)\n\t\t\t.join(\" \");\n\treturn jsx`\n\t\t\n\t`;\n}\n\nexport function* GearInteractive(this: Context, {}) {\n\tlet scrollTop = 0;\n\n\tconst measure = () => {\n\t\tif (typeof document !== \"undefined\") {\n\t\t\tconst el = document.scrollingElement;\n\t\t\tif (el) {\n\t\t\t\tscrollTop = Math.max(\n\t\t\t\t\t0,\n\t\t\t\t\tMath.min(el.scrollHeight - el.clientHeight, el.scrollTop),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n\n\tmeasure();\n\tif (typeof window !== \"undefined\") {\n\t\tconst onscroll = () => {\n\t\t\tmeasure();\n\t\t\tthis.refresh();\n\t\t};\n\n\t\twindow.addEventListener(\"scroll\", onscroll, {passive: true});\n\t\tthis.cleanup(() => {\n\t\t\twindow.removeEventListener(\"scroll\", onscroll);\n\t\t});\n\n\t\tonclick = () => {\n\t\t\t// TODO: advance the gears by a tiny amount every time the page is\n\t\t\t// clicked.\n\t\t};\n\n\t\twindow.addEventListener(\"click\", onclick);\n\t\tthis.cleanup(() => {\n\t\t\twindow.removeEventListener(\"click\", onclick as any);\n\t\t});\n\t}\n\n\tconst mod = 20;\n\tconst speed = 1 / 3;\n\n\tconst toothCount1 = 16;\n\tconst pitchRadius1 = (toothCount1 * mod) / 2;\n\n\tconst toothCount2 = 32;\n\tconst pitchRadius2 = (toothCount2 * mod) / 2;\n\n\tconst toothCount3 = 16;\n\tconst pitchRadius3 = (toothCount3 * mod) / 2;\n\n\tconst rackX = 20;\n\tconst rackY = 75;\n\tconst x1 = rackX + pitchRadius1 + mod;\n\tconst y1 = rackY + pitchRadius1 + mod;\n\n\tconst gearAngle2 = radiansFromDegrees(30);\n\tconst x2 = x1 + Math.cos(gearAngle2) * (pitchRadius1 + pitchRadius2);\n\tconst y2 = y1 + Math.sin(gearAngle2) * (pitchRadius1 + pitchRadius2);\n\n\tconst x3 = x2 + Math.cos(gearAngle2) * (pitchRadius2 + pitchRadius3);\n\tconst y3 = y2 + Math.sin(gearAngle2) * (pitchRadius2 + pitchRadius3);\n\tfor ({} of this) {\n\t\t// TODO: resize observer\n\t\tconst width = x2 * 2;\n\t\tconst height =\n\t\t\t(typeof document !== \"undefined\" &&\n\t\t\t\tdocument.scrollingElement?.clientHeight) ||\n\t\t\t1000;\n\t\tconst scrollAng = (-scrollTop * speed) / pitchRadius1;\n\t\tyield jsx`\n\t\t\t

    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t<${Rack} mod=${mod} height=${height} />\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t<${Gear} mod=${mod} toothCount=${toothCount1} />\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t<${Gear} mod=${mod} toothCount=${toothCount2} offset />\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t<${Gear} mod=${mod} toothCount=${toothCount3} />\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t<${Rack} mod=${mod} height=${height} />\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t`;\n\t}\n}\n\nexport function GearLogo({width = 400, height = 400}) {\n\tconst r = 300;\n\tconst wa = (35 * Math.PI) / 180;\n\treturn jsx`\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t<${Gear}\n\t\t\t\t\tmod=${20}\n\t\t\t\t\ttoothCount=${16}\n\t\t\t\t\toffset=${1}\n\t\t\t\t\tstroke=\"none\"\n\t\t\t\t\tstrokeWidth=\"4\"\n\t\t\t\t\tmask=\"url(#wedge-mask)\"\n\t\t\t\t\tcircleRadius=${110}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t`;\n}\n", "import {jsx} from \"@b9g/crank/standalone\";\nimport type {Context} from \"@b9g/crank/standalone\";\n\n// the website defaults to dark mode\nlet colorScheme: string | undefined;\nif (typeof window !== \"undefined\") {\n\tcolorScheme =\n\t\tsessionStorage.getItem(\"color-scheme\") ||\n\t\t(window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n\t\t\t? \"dark\"\n\t\t\t: \"light\");\n\tif (colorScheme === \"dark\") {\n\t\tdocument.body.classList.remove(\"color-scheme-light\");\n\t} else {\n\t\tdocument.body.classList.add(\"color-scheme-light\");\n\t}\n}\n\n// This component would not work with multiple instances, insofar as clicking\n// on one instance would not update the state of others. Too lazy to fix this\n// though.\nexport function ColorSchemeToggle(this: Context) {\n\tconst onclick = () => {\n\t\tcolorScheme = colorScheme === \"dark\" ? \"light\" : \"dark\";\n\t\tsessionStorage.setItem(\"color-scheme\", colorScheme);\n\t\tthis.refresh();\n\t};\n\n\tif (typeof window !== \"undefined\") {\n\t\tif (colorScheme === \"dark\") {\n\t\t\tdocument.body.classList.remove(\"color-scheme-light\");\n\t\t\tfor (const iframe of Array.from(\n\t\t\t\tdocument.querySelectorAll(\".playground-iframe\"),\n\t\t\t)) {\n\t\t\t\t(\n\t\t\t\t\tiframe as HTMLIFrameElement\n\t\t\t\t).contentWindow?.document.body.classList.remove(\"color-scheme-light\");\n\t\t\t}\n\t\t} else {\n\t\t\tdocument.body.classList.add(\"color-scheme-light\");\n\t\t\tfor (const iframe of Array.from(\n\t\t\t\tdocument.querySelectorAll(\".playground-iframe\"),\n\t\t\t)) {\n\t\t\t\t(\n\t\t\t\t\tiframe as HTMLIFrameElement\n\t\t\t\t).contentWindow?.document.body.classList.add(\"color-scheme-light\");\n\t\t\t}\n\t\t}\n\t}\n\n\treturn jsx`\n\t\t\n\t\t\t${colorScheme == null ? \"\u2B1C\" : colorScheme === \"dark\" ? \"\uD83D\uDCA1\" : \"\uD83D\uDD76\"}\n\t\t\n\t`;\n}\n", "import {jsx} from \"@b9g/crank/standalone\";\nimport {css} from \"@emotion/css\";\n\nimport {GearLogo} from \"./gear-interactive.js\";\nimport {ColorSchemeToggle} from \"./color-scheme-toggle.js\";\n\nconst positionFixed = css`\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\theight: 50px;\n\tz-index: 999;\n\tgap: 1em;\n`;\n\nconst navbarGroupLayout = css`\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: center;\n\talign-items: center;\n\tgap: 1em;\n`;\n\n// TODO: url should be named pathname\nexport function Navbar({url}: {url: string}) {\n\treturn jsx`\n\t\t\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t<${GearLogo} width=\"1.9em\" height=\"1.9em\" />\n\t\t\t\t\t\tCrank.js\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\tGuides\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\tBlog\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\tPlayground\n\t\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\tGitHub\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\tNPM\n\t\t\t\t
    \n\t\t\t\t<${ColorSchemeToggle} />\n\t\t\t
    \n\t\t\n\t`;\n}\n", "import {\n\tChildren,\n\tContext,\n\tElementValue,\n\tHydrationData,\n\tPortal,\n\tRenderer,\n\tRendererImpl,\n} from \"./crank.js\";\n\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\n\nexport const impl: Partial> = {\n\tscope(\n\t\txmlns: string | undefined,\n\t\ttag: string | symbol,\n\t\tprops: Record,\n\t): string | undefined {\n\t\tswitch (tag) {\n\t\t\tcase Portal:\n\t\t\t\txmlns = undefined;\n\t\t\t\tbreak;\n\t\t\tcase \"svg\":\n\t\t\t\txmlns = SVG_NAMESPACE;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn props.xmlns || xmlns;\n\t},\n\n\tcreate(\n\t\ttag: string | symbol,\n\t\t_props: unknown,\n\t\txmlns: string | undefined,\n\t): Node {\n\t\tif (typeof tag !== \"string\") {\n\t\t\tthrow new Error(`Unknown tag: ${tag.toString()}`);\n\t\t} else if (tag.toLowerCase() === \"svg\") {\n\t\t\txmlns = SVG_NAMESPACE;\n\t\t}\n\n\t\treturn xmlns\n\t\t\t? document.createElementNS(xmlns, tag)\n\t\t\t: document.createElement(tag);\n\t},\n\n\thydrate(\n\t\ttag: string | symbol,\n\t\tnode: Element,\n\t\tprops: Record,\n\t): HydrationData | undefined {\n\t\tif (typeof tag !== \"string\" && tag !== Portal) {\n\t\t\tthrow new Error(`Unknown tag: ${tag.toString()}`);\n\t\t}\n\n\t\tif (\n\t\t\ttypeof tag === \"string\" &&\n\t\t\ttag.toUpperCase() !== (node as Element).tagName\n\t\t) {\n\t\t\t// TODO: consider pros and cons of hydration warnings\n\t\t\t//console.error(`Expected <${tag}> while hydrating but found:`, node);\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst children: Array = [];\n\t\tfor (let i = 0; i < node.childNodes.length; i++) {\n\t\t\tconst child = node.childNodes[i];\n\t\t\tif (child.nodeType === Node.TEXT_NODE) {\n\t\t\t\tchildren.push((child as Text).data);\n\t\t\t} else if (child.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\tchildren.push(child as Element);\n\t\t\t}\n\t\t}\n\n\t\t// TODO: extract props from nodes\n\t\treturn {props, children};\n\t},\n\n\tpatch(\n\t\t_tag: string | symbol,\n\t\t// TODO: Why does this assignment work?\n\t\tnode: HTMLElement | SVGElement,\n\t\tname: string,\n\t\t// TODO: Stricter typings?\n\t\tvalue: unknown,\n\t\toldValue: unknown,\n\t\txmlns: string | undefined,\n\t): void {\n\t\tconst isSVG = xmlns === SVG_NAMESPACE;\n\t\tswitch (name) {\n\t\t\tcase \"style\": {\n\t\t\t\tconst style: CSSStyleDeclaration = node.style;\n\t\t\t\tif (style == null) {\n\t\t\t\t\tnode.setAttribute(\"style\", value as string);\n\t\t\t\t} else if (value == null || value === false) {\n\t\t\t\t\tnode.removeAttribute(\"style\");\n\t\t\t\t} else if (value === true) {\n\t\t\t\t\tnode.setAttribute(\"style\", \"\");\n\t\t\t\t} else if (typeof value === \"string\") {\n\t\t\t\t\tif (style.cssText !== value) {\n\t\t\t\t\t\tstyle.cssText = value;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof oldValue === \"string\") {\n\t\t\t\t\t\tstyle.cssText = \"\";\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (const styleName in {...(oldValue as {}), ...(value as {})}) {\n\t\t\t\t\t\tconst styleValue = value && (value as any)[styleName];\n\t\t\t\t\t\tif (styleValue == null) {\n\t\t\t\t\t\t\tstyle.removeProperty(styleName);\n\t\t\t\t\t\t} else if (style.getPropertyValue(styleName) !== styleValue) {\n\t\t\t\t\t\t\tstyle.setProperty(styleName, styleValue);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"class\":\n\t\t\tcase \"className\":\n\t\t\t\tif (value === true) {\n\t\t\t\t\tnode.setAttribute(\"class\", \"\");\n\t\t\t\t} else if (value == null) {\n\t\t\t\t\tnode.removeAttribute(\"class\");\n\t\t\t\t} else if (!isSVG) {\n\t\t\t\t\tif (node.className !== value) {\n\t\t\t\t\t\t(node as any)[\"className\"] = value;\n\t\t\t\t\t}\n\t\t\t\t} else if (node.getAttribute(\"class\") !== value) {\n\t\t\t\t\tnode.setAttribute(\"class\", value as string);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"innerHTML\":\n\t\t\t\tif (value !== oldValue) {\n\t\t\t\t\tnode.innerHTML = value as any;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tdefault: {\n\t\t\t\tif (\n\t\t\t\t\tname[0] === \"o\" &&\n\t\t\t\t\tname[1] === \"n\" &&\n\t\t\t\t\tname[2] === name[2].toUpperCase() &&\n\t\t\t\t\ttypeof value === \"function\"\n\t\t\t\t) {\n\t\t\t\t\t// Support React-style event names (onClick, onChange, etc.)\n\t\t\t\t\tname = name.toLowerCase();\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tname in node &&\n\t\t\t\t\t// boolean properties will coerce strings, but sometimes they map to\n\t\t\t\t\t// enumerated attributes, where truthy strings (\"false\", \"no\") map to\n\t\t\t\t\t// falsy properties, so we use attributes in this case.\n\t\t\t\t\t!(\n\t\t\t\t\t\ttypeof value === \"string\" &&\n\t\t\t\t\t\ttypeof (node as any)[name] === \"boolean\"\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\t// walk up the object's prototype chain to find the owner of the\n\t\t\t\t\t// named property\n\t\t\t\t\tlet obj = node;\n\t\t\t\t\tdo {\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(obj, name)) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t} while ((obj = Object.getPrototypeOf(obj)));\n\n\t\t\t\t\t// get the descriptor for the named property and check whether it\n\t\t\t\t\t// implies that the property is writable\n\t\t\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(obj, name);\n\t\t\t\t\tif (\n\t\t\t\t\t\tdescriptor != null &&\n\t\t\t\t\t\t(descriptor.writable === true || descriptor.set !== undefined)\n\t\t\t\t\t) {\n\t\t\t\t\t\tif ((node as any)[name] !== value || oldValue === undefined) {\n\t\t\t\t\t\t\t(node as any)[name] = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// if the property wasn't writable, fall through to the code below\n\t\t\t\t\t// which uses setAttribute() instead of assigning directly.\n\t\t\t\t}\n\n\t\t\t\tif (value === true) {\n\t\t\t\t\tvalue = \"\";\n\t\t\t\t} else if (value == null || value === false) {\n\t\t\t\t\tnode.removeAttribute(name);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (node.getAttribute(name) !== value) {\n\t\t\t\t\tnode.setAttribute(name, value as any);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tarrange(\n\t\ttag: string | symbol,\n\t\tnode: Node,\n\t\tprops: Record,\n\t\tchildren: Array,\n\t\t_oldProps: Record | undefined,\n\t\toldChildren: Array | undefined,\n\t): void {\n\t\tif (tag === Portal && (node == null || typeof node.nodeType !== \"number\")) {\n\t\t\tthrow new TypeError(\n\t\t\t\t`Portal root is not a node. Received: ${JSON.stringify(\n\t\t\t\t\tnode && node.toString(),\n\t\t\t\t)}`,\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\t!(\"innerHTML\" in props) &&\n\t\t\t// We don’t want to update elements without explicit children (
    ),\n\t\t\t// because these elements sometimes have child nodes added via raw\n\t\t\t// DOM manipulations.\n\t\t\t// However, if an element has previously rendered children, we clear the\n\t\t\t// them because it would be surprising not to clear Crank managed\n\t\t\t// children, even if the new element does not have explicit children.\n\t\t\t(\"children\" in props || (oldChildren && oldChildren.length))\n\t\t) {\n\t\t\tif (children.length === 0) {\n\t\t\t\tnode.textContent = \"\";\n\t\t\t} else {\n\t\t\t\tlet oldChild = node.firstChild;\n\t\t\t\tlet i = 0;\n\t\t\t\twhile (oldChild !== null && i < children.length) {\n\t\t\t\t\tconst newChild = children[i];\n\t\t\t\t\tif (oldChild === newChild) {\n\t\t\t\t\t\toldChild = oldChild.nextSibling;\n\t\t\t\t\t\ti++;\n\t\t\t\t\t} else if (typeof newChild === \"string\") {\n\t\t\t\t\t\tif (oldChild.nodeType === Node.TEXT_NODE) {\n\t\t\t\t\t\t\tif ((oldChild as Text).data !== newChild) {\n\t\t\t\t\t\t\t\t(oldChild as Text).data = newChild;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\toldChild = oldChild.nextSibling;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnode.insertBefore(document.createTextNode(newChild), oldChild);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ti++;\n\t\t\t\t\t} else if (oldChild.nodeType === Node.TEXT_NODE) {\n\t\t\t\t\t\tconst nextSibling = oldChild.nextSibling;\n\t\t\t\t\t\tnode.removeChild(oldChild);\n\t\t\t\t\t\toldChild = nextSibling;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode.insertBefore(newChild, oldChild);\n\t\t\t\t\t\ti++;\n\t\t\t\t\t\t// TODO: This is an optimization but we need to think a little more about other cases like prepending.\n\t\t\t\t\t\tif (oldChild !== children[i]) {\n\t\t\t\t\t\t\tconst nextSibling = oldChild.nextSibling;\n\t\t\t\t\t\t\tnode.removeChild(oldChild);\n\t\t\t\t\t\t\toldChild = nextSibling;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// remove excess DOM nodes\n\t\t\t\twhile (oldChild !== null) {\n\t\t\t\t\tconst nextSibling = oldChild.nextSibling;\n\t\t\t\t\tnode.removeChild(oldChild);\n\t\t\t\t\toldChild = nextSibling;\n\t\t\t\t}\n\n\t\t\t\t// append excess children\n\t\t\t\tfor (; i < children.length; i++) {\n\t\t\t\t\tconst newChild = children[i];\n\t\t\t\t\tnode.appendChild(\n\t\t\t\t\t\ttypeof newChild === \"string\"\n\t\t\t\t\t\t\t? document.createTextNode(newChild)\n\t\t\t\t\t\t\t: newChild,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\ttext(\n\t\ttext: string,\n\t\t_scope: string | undefined,\n\t\thydrationData: HydrationData | undefined,\n\t): string {\n\t\tif (hydrationData != null) {\n\t\t\tlet value = hydrationData.children.shift();\n\t\t\tif (typeof value !== \"string\" || !value.startsWith(text)) {\n\t\t\t\t// TODO: consider pros and cons of hydration warnings\n\t\t\t\t//console.error(`Expected \"${text}\" while hydrating but found:`, value);\n\t\t\t} else if (text.length < value.length) {\n\t\t\t\tvalue = value.slice(text.length);\n\t\t\t\thydrationData.children.unshift(value);\n\t\t\t}\n\t\t}\n\n\t\treturn text;\n\t},\n\n\traw(\n\t\tvalue: string | Node,\n\t\txmlns: string | undefined,\n\t\thydrationData: HydrationData | undefined,\n\t): ElementValue {\n\t\tlet result: ElementValue;\n\t\tif (typeof value === \"string\") {\n\t\t\tconst el =\n\t\t\t\txmlns == null\n\t\t\t\t\t? document.createElement(\"div\")\n\t\t\t\t\t: document.createElementNS(xmlns, \"svg\");\n\t\t\tel.innerHTML = value;\n\t\t\tif (el.childNodes.length === 0) {\n\t\t\t\tresult = undefined;\n\t\t\t} else if (el.childNodes.length === 1) {\n\t\t\t\tresult = el.childNodes[0];\n\t\t\t} else {\n\t\t\t\tresult = Array.from(el.childNodes);\n\t\t\t}\n\t\t} else {\n\t\t\tresult = value;\n\t\t}\n\n\t\tif (hydrationData != null) {\n\t\t\t// TODO: maybe we should warn on incorrect values\n\t\t\tif (Array.isArray(result)) {\n\t\t\t\tfor (let i = 0; i < result.length; i++) {\n\t\t\t\t\tconst node = result[i];\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof node !== \"string\" &&\n\t\t\t\t\t\t(node.nodeType === Node.ELEMENT_NODE ||\n\t\t\t\t\t\t\tnode.nodeType === Node.TEXT_NODE)\n\t\t\t\t\t) {\n\t\t\t\t\t\thydrationData.children.shift();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (result != null && typeof result !== \"string\") {\n\t\t\t\tif (\n\t\t\t\t\tresult.nodeType === Node.ELEMENT_NODE ||\n\t\t\t\t\tresult.nodeType === Node.TEXT_NODE\n\t\t\t\t) {\n\t\t\t\t\thydrationData.children.shift();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t},\n};\n\nexport class DOMRenderer extends Renderer {\n\tconstructor() {\n\t\tsuper(impl);\n\t}\n\n\trender(\n\t\tchildren: Children,\n\t\troot: Node,\n\t\tctx?: Context,\n\t): Promise> | ElementValue {\n\t\tvalidateRoot(root);\n\t\treturn super.render(children, root, ctx);\n\t}\n\n\thydrate(\n\t\tchildren: Children,\n\t\troot: Node,\n\t\tctx?: Context,\n\t): Promise> | ElementValue {\n\t\tvalidateRoot(root);\n\t\treturn super.hydrate(children, root, ctx);\n\t}\n}\n\nfunction validateRoot(root: unknown): asserts root is Node {\n\tif (\n\t\troot === null ||\n\t\t(typeof root === \"object\" && typeof (root as any).nodeType !== \"number\")\n\t) {\n\t\tthrow new TypeError(\n\t\t\t`Render root is not a node. Received: ${JSON.stringify(\n\t\t\t\troot && root.toString(),\n\t\t\t)}`,\n\t\t);\n\t}\n}\n\nexport const renderer = new DOMRenderer();\n\ndeclare global {\n\tmodule Crank {\n\t\tinterface EventMap extends GlobalEventHandlersEventMap {}\n\t}\n}\n", "import {Navbar} from \"../components/navbar.js\";\nimport {jsx} from \"@b9g/crank/standalone\";\nimport {renderer} from \"@b9g/crank/dom\";\n\nrenderer.hydrate(\n\tjsx`<${Navbar} url=${new URL(window.location).pathname} />`,\n\tdocument.getElementById(\"navbar-root\"),\n);\n"], + "mappings": "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", + "names": ["e", "length", "fill", "length", "compare", "i", "byteLength", "impl", "childValues", "renderer", "copy", "value", "record", "result", "iteration", "err", "match", "comment", "next", "equals", "i", "StyleSheet", "hydrate", "isImportRule", "sheet", "flush", "from", "length", "length", "copy", "slice", "alloc", "slice", "from", "parse", "alloc", "length", "character", "characters", "from", "length", "length", "cache", "identifierWithPointTracking", "character", "slice", "toRules", "from", "getRules", "alloc", "compat", "removeLabel", "isIgnoringComment", "createUnsafeSelectorsAlarm", "cache", "node", "isImportRule", "isPrependedWithRegularRules", "nullifyElement", "incorrectImportAlarm", "length", "prefixer", "copy", "createCache", "stylis", "sheet", "insert", "isCustomProperty", "isProcessableValue", "processStyleValue", "match", "next", "serializeStyles", "toString", "registerStyles", "cache", "insertStyles", "cache", "css", "createEmotion", "keyframes", "injectGlobal", "cx", "hydrate", "flush", "classnames", "flush", "merge", "getRegisteredStyles", "cache", "points", "fill", "onclick", "node"] +} diff --git a/static/playground-MAFXF5BU.js b/static/playground-MAFXF5BU.js new file mode 100644 index 00000000..396e95c6 --- /dev/null +++ b/static/playground-MAFXF5BU.js @@ -0,0 +1,77500 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from4, except, desc) => { + if (from4 && typeof from4 === "object" || typeof from4 === "function") { + for (let key of __getOwnPropNames(from4)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from4[key], enumerable: !(desc = __getOwnPropDesc(from4, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// node_modules/@esbuild-plugins/node-globals-polyfill/process.js +function defaultSetTimout() { + throw new Error("setTimeout has not been defined"); +} +function defaultClearTimeout() { + throw new Error("clearTimeout has not been defined"); +} +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + return setTimeout(fun, 0); + } + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + return cachedSetTimeout(fun, 0); + } catch (e) { + try { + return cachedSetTimeout.call(null, fun, 0); + } catch (e2) { + return cachedSetTimeout.call(this, fun, 0); + } + } +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + return clearTimeout(marker); + } + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + return cachedClearTimeout(marker); + } catch (e) { + try { + return cachedClearTimeout.call(null, marker); + } catch (e2) { + return cachedClearTimeout.call(this, marker); + } + } +} +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + var len = queue.length; + while (len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} +function nextTick(fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +} +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +function noop() { +} +function binding(name) { + throw new Error("process.binding is not supported"); +} +function cwd() { + return "/"; +} +function chdir(dir) { + throw new Error("process.chdir is not supported"); +} +function umask() { + return 0; +} +function hrtime(previousTimestamp) { + var clocktime = performanceNow.call(performance) * 1e-3; + var seconds = Math.floor(clocktime); + var nanoseconds = Math.floor(clocktime % 1 * 1e9); + if (previousTimestamp) { + seconds = seconds - previousTimestamp[0]; + nanoseconds = nanoseconds - previousTimestamp[1]; + if (nanoseconds < 0) { + seconds--; + nanoseconds += 1e9; + } + } + return [seconds, nanoseconds]; +} +function uptime() { + var currentTime = /* @__PURE__ */ new Date(); + var dif = currentTime - startTime; + return dif / 1e3; +} +var cachedSetTimeout, cachedClearTimeout, queue, draining, currentQueue, queueIndex, title, platform, browser, env, argv, version, versions, release, config, on, addListener, once, off, removeListener, removeAllListeners, emit, performance, performanceNow, startTime, process, defines; +var init_process = __esm({ + "node_modules/@esbuild-plugins/node-globals-polyfill/process.js"() { + cachedSetTimeout = defaultSetTimout; + cachedClearTimeout = defaultClearTimeout; + if (typeof globalThis.setTimeout === "function") { + cachedSetTimeout = setTimeout; + } + if (typeof globalThis.clearTimeout === "function") { + cachedClearTimeout = clearTimeout; + } + queue = []; + draining = false; + queueIndex = -1; + Item.prototype.run = function() { + this.fun.apply(null, this.array); + }; + title = "browser"; + platform = "browser"; + browser = true; + env = {}; + argv = []; + version = ""; + versions = {}; + release = {}; + config = {}; + on = noop; + addListener = noop; + once = noop; + off = noop; + removeListener = noop; + removeAllListeners = noop; + emit = noop; + performance = globalThis.performance || {}; + performanceNow = performance.now || performance.mozNow || performance.msNow || performance.oNow || performance.webkitNow || function() { + return (/* @__PURE__ */ new Date()).getTime(); + }; + startTime = /* @__PURE__ */ new Date(); + process = { + nextTick, + title, + browser, + env, + argv, + version, + versions, + on, + addListener, + once, + off, + removeListener, + removeAllListeners, + emit, + binding, + cwd, + chdir, + umask, + hrtime, + platform, + release, + config, + uptime + }; + defines = {}; + Object.keys(defines).forEach((key) => { + const segs = key.split("."); + let target = process; + for (let i = 0; i < segs.length; i++) { + const seg = segs[i]; + if (i === segs.length - 1) { + target[seg] = defines[key]; + } else { + target = target[seg] || (target[seg] = {}); + } + } + }); + } +}); + +// node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js +function init() { + inited = true; + var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i]; + revLookup[code.charCodeAt(i)] = i; + } + revLookup["-".charCodeAt(0)] = 62; + revLookup["_".charCodeAt(0)] = 63; +} +function base64toByteArray(b64) { + if (!inited) { + init(); + } + var i, j, l, tmp, placeHolders, arr; + var len = b64.length; + if (len % 4 > 0) { + throw new Error("Invalid string. Length must be a multiple of 4"); + } + placeHolders = b64[len - 2] === "=" ? 2 : b64[len - 1] === "=" ? 1 : 0; + arr = new Arr(len * 3 / 4 - placeHolders); + l = placeHolders > 0 ? len - 4 : len; + var L = 0; + for (i = 0, j = 0; i < l; i += 4, j += 3) { + tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)]; + arr[L++] = tmp >> 16 & 255; + arr[L++] = tmp >> 8 & 255; + arr[L++] = tmp & 255; + } + if (placeHolders === 2) { + tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4; + arr[L++] = tmp & 255; + } else if (placeHolders === 1) { + tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2; + arr[L++] = tmp >> 8 & 255; + arr[L++] = tmp & 255; + } + return arr; +} +function tripletToBase64(num) { + return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63]; +} +function encodeChunk(uint8, start, end) { + var tmp; + var output = []; + for (var i = start; i < end; i += 3) { + tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2]; + output.push(tripletToBase64(tmp)); + } + return output.join(""); +} +function base64fromByteArray(uint8) { + if (!inited) { + init(); + } + var tmp; + var len = uint8.length; + var extraBytes = len % 3; + var output = ""; + var parts = []; + var maxChunkLength = 16383; + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push( + encodeChunk( + uint8, + i, + i + maxChunkLength > len2 ? len2 : i + maxChunkLength + ) + ); + } + if (extraBytes === 1) { + tmp = uint8[len - 1]; + output += lookup[tmp >> 2]; + output += lookup[tmp << 4 & 63]; + output += "=="; + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1]; + output += lookup[tmp >> 10]; + output += lookup[tmp >> 4 & 63]; + output += lookup[tmp << 2 & 63]; + output += "="; + } + parts.push(output); + return parts.join(""); +} +function kMaxLength() { + return Buffer2.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823; +} +function createBuffer(that, length2) { + if (kMaxLength() < length2) { + throw new RangeError("Invalid typed array length"); + } + if (Buffer2.TYPED_ARRAY_SUPPORT) { + that = new Uint8Array(length2); + that.__proto__ = Buffer2.prototype; + } else { + if (that === null) { + that = new Buffer2(length2); + } + that.length = length2; + } + return that; +} +function Buffer2(arg, encodingOrOffset, length2) { + if (!Buffer2.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer2)) { + return new Buffer2(arg, encodingOrOffset, length2); + } + if (typeof arg === "number") { + if (typeof encodingOrOffset === "string") { + throw new Error( + "If encoding is specified then the first argument must be a string" + ); + } + return allocUnsafe(this, arg); + } + return from(this, arg, encodingOrOffset, length2); +} +function from(that, value, encodingOrOffset, length2) { + if (typeof value === "number") { + throw new TypeError('"value" argument must not be a number'); + } + if (typeof ArrayBuffer !== "undefined" && value instanceof ArrayBuffer) { + return fromArrayBuffer(that, value, encodingOrOffset, length2); + } + if (typeof value === "string") { + return fromString(that, value, encodingOrOffset); + } + return fromObject(that, value); +} +function assertSize(size) { + if (typeof size !== "number") { + throw new TypeError('"size" argument must be a number'); + } else if (size < 0) { + throw new RangeError('"size" argument must not be negative'); + } +} +function alloc(that, size, fill3, encoding) { + assertSize(size); + if (size <= 0) { + return createBuffer(that, size); + } + if (fill3 !== void 0) { + return typeof encoding === "string" ? createBuffer(that, size).fill(fill3, encoding) : createBuffer(that, size).fill(fill3); + } + return createBuffer(that, size); +} +function allocUnsafe(that, size) { + assertSize(size); + that = createBuffer(that, size < 0 ? 0 : checked(size) | 0); + if (!Buffer2.TYPED_ARRAY_SUPPORT) { + for (var i = 0; i < size; ++i) { + that[i] = 0; + } + } + return that; +} +function fromString(that, string, encoding) { + if (typeof encoding !== "string" || encoding === "") { + encoding = "utf8"; + } + if (!Buffer2.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding'); + } + var length2 = byteLength(string, encoding) | 0; + that = createBuffer(that, length2); + var actual = that.write(string, encoding); + if (actual !== length2) { + that = that.slice(0, actual); + } + return that; +} +function fromArrayLike(that, array) { + var length2 = array.length < 0 ? 0 : checked(array.length) | 0; + that = createBuffer(that, length2); + for (var i = 0; i < length2; i += 1) { + that[i] = array[i] & 255; + } + return that; +} +function fromArrayBuffer(that, array, byteOffset, length2) { + array.byteLength; + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError("'offset' is out of bounds"); + } + if (array.byteLength < byteOffset + (length2 || 0)) { + throw new RangeError("'length' is out of bounds"); + } + if (byteOffset === void 0 && length2 === void 0) { + array = new Uint8Array(array); + } else if (length2 === void 0) { + array = new Uint8Array(array, byteOffset); + } else { + array = new Uint8Array(array, byteOffset, length2); + } + if (Buffer2.TYPED_ARRAY_SUPPORT) { + that = array; + that.__proto__ = Buffer2.prototype; + } else { + that = fromArrayLike(that, array); + } + return that; +} +function fromObject(that, obj) { + if (internalIsBuffer(obj)) { + var len = checked(obj.length) | 0; + that = createBuffer(that, len); + if (that.length === 0) { + return that; + } + obj.copy(that, 0, 0, len); + return that; + } + if (obj) { + if (typeof ArrayBuffer !== "undefined" && obj.buffer instanceof ArrayBuffer || "length" in obj) { + if (typeof obj.length !== "number" || isnan(obj.length)) { + return createBuffer(that, 0); + } + return fromArrayLike(that, obj); + } + if (obj.type === "Buffer" && Array.isArray(obj.data)) { + return fromArrayLike(that, obj.data); + } + } + throw new TypeError( + "First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object." + ); +} +function checked(length2) { + if (length2 >= kMaxLength()) { + throw new RangeError( + "Attempt to allocate Buffer larger than maximum size: 0x" + kMaxLength().toString(16) + " bytes" + ); + } + return length2 | 0; +} +function internalIsBuffer(b) { + return !!(b != null && b._isBuffer); +} +function byteLength(string, encoding) { + if (internalIsBuffer(string)) { + return string.length; + } + if (typeof ArrayBuffer !== "undefined" && typeof ArrayBuffer.isView === "function" && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { + return string.byteLength; + } + if (typeof string !== "string") { + string = "" + string; + } + var len = string.length; + if (len === 0) + return 0; + var loweredCase = false; + for (; ; ) { + switch (encoding) { + case "ascii": + case "latin1": + case "binary": + return len; + case "utf8": + case "utf-8": + case void 0: + return utf8ToBytes(string).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return len * 2; + case "hex": + return len >>> 1; + case "base64": + return base64ToBytes(string).length; + default: + if (loweredCase) + return utf8ToBytes(string).length; + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } +} +function slowToString(encoding, start, end) { + var loweredCase = false; + if (start === void 0 || start < 0) { + start = 0; + } + if (start > this.length) { + return ""; + } + if (end === void 0 || end > this.length) { + end = this.length; + } + if (end <= 0) { + return ""; + } + end >>>= 0; + start >>>= 0; + if (end <= start) { + return ""; + } + if (!encoding) + encoding = "utf8"; + while (true) { + switch (encoding) { + case "hex": + return hexSlice(this, start, end); + case "utf8": + case "utf-8": + return utf8Slice(this, start, end); + case "ascii": + return asciiSlice(this, start, end); + case "latin1": + case "binary": + return latin1Slice(this, start, end); + case "base64": + return base64Slice(this, start, end); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return utf16leSlice(this, start, end); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = (encoding + "").toLowerCase(); + loweredCase = true; + } + } +} +function swap(b, n, m) { + var i = b[n]; + b[n] = b[m]; + b[m] = i; +} +function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { + if (buffer.length === 0) + return -1; + if (typeof byteOffset === "string") { + encoding = byteOffset; + byteOffset = 0; + } else if (byteOffset > 2147483647) { + byteOffset = 2147483647; + } else if (byteOffset < -2147483648) { + byteOffset = -2147483648; + } + byteOffset = +byteOffset; + if (isNaN(byteOffset)) { + byteOffset = dir ? 0 : buffer.length - 1; + } + if (byteOffset < 0) + byteOffset = buffer.length + byteOffset; + if (byteOffset >= buffer.length) { + if (dir) + return -1; + else + byteOffset = buffer.length - 1; + } else if (byteOffset < 0) { + if (dir) + byteOffset = 0; + else + return -1; + } + if (typeof val === "string") { + val = Buffer2.from(val, encoding); + } + if (internalIsBuffer(val)) { + if (val.length === 0) { + return -1; + } + return arrayIndexOf(buffer, val, byteOffset, encoding, dir); + } else if (typeof val === "number") { + val = val & 255; + if (Buffer2.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === "function") { + if (dir) { + return Uint8Array.prototype.indexOf.call( + buffer, + val, + byteOffset + ); + } else { + return Uint8Array.prototype.lastIndexOf.call( + buffer, + val, + byteOffset + ); + } + } + return arrayIndexOf(buffer, [val], byteOffset, encoding, dir); + } + throw new TypeError("val must be string, number or Buffer"); +} +function arrayIndexOf(arr, val, byteOffset, encoding, dir) { + var indexSize = 1; + var arrLength = arr.length; + var valLength = val.length; + if (encoding !== void 0) { + encoding = String(encoding).toLowerCase(); + if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") { + if (arr.length < 2 || val.length < 2) { + return -1; + } + indexSize = 2; + arrLength /= 2; + valLength /= 2; + byteOffset /= 2; + } + } + function read2(buf, i2) { + if (indexSize === 1) { + return buf[i2]; + } else { + return buf.readUInt16BE(i2 * indexSize); + } + } + var i; + if (dir) { + var foundIndex = -1; + for (i = byteOffset; i < arrLength; i++) { + if (read2(arr, i) === read2(val, foundIndex === -1 ? 0 : i - foundIndex)) { + if (foundIndex === -1) + foundIndex = i; + if (i - foundIndex + 1 === valLength) + return foundIndex * indexSize; + } else { + if (foundIndex !== -1) + i -= i - foundIndex; + foundIndex = -1; + } + } + } else { + if (byteOffset + valLength > arrLength) + byteOffset = arrLength - valLength; + for (i = byteOffset; i >= 0; i--) { + var found = true; + for (var j = 0; j < valLength; j++) { + if (read2(arr, i + j) !== read2(val, j)) { + found = false; + break; + } + } + if (found) + return i; + } + } + return -1; +} +function hexWrite(buf, string, offset, length2) { + offset = Number(offset) || 0; + var remaining = buf.length - offset; + if (!length2) { + length2 = remaining; + } else { + length2 = Number(length2); + if (length2 > remaining) { + length2 = remaining; + } + } + var strLen = string.length; + if (strLen % 2 !== 0) + throw new TypeError("Invalid hex string"); + if (length2 > strLen / 2) { + length2 = strLen / 2; + } + for (var i = 0; i < length2; ++i) { + var parsed = parseInt(string.substr(i * 2, 2), 16); + if (isNaN(parsed)) + return i; + buf[offset + i] = parsed; + } + return i; +} +function utf8Write(buf, string, offset, length2) { + return blitBuffer( + utf8ToBytes(string, buf.length - offset), + buf, + offset, + length2 + ); +} +function asciiWrite(buf, string, offset, length2) { + return blitBuffer(asciiToBytes(string), buf, offset, length2); +} +function latin1Write(buf, string, offset, length2) { + return asciiWrite(buf, string, offset, length2); +} +function base64Write(buf, string, offset, length2) { + return blitBuffer(base64ToBytes(string), buf, offset, length2); +} +function ucs2Write(buf, string, offset, length2) { + return blitBuffer( + utf16leToBytes(string, buf.length - offset), + buf, + offset, + length2 + ); +} +function base64Slice(buf, start, end) { + if (start === 0 && end === buf.length) { + return base64fromByteArray(buf); + } else { + return base64fromByteArray(buf.slice(start, end)); + } +} +function utf8Slice(buf, start, end) { + end = Math.min(buf.length, end); + var res = []; + var i = start; + while (i < end) { + var firstByte = buf[i]; + var codePoint = null; + var bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1; + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint; + switch (bytesPerSequence) { + case 1: + if (firstByte < 128) { + codePoint = firstByte; + } + break; + case 2: + secondByte = buf[i + 1]; + if ((secondByte & 192) === 128) { + tempCodePoint = (firstByte & 31) << 6 | secondByte & 63; + if (tempCodePoint > 127) { + codePoint = tempCodePoint; + } + } + break; + case 3: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63; + if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) { + codePoint = tempCodePoint; + } + } + break; + case 4: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + fourthByte = buf[i + 3]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63; + if (tempCodePoint > 65535 && tempCodePoint < 1114112) { + codePoint = tempCodePoint; + } + } + } + } + if (codePoint === null) { + codePoint = 65533; + bytesPerSequence = 1; + } else if (codePoint > 65535) { + codePoint -= 65536; + res.push(codePoint >>> 10 & 1023 | 55296); + codePoint = 56320 | codePoint & 1023; + } + res.push(codePoint); + i += bytesPerSequence; + } + return decodeCodePointsArray(res); +} +function decodeCodePointsArray(codePoints) { + var len = codePoints.length; + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints); + } + var res = ""; + var i = 0; + while (i < len) { + res += String.fromCharCode.apply( + String, + codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) + ); + } + return res; +} +function asciiSlice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i] & 127); + } + return ret; +} +function latin1Slice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i]); + } + return ret; +} +function hexSlice(buf, start, end) { + var len = buf.length; + if (!start || start < 0) + start = 0; + if (!end || end < 0 || end > len) + end = len; + var out = ""; + for (var i = start; i < end; ++i) { + out += toHex(buf[i]); + } + return out; +} +function utf16leSlice(buf, start, end) { + var bytes = buf.slice(start, end); + var res = ""; + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); + } + return res; +} +function checkOffset(offset, ext, length2) { + if (offset % 1 !== 0 || offset < 0) + throw new RangeError("offset is not uint"); + if (offset + ext > length2) + throw new RangeError("Trying to access beyond buffer length"); +} +function checkInt(buf, value, offset, ext, max, min) { + if (!internalIsBuffer(buf)) + throw new TypeError('"buffer" argument must be a Buffer instance'); + if (value > max || value < min) + throw new RangeError('"value" argument is out of bounds'); + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); +} +function objectWriteUInt16(buf, value, offset, littleEndian) { + if (value < 0) + value = 65535 + value + 1; + for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { + buf[offset + i] = (value & 255 << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8; + } +} +function objectWriteUInt32(buf, value, offset, littleEndian) { + if (value < 0) + value = 4294967295 + value + 1; + for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { + buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 255; + } +} +function checkIEEE754(buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); + if (offset < 0) + throw new RangeError("Index out of range"); +} +function writeFloat(buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754( + buf, + value, + offset, + 4, + 34028234663852886e22, + -34028234663852886e22 + ); + } + ieee754write(buf, value, offset, littleEndian, 23, 4); + return offset + 4; +} +function writeDouble(buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754( + buf, + value, + offset, + 8, + 17976931348623157e292, + -17976931348623157e292 + ); + } + ieee754write(buf, value, offset, littleEndian, 52, 8); + return offset + 8; +} +function base64clean(str) { + str = stringtrim(str).replace(INVALID_BASE64_RE, ""); + if (str.length < 2) + return ""; + while (str.length % 4 !== 0) { + str = str + "="; + } + return str; +} +function stringtrim(str) { + if (str.trim) + return str.trim(); + return str.replace(/^\s+|\s+$/g, ""); +} +function toHex(n) { + if (n < 16) + return "0" + n.toString(16); + return n.toString(16); +} +function utf8ToBytes(string, units) { + units = units || Infinity; + var codePoint; + var length2 = string.length; + var leadSurrogate = null; + var bytes = []; + for (var i = 0; i < length2; ++i) { + codePoint = string.charCodeAt(i); + if (codePoint > 55295 && codePoint < 57344) { + if (!leadSurrogate) { + if (codePoint > 56319) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } else if (i + 1 === length2) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } + leadSurrogate = codePoint; + continue; + } + if (codePoint < 56320) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + leadSurrogate = codePoint; + continue; + } + codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536; + } else if (leadSurrogate) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + } + leadSurrogate = null; + if (codePoint < 128) { + if ((units -= 1) < 0) + break; + bytes.push(codePoint); + } else if (codePoint < 2048) { + if ((units -= 2) < 0) + break; + bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128); + } else if (codePoint < 65536) { + if ((units -= 3) < 0) + break; + bytes.push( + codePoint >> 12 | 224, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else if (codePoint < 1114112) { + if ((units -= 4) < 0) + break; + bytes.push( + codePoint >> 18 | 240, + codePoint >> 12 & 63 | 128, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else { + throw new Error("Invalid code point"); + } + } + return bytes; +} +function asciiToBytes(str) { + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + byteArray.push(str.charCodeAt(i) & 255); + } + return byteArray; +} +function utf16leToBytes(str, units) { + var c, hi, lo; + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + if ((units -= 2) < 0) + break; + c = str.charCodeAt(i); + hi = c >> 8; + lo = c % 256; + byteArray.push(lo); + byteArray.push(hi); + } + return byteArray; +} +function base64ToBytes(str) { + return base64toByteArray(base64clean(str)); +} +function blitBuffer(src, dst, offset, length2) { + for (var i = 0; i < length2; ++i) { + if (i + offset >= dst.length || i >= src.length) + break; + dst[i + offset] = src[i]; + } + return i; +} +function isnan(val) { + return val !== val; +} +function isBuffer(obj) { + return obj != null && (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj)); +} +function isFastBuffer(obj) { + return !!obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj); +} +function isSlowBuffer(obj) { + return typeof obj.readFloatLE === "function" && typeof obj.slice === "function" && isFastBuffer(obj.slice(0, 0)); +} +function ieee754read(buffer, offset, isLE, mLen, nBytes) { + var e, m; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = -7; + var i = isLE ? nBytes - 1 : 0; + var d = isLE ? -1 : 1; + var s = buffer[offset + i]; + i += d; + e = s & (1 << -nBits) - 1; + s >>= -nBits; + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : (s ? -1 : 1) * Infinity; + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); +} +function ieee754write(buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; + var i = isLE ? 0 : nBytes - 1; + var d = isLE ? 1 : -1; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + value = Math.abs(value); + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) { + } + e = e << mLen | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) { + } + buffer[offset + i - d] |= s * 128; +} +var lookup, revLookup, Arr, inited, MAX_ARGUMENTS_LENGTH, INVALID_BASE64_RE; +var init_Buffer = __esm({ + "node_modules/@esbuild-plugins/node-globals-polyfill/Buffer.js"() { + init_process(); + init_buffer(); + lookup = []; + revLookup = []; + Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array; + inited = false; + Buffer2.TYPED_ARRAY_SUPPORT = globalThis.TYPED_ARRAY_SUPPORT !== void 0 ? globalThis.TYPED_ARRAY_SUPPORT : true; + Buffer2.poolSize = 8192; + Buffer2._augment = function(arr) { + arr.__proto__ = Buffer2.prototype; + return arr; + }; + Buffer2.from = function(value, encodingOrOffset, length2) { + return from(null, value, encodingOrOffset, length2); + }; + Buffer2.kMaxLength = kMaxLength(); + if (Buffer2.TYPED_ARRAY_SUPPORT) { + Buffer2.prototype.__proto__ = Uint8Array.prototype; + Buffer2.__proto__ = Uint8Array; + if (typeof Symbol !== "undefined" && Symbol.species && Buffer2[Symbol.species] === Buffer2) { + } + } + Buffer2.alloc = function(size, fill3, encoding) { + return alloc(null, size, fill3, encoding); + }; + Buffer2.allocUnsafe = function(size) { + return allocUnsafe(null, size); + }; + Buffer2.allocUnsafeSlow = function(size) { + return allocUnsafe(null, size); + }; + Buffer2.isBuffer = isBuffer; + Buffer2.compare = function compare(a, b) { + if (!internalIsBuffer(a) || !internalIsBuffer(b)) { + throw new TypeError("Arguments must be Buffers"); + } + if (a === b) + return 0; + var x = a.length; + var y = b.length; + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i]; + y = b[i]; + break; + } + } + if (x < y) + return -1; + if (y < x) + return 1; + return 0; + }; + Buffer2.isEncoding = function isEncoding(encoding) { + switch (String(encoding).toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "latin1": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return true; + default: + return false; + } + }; + Buffer2.concat = function concat(list, length2) { + if (!Array.isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + if (list.length === 0) { + return Buffer2.alloc(0); + } + var i; + if (length2 === void 0) { + length2 = 0; + for (i = 0; i < list.length; ++i) { + length2 += list[i].length; + } + } + var buffer = Buffer2.allocUnsafe(length2); + var pos = 0; + for (i = 0; i < list.length; ++i) { + var buf = list[i]; + if (!internalIsBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + buf.copy(buffer, pos); + pos += buf.length; + } + return buffer; + }; + Buffer2.byteLength = byteLength; + Buffer2.prototype._isBuffer = true; + Buffer2.prototype.swap16 = function swap16() { + var len = this.length; + if (len % 2 !== 0) { + throw new RangeError("Buffer size must be a multiple of 16-bits"); + } + for (var i = 0; i < len; i += 2) { + swap(this, i, i + 1); + } + return this; + }; + Buffer2.prototype.swap32 = function swap32() { + var len = this.length; + if (len % 4 !== 0) { + throw new RangeError("Buffer size must be a multiple of 32-bits"); + } + for (var i = 0; i < len; i += 4) { + swap(this, i, i + 3); + swap(this, i + 1, i + 2); + } + return this; + }; + Buffer2.prototype.swap64 = function swap64() { + var len = this.length; + if (len % 8 !== 0) { + throw new RangeError("Buffer size must be a multiple of 64-bits"); + } + for (var i = 0; i < len; i += 8) { + swap(this, i, i + 7); + swap(this, i + 1, i + 6); + swap(this, i + 2, i + 5); + swap(this, i + 3, i + 4); + } + return this; + }; + Buffer2.prototype.toString = function toString() { + var length2 = this.length | 0; + if (length2 === 0) + return ""; + if (arguments.length === 0) + return utf8Slice(this, 0, length2); + return slowToString.apply(this, arguments); + }; + Buffer2.prototype.equals = function equals(b) { + if (!internalIsBuffer(b)) + throw new TypeError("Argument must be a Buffer"); + if (this === b) + return true; + return Buffer2.compare(this, b) === 0; + }; + Buffer2.prototype.compare = function compare2(target, start, end, thisStart, thisEnd) { + if (!internalIsBuffer(target)) { + throw new TypeError("Argument must be a Buffer"); + } + if (start === void 0) { + start = 0; + } + if (end === void 0) { + end = target ? target.length : 0; + } + if (thisStart === void 0) { + thisStart = 0; + } + if (thisEnd === void 0) { + thisEnd = this.length; + } + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError("out of range index"); + } + if (thisStart >= thisEnd && start >= end) { + return 0; + } + if (thisStart >= thisEnd) { + return -1; + } + if (start >= end) { + return 1; + } + start >>>= 0; + end >>>= 0; + thisStart >>>= 0; + thisEnd >>>= 0; + if (this === target) + return 0; + var x = thisEnd - thisStart; + var y = end - start; + var len = Math.min(x, y); + var thisCopy = this.slice(thisStart, thisEnd); + var targetCopy = target.slice(start, end); + for (var i = 0; i < len; ++i) { + if (thisCopy[i] !== targetCopy[i]) { + x = thisCopy[i]; + y = targetCopy[i]; + break; + } + } + if (x < y) + return -1; + if (y < x) + return 1; + return 0; + }; + Buffer2.prototype.includes = function includes(val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1; + }; + Buffer2.prototype.indexOf = function indexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true); + }; + Buffer2.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false); + }; + Buffer2.prototype.write = function write(string, offset, length2, encoding) { + if (offset === void 0) { + encoding = "utf8"; + length2 = this.length; + offset = 0; + } else if (length2 === void 0 && typeof offset === "string") { + encoding = offset; + length2 = this.length; + offset = 0; + } else if (isFinite(offset)) { + offset = offset | 0; + if (isFinite(length2)) { + length2 = length2 | 0; + if (encoding === void 0) + encoding = "utf8"; + } else { + encoding = length2; + length2 = void 0; + } + } else { + throw new Error( + "Buffer.write(string, encoding, offset[, length]) is no longer supported" + ); + } + var remaining = this.length - offset; + if (length2 === void 0 || length2 > remaining) + length2 = remaining; + if (string.length > 0 && (length2 < 0 || offset < 0) || offset > this.length) { + throw new RangeError("Attempt to write outside buffer bounds"); + } + if (!encoding) + encoding = "utf8"; + var loweredCase = false; + for (; ; ) { + switch (encoding) { + case "hex": + return hexWrite(this, string, offset, length2); + case "utf8": + case "utf-8": + return utf8Write(this, string, offset, length2); + case "ascii": + return asciiWrite(this, string, offset, length2); + case "latin1": + case "binary": + return latin1Write(this, string, offset, length2); + case "base64": + return base64Write(this, string, offset, length2); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return ucs2Write(this, string, offset, length2); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } + }; + Buffer2.prototype.toJSON = function toJSON() { + return { + type: "Buffer", + data: Array.prototype.slice.call(this._arr || this, 0) + }; + }; + MAX_ARGUMENTS_LENGTH = 4096; + Buffer2.prototype.slice = function slice(start, end) { + var len = this.length; + start = ~~start; + end = end === void 0 ? len : ~~end; + if (start < 0) { + start += len; + if (start < 0) + start = 0; + } else if (start > len) { + start = len; + } + if (end < 0) { + end += len; + if (end < 0) + end = 0; + } else if (end > len) { + end = len; + } + if (end < start) + end = start; + var newBuf; + if (Buffer2.TYPED_ARRAY_SUPPORT) { + newBuf = this.subarray(start, end); + newBuf.__proto__ = Buffer2.prototype; + } else { + var sliceLen = end - start; + newBuf = new Buffer2(sliceLen, void 0); + for (var i = 0; i < sliceLen; ++i) { + newBuf[i] = this[i + start]; + } + } + return newBuf; + }; + Buffer2.prototype.readUIntLE = function readUIntLE(offset, byteLength3, noAssert) { + offset = offset | 0; + byteLength3 = byteLength3 | 0; + if (!noAssert) + checkOffset(offset, byteLength3, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength3 && (mul *= 256)) { + val += this[offset + i] * mul; + } + return val; + }; + Buffer2.prototype.readUIntBE = function readUIntBE(offset, byteLength3, noAssert) { + offset = offset | 0; + byteLength3 = byteLength3 | 0; + if (!noAssert) { + checkOffset(offset, byteLength3, this.length); + } + var val = this[offset + --byteLength3]; + var mul = 1; + while (byteLength3 > 0 && (mul *= 256)) { + val += this[offset + --byteLength3] * mul; + } + return val; + }; + Buffer2.prototype.readUInt8 = function readUInt8(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 1, this.length); + return this[offset]; + }; + Buffer2.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] | this[offset + 1] << 8; + }; + Buffer2.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] << 8 | this[offset + 1]; + }; + Buffer2.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216; + }; + Buffer2.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); + }; + Buffer2.prototype.readIntLE = function readIntLE(offset, byteLength3, noAssert) { + offset = offset | 0; + byteLength3 = byteLength3 | 0; + if (!noAssert) + checkOffset(offset, byteLength3, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength3 && (mul *= 256)) { + val += this[offset + i] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength3); + return val; + }; + Buffer2.prototype.readIntBE = function readIntBE(offset, byteLength3, noAssert) { + offset = offset | 0; + byteLength3 = byteLength3 | 0; + if (!noAssert) + checkOffset(offset, byteLength3, this.length); + var i = byteLength3; + var mul = 1; + var val = this[offset + --i]; + while (i > 0 && (mul *= 256)) { + val += this[offset + --i] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength3); + return val; + }; + Buffer2.prototype.readInt8 = function readInt8(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 1, this.length); + if (!(this[offset] & 128)) + return this[offset]; + return (255 - this[offset] + 1) * -1; + }; + Buffer2.prototype.readInt16LE = function readInt16LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + var val = this[offset] | this[offset + 1] << 8; + return val & 32768 ? val | 4294901760 : val; + }; + Buffer2.prototype.readInt16BE = function readInt16BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 2, this.length); + var val = this[offset + 1] | this[offset] << 8; + return val & 32768 ? val | 4294901760 : val; + }; + Buffer2.prototype.readInt32LE = function readInt32LE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24; + }; + Buffer2.prototype.readInt32BE = function readInt32BE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]; + }; + Buffer2.prototype.readFloatLE = function readFloatLE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754read(this, offset, true, 23, 4); + }; + Buffer2.prototype.readFloatBE = function readFloatBE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754read(this, offset, false, 23, 4); + }; + Buffer2.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754read(this, offset, true, 52, 8); + }; + Buffer2.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754read(this, offset, false, 52, 8); + }; + Buffer2.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength3, noAssert) { + value = +value; + offset = offset | 0; + byteLength3 = byteLength3 | 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength3) - 1; + checkInt(this, value, offset, byteLength3, maxBytes, 0); + } + var mul = 1; + var i = 0; + this[offset] = value & 255; + while (++i < byteLength3 && (mul *= 256)) { + this[offset + i] = value / mul & 255; + } + return offset + byteLength3; + }; + Buffer2.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength3, noAssert) { + value = +value; + offset = offset | 0; + byteLength3 = byteLength3 | 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength3) - 1; + checkInt(this, value, offset, byteLength3, maxBytes, 0); + } + var i = byteLength3 - 1; + var mul = 1; + this[offset + i] = value & 255; + while (--i >= 0 && (mul *= 256)) { + this[offset + i] = value / mul & 255; + } + return offset + byteLength3; + }; + Buffer2.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 1, 255, 0); + if (!Buffer2.TYPED_ARRAY_SUPPORT) + value = Math.floor(value); + this[offset] = value & 255; + return offset + 1; + }; + Buffer2.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + if (Buffer2.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + } else { + objectWriteUInt16(this, value, offset, true); + } + return offset + 2; + }; + Buffer2.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + if (Buffer2.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + } else { + objectWriteUInt16(this, value, offset, false); + } + return offset + 2; + }; + Buffer2.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + if (Buffer2.TYPED_ARRAY_SUPPORT) { + this[offset + 3] = value >>> 24; + this[offset + 2] = value >>> 16; + this[offset + 1] = value >>> 8; + this[offset] = value & 255; + } else { + objectWriteUInt32(this, value, offset, true); + } + return offset + 4; + }; + Buffer2.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + if (Buffer2.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + } else { + objectWriteUInt32(this, value, offset, false); + } + return offset + 4; + }; + Buffer2.prototype.writeIntLE = function writeIntLE(value, offset, byteLength3, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength3 - 1); + checkInt(this, value, offset, byteLength3, limit - 1, -limit); + } + var i = 0; + var mul = 1; + var sub = 0; + this[offset] = value & 255; + while (++i < byteLength3 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { + sub = 1; + } + this[offset + i] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength3; + }; + Buffer2.prototype.writeIntBE = function writeIntBE(value, offset, byteLength3, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength3 - 1); + checkInt(this, value, offset, byteLength3, limit - 1, -limit); + } + var i = byteLength3 - 1; + var mul = 1; + var sub = 0; + this[offset + i] = value & 255; + while (--i >= 0 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { + sub = 1; + } + this[offset + i] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength3; + }; + Buffer2.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 1, 127, -128); + if (!Buffer2.TYPED_ARRAY_SUPPORT) + value = Math.floor(value); + if (value < 0) + value = 255 + value + 1; + this[offset] = value & 255; + return offset + 1; + }; + Buffer2.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + if (Buffer2.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + } else { + objectWriteUInt16(this, value, offset, true); + } + return offset + 2; + }; + Buffer2.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + if (Buffer2.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + } else { + objectWriteUInt16(this, value, offset, false); + } + return offset + 2; + }; + Buffer2.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + if (Buffer2.TYPED_ARRAY_SUPPORT) { + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + this[offset + 2] = value >>> 16; + this[offset + 3] = value >>> 24; + } else { + objectWriteUInt32(this, value, offset, true); + } + return offset + 4; + }; + Buffer2.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { + value = +value; + offset = offset | 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + if (value < 0) + value = 4294967295 + value + 1; + if (Buffer2.TYPED_ARRAY_SUPPORT) { + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + } else { + objectWriteUInt32(this, value, offset, false); + } + return offset + 4; + }; + Buffer2.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert); + }; + Buffer2.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert); + }; + Buffer2.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert); + }; + Buffer2.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert); + }; + Buffer2.prototype.copy = function copy(target, targetStart, start, end) { + if (!start) + start = 0; + if (!end && end !== 0) + end = this.length; + if (targetStart >= target.length) + targetStart = target.length; + if (!targetStart) + targetStart = 0; + if (end > 0 && end < start) + end = start; + if (end === start) + return 0; + if (target.length === 0 || this.length === 0) + return 0; + if (targetStart < 0) { + throw new RangeError("targetStart out of bounds"); + } + if (start < 0 || start >= this.length) + throw new RangeError("sourceStart out of bounds"); + if (end < 0) + throw new RangeError("sourceEnd out of bounds"); + if (end > this.length) + end = this.length; + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start; + } + var len = end - start; + var i; + if (this === target && start < targetStart && targetStart < end) { + for (i = len - 1; i >= 0; --i) { + target[i + targetStart] = this[i + start]; + } + } else if (len < 1e3 || !Buffer2.TYPED_ARRAY_SUPPORT) { + for (i = 0; i < len; ++i) { + target[i + targetStart] = this[i + start]; + } + } else { + Uint8Array.prototype.set.call( + target, + this.subarray(start, start + len), + targetStart + ); + } + return len; + }; + Buffer2.prototype.fill = function fill(val, start, end, encoding) { + if (typeof val === "string") { + if (typeof start === "string") { + encoding = start; + start = 0; + end = this.length; + } else if (typeof end === "string") { + encoding = end; + end = this.length; + } + if (val.length === 1) { + var code = val.charCodeAt(0); + if (code < 256) { + val = code; + } + } + if (encoding !== void 0 && typeof encoding !== "string") { + throw new TypeError("encoding must be a string"); + } + if (typeof encoding === "string" && !Buffer2.isEncoding(encoding)) { + throw new TypeError("Unknown encoding: " + encoding); + } + } else if (typeof val === "number") { + val = val & 255; + } + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError("Out of range index"); + } + if (end <= start) { + return this; + } + start = start >>> 0; + end = end === void 0 ? this.length : end >>> 0; + if (!val) + val = 0; + var i; + if (typeof val === "number") { + for (i = start; i < end; ++i) { + this[i] = val; + } + } else { + var bytes = internalIsBuffer(val) ? val : utf8ToBytes(new Buffer2(val, encoding).toString()); + var len = bytes.length; + for (i = 0; i < end - start; ++i) { + this[i + start] = bytes[i % len]; + } + } + return this; + }; + INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g; + } +}); + +// node_modules/@esbuild-plugins/node-globals-polyfill/_buffer.js +var init_buffer = __esm({ + "node_modules/@esbuild-plugins/node-globals-polyfill/_buffer.js"() { + init_Buffer(); + } +}); + +// node_modules/@babel/traverse/lib/path/lib/virtual-types.js +var require_virtual_types = __commonJS({ + "node_modules/@babel/traverse/lib/path/lib/virtual-types.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.Var = exports.User = exports.Statement = exports.SpreadProperty = exports.Scope = exports.RestProperty = exports.ReferencedMemberExpression = exports.ReferencedIdentifier = exports.Referenced = exports.Pure = exports.NumericLiteralTypeAnnotation = exports.Generated = exports.ForAwaitStatement = exports.Flow = exports.Expression = exports.ExistentialTypeParam = exports.BlockScoped = exports.BindingIdentifier = void 0; + var ReferencedIdentifier = ["Identifier", "JSXIdentifier"]; + exports.ReferencedIdentifier = ReferencedIdentifier; + var ReferencedMemberExpression = ["MemberExpression"]; + exports.ReferencedMemberExpression = ReferencedMemberExpression; + var BindingIdentifier = ["Identifier"]; + exports.BindingIdentifier = BindingIdentifier; + var Statement = ["Statement"]; + exports.Statement = Statement; + var Expression = ["Expression"]; + exports.Expression = Expression; + var Scope = ["Scopable", "Pattern"]; + exports.Scope = Scope; + var Referenced = null; + exports.Referenced = Referenced; + var BlockScoped = null; + exports.BlockScoped = BlockScoped; + var Var = ["VariableDeclaration"]; + exports.Var = Var; + var User = null; + exports.User = User; + var Generated = null; + exports.Generated = Generated; + var Pure = null; + exports.Pure = Pure; + var Flow = ["Flow", "ImportDeclaration", "ExportDeclaration", "ImportSpecifier"]; + exports.Flow = Flow; + var RestProperty = ["RestElement"]; + exports.RestProperty = RestProperty; + var SpreadProperty = ["RestElement"]; + exports.SpreadProperty = SpreadProperty; + var ExistentialTypeParam = ["ExistsTypeAnnotation"]; + exports.ExistentialTypeParam = ExistentialTypeParam; + var NumericLiteralTypeAnnotation = ["NumberLiteralTypeAnnotation"]; + exports.NumericLiteralTypeAnnotation = NumericLiteralTypeAnnotation; + var ForAwaitStatement = ["ForOfStatement"]; + exports.ForAwaitStatement = ForAwaitStatement; + } +}); + +// node_modules/@babel/types/lib/utils/shallowEqual.js +var require_shallowEqual = __commonJS({ + "node_modules/@babel/types/lib/utils/shallowEqual.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = shallowEqual; + function shallowEqual(actual, expected) { + const keys = Object.keys(expected); + for (const key of keys) { + if (actual[key] !== expected[key]) { + return false; + } + } + return true; + } + } +}); + +// node_modules/@babel/types/lib/utils/deprecationWarning.js +var require_deprecationWarning = __commonJS({ + "node_modules/@babel/types/lib/utils/deprecationWarning.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = deprecationWarning; + var warnings = /* @__PURE__ */ new Set(); + function deprecationWarning(oldName, newName, prefix2 = "") { + if (warnings.has(oldName)) + return; + warnings.add(oldName); + const stack = captureShortStackTrace(1, 2); + console.warn(`${prefix2}\`${oldName}\` has been deprecated, please migrate to \`${newName}\` +${stack}`); + } + function captureShortStackTrace(skip, length2) { + const { + stackTraceLimit, + prepareStackTrace + } = Error; + let stackTrace; + Error.stackTraceLimit = 1 + skip + length2; + Error.prepareStackTrace = function(err, stack) { + stackTrace = stack; + }; + new Error().stack; + Error.stackTraceLimit = stackTraceLimit; + Error.prepareStackTrace = prepareStackTrace; + return stackTrace.slice(1 + skip, 1 + skip + length2).map((frame) => ` at ${frame}`).join("\n"); + } + } +}); + +// node_modules/@babel/types/lib/validators/generated/index.js +var require_generated = __commonJS({ + "node_modules/@babel/types/lib/validators/generated/index.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.isAccessor = isAccessor; + exports.isAnyTypeAnnotation = isAnyTypeAnnotation; + exports.isArgumentPlaceholder = isArgumentPlaceholder; + exports.isArrayExpression = isArrayExpression; + exports.isArrayPattern = isArrayPattern; + exports.isArrayTypeAnnotation = isArrayTypeAnnotation; + exports.isArrowFunctionExpression = isArrowFunctionExpression; + exports.isAssignmentExpression = isAssignmentExpression; + exports.isAssignmentPattern = isAssignmentPattern; + exports.isAwaitExpression = isAwaitExpression; + exports.isBigIntLiteral = isBigIntLiteral; + exports.isBinary = isBinary; + exports.isBinaryExpression = isBinaryExpression; + exports.isBindExpression = isBindExpression; + exports.isBlock = isBlock; + exports.isBlockParent = isBlockParent; + exports.isBlockStatement = isBlockStatement; + exports.isBooleanLiteral = isBooleanLiteral; + exports.isBooleanLiteralTypeAnnotation = isBooleanLiteralTypeAnnotation; + exports.isBooleanTypeAnnotation = isBooleanTypeAnnotation; + exports.isBreakStatement = isBreakStatement; + exports.isCallExpression = isCallExpression; + exports.isCatchClause = isCatchClause; + exports.isClass = isClass; + exports.isClassAccessorProperty = isClassAccessorProperty; + exports.isClassBody = isClassBody; + exports.isClassDeclaration = isClassDeclaration; + exports.isClassExpression = isClassExpression; + exports.isClassImplements = isClassImplements; + exports.isClassMethod = isClassMethod; + exports.isClassPrivateMethod = isClassPrivateMethod; + exports.isClassPrivateProperty = isClassPrivateProperty; + exports.isClassProperty = isClassProperty; + exports.isCompletionStatement = isCompletionStatement; + exports.isConditional = isConditional; + exports.isConditionalExpression = isConditionalExpression; + exports.isContinueStatement = isContinueStatement; + exports.isDebuggerStatement = isDebuggerStatement; + exports.isDecimalLiteral = isDecimalLiteral; + exports.isDeclaration = isDeclaration; + exports.isDeclareClass = isDeclareClass; + exports.isDeclareExportAllDeclaration = isDeclareExportAllDeclaration; + exports.isDeclareExportDeclaration = isDeclareExportDeclaration; + exports.isDeclareFunction = isDeclareFunction; + exports.isDeclareInterface = isDeclareInterface; + exports.isDeclareModule = isDeclareModule; + exports.isDeclareModuleExports = isDeclareModuleExports; + exports.isDeclareOpaqueType = isDeclareOpaqueType; + exports.isDeclareTypeAlias = isDeclareTypeAlias; + exports.isDeclareVariable = isDeclareVariable; + exports.isDeclaredPredicate = isDeclaredPredicate; + exports.isDecorator = isDecorator; + exports.isDirective = isDirective; + exports.isDirectiveLiteral = isDirectiveLiteral; + exports.isDoExpression = isDoExpression; + exports.isDoWhileStatement = isDoWhileStatement; + exports.isEmptyStatement = isEmptyStatement; + exports.isEmptyTypeAnnotation = isEmptyTypeAnnotation; + exports.isEnumBody = isEnumBody; + exports.isEnumBooleanBody = isEnumBooleanBody; + exports.isEnumBooleanMember = isEnumBooleanMember; + exports.isEnumDeclaration = isEnumDeclaration; + exports.isEnumDefaultedMember = isEnumDefaultedMember; + exports.isEnumMember = isEnumMember; + exports.isEnumNumberBody = isEnumNumberBody; + exports.isEnumNumberMember = isEnumNumberMember; + exports.isEnumStringBody = isEnumStringBody; + exports.isEnumStringMember = isEnumStringMember; + exports.isEnumSymbolBody = isEnumSymbolBody; + exports.isExistsTypeAnnotation = isExistsTypeAnnotation; + exports.isExportAllDeclaration = isExportAllDeclaration; + exports.isExportDeclaration = isExportDeclaration; + exports.isExportDefaultDeclaration = isExportDefaultDeclaration; + exports.isExportDefaultSpecifier = isExportDefaultSpecifier; + exports.isExportNamedDeclaration = isExportNamedDeclaration; + exports.isExportNamespaceSpecifier = isExportNamespaceSpecifier; + exports.isExportSpecifier = isExportSpecifier; + exports.isExpression = isExpression; + exports.isExpressionStatement = isExpressionStatement; + exports.isExpressionWrapper = isExpressionWrapper; + exports.isFile = isFile; + exports.isFlow = isFlow; + exports.isFlowBaseAnnotation = isFlowBaseAnnotation; + exports.isFlowDeclaration = isFlowDeclaration; + exports.isFlowPredicate = isFlowPredicate; + exports.isFlowType = isFlowType; + exports.isFor = isFor; + exports.isForInStatement = isForInStatement; + exports.isForOfStatement = isForOfStatement; + exports.isForStatement = isForStatement; + exports.isForXStatement = isForXStatement; + exports.isFunction = isFunction2; + exports.isFunctionDeclaration = isFunctionDeclaration; + exports.isFunctionExpression = isFunctionExpression; + exports.isFunctionParent = isFunctionParent; + exports.isFunctionTypeAnnotation = isFunctionTypeAnnotation; + exports.isFunctionTypeParam = isFunctionTypeParam; + exports.isGenericTypeAnnotation = isGenericTypeAnnotation; + exports.isIdentifier = isIdentifier; + exports.isIfStatement = isIfStatement; + exports.isImmutable = isImmutable; + exports.isImport = isImport; + exports.isImportAttribute = isImportAttribute; + exports.isImportDeclaration = isImportDeclaration; + exports.isImportDefaultSpecifier = isImportDefaultSpecifier; + exports.isImportNamespaceSpecifier = isImportNamespaceSpecifier; + exports.isImportOrExportDeclaration = isImportOrExportDeclaration; + exports.isImportSpecifier = isImportSpecifier; + exports.isIndexedAccessType = isIndexedAccessType; + exports.isInferredPredicate = isInferredPredicate; + exports.isInterfaceDeclaration = isInterfaceDeclaration; + exports.isInterfaceExtends = isInterfaceExtends; + exports.isInterfaceTypeAnnotation = isInterfaceTypeAnnotation; + exports.isInterpreterDirective = isInterpreterDirective; + exports.isIntersectionTypeAnnotation = isIntersectionTypeAnnotation; + exports.isJSX = isJSX; + exports.isJSXAttribute = isJSXAttribute; + exports.isJSXClosingElement = isJSXClosingElement; + exports.isJSXClosingFragment = isJSXClosingFragment; + exports.isJSXElement = isJSXElement; + exports.isJSXEmptyExpression = isJSXEmptyExpression; + exports.isJSXExpressionContainer = isJSXExpressionContainer; + exports.isJSXFragment = isJSXFragment; + exports.isJSXIdentifier = isJSXIdentifier; + exports.isJSXMemberExpression = isJSXMemberExpression; + exports.isJSXNamespacedName = isJSXNamespacedName; + exports.isJSXOpeningElement = isJSXOpeningElement; + exports.isJSXOpeningFragment = isJSXOpeningFragment; + exports.isJSXSpreadAttribute = isJSXSpreadAttribute; + exports.isJSXSpreadChild = isJSXSpreadChild; + exports.isJSXText = isJSXText; + exports.isLVal = isLVal; + exports.isLabeledStatement = isLabeledStatement; + exports.isLiteral = isLiteral; + exports.isLogicalExpression = isLogicalExpression; + exports.isLoop = isLoop; + exports.isMemberExpression = isMemberExpression; + exports.isMetaProperty = isMetaProperty; + exports.isMethod = isMethod; + exports.isMiscellaneous = isMiscellaneous; + exports.isMixedTypeAnnotation = isMixedTypeAnnotation; + exports.isModuleDeclaration = isModuleDeclaration; + exports.isModuleExpression = isModuleExpression; + exports.isModuleSpecifier = isModuleSpecifier; + exports.isNewExpression = isNewExpression; + exports.isNoop = isNoop2; + exports.isNullLiteral = isNullLiteral; + exports.isNullLiteralTypeAnnotation = isNullLiteralTypeAnnotation; + exports.isNullableTypeAnnotation = isNullableTypeAnnotation; + exports.isNumberLiteral = isNumberLiteral; + exports.isNumberLiteralTypeAnnotation = isNumberLiteralTypeAnnotation; + exports.isNumberTypeAnnotation = isNumberTypeAnnotation; + exports.isNumericLiteral = isNumericLiteral; + exports.isObjectExpression = isObjectExpression; + exports.isObjectMember = isObjectMember; + exports.isObjectMethod = isObjectMethod; + exports.isObjectPattern = isObjectPattern; + exports.isObjectProperty = isObjectProperty; + exports.isObjectTypeAnnotation = isObjectTypeAnnotation; + exports.isObjectTypeCallProperty = isObjectTypeCallProperty; + exports.isObjectTypeIndexer = isObjectTypeIndexer; + exports.isObjectTypeInternalSlot = isObjectTypeInternalSlot; + exports.isObjectTypeProperty = isObjectTypeProperty; + exports.isObjectTypeSpreadProperty = isObjectTypeSpreadProperty; + exports.isOpaqueType = isOpaqueType; + exports.isOptionalCallExpression = isOptionalCallExpression; + exports.isOptionalIndexedAccessType = isOptionalIndexedAccessType; + exports.isOptionalMemberExpression = isOptionalMemberExpression; + exports.isParenthesizedExpression = isParenthesizedExpression; + exports.isPattern = isPattern; + exports.isPatternLike = isPatternLike; + exports.isPipelineBareFunction = isPipelineBareFunction; + exports.isPipelinePrimaryTopicReference = isPipelinePrimaryTopicReference; + exports.isPipelineTopicExpression = isPipelineTopicExpression; + exports.isPlaceholder = isPlaceholder; + exports.isPrivate = isPrivate; + exports.isPrivateName = isPrivateName; + exports.isProgram = isProgram; + exports.isProperty = isProperty; + exports.isPureish = isPureish; + exports.isQualifiedTypeIdentifier = isQualifiedTypeIdentifier; + exports.isRecordExpression = isRecordExpression; + exports.isRegExpLiteral = isRegExpLiteral; + exports.isRegexLiteral = isRegexLiteral; + exports.isRestElement = isRestElement; + exports.isRestProperty = isRestProperty; + exports.isReturnStatement = isReturnStatement; + exports.isScopable = isScopable; + exports.isSequenceExpression = isSequenceExpression; + exports.isSpreadElement = isSpreadElement; + exports.isSpreadProperty = isSpreadProperty; + exports.isStandardized = isStandardized; + exports.isStatement = isStatement; + exports.isStaticBlock = isStaticBlock; + exports.isStringLiteral = isStringLiteral; + exports.isStringLiteralTypeAnnotation = isStringLiteralTypeAnnotation; + exports.isStringTypeAnnotation = isStringTypeAnnotation; + exports.isSuper = isSuper; + exports.isSwitchCase = isSwitchCase; + exports.isSwitchStatement = isSwitchStatement; + exports.isSymbolTypeAnnotation = isSymbolTypeAnnotation; + exports.isTSAnyKeyword = isTSAnyKeyword; + exports.isTSArrayType = isTSArrayType; + exports.isTSAsExpression = isTSAsExpression; + exports.isTSBaseType = isTSBaseType; + exports.isTSBigIntKeyword = isTSBigIntKeyword; + exports.isTSBooleanKeyword = isTSBooleanKeyword; + exports.isTSCallSignatureDeclaration = isTSCallSignatureDeclaration; + exports.isTSConditionalType = isTSConditionalType; + exports.isTSConstructSignatureDeclaration = isTSConstructSignatureDeclaration; + exports.isTSConstructorType = isTSConstructorType; + exports.isTSDeclareFunction = isTSDeclareFunction; + exports.isTSDeclareMethod = isTSDeclareMethod; + exports.isTSEntityName = isTSEntityName; + exports.isTSEnumDeclaration = isTSEnumDeclaration; + exports.isTSEnumMember = isTSEnumMember; + exports.isTSExportAssignment = isTSExportAssignment; + exports.isTSExpressionWithTypeArguments = isTSExpressionWithTypeArguments; + exports.isTSExternalModuleReference = isTSExternalModuleReference; + exports.isTSFunctionType = isTSFunctionType; + exports.isTSImportEqualsDeclaration = isTSImportEqualsDeclaration; + exports.isTSImportType = isTSImportType; + exports.isTSIndexSignature = isTSIndexSignature; + exports.isTSIndexedAccessType = isTSIndexedAccessType; + exports.isTSInferType = isTSInferType; + exports.isTSInstantiationExpression = isTSInstantiationExpression; + exports.isTSInterfaceBody = isTSInterfaceBody; + exports.isTSInterfaceDeclaration = isTSInterfaceDeclaration; + exports.isTSIntersectionType = isTSIntersectionType; + exports.isTSIntrinsicKeyword = isTSIntrinsicKeyword; + exports.isTSLiteralType = isTSLiteralType; + exports.isTSMappedType = isTSMappedType; + exports.isTSMethodSignature = isTSMethodSignature; + exports.isTSModuleBlock = isTSModuleBlock; + exports.isTSModuleDeclaration = isTSModuleDeclaration; + exports.isTSNamedTupleMember = isTSNamedTupleMember; + exports.isTSNamespaceExportDeclaration = isTSNamespaceExportDeclaration; + exports.isTSNeverKeyword = isTSNeverKeyword; + exports.isTSNonNullExpression = isTSNonNullExpression; + exports.isTSNullKeyword = isTSNullKeyword; + exports.isTSNumberKeyword = isTSNumberKeyword; + exports.isTSObjectKeyword = isTSObjectKeyword; + exports.isTSOptionalType = isTSOptionalType; + exports.isTSParameterProperty = isTSParameterProperty; + exports.isTSParenthesizedType = isTSParenthesizedType; + exports.isTSPropertySignature = isTSPropertySignature; + exports.isTSQualifiedName = isTSQualifiedName; + exports.isTSRestType = isTSRestType; + exports.isTSSatisfiesExpression = isTSSatisfiesExpression; + exports.isTSStringKeyword = isTSStringKeyword; + exports.isTSSymbolKeyword = isTSSymbolKeyword; + exports.isTSThisType = isTSThisType; + exports.isTSTupleType = isTSTupleType; + exports.isTSType = isTSType; + exports.isTSTypeAliasDeclaration = isTSTypeAliasDeclaration; + exports.isTSTypeAnnotation = isTSTypeAnnotation; + exports.isTSTypeAssertion = isTSTypeAssertion; + exports.isTSTypeElement = isTSTypeElement; + exports.isTSTypeLiteral = isTSTypeLiteral; + exports.isTSTypeOperator = isTSTypeOperator; + exports.isTSTypeParameter = isTSTypeParameter; + exports.isTSTypeParameterDeclaration = isTSTypeParameterDeclaration; + exports.isTSTypeParameterInstantiation = isTSTypeParameterInstantiation; + exports.isTSTypePredicate = isTSTypePredicate; + exports.isTSTypeQuery = isTSTypeQuery; + exports.isTSTypeReference = isTSTypeReference; + exports.isTSUndefinedKeyword = isTSUndefinedKeyword; + exports.isTSUnionType = isTSUnionType; + exports.isTSUnknownKeyword = isTSUnknownKeyword; + exports.isTSVoidKeyword = isTSVoidKeyword; + exports.isTaggedTemplateExpression = isTaggedTemplateExpression; + exports.isTemplateElement = isTemplateElement; + exports.isTemplateLiteral = isTemplateLiteral; + exports.isTerminatorless = isTerminatorless; + exports.isThisExpression = isThisExpression; + exports.isThisTypeAnnotation = isThisTypeAnnotation; + exports.isThrowStatement = isThrowStatement; + exports.isTopicReference = isTopicReference; + exports.isTryStatement = isTryStatement; + exports.isTupleExpression = isTupleExpression; + exports.isTupleTypeAnnotation = isTupleTypeAnnotation; + exports.isTypeAlias = isTypeAlias; + exports.isTypeAnnotation = isTypeAnnotation; + exports.isTypeCastExpression = isTypeCastExpression; + exports.isTypeParameter = isTypeParameter; + exports.isTypeParameterDeclaration = isTypeParameterDeclaration; + exports.isTypeParameterInstantiation = isTypeParameterInstantiation; + exports.isTypeScript = isTypeScript; + exports.isTypeofTypeAnnotation = isTypeofTypeAnnotation; + exports.isUnaryExpression = isUnaryExpression; + exports.isUnaryLike = isUnaryLike; + exports.isUnionTypeAnnotation = isUnionTypeAnnotation; + exports.isUpdateExpression = isUpdateExpression; + exports.isUserWhitespacable = isUserWhitespacable; + exports.isV8IntrinsicIdentifier = isV8IntrinsicIdentifier; + exports.isVariableDeclaration = isVariableDeclaration; + exports.isVariableDeclarator = isVariableDeclarator; + exports.isVariance = isVariance; + exports.isVoidTypeAnnotation = isVoidTypeAnnotation; + exports.isWhile = isWhile; + exports.isWhileStatement = isWhileStatement; + exports.isWithStatement = isWithStatement; + exports.isYieldExpression = isYieldExpression; + var _shallowEqual = require_shallowEqual(); + var _deprecationWarning = require_deprecationWarning(); + function isArrayExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ArrayExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isAssignmentExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "AssignmentExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isBinaryExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "BinaryExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isInterpreterDirective(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "InterpreterDirective") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDirective(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "Directive") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDirectiveLiteral(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DirectiveLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isBlockStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "BlockStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isBreakStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "BreakStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isCallExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "CallExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isCatchClause(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "CatchClause") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isConditionalExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ConditionalExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isContinueStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ContinueStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDebuggerStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DebuggerStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDoWhileStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DoWhileStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isEmptyStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "EmptyStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isExpressionStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ExpressionStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isFile(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "File") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isForInStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ForInStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isForStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ForStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isFunctionDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "FunctionDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isFunctionExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "FunctionExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isIdentifier(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "Identifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isIfStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "IfStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isLabeledStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "LabeledStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isStringLiteral(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "StringLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isNumericLiteral(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "NumericLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isNullLiteral(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "NullLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isBooleanLiteral(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "BooleanLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isRegExpLiteral(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "RegExpLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isLogicalExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "LogicalExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isMemberExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "MemberExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isNewExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "NewExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isProgram(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "Program") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isObjectExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ObjectExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isObjectMethod(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ObjectMethod") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isObjectProperty(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ObjectProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isRestElement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "RestElement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isReturnStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ReturnStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isSequenceExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "SequenceExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isParenthesizedExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ParenthesizedExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isSwitchCase(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "SwitchCase") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isSwitchStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "SwitchStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isThisExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ThisExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isThrowStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ThrowStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTryStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TryStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isUnaryExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "UnaryExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isUpdateExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "UpdateExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isVariableDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "VariableDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isVariableDeclarator(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "VariableDeclarator") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isWhileStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "WhileStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isWithStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "WithStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isAssignmentPattern(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "AssignmentPattern") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isArrayPattern(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ArrayPattern") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isArrowFunctionExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ArrowFunctionExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isClassBody(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ClassBody") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isClassExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ClassExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isClassDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ClassDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isExportAllDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ExportAllDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isExportDefaultDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ExportDefaultDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isExportNamedDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ExportNamedDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isExportSpecifier(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ExportSpecifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isForOfStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ForOfStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isImportDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ImportDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isImportDefaultSpecifier(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ImportDefaultSpecifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isImportNamespaceSpecifier(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ImportNamespaceSpecifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isImportSpecifier(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ImportSpecifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isMetaProperty(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "MetaProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isClassMethod(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ClassMethod") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isObjectPattern(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ObjectPattern") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isSpreadElement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "SpreadElement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isSuper(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "Super") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTaggedTemplateExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TaggedTemplateExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTemplateElement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TemplateElement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTemplateLiteral(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TemplateLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isYieldExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "YieldExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isAwaitExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "AwaitExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isImport(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "Import") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isBigIntLiteral(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "BigIntLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isExportNamespaceSpecifier(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ExportNamespaceSpecifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isOptionalMemberExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "OptionalMemberExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isOptionalCallExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "OptionalCallExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isClassProperty(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ClassProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isClassAccessorProperty(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ClassAccessorProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isClassPrivateProperty(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ClassPrivateProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isClassPrivateMethod(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ClassPrivateMethod") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isPrivateName(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "PrivateName") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isStaticBlock(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "StaticBlock") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isAnyTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "AnyTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isArrayTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ArrayTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isBooleanTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "BooleanTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isBooleanLiteralTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "BooleanLiteralTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isNullLiteralTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "NullLiteralTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isClassImplements(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ClassImplements") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDeclareClass(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DeclareClass") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDeclareFunction(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DeclareFunction") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDeclareInterface(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DeclareInterface") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDeclareModule(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DeclareModule") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDeclareModuleExports(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DeclareModuleExports") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDeclareTypeAlias(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DeclareTypeAlias") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDeclareOpaqueType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DeclareOpaqueType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDeclareVariable(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DeclareVariable") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDeclareExportDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DeclareExportDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDeclareExportAllDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DeclareExportAllDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDeclaredPredicate(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DeclaredPredicate") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isExistsTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ExistsTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isFunctionTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "FunctionTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isFunctionTypeParam(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "FunctionTypeParam") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isGenericTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "GenericTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isInferredPredicate(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "InferredPredicate") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isInterfaceExtends(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "InterfaceExtends") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isInterfaceDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "InterfaceDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isInterfaceTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "InterfaceTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isIntersectionTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "IntersectionTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isMixedTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "MixedTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isEmptyTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "EmptyTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isNullableTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "NullableTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isNumberLiteralTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "NumberLiteralTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isNumberTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "NumberTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isObjectTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ObjectTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isObjectTypeInternalSlot(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ObjectTypeInternalSlot") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isObjectTypeCallProperty(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ObjectTypeCallProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isObjectTypeIndexer(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ObjectTypeIndexer") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isObjectTypeProperty(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ObjectTypeProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isObjectTypeSpreadProperty(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ObjectTypeSpreadProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isOpaqueType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "OpaqueType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isQualifiedTypeIdentifier(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "QualifiedTypeIdentifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isStringLiteralTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "StringLiteralTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isStringTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "StringTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isSymbolTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "SymbolTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isThisTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ThisTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTupleTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TupleTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTypeofTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TypeofTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTypeAlias(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TypeAlias") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTypeCastExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TypeCastExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTypeParameter(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TypeParameter") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTypeParameterDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TypeParameterDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTypeParameterInstantiation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TypeParameterInstantiation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isUnionTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "UnionTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isVariance(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "Variance") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isVoidTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "VoidTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isEnumDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "EnumDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isEnumBooleanBody(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "EnumBooleanBody") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isEnumNumberBody(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "EnumNumberBody") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isEnumStringBody(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "EnumStringBody") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isEnumSymbolBody(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "EnumSymbolBody") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isEnumBooleanMember(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "EnumBooleanMember") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isEnumNumberMember(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "EnumNumberMember") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isEnumStringMember(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "EnumStringMember") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isEnumDefaultedMember(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "EnumDefaultedMember") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isIndexedAccessType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "IndexedAccessType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isOptionalIndexedAccessType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "OptionalIndexedAccessType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSXAttribute(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "JSXAttribute") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSXClosingElement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "JSXClosingElement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSXElement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "JSXElement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSXEmptyExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "JSXEmptyExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSXExpressionContainer(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "JSXExpressionContainer") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSXSpreadChild(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "JSXSpreadChild") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSXIdentifier(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "JSXIdentifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSXMemberExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "JSXMemberExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSXNamespacedName(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "JSXNamespacedName") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSXOpeningElement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "JSXOpeningElement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSXSpreadAttribute(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "JSXSpreadAttribute") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSXText(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "JSXText") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSXFragment(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "JSXFragment") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSXOpeningFragment(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "JSXOpeningFragment") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSXClosingFragment(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "JSXClosingFragment") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isNoop2(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "Noop") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isPlaceholder(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "Placeholder") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isV8IntrinsicIdentifier(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "V8IntrinsicIdentifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isArgumentPlaceholder(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ArgumentPlaceholder") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isBindExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "BindExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isImportAttribute(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ImportAttribute") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDecorator(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "Decorator") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDoExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DoExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isExportDefaultSpecifier(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ExportDefaultSpecifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isRecordExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "RecordExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTupleExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TupleExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDecimalLiteral(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "DecimalLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isModuleExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "ModuleExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTopicReference(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TopicReference") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isPipelineTopicExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "PipelineTopicExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isPipelineBareFunction(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "PipelineBareFunction") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isPipelinePrimaryTopicReference(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "PipelinePrimaryTopicReference") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSParameterProperty(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSParameterProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSDeclareFunction(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSDeclareFunction") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSDeclareMethod(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSDeclareMethod") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSQualifiedName(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSQualifiedName") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSCallSignatureDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSCallSignatureDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSConstructSignatureDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSConstructSignatureDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSPropertySignature(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSPropertySignature") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSMethodSignature(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSMethodSignature") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSIndexSignature(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSIndexSignature") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSAnyKeyword(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSAnyKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSBooleanKeyword(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSBooleanKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSBigIntKeyword(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSBigIntKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSIntrinsicKeyword(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSIntrinsicKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSNeverKeyword(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSNeverKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSNullKeyword(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSNullKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSNumberKeyword(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSNumberKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSObjectKeyword(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSObjectKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSStringKeyword(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSStringKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSSymbolKeyword(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSSymbolKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSUndefinedKeyword(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSUndefinedKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSUnknownKeyword(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSUnknownKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSVoidKeyword(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSVoidKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSThisType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSThisType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSFunctionType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSFunctionType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSConstructorType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSConstructorType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSTypeReference(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSTypeReference") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSTypePredicate(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSTypePredicate") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSTypeQuery(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSTypeQuery") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSTypeLiteral(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSTypeLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSArrayType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSArrayType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSTupleType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSTupleType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSOptionalType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSOptionalType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSRestType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSRestType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSNamedTupleMember(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSNamedTupleMember") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSUnionType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSUnionType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSIntersectionType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSIntersectionType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSConditionalType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSConditionalType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSInferType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSInferType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSParenthesizedType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSParenthesizedType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSTypeOperator(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSTypeOperator") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSIndexedAccessType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSIndexedAccessType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSMappedType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSMappedType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSLiteralType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSLiteralType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSExpressionWithTypeArguments(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSExpressionWithTypeArguments") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSInterfaceDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSInterfaceDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSInterfaceBody(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSInterfaceBody") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSTypeAliasDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSTypeAliasDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSInstantiationExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSInstantiationExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSAsExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSAsExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSSatisfiesExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSSatisfiesExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSTypeAssertion(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSTypeAssertion") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSEnumDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSEnumDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSEnumMember(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSEnumMember") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSModuleDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSModuleDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSModuleBlock(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSModuleBlock") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSImportType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSImportType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSImportEqualsDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSImportEqualsDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSExternalModuleReference(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSExternalModuleReference") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSNonNullExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSNonNullExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSExportAssignment(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSExportAssignment") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSNamespaceExportDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSNamespaceExportDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSTypeAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSTypeParameterInstantiation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSTypeParameterInstantiation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSTypeParameterDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSTypeParameterDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSTypeParameter(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "TSTypeParameter") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isStandardized(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ArrayExpression" === nodeType || "AssignmentExpression" === nodeType || "BinaryExpression" === nodeType || "InterpreterDirective" === nodeType || "Directive" === nodeType || "DirectiveLiteral" === nodeType || "BlockStatement" === nodeType || "BreakStatement" === nodeType || "CallExpression" === nodeType || "CatchClause" === nodeType || "ConditionalExpression" === nodeType || "ContinueStatement" === nodeType || "DebuggerStatement" === nodeType || "DoWhileStatement" === nodeType || "EmptyStatement" === nodeType || "ExpressionStatement" === nodeType || "File" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Identifier" === nodeType || "IfStatement" === nodeType || "LabeledStatement" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "LogicalExpression" === nodeType || "MemberExpression" === nodeType || "NewExpression" === nodeType || "Program" === nodeType || "ObjectExpression" === nodeType || "ObjectMethod" === nodeType || "ObjectProperty" === nodeType || "RestElement" === nodeType || "ReturnStatement" === nodeType || "SequenceExpression" === nodeType || "ParenthesizedExpression" === nodeType || "SwitchCase" === nodeType || "SwitchStatement" === nodeType || "ThisExpression" === nodeType || "ThrowStatement" === nodeType || "TryStatement" === nodeType || "UnaryExpression" === nodeType || "UpdateExpression" === nodeType || "VariableDeclaration" === nodeType || "VariableDeclarator" === nodeType || "WhileStatement" === nodeType || "WithStatement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassBody" === nodeType || "ClassExpression" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ExportSpecifier" === nodeType || "ForOfStatement" === nodeType || "ImportDeclaration" === nodeType || "ImportDefaultSpecifier" === nodeType || "ImportNamespaceSpecifier" === nodeType || "ImportSpecifier" === nodeType || "MetaProperty" === nodeType || "ClassMethod" === nodeType || "ObjectPattern" === nodeType || "SpreadElement" === nodeType || "Super" === nodeType || "TaggedTemplateExpression" === nodeType || "TemplateElement" === nodeType || "TemplateLiteral" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType || "Import" === nodeType || "BigIntLiteral" === nodeType || "ExportNamespaceSpecifier" === nodeType || "OptionalMemberExpression" === nodeType || "OptionalCallExpression" === nodeType || "ClassProperty" === nodeType || "ClassAccessorProperty" === nodeType || "ClassPrivateProperty" === nodeType || "ClassPrivateMethod" === nodeType || "PrivateName" === nodeType || "StaticBlock" === nodeType || nodeType === "Placeholder" && ("Identifier" === node2.expectedNode || "StringLiteral" === node2.expectedNode || "BlockStatement" === node2.expectedNode || "ClassBody" === node2.expectedNode)) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isExpression(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ArrayExpression" === nodeType || "AssignmentExpression" === nodeType || "BinaryExpression" === nodeType || "CallExpression" === nodeType || "ConditionalExpression" === nodeType || "FunctionExpression" === nodeType || "Identifier" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "LogicalExpression" === nodeType || "MemberExpression" === nodeType || "NewExpression" === nodeType || "ObjectExpression" === nodeType || "SequenceExpression" === nodeType || "ParenthesizedExpression" === nodeType || "ThisExpression" === nodeType || "UnaryExpression" === nodeType || "UpdateExpression" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassExpression" === nodeType || "MetaProperty" === nodeType || "Super" === nodeType || "TaggedTemplateExpression" === nodeType || "TemplateLiteral" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType || "Import" === nodeType || "BigIntLiteral" === nodeType || "OptionalMemberExpression" === nodeType || "OptionalCallExpression" === nodeType || "TypeCastExpression" === nodeType || "JSXElement" === nodeType || "JSXFragment" === nodeType || "BindExpression" === nodeType || "DoExpression" === nodeType || "RecordExpression" === nodeType || "TupleExpression" === nodeType || "DecimalLiteral" === nodeType || "ModuleExpression" === nodeType || "TopicReference" === nodeType || "PipelineTopicExpression" === nodeType || "PipelineBareFunction" === nodeType || "PipelinePrimaryTopicReference" === nodeType || "TSInstantiationExpression" === nodeType || "TSAsExpression" === nodeType || "TSSatisfiesExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSNonNullExpression" === nodeType || nodeType === "Placeholder" && ("Expression" === node2.expectedNode || "Identifier" === node2.expectedNode || "StringLiteral" === node2.expectedNode)) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isBinary(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("BinaryExpression" === nodeType || "LogicalExpression" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isScopable(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("BlockStatement" === nodeType || "CatchClause" === nodeType || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Program" === nodeType || "ObjectMethod" === nodeType || "SwitchStatement" === nodeType || "WhileStatement" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassExpression" === nodeType || "ClassDeclaration" === nodeType || "ForOfStatement" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "StaticBlock" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node2.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isBlockParent(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("BlockStatement" === nodeType || "CatchClause" === nodeType || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Program" === nodeType || "ObjectMethod" === nodeType || "SwitchStatement" === nodeType || "WhileStatement" === nodeType || "ArrowFunctionExpression" === nodeType || "ForOfStatement" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "StaticBlock" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node2.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isBlock(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("BlockStatement" === nodeType || "Program" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node2.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("BlockStatement" === nodeType || "BreakStatement" === nodeType || "ContinueStatement" === nodeType || "DebuggerStatement" === nodeType || "DoWhileStatement" === nodeType || "EmptyStatement" === nodeType || "ExpressionStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "IfStatement" === nodeType || "LabeledStatement" === nodeType || "ReturnStatement" === nodeType || "SwitchStatement" === nodeType || "ThrowStatement" === nodeType || "TryStatement" === nodeType || "VariableDeclaration" === nodeType || "WhileStatement" === nodeType || "WithStatement" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ForOfStatement" === nodeType || "ImportDeclaration" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType || "EnumDeclaration" === nodeType || "TSDeclareFunction" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSEnumDeclaration" === nodeType || "TSModuleDeclaration" === nodeType || "TSImportEqualsDeclaration" === nodeType || "TSExportAssignment" === nodeType || "TSNamespaceExportDeclaration" === nodeType || nodeType === "Placeholder" && ("Statement" === node2.expectedNode || "Declaration" === node2.expectedNode || "BlockStatement" === node2.expectedNode)) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTerminatorless(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("BreakStatement" === nodeType || "ContinueStatement" === nodeType || "ReturnStatement" === nodeType || "ThrowStatement" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isCompletionStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("BreakStatement" === nodeType || "ContinueStatement" === nodeType || "ReturnStatement" === nodeType || "ThrowStatement" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isConditional(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ConditionalExpression" === nodeType || "IfStatement" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isLoop(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "WhileStatement" === nodeType || "ForOfStatement" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isWhile(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("DoWhileStatement" === nodeType || "WhileStatement" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isExpressionWrapper(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ExpressionStatement" === nodeType || "ParenthesizedExpression" === nodeType || "TypeCastExpression" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isFor(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ForInStatement" === nodeType || "ForStatement" === nodeType || "ForOfStatement" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isForXStatement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ForInStatement" === nodeType || "ForOfStatement" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isFunction2(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "ObjectMethod" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isFunctionParent(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "ObjectMethod" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "StaticBlock" === nodeType || "TSModuleBlock" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isPureish(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "ArrowFunctionExpression" === nodeType || "BigIntLiteral" === nodeType || "DecimalLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node2.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("FunctionDeclaration" === nodeType || "VariableDeclaration" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ImportDeclaration" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType || "EnumDeclaration" === nodeType || "TSDeclareFunction" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSEnumDeclaration" === nodeType || "TSModuleDeclaration" === nodeType || nodeType === "Placeholder" && "Declaration" === node2.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isPatternLike(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("Identifier" === nodeType || "RestElement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || "TSAsExpression" === nodeType || "TSSatisfiesExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSNonNullExpression" === nodeType || nodeType === "Placeholder" && ("Pattern" === node2.expectedNode || "Identifier" === node2.expectedNode)) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isLVal(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("Identifier" === nodeType || "MemberExpression" === nodeType || "RestElement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || "TSParameterProperty" === nodeType || "TSAsExpression" === nodeType || "TSSatisfiesExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSNonNullExpression" === nodeType || nodeType === "Placeholder" && ("Pattern" === node2.expectedNode || "Identifier" === node2.expectedNode)) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSEntityName(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("Identifier" === nodeType || "TSQualifiedName" === nodeType || nodeType === "Placeholder" && "Identifier" === node2.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isLiteral(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "TemplateLiteral" === nodeType || "BigIntLiteral" === nodeType || "DecimalLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node2.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isImmutable(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "BigIntLiteral" === nodeType || "JSXAttribute" === nodeType || "JSXClosingElement" === nodeType || "JSXElement" === nodeType || "JSXExpressionContainer" === nodeType || "JSXSpreadChild" === nodeType || "JSXOpeningElement" === nodeType || "JSXText" === nodeType || "JSXFragment" === nodeType || "JSXOpeningFragment" === nodeType || "JSXClosingFragment" === nodeType || "DecimalLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node2.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isUserWhitespacable(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ObjectMethod" === nodeType || "ObjectProperty" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isMethod(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ObjectMethod" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isObjectMember(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ObjectMethod" === nodeType || "ObjectProperty" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isProperty(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ObjectProperty" === nodeType || "ClassProperty" === nodeType || "ClassAccessorProperty" === nodeType || "ClassPrivateProperty" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isUnaryLike(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("UnaryExpression" === nodeType || "SpreadElement" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isPattern(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || nodeType === "Placeholder" && "Pattern" === node2.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isClass(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ClassExpression" === nodeType || "ClassDeclaration" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isImportOrExportDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ImportDeclaration" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isExportDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isModuleSpecifier(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ExportSpecifier" === nodeType || "ImportDefaultSpecifier" === nodeType || "ImportNamespaceSpecifier" === nodeType || "ImportSpecifier" === nodeType || "ExportNamespaceSpecifier" === nodeType || "ExportDefaultSpecifier" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isAccessor(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ClassAccessorProperty" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isPrivate(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("ClassPrivateProperty" === nodeType || "ClassPrivateMethod" === nodeType || "PrivateName" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isFlow(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ClassImplements" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "DeclaredPredicate" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "FunctionTypeParam" === nodeType || "GenericTypeAnnotation" === nodeType || "InferredPredicate" === nodeType || "InterfaceExtends" === nodeType || "InterfaceDeclaration" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType || "OpaqueType" === nodeType || "QualifiedTypeIdentifier" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "TypeAlias" === nodeType || "TypeAnnotation" === nodeType || "TypeCastExpression" === nodeType || "TypeParameter" === nodeType || "TypeParameterDeclaration" === nodeType || "TypeParameterInstantiation" === nodeType || "UnionTypeAnnotation" === nodeType || "Variance" === nodeType || "VoidTypeAnnotation" === nodeType || "EnumDeclaration" === nodeType || "EnumBooleanBody" === nodeType || "EnumNumberBody" === nodeType || "EnumStringBody" === nodeType || "EnumSymbolBody" === nodeType || "EnumBooleanMember" === nodeType || "EnumNumberMember" === nodeType || "EnumStringMember" === nodeType || "EnumDefaultedMember" === nodeType || "IndexedAccessType" === nodeType || "OptionalIndexedAccessType" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isFlowType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "GenericTypeAnnotation" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "UnionTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType || "IndexedAccessType" === nodeType || "OptionalIndexedAccessType" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isFlowBaseAnnotation(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("AnyTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isFlowDeclaration(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isFlowPredicate(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("DeclaredPredicate" === nodeType || "InferredPredicate" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isEnumBody(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("EnumBooleanBody" === nodeType || "EnumNumberBody" === nodeType || "EnumStringBody" === nodeType || "EnumSymbolBody" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isEnumMember(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("EnumBooleanMember" === nodeType || "EnumNumberMember" === nodeType || "EnumStringMember" === nodeType || "EnumDefaultedMember" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isJSX(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("JSXAttribute" === nodeType || "JSXClosingElement" === nodeType || "JSXElement" === nodeType || "JSXEmptyExpression" === nodeType || "JSXExpressionContainer" === nodeType || "JSXSpreadChild" === nodeType || "JSXIdentifier" === nodeType || "JSXMemberExpression" === nodeType || "JSXNamespacedName" === nodeType || "JSXOpeningElement" === nodeType || "JSXSpreadAttribute" === nodeType || "JSXText" === nodeType || "JSXFragment" === nodeType || "JSXOpeningFragment" === nodeType || "JSXClosingFragment" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isMiscellaneous(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("Noop" === nodeType || "Placeholder" === nodeType || "V8IntrinsicIdentifier" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTypeScript(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("TSParameterProperty" === nodeType || "TSDeclareFunction" === nodeType || "TSDeclareMethod" === nodeType || "TSQualifiedName" === nodeType || "TSCallSignatureDeclaration" === nodeType || "TSConstructSignatureDeclaration" === nodeType || "TSPropertySignature" === nodeType || "TSMethodSignature" === nodeType || "TSIndexSignature" === nodeType || "TSAnyKeyword" === nodeType || "TSBooleanKeyword" === nodeType || "TSBigIntKeyword" === nodeType || "TSIntrinsicKeyword" === nodeType || "TSNeverKeyword" === nodeType || "TSNullKeyword" === nodeType || "TSNumberKeyword" === nodeType || "TSObjectKeyword" === nodeType || "TSStringKeyword" === nodeType || "TSSymbolKeyword" === nodeType || "TSUndefinedKeyword" === nodeType || "TSUnknownKeyword" === nodeType || "TSVoidKeyword" === nodeType || "TSThisType" === nodeType || "TSFunctionType" === nodeType || "TSConstructorType" === nodeType || "TSTypeReference" === nodeType || "TSTypePredicate" === nodeType || "TSTypeQuery" === nodeType || "TSTypeLiteral" === nodeType || "TSArrayType" === nodeType || "TSTupleType" === nodeType || "TSOptionalType" === nodeType || "TSRestType" === nodeType || "TSNamedTupleMember" === nodeType || "TSUnionType" === nodeType || "TSIntersectionType" === nodeType || "TSConditionalType" === nodeType || "TSInferType" === nodeType || "TSParenthesizedType" === nodeType || "TSTypeOperator" === nodeType || "TSIndexedAccessType" === nodeType || "TSMappedType" === nodeType || "TSLiteralType" === nodeType || "TSExpressionWithTypeArguments" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSInterfaceBody" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSInstantiationExpression" === nodeType || "TSAsExpression" === nodeType || "TSSatisfiesExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSEnumDeclaration" === nodeType || "TSEnumMember" === nodeType || "TSModuleDeclaration" === nodeType || "TSModuleBlock" === nodeType || "TSImportType" === nodeType || "TSImportEqualsDeclaration" === nodeType || "TSExternalModuleReference" === nodeType || "TSNonNullExpression" === nodeType || "TSExportAssignment" === nodeType || "TSNamespaceExportDeclaration" === nodeType || "TSTypeAnnotation" === nodeType || "TSTypeParameterInstantiation" === nodeType || "TSTypeParameterDeclaration" === nodeType || "TSTypeParameter" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSTypeElement(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("TSCallSignatureDeclaration" === nodeType || "TSConstructSignatureDeclaration" === nodeType || "TSPropertySignature" === nodeType || "TSMethodSignature" === nodeType || "TSIndexSignature" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("TSAnyKeyword" === nodeType || "TSBooleanKeyword" === nodeType || "TSBigIntKeyword" === nodeType || "TSIntrinsicKeyword" === nodeType || "TSNeverKeyword" === nodeType || "TSNullKeyword" === nodeType || "TSNumberKeyword" === nodeType || "TSObjectKeyword" === nodeType || "TSStringKeyword" === nodeType || "TSSymbolKeyword" === nodeType || "TSUndefinedKeyword" === nodeType || "TSUnknownKeyword" === nodeType || "TSVoidKeyword" === nodeType || "TSThisType" === nodeType || "TSFunctionType" === nodeType || "TSConstructorType" === nodeType || "TSTypeReference" === nodeType || "TSTypePredicate" === nodeType || "TSTypeQuery" === nodeType || "TSTypeLiteral" === nodeType || "TSArrayType" === nodeType || "TSTupleType" === nodeType || "TSOptionalType" === nodeType || "TSRestType" === nodeType || "TSUnionType" === nodeType || "TSIntersectionType" === nodeType || "TSConditionalType" === nodeType || "TSInferType" === nodeType || "TSParenthesizedType" === nodeType || "TSTypeOperator" === nodeType || "TSIndexedAccessType" === nodeType || "TSMappedType" === nodeType || "TSLiteralType" === nodeType || "TSExpressionWithTypeArguments" === nodeType || "TSImportType" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isTSBaseType(node2, opts) { + if (!node2) + return false; + const nodeType = node2.type; + if ("TSAnyKeyword" === nodeType || "TSBooleanKeyword" === nodeType || "TSBigIntKeyword" === nodeType || "TSIntrinsicKeyword" === nodeType || "TSNeverKeyword" === nodeType || "TSNullKeyword" === nodeType || "TSNumberKeyword" === nodeType || "TSObjectKeyword" === nodeType || "TSStringKeyword" === nodeType || "TSSymbolKeyword" === nodeType || "TSUndefinedKeyword" === nodeType || "TSUnknownKeyword" === nodeType || "TSVoidKeyword" === nodeType || "TSThisType" === nodeType || "TSLiteralType" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isNumberLiteral(node2, opts) { + (0, _deprecationWarning.default)("isNumberLiteral", "isNumericLiteral"); + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "NumberLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isRegexLiteral(node2, opts) { + (0, _deprecationWarning.default)("isRegexLiteral", "isRegExpLiteral"); + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "RegexLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isRestProperty(node2, opts) { + (0, _deprecationWarning.default)("isRestProperty", "isRestElement"); + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "RestProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isSpreadProperty(node2, opts) { + (0, _deprecationWarning.default)("isSpreadProperty", "isSpreadElement"); + if (!node2) + return false; + const nodeType = node2.type; + if (nodeType === "SpreadProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + return false; + } + function isModuleDeclaration(node2, opts) { + (0, _deprecationWarning.default)("isModuleDeclaration", "isImportOrExportDeclaration"); + return isImportOrExportDeclaration(node2, opts); + } + } +}); + +// node_modules/@babel/types/lib/validators/matchesPattern.js +var require_matchesPattern = __commonJS({ + "node_modules/@babel/types/lib/validators/matchesPattern.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = matchesPattern; + var _generated = require_generated(); + function matchesPattern(member, match2, allowPartial) { + if (!(0, _generated.isMemberExpression)(member)) + return false; + const parts = Array.isArray(match2) ? match2 : match2.split("."); + const nodes = []; + let node2; + for (node2 = member; (0, _generated.isMemberExpression)(node2); node2 = node2.object) { + nodes.push(node2.property); + } + nodes.push(node2); + if (nodes.length < parts.length) + return false; + if (!allowPartial && nodes.length > parts.length) + return false; + for (let i = 0, j = nodes.length - 1; i < parts.length; i++, j--) { + const node3 = nodes[j]; + let value; + if ((0, _generated.isIdentifier)(node3)) { + value = node3.name; + } else if ((0, _generated.isStringLiteral)(node3)) { + value = node3.value; + } else if ((0, _generated.isThisExpression)(node3)) { + value = "this"; + } else { + return false; + } + if (parts[i] !== value) + return false; + } + return true; + } + } +}); + +// node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js +var require_buildMatchMemberExpression = __commonJS({ + "node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = buildMatchMemberExpression; + var _matchesPattern = require_matchesPattern(); + function buildMatchMemberExpression(match2, allowPartial) { + const parts = match2.split("."); + return (member) => (0, _matchesPattern.default)(member, parts, allowPartial); + } + } +}); + +// node_modules/@babel/types/lib/validators/react/isReactComponent.js +var require_isReactComponent = __commonJS({ + "node_modules/@babel/types/lib/validators/react/isReactComponent.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _buildMatchMemberExpression = require_buildMatchMemberExpression(); + var isReactComponent = (0, _buildMatchMemberExpression.default)("React.Component"); + var _default = isReactComponent; + exports.default = _default; + } +}); + +// node_modules/@babel/types/lib/validators/react/isCompatTag.js +var require_isCompatTag = __commonJS({ + "node_modules/@babel/types/lib/validators/react/isCompatTag.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isCompatTag; + function isCompatTag(tagName) { + return !!tagName && /^[a-z]/.test(tagName); + } + } +}); + +// node_modules/to-fast-properties/index.js +var require_to_fast_properties = __commonJS({ + "node_modules/to-fast-properties/index.js"(exports, module) { + "use strict"; + init_process(); + init_buffer(); + var fastProto = null; + function FastObject(o) { + if (fastProto !== null && typeof fastProto.property) { + const result = fastProto; + fastProto = FastObject.prototype = null; + return result; + } + fastProto = FastObject.prototype = o == null ? /* @__PURE__ */ Object.create(null) : o; + return new FastObject(); + } + FastObject(); + module.exports = function toFastproperties(o) { + return FastObject(o); + }; + } +}); + +// node_modules/@babel/types/lib/validators/isType.js +var require_isType = __commonJS({ + "node_modules/@babel/types/lib/validators/isType.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isType; + var _definitions = require_definitions(); + function isType(nodeType, targetType) { + if (nodeType === targetType) + return true; + if (_definitions.ALIAS_KEYS[targetType]) + return false; + const aliases = _definitions.FLIPPED_ALIAS_KEYS[targetType]; + if (aliases) { + if (aliases[0] === nodeType) + return true; + for (const alias of aliases) { + if (nodeType === alias) + return true; + } + } + return false; + } + } +}); + +// node_modules/@babel/types/lib/validators/isPlaceholderType.js +var require_isPlaceholderType = __commonJS({ + "node_modules/@babel/types/lib/validators/isPlaceholderType.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isPlaceholderType; + var _definitions = require_definitions(); + function isPlaceholderType(placeholderType, targetType) { + if (placeholderType === targetType) + return true; + const aliases = _definitions.PLACEHOLDERS_ALIAS[placeholderType]; + if (aliases) { + for (const alias of aliases) { + if (targetType === alias) + return true; + } + } + return false; + } + } +}); + +// node_modules/@babel/types/lib/validators/is.js +var require_is = __commonJS({ + "node_modules/@babel/types/lib/validators/is.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = is; + var _shallowEqual = require_shallowEqual(); + var _isType = require_isType(); + var _isPlaceholderType = require_isPlaceholderType(); + var _definitions = require_definitions(); + function is(type, node2, opts) { + if (!node2) + return false; + const matches = (0, _isType.default)(node2.type, type); + if (!matches) { + if (!opts && node2.type === "Placeholder" && type in _definitions.FLIPPED_ALIAS_KEYS) { + return (0, _isPlaceholderType.default)(node2.expectedNode, type); + } + return false; + } + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node2, opts); + } + } + } +}); + +// node_modules/@babel/helper-validator-identifier/lib/identifier.js +var require_identifier = __commonJS({ + "node_modules/@babel/helper-validator-identifier/lib/identifier.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.isIdentifierChar = isIdentifierChar; + exports.isIdentifierName = isIdentifierName; + exports.isIdentifierStart = isIdentifierStart; + var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC"; + var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F"; + var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); + var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); + nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; + var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938, 6, 4191]; + var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; + function isInAstralSet(code, set) { + let pos = 65536; + for (let i = 0, length2 = set.length; i < length2; i += 2) { + pos += set[i]; + if (pos > code) + return false; + pos += set[i + 1]; + if (pos >= code) + return true; + } + return false; + } + function isIdentifierStart(code) { + if (code < 65) + return code === 36; + if (code <= 90) + return true; + if (code < 97) + return code === 95; + if (code <= 122) + return true; + if (code <= 65535) { + return code >= 170 && nonASCIIidentifierStart.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes); + } + function isIdentifierChar(code) { + if (code < 48) + return code === 36; + if (code < 58) + return true; + if (code < 65) + return false; + if (code <= 90) + return true; + if (code < 97) + return code === 95; + if (code <= 122) + return true; + if (code <= 65535) { + return code >= 170 && nonASCIIidentifier.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); + } + function isIdentifierName(name) { + let isFirst = true; + for (let i = 0; i < name.length; i++) { + let cp = name.charCodeAt(i); + if ((cp & 64512) === 55296 && i + 1 < name.length) { + const trail = name.charCodeAt(++i); + if ((trail & 64512) === 56320) { + cp = 65536 + ((cp & 1023) << 10) + (trail & 1023); + } + } + if (isFirst) { + isFirst = false; + if (!isIdentifierStart(cp)) { + return false; + } + } else if (!isIdentifierChar(cp)) { + return false; + } + } + return !isFirst; + } + } +}); + +// node_modules/@babel/helper-validator-identifier/lib/keyword.js +var require_keyword = __commonJS({ + "node_modules/@babel/helper-validator-identifier/lib/keyword.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.isKeyword = isKeyword; + exports.isReservedWord = isReservedWord; + exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord; + exports.isStrictBindReservedWord = isStrictBindReservedWord; + exports.isStrictReservedWord = isStrictReservedWord; + var reservedWords = { + keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], + strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], + strictBind: ["eval", "arguments"] + }; + var keywords = new Set(reservedWords.keyword); + var reservedWordsStrictSet = new Set(reservedWords.strict); + var reservedWordsStrictBindSet = new Set(reservedWords.strictBind); + function isReservedWord(word, inModule) { + return inModule && word === "await" || word === "enum"; + } + function isStrictReservedWord(word, inModule) { + return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); + } + function isStrictBindOnlyReservedWord(word) { + return reservedWordsStrictBindSet.has(word); + } + function isStrictBindReservedWord(word, inModule) { + return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); + } + function isKeyword(word) { + return keywords.has(word); + } + } +}); + +// node_modules/@babel/helper-validator-identifier/lib/index.js +var require_lib = __commonJS({ + "node_modules/@babel/helper-validator-identifier/lib/index.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + Object.defineProperty(exports, "isIdentifierChar", { + enumerable: true, + get: function() { + return _identifier.isIdentifierChar; + } + }); + Object.defineProperty(exports, "isIdentifierName", { + enumerable: true, + get: function() { + return _identifier.isIdentifierName; + } + }); + Object.defineProperty(exports, "isIdentifierStart", { + enumerable: true, + get: function() { + return _identifier.isIdentifierStart; + } + }); + Object.defineProperty(exports, "isKeyword", { + enumerable: true, + get: function() { + return _keyword.isKeyword; + } + }); + Object.defineProperty(exports, "isReservedWord", { + enumerable: true, + get: function() { + return _keyword.isReservedWord; + } + }); + Object.defineProperty(exports, "isStrictBindOnlyReservedWord", { + enumerable: true, + get: function() { + return _keyword.isStrictBindOnlyReservedWord; + } + }); + Object.defineProperty(exports, "isStrictBindReservedWord", { + enumerable: true, + get: function() { + return _keyword.isStrictBindReservedWord; + } + }); + Object.defineProperty(exports, "isStrictReservedWord", { + enumerable: true, + get: function() { + return _keyword.isStrictReservedWord; + } + }); + var _identifier = require_identifier(); + var _keyword = require_keyword(); + } +}); + +// node_modules/@babel/types/lib/validators/isValidIdentifier.js +var require_isValidIdentifier = __commonJS({ + "node_modules/@babel/types/lib/validators/isValidIdentifier.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isValidIdentifier; + var _helperValidatorIdentifier = require_lib(); + function isValidIdentifier(name, reserved = true) { + if (typeof name !== "string") + return false; + if (reserved) { + if ((0, _helperValidatorIdentifier.isKeyword)(name) || (0, _helperValidatorIdentifier.isStrictReservedWord)(name, true)) { + return false; + } + } + return (0, _helperValidatorIdentifier.isIdentifierName)(name); + } + } +}); + +// node_modules/@babel/helper-string-parser/lib/index.js +var require_lib2 = __commonJS({ + "node_modules/@babel/helper-string-parser/lib/index.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.readCodePoint = readCodePoint; + exports.readInt = readInt; + exports.readStringContents = readStringContents; + var _isDigit = function isDigit(code) { + return code >= 48 && code <= 57; + }; + var forbiddenNumericSeparatorSiblings = { + decBinOct: /* @__PURE__ */ new Set([46, 66, 69, 79, 95, 98, 101, 111]), + hex: /* @__PURE__ */ new Set([46, 88, 95, 120]) + }; + var isAllowedNumericSeparatorSibling = { + bin: (ch) => ch === 48 || ch === 49, + oct: (ch) => ch >= 48 && ch <= 55, + dec: (ch) => ch >= 48 && ch <= 57, + hex: (ch) => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102 + }; + function readStringContents(type, input, pos, lineStart, curLine, errors) { + const initialPos = pos; + const initialLineStart = lineStart; + const initialCurLine = curLine; + let out = ""; + let firstInvalidLoc = null; + let chunkStart = pos; + const { + length: length2 + } = input; + for (; ; ) { + if (pos >= length2) { + errors.unterminated(initialPos, initialLineStart, initialCurLine); + out += input.slice(chunkStart, pos); + break; + } + const ch = input.charCodeAt(pos); + if (isStringEnd(type, ch, input, pos)) { + out += input.slice(chunkStart, pos); + break; + } + if (ch === 92) { + out += input.slice(chunkStart, pos); + const res = readEscapedChar(input, pos, lineStart, curLine, type === "template", errors); + if (res.ch === null && !firstInvalidLoc) { + firstInvalidLoc = { + pos, + lineStart, + curLine + }; + } else { + out += res.ch; + } + ({ + pos, + lineStart, + curLine + } = res); + chunkStart = pos; + } else if (ch === 8232 || ch === 8233) { + ++pos; + ++curLine; + lineStart = pos; + } else if (ch === 10 || ch === 13) { + if (type === "template") { + out += input.slice(chunkStart, pos) + "\n"; + ++pos; + if (ch === 13 && input.charCodeAt(pos) === 10) { + ++pos; + } + ++curLine; + chunkStart = lineStart = pos; + } else { + errors.unterminated(initialPos, initialLineStart, initialCurLine); + } + } else { + ++pos; + } + } + return { + pos, + str: out, + firstInvalidLoc, + lineStart, + curLine, + containsInvalid: !!firstInvalidLoc + }; + } + function isStringEnd(type, ch, input, pos) { + if (type === "template") { + return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123; + } + return ch === (type === "double" ? 34 : 39); + } + function readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) { + const throwOnInvalid = !inTemplate; + pos++; + const res = (ch2) => ({ + pos, + ch: ch2, + lineStart, + curLine + }); + const ch = input.charCodeAt(pos++); + switch (ch) { + case 110: + return res("\n"); + case 114: + return res("\r"); + case 120: { + let code; + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors)); + return res(code === null ? null : String.fromCharCode(code)); + } + case 117: { + let code; + ({ + code, + pos + } = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors)); + return res(code === null ? null : String.fromCodePoint(code)); + } + case 116: + return res(" "); + case 98: + return res("\b"); + case 118: + return res("\v"); + case 102: + return res("\f"); + case 13: + if (input.charCodeAt(pos) === 10) { + ++pos; + } + case 10: + lineStart = pos; + ++curLine; + case 8232: + case 8233: + return res(""); + case 56: + case 57: + if (inTemplate) { + return res(null); + } else { + errors.strictNumericEscape(pos - 1, lineStart, curLine); + } + default: + if (ch >= 48 && ch <= 55) { + const startPos = pos - 1; + const match2 = input.slice(startPos, pos + 2).match(/^[0-7]+/); + let octalStr = match2[0]; + let octal = parseInt(octalStr, 8); + if (octal > 255) { + octalStr = octalStr.slice(0, -1); + octal = parseInt(octalStr, 8); + } + pos += octalStr.length - 1; + const next2 = input.charCodeAt(pos); + if (octalStr !== "0" || next2 === 56 || next2 === 57) { + if (inTemplate) { + return res(null); + } else { + errors.strictNumericEscape(startPos, lineStart, curLine); + } + } + return res(String.fromCharCode(octal)); + } + return res(String.fromCharCode(ch)); + } + } + function readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) { + const initialPos = pos; + let n; + ({ + n, + pos + } = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid)); + if (n === null) { + if (throwOnInvalid) { + errors.invalidEscapeSequence(initialPos, lineStart, curLine); + } else { + pos = initialPos - 1; + } + } + return { + code: n, + pos + }; + } + function readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) { + const start = pos; + const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct; + const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin; + let invalid = false; + let total = 0; + for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) { + const code = input.charCodeAt(pos); + let val; + if (code === 95 && allowNumSeparator !== "bail") { + const prev2 = input.charCodeAt(pos - 1); + const next2 = input.charCodeAt(pos + 1); + if (!allowNumSeparator) { + if (bailOnError) + return { + n: null, + pos + }; + errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine); + } else if (Number.isNaN(next2) || !isAllowedSibling(next2) || forbiddenSiblings.has(prev2) || forbiddenSiblings.has(next2)) { + if (bailOnError) + return { + n: null, + pos + }; + errors.unexpectedNumericSeparator(pos, lineStart, curLine); + } + ++pos; + continue; + } + if (code >= 97) { + val = code - 97 + 10; + } else if (code >= 65) { + val = code - 65 + 10; + } else if (_isDigit(code)) { + val = code - 48; + } else { + val = Infinity; + } + if (val >= radix) { + if (val <= 9 && bailOnError) { + return { + n: null, + pos + }; + } else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) { + val = 0; + } else if (forceLen) { + val = 0; + invalid = true; + } else { + break; + } + } + ++pos; + total = total * radix + val; + } + if (pos === start || len != null && pos - start !== len || invalid) { + return { + n: null, + pos + }; + } + return { + n: total, + pos + }; + } + function readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) { + const ch = input.charCodeAt(pos); + let code; + if (ch === 123) { + ++pos; + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, input.indexOf("}", pos) - pos, true, throwOnInvalid, errors)); + ++pos; + if (code !== null && code > 1114111) { + if (throwOnInvalid) { + errors.invalidCodePoint(pos, lineStart, curLine); + } else { + return { + code: null, + pos + }; + } + } + } else { + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors)); + } + return { + code, + pos + }; + } + } +}); + +// node_modules/@babel/types/lib/constants/index.js +var require_constants = __commonJS({ + "node_modules/@babel/types/lib/constants/index.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.UPDATE_OPERATORS = exports.UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = exports.STATEMENT_OR_BLOCK_KEYS = exports.NUMBER_UNARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = exports.NOT_LOCAL_BINDING = exports.LOGICAL_OPERATORS = exports.INHERIT_KEYS = exports.FOR_INIT_KEYS = exports.FLATTENABLE_KEYS = exports.EQUALITY_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = exports.COMMENT_KEYS = exports.BOOLEAN_UNARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = exports.BLOCK_SCOPED_SYMBOL = exports.BINARY_OPERATORS = exports.ASSIGNMENT_OPERATORS = void 0; + var STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"]; + exports.STATEMENT_OR_BLOCK_KEYS = STATEMENT_OR_BLOCK_KEYS; + var FLATTENABLE_KEYS = ["body", "expressions"]; + exports.FLATTENABLE_KEYS = FLATTENABLE_KEYS; + var FOR_INIT_KEYS = ["left", "init"]; + exports.FOR_INIT_KEYS = FOR_INIT_KEYS; + var COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"]; + exports.COMMENT_KEYS = COMMENT_KEYS; + var LOGICAL_OPERATORS = ["||", "&&", "??"]; + exports.LOGICAL_OPERATORS = LOGICAL_OPERATORS; + var UPDATE_OPERATORS = ["++", "--"]; + exports.UPDATE_OPERATORS = UPDATE_OPERATORS; + var BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="]; + exports.BOOLEAN_NUMBER_BINARY_OPERATORS = BOOLEAN_NUMBER_BINARY_OPERATORS; + var EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="]; + exports.EQUALITY_BINARY_OPERATORS = EQUALITY_BINARY_OPERATORS; + var COMPARISON_BINARY_OPERATORS = [...EQUALITY_BINARY_OPERATORS, "in", "instanceof"]; + exports.COMPARISON_BINARY_OPERATORS = COMPARISON_BINARY_OPERATORS; + var BOOLEAN_BINARY_OPERATORS = [...COMPARISON_BINARY_OPERATORS, ...BOOLEAN_NUMBER_BINARY_OPERATORS]; + exports.BOOLEAN_BINARY_OPERATORS = BOOLEAN_BINARY_OPERATORS; + var NUMBER_BINARY_OPERATORS = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"]; + exports.NUMBER_BINARY_OPERATORS = NUMBER_BINARY_OPERATORS; + var BINARY_OPERATORS = ["+", ...NUMBER_BINARY_OPERATORS, ...BOOLEAN_BINARY_OPERATORS, "|>"]; + exports.BINARY_OPERATORS = BINARY_OPERATORS; + var ASSIGNMENT_OPERATORS = ["=", "+=", ...NUMBER_BINARY_OPERATORS.map((op) => op + "="), ...LOGICAL_OPERATORS.map((op) => op + "=")]; + exports.ASSIGNMENT_OPERATORS = ASSIGNMENT_OPERATORS; + var BOOLEAN_UNARY_OPERATORS = ["delete", "!"]; + exports.BOOLEAN_UNARY_OPERATORS = BOOLEAN_UNARY_OPERATORS; + var NUMBER_UNARY_OPERATORS = ["+", "-", "~"]; + exports.NUMBER_UNARY_OPERATORS = NUMBER_UNARY_OPERATORS; + var STRING_UNARY_OPERATORS = ["typeof"]; + exports.STRING_UNARY_OPERATORS = STRING_UNARY_OPERATORS; + var UNARY_OPERATORS = ["void", "throw", ...BOOLEAN_UNARY_OPERATORS, ...NUMBER_UNARY_OPERATORS, ...STRING_UNARY_OPERATORS]; + exports.UNARY_OPERATORS = UNARY_OPERATORS; + var INHERIT_KEYS = { + optional: ["typeAnnotation", "typeParameters", "returnType"], + force: ["start", "loc", "end"] + }; + exports.INHERIT_KEYS = INHERIT_KEYS; + var BLOCK_SCOPED_SYMBOL = Symbol.for("var used to be block scoped"); + exports.BLOCK_SCOPED_SYMBOL = BLOCK_SCOPED_SYMBOL; + var NOT_LOCAL_BINDING = Symbol.for("should not be considered a local binding"); + exports.NOT_LOCAL_BINDING = NOT_LOCAL_BINDING; + } +}); + +// node_modules/@babel/types/lib/definitions/utils.js +var require_utils = __commonJS({ + "node_modules/@babel/types/lib/definitions/utils.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.VISITOR_KEYS = exports.NODE_PARENT_VALIDATIONS = exports.NODE_FIELDS = exports.FLIPPED_ALIAS_KEYS = exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.ALIAS_KEYS = void 0; + exports.arrayOf = arrayOf; + exports.arrayOfType = arrayOfType; + exports.assertEach = assertEach; + exports.assertNodeOrValueType = assertNodeOrValueType; + exports.assertNodeType = assertNodeType; + exports.assertOneOf = assertOneOf; + exports.assertOptionalChainStart = assertOptionalChainStart; + exports.assertShape = assertShape; + exports.assertValueType = assertValueType; + exports.chain = chain; + exports.default = defineType; + exports.defineAliasedType = defineAliasedType; + exports.typeIs = typeIs; + exports.validate = validate2; + exports.validateArrayOfType = validateArrayOfType; + exports.validateOptional = validateOptional; + exports.validateOptionalType = validateOptionalType; + exports.validateType = validateType; + var _is = require_is(); + var _validate = require_validate(); + var VISITOR_KEYS = {}; + exports.VISITOR_KEYS = VISITOR_KEYS; + var ALIAS_KEYS = {}; + exports.ALIAS_KEYS = ALIAS_KEYS; + var FLIPPED_ALIAS_KEYS = {}; + exports.FLIPPED_ALIAS_KEYS = FLIPPED_ALIAS_KEYS; + var NODE_FIELDS = {}; + exports.NODE_FIELDS = NODE_FIELDS; + var BUILDER_KEYS = {}; + exports.BUILDER_KEYS = BUILDER_KEYS; + var DEPRECATED_KEYS = {}; + exports.DEPRECATED_KEYS = DEPRECATED_KEYS; + var NODE_PARENT_VALIDATIONS = {}; + exports.NODE_PARENT_VALIDATIONS = NODE_PARENT_VALIDATIONS; + function getType(val) { + if (Array.isArray(val)) { + return "array"; + } else if (val === null) { + return "null"; + } else { + return typeof val; + } + } + function validate2(validate3) { + return { + validate: validate3 + }; + } + function typeIs(typeName) { + return typeof typeName === "string" ? assertNodeType(typeName) : assertNodeType(...typeName); + } + function validateType(typeName) { + return validate2(typeIs(typeName)); + } + function validateOptional(validate3) { + return { + validate: validate3, + optional: true + }; + } + function validateOptionalType(typeName) { + return { + validate: typeIs(typeName), + optional: true + }; + } + function arrayOf(elementType) { + return chain(assertValueType("array"), assertEach(elementType)); + } + function arrayOfType(typeName) { + return arrayOf(typeIs(typeName)); + } + function validateArrayOfType(typeName) { + return validate2(arrayOfType(typeName)); + } + function assertEach(callback) { + function validator(node2, key, val) { + if (!Array.isArray(val)) + return; + for (let i = 0; i < val.length; i++) { + const subkey = `${key}[${i}]`; + const v = val[i]; + callback(node2, subkey, v); + if (process.env.BABEL_TYPES_8_BREAKING) + (0, _validate.validateChild)(node2, subkey, v); + } + } + validator.each = callback; + return validator; + } + function assertOneOf(...values) { + function validate3(node2, key, val) { + if (values.indexOf(val) < 0) { + throw new TypeError(`Property ${key} expected value to be one of ${JSON.stringify(values)} but got ${JSON.stringify(val)}`); + } + } + validate3.oneOf = values; + return validate3; + } + function assertNodeType(...types) { + function validate3(node2, key, val) { + for (const type of types) { + if ((0, _is.default)(type, val)) { + (0, _validate.validateChild)(node2, key, val); + return; + } + } + throw new TypeError(`Property ${key} of ${node2.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`); + } + validate3.oneOfNodeTypes = types; + return validate3; + } + function assertNodeOrValueType(...types) { + function validate3(node2, key, val) { + for (const type of types) { + if (getType(val) === type || (0, _is.default)(type, val)) { + (0, _validate.validateChild)(node2, key, val); + return; + } + } + throw new TypeError(`Property ${key} of ${node2.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`); + } + validate3.oneOfNodeOrValueTypes = types; + return validate3; + } + function assertValueType(type) { + function validate3(node2, key, val) { + const valid = getType(val) === type; + if (!valid) { + throw new TypeError(`Property ${key} expected type of ${type} but got ${getType(val)}`); + } + } + validate3.type = type; + return validate3; + } + function assertShape(shape) { + function validate3(node2, key, val) { + const errors = []; + for (const property of Object.keys(shape)) { + try { + (0, _validate.validateField)(node2, property, val[property], shape[property]); + } catch (error) { + if (error instanceof TypeError) { + errors.push(error.message); + continue; + } + throw error; + } + } + if (errors.length) { + throw new TypeError(`Property ${key} of ${node2.type} expected to have the following: +${errors.join("\n")}`); + } + } + validate3.shapeOf = shape; + return validate3; + } + function assertOptionalChainStart() { + function validate3(node2) { + var _current; + let current = node2; + while (node2) { + const { + type + } = current; + if (type === "OptionalCallExpression") { + if (current.optional) + return; + current = current.callee; + continue; + } + if (type === "OptionalMemberExpression") { + if (current.optional) + return; + current = current.object; + continue; + } + break; + } + throw new TypeError(`Non-optional ${node2.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${(_current = current) == null ? void 0 : _current.type}`); + } + return validate3; + } + function chain(...fns) { + function validate3(...args) { + for (const fn of fns) { + fn(...args); + } + } + validate3.chainOf = fns; + if (fns.length >= 2 && "type" in fns[0] && fns[0].type === "array" && !("each" in fns[1])) { + throw new Error(`An assertValueType("array") validator can only be followed by an assertEach(...) validator.`); + } + return validate3; + } + var validTypeOpts = ["aliases", "builder", "deprecatedAlias", "fields", "inherits", "visitor", "validate"]; + var validFieldKeys = ["default", "optional", "validate"]; + var store = {}; + function defineAliasedType(...aliases) { + return (type, opts = {}) => { + let defined = opts.aliases; + if (!defined) { + var _store$opts$inherits$, _defined; + if (opts.inherits) + defined = (_store$opts$inherits$ = store[opts.inherits].aliases) == null ? void 0 : _store$opts$inherits$.slice(); + (_defined = defined) != null ? _defined : defined = []; + opts.aliases = defined; + } + const additional = aliases.filter((a) => !defined.includes(a)); + defined.unshift(...additional); + return defineType(type, opts); + }; + } + function defineType(type, opts = {}) { + const inherits2 = opts.inherits && store[opts.inherits] || {}; + let fields = opts.fields; + if (!fields) { + fields = {}; + if (inherits2.fields) { + const keys = Object.getOwnPropertyNames(inherits2.fields); + for (const key of keys) { + const field = inherits2.fields[key]; + const def = field.default; + if (Array.isArray(def) ? def.length > 0 : def && typeof def === "object") { + throw new Error("field defaults can only be primitives or empty arrays currently"); + } + fields[key] = { + default: Array.isArray(def) ? [] : def, + optional: field.optional, + validate: field.validate + }; + } + } + } + const visitor = opts.visitor || inherits2.visitor || []; + const aliases = opts.aliases || inherits2.aliases || []; + const builder = opts.builder || inherits2.builder || opts.visitor || []; + for (const k of Object.keys(opts)) { + if (validTypeOpts.indexOf(k) === -1) { + throw new Error(`Unknown type option "${k}" on ${type}`); + } + } + if (opts.deprecatedAlias) { + DEPRECATED_KEYS[opts.deprecatedAlias] = type; + } + for (const key of visitor.concat(builder)) { + fields[key] = fields[key] || {}; + } + for (const key of Object.keys(fields)) { + const field = fields[key]; + if (field.default !== void 0 && builder.indexOf(key) === -1) { + field.optional = true; + } + if (field.default === void 0) { + field.default = null; + } else if (!field.validate && field.default != null) { + field.validate = assertValueType(getType(field.default)); + } + for (const k of Object.keys(field)) { + if (validFieldKeys.indexOf(k) === -1) { + throw new Error(`Unknown field key "${k}" on ${type}.${key}`); + } + } + } + VISITOR_KEYS[type] = opts.visitor = visitor; + BUILDER_KEYS[type] = opts.builder = builder; + NODE_FIELDS[type] = opts.fields = fields; + ALIAS_KEYS[type] = opts.aliases = aliases; + aliases.forEach((alias) => { + FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || []; + FLIPPED_ALIAS_KEYS[alias].push(type); + }); + if (opts.validate) { + NODE_PARENT_VALIDATIONS[type] = opts.validate; + } + store[type] = opts; + } + } +}); + +// node_modules/@babel/types/lib/definitions/core.js +var require_core = __commonJS({ + "node_modules/@babel/types/lib/definitions/core.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.patternLikeCommon = exports.functionTypeAnnotationCommon = exports.functionDeclarationCommon = exports.functionCommon = exports.classMethodOrPropertyCommon = exports.classMethodOrDeclareMethodCommon = void 0; + var _is = require_is(); + var _isValidIdentifier = require_isValidIdentifier(); + var _helperValidatorIdentifier = require_lib(); + var _helperStringParser = require_lib2(); + var _constants = require_constants(); + var _utils = require_utils(); + var defineType = (0, _utils.defineAliasedType)("Standardized"); + defineType("ArrayExpression", { + fields: { + elements: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)("null", "Expression", "SpreadElement"))), + default: !process.env.BABEL_TYPES_8_BREAKING ? [] : void 0 + } + }, + visitor: ["elements"], + aliases: ["Expression"] + }); + defineType("AssignmentExpression", { + fields: { + operator: { + validate: function() { + if (!process.env.BABEL_TYPES_8_BREAKING) { + return (0, _utils.assertValueType)("string"); + } + const identifier2 = (0, _utils.assertOneOf)(..._constants.ASSIGNMENT_OPERATORS); + const pattern = (0, _utils.assertOneOf)("="); + return function(node2, key, val) { + const validator = (0, _is.default)("Pattern", node2.left) ? pattern : identifier2; + validator(node2, key, val); + }; + }() + }, + left: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("LVal") : (0, _utils.assertNodeType)("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + builder: ["operator", "left", "right"], + visitor: ["left", "right"], + aliases: ["Expression"] + }); + defineType("BinaryExpression", { + builder: ["operator", "left", "right"], + fields: { + operator: { + validate: (0, _utils.assertOneOf)(..._constants.BINARY_OPERATORS) + }, + left: { + validate: function() { + const expression = (0, _utils.assertNodeType)("Expression"); + const inOp = (0, _utils.assertNodeType)("Expression", "PrivateName"); + const validator = Object.assign(function(node2, key, val) { + const validator2 = node2.operator === "in" ? inOp : expression; + validator2(node2, key, val); + }, { + oneOfNodeTypes: ["Expression", "PrivateName"] + }); + return validator; + }() + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + visitor: ["left", "right"], + aliases: ["Binary", "Expression"] + }); + defineType("InterpreterDirective", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + } + }); + defineType("Directive", { + visitor: ["value"], + fields: { + value: { + validate: (0, _utils.assertNodeType)("DirectiveLiteral") + } + } + }); + defineType("DirectiveLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + } + }); + defineType("BlockStatement", { + builder: ["body", "directives"], + visitor: ["directives", "body"], + fields: { + directives: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Directive"))), + default: [] + }, + body: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) + } + }, + aliases: ["Scopable", "BlockParent", "Block", "Statement"] + }); + defineType("BreakStatement", { + visitor: ["label"], + fields: { + label: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + } + }, + aliases: ["Statement", "Terminatorless", "CompletionStatement"] + }); + defineType("CallExpression", { + visitor: ["callee", "arguments", "typeParameters", "typeArguments"], + builder: ["callee", "arguments"], + aliases: ["Expression"], + fields: Object.assign({ + callee: { + validate: (0, _utils.assertNodeType)("Expression", "Super", "V8IntrinsicIdentifier") + }, + arguments: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement", "JSXNamespacedName", "ArgumentPlaceholder"))) + } + }, !process.env.BABEL_TYPES_8_BREAKING ? { + optional: { + validate: (0, _utils.assertOneOf)(true, false), + optional: true + } + } : {}, { + typeArguments: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"), + optional: true + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"), + optional: true + } + }) + }); + defineType("CatchClause", { + visitor: ["param", "body"], + fields: { + param: { + validate: (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern"), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + } + }, + aliases: ["Scopable", "BlockParent"] + }); + defineType("ConditionalExpression", { + visitor: ["test", "consequent", "alternate"], + fields: { + test: { + validate: (0, _utils.assertNodeType)("Expression") + }, + consequent: { + validate: (0, _utils.assertNodeType)("Expression") + }, + alternate: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + aliases: ["Expression", "Conditional"] + }); + defineType("ContinueStatement", { + visitor: ["label"], + fields: { + label: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + } + }, + aliases: ["Statement", "Terminatorless", "CompletionStatement"] + }); + defineType("DebuggerStatement", { + aliases: ["Statement"] + }); + defineType("DoWhileStatement", { + visitor: ["test", "body"], + fields: { + test: { + validate: (0, _utils.assertNodeType)("Expression") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + }, + aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"] + }); + defineType("EmptyStatement", { + aliases: ["Statement"] + }); + defineType("ExpressionStatement", { + visitor: ["expression"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + aliases: ["Statement", "ExpressionWrapper"] + }); + defineType("File", { + builder: ["program", "comments", "tokens"], + visitor: ["program"], + fields: { + program: { + validate: (0, _utils.assertNodeType)("Program") + }, + comments: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? Object.assign(() => { + }, { + each: { + oneOfNodeTypes: ["CommentBlock", "CommentLine"] + } + }) : (0, _utils.assertEach)((0, _utils.assertNodeType)("CommentBlock", "CommentLine")), + optional: true + }, + tokens: { + validate: (0, _utils.assertEach)(Object.assign(() => { + }, { + type: "any" + })), + optional: true + } + } + }); + defineType("ForInStatement", { + visitor: ["left", "right", "body"], + aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"], + fields: { + left: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("VariableDeclaration", "LVal") : (0, _utils.assertNodeType)("VariableDeclaration", "Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + } + }); + defineType("ForStatement", { + visitor: ["init", "test", "update", "body"], + aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"], + fields: { + init: { + validate: (0, _utils.assertNodeType)("VariableDeclaration", "Expression"), + optional: true + }, + test: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + update: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + } + }); + var functionCommon = () => ({ + params: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Identifier", "Pattern", "RestElement"))) + }, + generator: { + default: false + }, + async: { + default: false + } + }); + exports.functionCommon = functionCommon; + var functionTypeAnnotationCommon = () => ({ + returnType: { + validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), + optional: true + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"), + optional: true + } + }); + exports.functionTypeAnnotationCommon = functionTypeAnnotationCommon; + var functionDeclarationCommon = () => Object.assign({}, functionCommon(), { + declare: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + id: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + } + }); + exports.functionDeclarationCommon = functionDeclarationCommon; + defineType("FunctionDeclaration", { + builder: ["id", "params", "body", "generator", "async"], + visitor: ["id", "params", "body", "returnType", "typeParameters"], + fields: Object.assign({}, functionDeclarationCommon(), functionTypeAnnotationCommon(), { + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + }, + predicate: { + validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"), + optional: true + } + }), + aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"], + validate: function() { + if (!process.env.BABEL_TYPES_8_BREAKING) + return () => { + }; + const identifier2 = (0, _utils.assertNodeType)("Identifier"); + return function(parent, key, node2) { + if (!(0, _is.default)("ExportDefaultDeclaration", parent)) { + identifier2(node2, "id", node2.id); + } + }; + }() + }); + defineType("FunctionExpression", { + inherits: "FunctionDeclaration", + aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"], + fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), { + id: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + }, + predicate: { + validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"), + optional: true + } + }) + }); + var patternLikeCommon = () => ({ + typeAnnotation: { + validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), + optional: true + }, + optional: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + } + }); + exports.patternLikeCommon = patternLikeCommon; + defineType("Identifier", { + builder: ["name"], + visitor: ["typeAnnotation", "decorators"], + aliases: ["Expression", "PatternLike", "LVal", "TSEntityName"], + fields: Object.assign({}, patternLikeCommon(), { + name: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), Object.assign(function(node2, key, val) { + if (!process.env.BABEL_TYPES_8_BREAKING) + return; + if (!(0, _isValidIdentifier.default)(val, false)) { + throw new TypeError(`"${val}" is not a valid identifier name`); + } + }, { + type: "string" + })) + } + }), + validate(parent, key, node2) { + if (!process.env.BABEL_TYPES_8_BREAKING) + return; + const match2 = /\.(\w+)$/.exec(key); + if (!match2) + return; + const [, parentKey] = match2; + const nonComp = { + computed: false + }; + if (parentKey === "property") { + if ((0, _is.default)("MemberExpression", parent, nonComp)) + return; + if ((0, _is.default)("OptionalMemberExpression", parent, nonComp)) + return; + } else if (parentKey === "key") { + if ((0, _is.default)("Property", parent, nonComp)) + return; + if ((0, _is.default)("Method", parent, nonComp)) + return; + } else if (parentKey === "exported") { + if ((0, _is.default)("ExportSpecifier", parent)) + return; + } else if (parentKey === "imported") { + if ((0, _is.default)("ImportSpecifier", parent, { + imported: node2 + })) + return; + } else if (parentKey === "meta") { + if ((0, _is.default)("MetaProperty", parent, { + meta: node2 + })) + return; + } + if (((0, _helperValidatorIdentifier.isKeyword)(node2.name) || (0, _helperValidatorIdentifier.isReservedWord)(node2.name, false)) && node2.name !== "this") { + throw new TypeError(`"${node2.name}" is not a valid identifier`); + } + } + }); + defineType("IfStatement", { + visitor: ["test", "consequent", "alternate"], + aliases: ["Statement", "Conditional"], + fields: { + test: { + validate: (0, _utils.assertNodeType)("Expression") + }, + consequent: { + validate: (0, _utils.assertNodeType)("Statement") + }, + alternate: { + optional: true, + validate: (0, _utils.assertNodeType)("Statement") + } + } + }); + defineType("LabeledStatement", { + visitor: ["label", "body"], + aliases: ["Statement"], + fields: { + label: { + validate: (0, _utils.assertNodeType)("Identifier") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + } + }); + defineType("StringLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] + }); + defineType("NumericLiteral", { + builder: ["value"], + deprecatedAlias: "NumberLiteral", + fields: { + value: { + validate: (0, _utils.assertValueType)("number") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] + }); + defineType("NullLiteral", { + aliases: ["Expression", "Pureish", "Literal", "Immutable"] + }); + defineType("BooleanLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("boolean") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] + }); + defineType("RegExpLiteral", { + builder: ["pattern", "flags"], + deprecatedAlias: "RegexLiteral", + aliases: ["Expression", "Pureish", "Literal"], + fields: { + pattern: { + validate: (0, _utils.assertValueType)("string") + }, + flags: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), Object.assign(function(node2, key, val) { + if (!process.env.BABEL_TYPES_8_BREAKING) + return; + const invalid = /[^gimsuy]/.exec(val); + if (invalid) { + throw new TypeError(`"${invalid[0]}" is not a valid RegExp flag`); + } + }, { + type: "string" + })), + default: "" + } + } + }); + defineType("LogicalExpression", { + builder: ["operator", "left", "right"], + visitor: ["left", "right"], + aliases: ["Binary", "Expression"], + fields: { + operator: { + validate: (0, _utils.assertOneOf)(..._constants.LOGICAL_OPERATORS) + }, + left: { + validate: (0, _utils.assertNodeType)("Expression") + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("MemberExpression", { + builder: ["object", "property", "computed", ...!process.env.BABEL_TYPES_8_BREAKING ? ["optional"] : []], + visitor: ["object", "property"], + aliases: ["Expression", "LVal"], + fields: Object.assign({ + object: { + validate: (0, _utils.assertNodeType)("Expression", "Super") + }, + property: { + validate: function() { + const normal = (0, _utils.assertNodeType)("Identifier", "PrivateName"); + const computed = (0, _utils.assertNodeType)("Expression"); + const validator = function(node2, key, val) { + const validator2 = node2.computed ? computed : normal; + validator2(node2, key, val); + }; + validator.oneOfNodeTypes = ["Expression", "Identifier", "PrivateName"]; + return validator; + }() + }, + computed: { + default: false + } + }, !process.env.BABEL_TYPES_8_BREAKING ? { + optional: { + validate: (0, _utils.assertOneOf)(true, false), + optional: true + } + } : {}) + }); + defineType("NewExpression", { + inherits: "CallExpression" + }); + defineType("Program", { + visitor: ["directives", "body"], + builder: ["body", "directives", "sourceType", "interpreter"], + fields: { + sourceFile: { + validate: (0, _utils.assertValueType)("string") + }, + sourceType: { + validate: (0, _utils.assertOneOf)("script", "module"), + default: "script" + }, + interpreter: { + validate: (0, _utils.assertNodeType)("InterpreterDirective"), + default: null, + optional: true + }, + directives: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Directive"))), + default: [] + }, + body: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) + } + }, + aliases: ["Scopable", "BlockParent", "Block"] + }); + defineType("ObjectExpression", { + visitor: ["properties"], + aliases: ["Expression"], + fields: { + properties: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ObjectMethod", "ObjectProperty", "SpreadElement"))) + } + } + }); + defineType("ObjectMethod", { + builder: ["kind", "key", "params", "body", "computed", "generator", "async"], + fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), { + kind: Object.assign({ + validate: (0, _utils.assertOneOf)("method", "get", "set") + }, !process.env.BABEL_TYPES_8_BREAKING ? { + default: "method" + } : {}), + computed: { + default: false + }, + key: { + validate: function() { + const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"); + const computed = (0, _utils.assertNodeType)("Expression"); + const validator = function(node2, key, val) { + const validator2 = node2.computed ? computed : normal; + validator2(node2, key, val); + }; + validator.oneOfNodeTypes = ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"]; + return validator; + }() + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + } + }), + visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], + aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"] + }); + defineType("ObjectProperty", { + builder: ["key", "value", "computed", "shorthand", ...!process.env.BABEL_TYPES_8_BREAKING ? ["decorators"] : []], + fields: { + computed: { + default: false + }, + key: { + validate: function() { + const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"); + const computed = (0, _utils.assertNodeType)("Expression"); + const validator = Object.assign(function(node2, key, val) { + const validator2 = node2.computed ? computed : normal; + validator2(node2, key, val); + }, { + oneOfNodeTypes: ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"] + }); + return validator; + }() + }, + value: { + validate: (0, _utils.assertNodeType)("Expression", "PatternLike") + }, + shorthand: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("boolean"), Object.assign(function(node2, key, val) { + if (!process.env.BABEL_TYPES_8_BREAKING) + return; + if (val && node2.computed) { + throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true"); + } + }, { + type: "boolean" + }), function(node2, key, val) { + if (!process.env.BABEL_TYPES_8_BREAKING) + return; + if (val && !(0, _is.default)("Identifier", node2.key)) { + throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier"); + } + }), + default: false + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + } + }, + visitor: ["key", "value", "decorators"], + aliases: ["UserWhitespacable", "Property", "ObjectMember"], + validate: function() { + const pattern = (0, _utils.assertNodeType)("Identifier", "Pattern", "TSAsExpression", "TSSatisfiesExpression", "TSNonNullExpression", "TSTypeAssertion"); + const expression = (0, _utils.assertNodeType)("Expression"); + return function(parent, key, node2) { + if (!process.env.BABEL_TYPES_8_BREAKING) + return; + const validator = (0, _is.default)("ObjectPattern", parent) ? pattern : expression; + validator(node2, "value", node2.value); + }; + }() + }); + defineType("RestElement", { + visitor: ["argument", "typeAnnotation"], + builder: ["argument"], + aliases: ["LVal", "PatternLike"], + deprecatedAlias: "RestProperty", + fields: Object.assign({}, patternLikeCommon(), { + argument: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("LVal") : (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") + } + }), + validate(parent, key) { + if (!process.env.BABEL_TYPES_8_BREAKING) + return; + const match2 = /(\w+)\[(\d+)\]/.exec(key); + if (!match2) + throw new Error("Internal Babel error: malformed key."); + const [, listKey, index] = match2; + if (parent[listKey].length > +index + 1) { + throw new TypeError(`RestElement must be last element of ${listKey}`); + } + } + }); + defineType("ReturnStatement", { + visitor: ["argument"], + aliases: ["Statement", "Terminatorless", "CompletionStatement"], + fields: { + argument: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + } + } + }); + defineType("SequenceExpression", { + visitor: ["expressions"], + fields: { + expressions: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression"))) + } + }, + aliases: ["Expression"] + }); + defineType("ParenthesizedExpression", { + visitor: ["expression"], + aliases: ["Expression", "ExpressionWrapper"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("SwitchCase", { + visitor: ["test", "consequent"], + fields: { + test: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + consequent: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) + } + } + }); + defineType("SwitchStatement", { + visitor: ["discriminant", "cases"], + aliases: ["Statement", "BlockParent", "Scopable"], + fields: { + discriminant: { + validate: (0, _utils.assertNodeType)("Expression") + }, + cases: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("SwitchCase"))) + } + } + }); + defineType("ThisExpression", { + aliases: ["Expression"] + }); + defineType("ThrowStatement", { + visitor: ["argument"], + aliases: ["Statement", "Terminatorless", "CompletionStatement"], + fields: { + argument: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("TryStatement", { + visitor: ["block", "handler", "finalizer"], + aliases: ["Statement"], + fields: { + block: { + validate: (0, _utils.chain)((0, _utils.assertNodeType)("BlockStatement"), Object.assign(function(node2) { + if (!process.env.BABEL_TYPES_8_BREAKING) + return; + if (!node2.handler && !node2.finalizer) { + throw new TypeError("TryStatement expects either a handler or finalizer, or both"); + } + }, { + oneOfNodeTypes: ["BlockStatement"] + })) + }, + handler: { + optional: true, + validate: (0, _utils.assertNodeType)("CatchClause") + }, + finalizer: { + optional: true, + validate: (0, _utils.assertNodeType)("BlockStatement") + } + } + }); + defineType("UnaryExpression", { + builder: ["operator", "argument", "prefix"], + fields: { + prefix: { + default: true + }, + argument: { + validate: (0, _utils.assertNodeType)("Expression") + }, + operator: { + validate: (0, _utils.assertOneOf)(..._constants.UNARY_OPERATORS) + } + }, + visitor: ["argument"], + aliases: ["UnaryLike", "Expression"] + }); + defineType("UpdateExpression", { + builder: ["operator", "argument", "prefix"], + fields: { + prefix: { + default: false + }, + argument: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("Expression") : (0, _utils.assertNodeType)("Identifier", "MemberExpression") + }, + operator: { + validate: (0, _utils.assertOneOf)(..._constants.UPDATE_OPERATORS) + } + }, + visitor: ["argument"], + aliases: ["Expression"] + }); + defineType("VariableDeclaration", { + builder: ["kind", "declarations"], + visitor: ["declarations"], + aliases: ["Statement", "Declaration"], + fields: { + declare: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + kind: { + validate: (0, _utils.assertOneOf)("var", "let", "const", "using") + }, + declarations: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("VariableDeclarator"))) + } + }, + validate(parent, key, node2) { + if (!process.env.BABEL_TYPES_8_BREAKING) + return; + if (!(0, _is.default)("ForXStatement", parent, { + left: node2 + })) + return; + if (node2.declarations.length !== 1) { + throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${parent.type}`); + } + } + }); + defineType("VariableDeclarator", { + visitor: ["id", "init"], + fields: { + id: { + validate: function() { + if (!process.env.BABEL_TYPES_8_BREAKING) { + return (0, _utils.assertNodeType)("LVal"); + } + const normal = (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern"); + const without = (0, _utils.assertNodeType)("Identifier"); + return function(node2, key, val) { + const validator = node2.init ? normal : without; + validator(node2, key, val); + }; + }() + }, + definite: { + optional: true, + validate: (0, _utils.assertValueType)("boolean") + }, + init: { + optional: true, + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("WhileStatement", { + visitor: ["test", "body"], + aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"], + fields: { + test: { + validate: (0, _utils.assertNodeType)("Expression") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + } + }); + defineType("WithStatement", { + visitor: ["object", "body"], + aliases: ["Statement"], + fields: { + object: { + validate: (0, _utils.assertNodeType)("Expression") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + } + }); + defineType("AssignmentPattern", { + visitor: ["left", "right", "decorators"], + builder: ["left", "right"], + aliases: ["Pattern", "PatternLike", "LVal"], + fields: Object.assign({}, patternLikeCommon(), { + left: { + validate: (0, _utils.assertNodeType)("Identifier", "ObjectPattern", "ArrayPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + } + }) + }); + defineType("ArrayPattern", { + visitor: ["elements", "typeAnnotation"], + builder: ["elements"], + aliases: ["Pattern", "PatternLike", "LVal"], + fields: Object.assign({}, patternLikeCommon(), { + elements: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)("null", "PatternLike", "LVal"))) + } + }) + }); + defineType("ArrowFunctionExpression", { + builder: ["params", "body", "async"], + visitor: ["params", "body", "returnType", "typeParameters"], + aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"], + fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), { + expression: { + validate: (0, _utils.assertValueType)("boolean") + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement", "Expression") + }, + predicate: { + validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"), + optional: true + } + }) + }); + defineType("ClassBody", { + visitor: ["body"], + fields: { + body: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassPrivateProperty", "ClassAccessorProperty", "TSDeclareMethod", "TSIndexSignature", "StaticBlock"))) + } + } + }); + defineType("ClassExpression", { + builder: ["id", "superClass", "body", "decorators"], + visitor: ["id", "body", "superClass", "mixins", "typeParameters", "superTypeParameters", "implements", "decorators"], + aliases: ["Scopable", "Class", "Expression"], + fields: { + id: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("ClassBody") + }, + superClass: { + optional: true, + validate: (0, _utils.assertNodeType)("Expression") + }, + superTypeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), + optional: true + }, + implements: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSExpressionWithTypeArguments", "ClassImplements"))), + optional: true + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + }, + mixins: { + validate: (0, _utils.assertNodeType)("InterfaceExtends"), + optional: true + } + } + }); + defineType("ClassDeclaration", { + inherits: "ClassExpression", + aliases: ["Scopable", "Class", "Statement", "Declaration"], + fields: { + id: { + validate: (0, _utils.assertNodeType)("Identifier") + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("ClassBody") + }, + superClass: { + optional: true, + validate: (0, _utils.assertNodeType)("Expression") + }, + superTypeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), + optional: true + }, + implements: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSExpressionWithTypeArguments", "ClassImplements"))), + optional: true + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + }, + mixins: { + validate: (0, _utils.assertNodeType)("InterfaceExtends"), + optional: true + }, + declare: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + abstract: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + } + }, + validate: function() { + const identifier2 = (0, _utils.assertNodeType)("Identifier"); + return function(parent, key, node2) { + if (!process.env.BABEL_TYPES_8_BREAKING) + return; + if (!(0, _is.default)("ExportDefaultDeclaration", parent)) { + identifier2(node2, "id", node2.id); + } + }; + }() + }); + defineType("ExportAllDeclaration", { + visitor: ["source"], + aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"], + fields: { + source: { + validate: (0, _utils.assertNodeType)("StringLiteral") + }, + exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")), + assertions: { + optional: true, + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportAttribute"))) + } + } + }); + defineType("ExportDefaultDeclaration", { + visitor: ["declaration"], + aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"], + fields: { + declaration: { + validate: (0, _utils.assertNodeType)("TSDeclareFunction", "FunctionDeclaration", "ClassDeclaration", "Expression") + }, + exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("value")) + } + }); + defineType("ExportNamedDeclaration", { + visitor: ["declaration", "specifiers", "source"], + aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"], + fields: { + declaration: { + optional: true, + validate: (0, _utils.chain)((0, _utils.assertNodeType)("Declaration"), Object.assign(function(node2, key, val) { + if (!process.env.BABEL_TYPES_8_BREAKING) + return; + if (val && node2.specifiers.length) { + throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration"); + } + }, { + oneOfNodeTypes: ["Declaration"] + }), function(node2, key, val) { + if (!process.env.BABEL_TYPES_8_BREAKING) + return; + if (val && node2.source) { + throw new TypeError("Cannot export a declaration from a source"); + } + }) + }, + assertions: { + optional: true, + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportAttribute"))) + }, + specifiers: { + default: [], + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)(function() { + const sourced = (0, _utils.assertNodeType)("ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier"); + const sourceless = (0, _utils.assertNodeType)("ExportSpecifier"); + if (!process.env.BABEL_TYPES_8_BREAKING) + return sourced; + return function(node2, key, val) { + const validator = node2.source ? sourced : sourceless; + validator(node2, key, val); + }; + }())) + }, + source: { + validate: (0, _utils.assertNodeType)("StringLiteral"), + optional: true + }, + exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) + } + }); + defineType("ExportSpecifier", { + visitor: ["local", "exported"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _utils.assertNodeType)("Identifier") + }, + exported: { + validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral") + }, + exportKind: { + validate: (0, _utils.assertOneOf)("type", "value"), + optional: true + } + } + }); + defineType("ForOfStatement", { + visitor: ["left", "right", "body"], + builder: ["left", "right", "body", "await"], + aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"], + fields: { + left: { + validate: function() { + if (!process.env.BABEL_TYPES_8_BREAKING) { + return (0, _utils.assertNodeType)("VariableDeclaration", "LVal"); + } + const declaration2 = (0, _utils.assertNodeType)("VariableDeclaration"); + const lval = (0, _utils.assertNodeType)("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression"); + return function(node2, key, val) { + if ((0, _is.default)("VariableDeclaration", val)) { + declaration2(node2, key, val); + } else { + lval(node2, key, val); + } + }; + }() + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + }, + await: { + default: false + } + } + }); + defineType("ImportDeclaration", { + visitor: ["specifiers", "source"], + aliases: ["Statement", "Declaration", "ImportOrExportDeclaration"], + fields: { + assertions: { + optional: true, + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportAttribute"))) + }, + module: { + optional: true, + validate: (0, _utils.assertValueType)("boolean") + }, + specifiers: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier"))) + }, + source: { + validate: (0, _utils.assertNodeType)("StringLiteral") + }, + importKind: { + validate: (0, _utils.assertOneOf)("type", "typeof", "value"), + optional: true + } + } + }); + defineType("ImportDefaultSpecifier", { + visitor: ["local"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } + }); + defineType("ImportNamespaceSpecifier", { + visitor: ["local"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } + }); + defineType("ImportSpecifier", { + visitor: ["local", "imported"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _utils.assertNodeType)("Identifier") + }, + imported: { + validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral") + }, + importKind: { + validate: (0, _utils.assertOneOf)("type", "typeof", "value"), + optional: true + } + } + }); + defineType("MetaProperty", { + visitor: ["meta", "property"], + aliases: ["Expression"], + fields: { + meta: { + validate: (0, _utils.chain)((0, _utils.assertNodeType)("Identifier"), Object.assign(function(node2, key, val) { + if (!process.env.BABEL_TYPES_8_BREAKING) + return; + let property; + switch (val.name) { + case "function": + property = "sent"; + break; + case "new": + property = "target"; + break; + case "import": + property = "meta"; + break; + } + if (!(0, _is.default)("Identifier", node2.property, { + name: property + })) { + throw new TypeError("Unrecognised MetaProperty"); + } + }, { + oneOfNodeTypes: ["Identifier"] + })) + }, + property: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } + }); + var classMethodOrPropertyCommon = () => ({ + abstract: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + accessibility: { + validate: (0, _utils.assertOneOf)("public", "private", "protected"), + optional: true + }, + static: { + default: false + }, + override: { + default: false + }, + computed: { + default: false + }, + optional: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + key: { + validate: (0, _utils.chain)(function() { + const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"); + const computed = (0, _utils.assertNodeType)("Expression"); + return function(node2, key, val) { + const validator = node2.computed ? computed : normal; + validator(node2, key, val); + }; + }(), (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression")) + } + }); + exports.classMethodOrPropertyCommon = classMethodOrPropertyCommon; + var classMethodOrDeclareMethodCommon = () => Object.assign({}, functionCommon(), classMethodOrPropertyCommon(), { + params: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Identifier", "Pattern", "RestElement", "TSParameterProperty"))) + }, + kind: { + validate: (0, _utils.assertOneOf)("get", "set", "method", "constructor"), + default: "method" + }, + access: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("public", "private", "protected")), + optional: true + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + } + }); + exports.classMethodOrDeclareMethodCommon = classMethodOrDeclareMethodCommon; + defineType("ClassMethod", { + aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method"], + builder: ["kind", "key", "params", "body", "computed", "static", "generator", "async"], + visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], + fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), { + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + } + }) + }); + defineType("ObjectPattern", { + visitor: ["properties", "typeAnnotation", "decorators"], + builder: ["properties"], + aliases: ["Pattern", "PatternLike", "LVal"], + fields: Object.assign({}, patternLikeCommon(), { + properties: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("RestElement", "ObjectProperty"))) + } + }) + }); + defineType("SpreadElement", { + visitor: ["argument"], + aliases: ["UnaryLike"], + deprecatedAlias: "SpreadProperty", + fields: { + argument: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("Super", { + aliases: ["Expression"] + }); + defineType("TaggedTemplateExpression", { + visitor: ["tag", "quasi", "typeParameters"], + builder: ["tag", "quasi"], + aliases: ["Expression"], + fields: { + tag: { + validate: (0, _utils.assertNodeType)("Expression") + }, + quasi: { + validate: (0, _utils.assertNodeType)("TemplateLiteral") + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), + optional: true + } + } + }); + defineType("TemplateElement", { + builder: ["value", "tail"], + fields: { + value: { + validate: (0, _utils.chain)((0, _utils.assertShape)({ + raw: { + validate: (0, _utils.assertValueType)("string") + }, + cooked: { + validate: (0, _utils.assertValueType)("string"), + optional: true + } + }), function templateElementCookedValidator(node2) { + const raw = node2.value.raw; + let unterminatedCalled = false; + const error = () => { + throw new Error("Internal @babel/types error."); + }; + const { + str, + firstInvalidLoc + } = (0, _helperStringParser.readStringContents)("template", raw, 0, 0, 0, { + unterminated() { + unterminatedCalled = true; + }, + strictNumericEscape: error, + invalidEscapeSequence: error, + numericSeparatorInEscapeSequence: error, + unexpectedNumericSeparator: error, + invalidDigit: error, + invalidCodePoint: error + }); + if (!unterminatedCalled) + throw new Error("Invalid raw"); + node2.value.cooked = firstInvalidLoc ? null : str; + }) + }, + tail: { + default: false + } + } + }); + defineType("TemplateLiteral", { + visitor: ["quasis", "expressions"], + aliases: ["Expression", "Literal"], + fields: { + quasis: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TemplateElement"))) + }, + expressions: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "TSType")), function(node2, key, val) { + if (node2.quasis.length !== val.length + 1) { + throw new TypeError(`Number of ${node2.type} quasis should be exactly one more than the number of expressions. +Expected ${val.length + 1} quasis but got ${node2.quasis.length}`); + } + }) + } + } + }); + defineType("YieldExpression", { + builder: ["argument", "delegate"], + visitor: ["argument"], + aliases: ["Expression", "Terminatorless"], + fields: { + delegate: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("boolean"), Object.assign(function(node2, key, val) { + if (!process.env.BABEL_TYPES_8_BREAKING) + return; + if (val && !node2.argument) { + throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument"); + } + }, { + type: "boolean" + })), + default: false + }, + argument: { + optional: true, + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("AwaitExpression", { + builder: ["argument"], + visitor: ["argument"], + aliases: ["Expression", "Terminatorless"], + fields: { + argument: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("Import", { + aliases: ["Expression"] + }); + defineType("BigIntLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] + }); + defineType("ExportNamespaceSpecifier", { + visitor: ["exported"], + aliases: ["ModuleSpecifier"], + fields: { + exported: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } + }); + defineType("OptionalMemberExpression", { + builder: ["object", "property", "computed", "optional"], + visitor: ["object", "property"], + aliases: ["Expression"], + fields: { + object: { + validate: (0, _utils.assertNodeType)("Expression") + }, + property: { + validate: function() { + const normal = (0, _utils.assertNodeType)("Identifier"); + const computed = (0, _utils.assertNodeType)("Expression"); + const validator = Object.assign(function(node2, key, val) { + const validator2 = node2.computed ? computed : normal; + validator2(node2, key, val); + }, { + oneOfNodeTypes: ["Expression", "Identifier"] + }); + return validator; + }() + }, + computed: { + default: false + }, + optional: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)("boolean") : (0, _utils.chain)((0, _utils.assertValueType)("boolean"), (0, _utils.assertOptionalChainStart)()) + } + } + }); + defineType("OptionalCallExpression", { + visitor: ["callee", "arguments", "typeParameters", "typeArguments"], + builder: ["callee", "arguments", "optional"], + aliases: ["Expression"], + fields: { + callee: { + validate: (0, _utils.assertNodeType)("Expression") + }, + arguments: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement", "JSXNamespacedName", "ArgumentPlaceholder"))) + }, + optional: { + validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)("boolean") : (0, _utils.chain)((0, _utils.assertValueType)("boolean"), (0, _utils.assertOptionalChainStart)()) + }, + typeArguments: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"), + optional: true + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"), + optional: true + } + } + }); + defineType("ClassProperty", { + visitor: ["key", "value", "typeAnnotation", "decorators"], + builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"], + aliases: ["Property"], + fields: Object.assign({}, classMethodOrPropertyCommon(), { + value: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + definite: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + typeAnnotation: { + validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), + optional: true + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + }, + readonly: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + declare: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + variance: { + validate: (0, _utils.assertNodeType)("Variance"), + optional: true + } + }) + }); + defineType("ClassAccessorProperty", { + visitor: ["key", "value", "typeAnnotation", "decorators"], + builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"], + aliases: ["Property", "Accessor"], + fields: Object.assign({}, classMethodOrPropertyCommon(), { + key: { + validate: (0, _utils.chain)(function() { + const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "PrivateName"); + const computed = (0, _utils.assertNodeType)("Expression"); + return function(node2, key, val) { + const validator = node2.computed ? computed : normal; + validator(node2, key, val); + }; + }(), (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression", "PrivateName")) + }, + value: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + definite: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + typeAnnotation: { + validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), + optional: true + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + }, + readonly: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + declare: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + variance: { + validate: (0, _utils.assertNodeType)("Variance"), + optional: true + } + }) + }); + defineType("ClassPrivateProperty", { + visitor: ["key", "value", "decorators", "typeAnnotation"], + builder: ["key", "value", "decorators", "static"], + aliases: ["Property", "Private"], + fields: { + key: { + validate: (0, _utils.assertNodeType)("PrivateName") + }, + value: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + typeAnnotation: { + validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), + optional: true + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + }, + static: { + validate: (0, _utils.assertValueType)("boolean"), + default: false + }, + readonly: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + definite: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + variance: { + validate: (0, _utils.assertNodeType)("Variance"), + optional: true + } + } + }); + defineType("ClassPrivateMethod", { + builder: ["kind", "key", "params", "body", "static"], + visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], + aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method", "Private"], + fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), { + kind: { + validate: (0, _utils.assertOneOf)("get", "set", "method"), + default: "method" + }, + key: { + validate: (0, _utils.assertNodeType)("PrivateName") + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + } + }) + }); + defineType("PrivateName", { + visitor: ["id"], + aliases: ["Private"], + fields: { + id: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } + }); + defineType("StaticBlock", { + visitor: ["body"], + fields: { + body: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) + } + }, + aliases: ["Scopable", "BlockParent", "FunctionParent"] + }); + } +}); + +// node_modules/@babel/types/lib/definitions/flow.js +var require_flow = __commonJS({ + "node_modules/@babel/types/lib/definitions/flow.js"() { + "use strict"; + init_process(); + init_buffer(); + var _utils = require_utils(); + var defineType = (0, _utils.defineAliasedType)("Flow"); + var defineInterfaceishType = (name) => { + defineType(name, { + builder: ["id", "typeParameters", "extends", "body"], + visitor: ["id", "typeParameters", "extends", "mixins", "implements", "body"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), + mixins: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), + implements: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ClassImplements")), + body: (0, _utils.validateType)("ObjectTypeAnnotation") + } + }); + }; + defineType("AnyTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("ArrayTypeAnnotation", { + visitor: ["elementType"], + aliases: ["FlowType"], + fields: { + elementType: (0, _utils.validateType)("FlowType") + } + }); + defineType("BooleanTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("BooleanLiteralTypeAnnotation", { + builder: ["value"], + aliases: ["FlowType"], + fields: { + value: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("NullLiteralTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("ClassImplements", { + visitor: ["id", "typeParameters"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") + } + }); + defineInterfaceishType("DeclareClass"); + defineType("DeclareFunction", { + visitor: ["id"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + predicate: (0, _utils.validateOptionalType)("DeclaredPredicate") + } + }); + defineInterfaceishType("DeclareInterface"); + defineType("DeclareModule", { + builder: ["id", "body", "kind"], + visitor: ["id", "body"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)(["Identifier", "StringLiteral"]), + body: (0, _utils.validateType)("BlockStatement"), + kind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("CommonJS", "ES")) + } + }); + defineType("DeclareModuleExports", { + visitor: ["typeAnnotation"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + typeAnnotation: (0, _utils.validateType)("TypeAnnotation") + } + }); + defineType("DeclareTypeAlias", { + visitor: ["id", "typeParameters", "right"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + right: (0, _utils.validateType)("FlowType") + } + }); + defineType("DeclareOpaqueType", { + visitor: ["id", "typeParameters", "supertype"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + supertype: (0, _utils.validateOptionalType)("FlowType"), + impltype: (0, _utils.validateOptionalType)("FlowType") + } + }); + defineType("DeclareVariable", { + visitor: ["id"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier") + } + }); + defineType("DeclareExportDeclaration", { + visitor: ["declaration", "specifiers", "source"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + declaration: (0, _utils.validateOptionalType)("Flow"), + specifiers: (0, _utils.validateOptional)((0, _utils.arrayOfType)(["ExportSpecifier", "ExportNamespaceSpecifier"])), + source: (0, _utils.validateOptionalType)("StringLiteral"), + default: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("DeclareExportAllDeclaration", { + visitor: ["source"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + source: (0, _utils.validateType)("StringLiteral"), + exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) + } + }); + defineType("DeclaredPredicate", { + visitor: ["value"], + aliases: ["FlowPredicate"], + fields: { + value: (0, _utils.validateType)("Flow") + } + }); + defineType("ExistsTypeAnnotation", { + aliases: ["FlowType"] + }); + defineType("FunctionTypeAnnotation", { + visitor: ["typeParameters", "params", "rest", "returnType"], + aliases: ["FlowType"], + fields: { + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + params: (0, _utils.validate)((0, _utils.arrayOfType)("FunctionTypeParam")), + rest: (0, _utils.validateOptionalType)("FunctionTypeParam"), + this: (0, _utils.validateOptionalType)("FunctionTypeParam"), + returnType: (0, _utils.validateType)("FlowType") + } + }); + defineType("FunctionTypeParam", { + visitor: ["name", "typeAnnotation"], + fields: { + name: (0, _utils.validateOptionalType)("Identifier"), + typeAnnotation: (0, _utils.validateType)("FlowType"), + optional: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("GenericTypeAnnotation", { + visitor: ["id", "typeParameters"], + aliases: ["FlowType"], + fields: { + id: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") + } + }); + defineType("InferredPredicate", { + aliases: ["FlowPredicate"] + }); + defineType("InterfaceExtends", { + visitor: ["id", "typeParameters"], + fields: { + id: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") + } + }); + defineInterfaceishType("InterfaceDeclaration"); + defineType("InterfaceTypeAnnotation", { + visitor: ["extends", "body"], + aliases: ["FlowType"], + fields: { + extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), + body: (0, _utils.validateType)("ObjectTypeAnnotation") + } + }); + defineType("IntersectionTypeAnnotation", { + visitor: ["types"], + aliases: ["FlowType"], + fields: { + types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) + } + }); + defineType("MixedTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("EmptyTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("NullableTypeAnnotation", { + visitor: ["typeAnnotation"], + aliases: ["FlowType"], + fields: { + typeAnnotation: (0, _utils.validateType)("FlowType") + } + }); + defineType("NumberLiteralTypeAnnotation", { + builder: ["value"], + aliases: ["FlowType"], + fields: { + value: (0, _utils.validate)((0, _utils.assertValueType)("number")) + } + }); + defineType("NumberTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("ObjectTypeAnnotation", { + visitor: ["properties", "indexers", "callProperties", "internalSlots"], + aliases: ["FlowType"], + builder: ["properties", "indexers", "callProperties", "internalSlots", "exact"], + fields: { + properties: (0, _utils.validate)((0, _utils.arrayOfType)(["ObjectTypeProperty", "ObjectTypeSpreadProperty"])), + indexers: { + validate: (0, _utils.arrayOfType)("ObjectTypeIndexer"), + optional: true, + default: [] + }, + callProperties: { + validate: (0, _utils.arrayOfType)("ObjectTypeCallProperty"), + optional: true, + default: [] + }, + internalSlots: { + validate: (0, _utils.arrayOfType)("ObjectTypeInternalSlot"), + optional: true, + default: [] + }, + exact: { + validate: (0, _utils.assertValueType)("boolean"), + default: false + }, + inexact: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("ObjectTypeInternalSlot", { + visitor: ["id", "value", "optional", "static", "method"], + aliases: ["UserWhitespacable"], + fields: { + id: (0, _utils.validateType)("Identifier"), + value: (0, _utils.validateType)("FlowType"), + optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + method: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("ObjectTypeCallProperty", { + visitor: ["value"], + aliases: ["UserWhitespacable"], + fields: { + value: (0, _utils.validateType)("FlowType"), + static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("ObjectTypeIndexer", { + visitor: ["id", "key", "value", "variance"], + aliases: ["UserWhitespacable"], + fields: { + id: (0, _utils.validateOptionalType)("Identifier"), + key: (0, _utils.validateType)("FlowType"), + value: (0, _utils.validateType)("FlowType"), + static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + variance: (0, _utils.validateOptionalType)("Variance") + } + }); + defineType("ObjectTypeProperty", { + visitor: ["key", "value", "variance"], + aliases: ["UserWhitespacable"], + fields: { + key: (0, _utils.validateType)(["Identifier", "StringLiteral"]), + value: (0, _utils.validateType)("FlowType"), + kind: (0, _utils.validate)((0, _utils.assertOneOf)("init", "get", "set")), + static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + proto: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + variance: (0, _utils.validateOptionalType)("Variance"), + method: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("ObjectTypeSpreadProperty", { + visitor: ["argument"], + aliases: ["UserWhitespacable"], + fields: { + argument: (0, _utils.validateType)("FlowType") + } + }); + defineType("OpaqueType", { + visitor: ["id", "typeParameters", "supertype", "impltype"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + supertype: (0, _utils.validateOptionalType)("FlowType"), + impltype: (0, _utils.validateType)("FlowType") + } + }); + defineType("QualifiedTypeIdentifier", { + visitor: ["id", "qualification"], + fields: { + id: (0, _utils.validateType)("Identifier"), + qualification: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]) + } + }); + defineType("StringLiteralTypeAnnotation", { + builder: ["value"], + aliases: ["FlowType"], + fields: { + value: (0, _utils.validate)((0, _utils.assertValueType)("string")) + } + }); + defineType("StringTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("SymbolTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("ThisTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("TupleTypeAnnotation", { + visitor: ["types"], + aliases: ["FlowType"], + fields: { + types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) + } + }); + defineType("TypeofTypeAnnotation", { + visitor: ["argument"], + aliases: ["FlowType"], + fields: { + argument: (0, _utils.validateType)("FlowType") + } + }); + defineType("TypeAlias", { + visitor: ["id", "typeParameters", "right"], + aliases: ["FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + right: (0, _utils.validateType)("FlowType") + } + }); + defineType("TypeAnnotation", { + visitor: ["typeAnnotation"], + fields: { + typeAnnotation: (0, _utils.validateType)("FlowType") + } + }); + defineType("TypeCastExpression", { + visitor: ["expression", "typeAnnotation"], + aliases: ["ExpressionWrapper", "Expression"], + fields: { + expression: (0, _utils.validateType)("Expression"), + typeAnnotation: (0, _utils.validateType)("TypeAnnotation") + } + }); + defineType("TypeParameter", { + visitor: ["bound", "default", "variance"], + fields: { + name: (0, _utils.validate)((0, _utils.assertValueType)("string")), + bound: (0, _utils.validateOptionalType)("TypeAnnotation"), + default: (0, _utils.validateOptionalType)("FlowType"), + variance: (0, _utils.validateOptionalType)("Variance") + } + }); + defineType("TypeParameterDeclaration", { + visitor: ["params"], + fields: { + params: (0, _utils.validate)((0, _utils.arrayOfType)("TypeParameter")) + } + }); + defineType("TypeParameterInstantiation", { + visitor: ["params"], + fields: { + params: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) + } + }); + defineType("UnionTypeAnnotation", { + visitor: ["types"], + aliases: ["FlowType"], + fields: { + types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) + } + }); + defineType("Variance", { + builder: ["kind"], + fields: { + kind: (0, _utils.validate)((0, _utils.assertOneOf)("minus", "plus")) + } + }); + defineType("VoidTypeAnnotation", { + aliases: ["FlowType", "FlowBaseAnnotation"] + }); + defineType("EnumDeclaration", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "body"], + fields: { + id: (0, _utils.validateType)("Identifier"), + body: (0, _utils.validateType)(["EnumBooleanBody", "EnumNumberBody", "EnumStringBody", "EnumSymbolBody"]) + } + }); + defineType("EnumBooleanBody", { + aliases: ["EnumBody"], + visitor: ["members"], + fields: { + explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + members: (0, _utils.validateArrayOfType)("EnumBooleanMember"), + hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("EnumNumberBody", { + aliases: ["EnumBody"], + visitor: ["members"], + fields: { + explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + members: (0, _utils.validateArrayOfType)("EnumNumberMember"), + hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("EnumStringBody", { + aliases: ["EnumBody"], + visitor: ["members"], + fields: { + explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + members: (0, _utils.validateArrayOfType)(["EnumStringMember", "EnumDefaultedMember"]), + hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("EnumSymbolBody", { + aliases: ["EnumBody"], + visitor: ["members"], + fields: { + members: (0, _utils.validateArrayOfType)("EnumDefaultedMember"), + hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + defineType("EnumBooleanMember", { + aliases: ["EnumMember"], + visitor: ["id"], + fields: { + id: (0, _utils.validateType)("Identifier"), + init: (0, _utils.validateType)("BooleanLiteral") + } + }); + defineType("EnumNumberMember", { + aliases: ["EnumMember"], + visitor: ["id", "init"], + fields: { + id: (0, _utils.validateType)("Identifier"), + init: (0, _utils.validateType)("NumericLiteral") + } + }); + defineType("EnumStringMember", { + aliases: ["EnumMember"], + visitor: ["id", "init"], + fields: { + id: (0, _utils.validateType)("Identifier"), + init: (0, _utils.validateType)("StringLiteral") + } + }); + defineType("EnumDefaultedMember", { + aliases: ["EnumMember"], + visitor: ["id"], + fields: { + id: (0, _utils.validateType)("Identifier") + } + }); + defineType("IndexedAccessType", { + visitor: ["objectType", "indexType"], + aliases: ["FlowType"], + fields: { + objectType: (0, _utils.validateType)("FlowType"), + indexType: (0, _utils.validateType)("FlowType") + } + }); + defineType("OptionalIndexedAccessType", { + visitor: ["objectType", "indexType"], + aliases: ["FlowType"], + fields: { + objectType: (0, _utils.validateType)("FlowType"), + indexType: (0, _utils.validateType)("FlowType"), + optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } + }); + } +}); + +// node_modules/@babel/types/lib/definitions/jsx.js +var require_jsx = __commonJS({ + "node_modules/@babel/types/lib/definitions/jsx.js"() { + "use strict"; + init_process(); + init_buffer(); + var _utils = require_utils(); + var defineType = (0, _utils.defineAliasedType)("JSX"); + defineType("JSXAttribute", { + visitor: ["name", "value"], + aliases: ["Immutable"], + fields: { + name: { + validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXNamespacedName") + }, + value: { + optional: true, + validate: (0, _utils.assertNodeType)("JSXElement", "JSXFragment", "StringLiteral", "JSXExpressionContainer") + } + } + }); + defineType("JSXClosingElement", { + visitor: ["name"], + aliases: ["Immutable"], + fields: { + name: { + validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName") + } + } + }); + defineType("JSXElement", { + builder: ["openingElement", "closingElement", "children", "selfClosing"], + visitor: ["openingElement", "children", "closingElement"], + aliases: ["Immutable", "Expression"], + fields: Object.assign({ + openingElement: { + validate: (0, _utils.assertNodeType)("JSXOpeningElement") + }, + closingElement: { + optional: true, + validate: (0, _utils.assertNodeType)("JSXClosingElement") + }, + children: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment"))) + } + }, { + selfClosing: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + } + }) + }); + defineType("JSXEmptyExpression", {}); + defineType("JSXExpressionContainer", { + visitor: ["expression"], + aliases: ["Immutable"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression", "JSXEmptyExpression") + } + } + }); + defineType("JSXSpreadChild", { + visitor: ["expression"], + aliases: ["Immutable"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("JSXIdentifier", { + builder: ["name"], + fields: { + name: { + validate: (0, _utils.assertValueType)("string") + } + } + }); + defineType("JSXMemberExpression", { + visitor: ["object", "property"], + fields: { + object: { + validate: (0, _utils.assertNodeType)("JSXMemberExpression", "JSXIdentifier") + }, + property: { + validate: (0, _utils.assertNodeType)("JSXIdentifier") + } + } + }); + defineType("JSXNamespacedName", { + visitor: ["namespace", "name"], + fields: { + namespace: { + validate: (0, _utils.assertNodeType)("JSXIdentifier") + }, + name: { + validate: (0, _utils.assertNodeType)("JSXIdentifier") + } + } + }); + defineType("JSXOpeningElement", { + builder: ["name", "attributes", "selfClosing"], + visitor: ["name", "attributes"], + aliases: ["Immutable"], + fields: { + name: { + validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName") + }, + selfClosing: { + default: false + }, + attributes: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXAttribute", "JSXSpreadAttribute"))) + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), + optional: true + } + } + }); + defineType("JSXSpreadAttribute", { + visitor: ["argument"], + fields: { + argument: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + defineType("JSXText", { + aliases: ["Immutable"], + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + } + }); + defineType("JSXFragment", { + builder: ["openingFragment", "closingFragment", "children"], + visitor: ["openingFragment", "children", "closingFragment"], + aliases: ["Immutable", "Expression"], + fields: { + openingFragment: { + validate: (0, _utils.assertNodeType)("JSXOpeningFragment") + }, + closingFragment: { + validate: (0, _utils.assertNodeType)("JSXClosingFragment") + }, + children: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment"))) + } + } + }); + defineType("JSXOpeningFragment", { + aliases: ["Immutable"] + }); + defineType("JSXClosingFragment", { + aliases: ["Immutable"] + }); + } +}); + +// node_modules/@babel/types/lib/definitions/placeholders.js +var require_placeholders = __commonJS({ + "node_modules/@babel/types/lib/definitions/placeholders.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.PLACEHOLDERS_FLIPPED_ALIAS = exports.PLACEHOLDERS_ALIAS = exports.PLACEHOLDERS = void 0; + var _utils = require_utils(); + var PLACEHOLDERS = ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "ClassBody", "Pattern"]; + exports.PLACEHOLDERS = PLACEHOLDERS; + var PLACEHOLDERS_ALIAS = { + Declaration: ["Statement"], + Pattern: ["PatternLike", "LVal"] + }; + exports.PLACEHOLDERS_ALIAS = PLACEHOLDERS_ALIAS; + for (const type of PLACEHOLDERS) { + const alias = _utils.ALIAS_KEYS[type]; + if (alias != null && alias.length) + PLACEHOLDERS_ALIAS[type] = alias; + } + var PLACEHOLDERS_FLIPPED_ALIAS = {}; + exports.PLACEHOLDERS_FLIPPED_ALIAS = PLACEHOLDERS_FLIPPED_ALIAS; + Object.keys(PLACEHOLDERS_ALIAS).forEach((type) => { + PLACEHOLDERS_ALIAS[type].forEach((alias) => { + if (!Object.hasOwnProperty.call(PLACEHOLDERS_FLIPPED_ALIAS, alias)) { + PLACEHOLDERS_FLIPPED_ALIAS[alias] = []; + } + PLACEHOLDERS_FLIPPED_ALIAS[alias].push(type); + }); + }); + } +}); + +// node_modules/@babel/types/lib/definitions/misc.js +var require_misc = __commonJS({ + "node_modules/@babel/types/lib/definitions/misc.js"() { + "use strict"; + init_process(); + init_buffer(); + var _utils = require_utils(); + var _placeholders = require_placeholders(); + var defineType = (0, _utils.defineAliasedType)("Miscellaneous"); + { + defineType("Noop", { + visitor: [] + }); + } + defineType("Placeholder", { + visitor: [], + builder: ["expectedNode", "name"], + fields: { + name: { + validate: (0, _utils.assertNodeType)("Identifier") + }, + expectedNode: { + validate: (0, _utils.assertOneOf)(..._placeholders.PLACEHOLDERS) + } + } + }); + defineType("V8IntrinsicIdentifier", { + builder: ["name"], + fields: { + name: { + validate: (0, _utils.assertValueType)("string") + } + } + }); + } +}); + +// node_modules/@babel/types/lib/definitions/experimental.js +var require_experimental = __commonJS({ + "node_modules/@babel/types/lib/definitions/experimental.js"() { + "use strict"; + init_process(); + init_buffer(); + var _utils = require_utils(); + (0, _utils.default)("ArgumentPlaceholder", {}); + (0, _utils.default)("BindExpression", { + visitor: ["object", "callee"], + aliases: ["Expression"], + fields: !process.env.BABEL_TYPES_8_BREAKING ? { + object: { + validate: Object.assign(() => { + }, { + oneOfNodeTypes: ["Expression"] + }) + }, + callee: { + validate: Object.assign(() => { + }, { + oneOfNodeTypes: ["Expression"] + }) + } + } : { + object: { + validate: (0, _utils.assertNodeType)("Expression") + }, + callee: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + (0, _utils.default)("ImportAttribute", { + visitor: ["key", "value"], + fields: { + key: { + validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral") + }, + value: { + validate: (0, _utils.assertNodeType)("StringLiteral") + } + } + }); + (0, _utils.default)("Decorator", { + visitor: ["expression"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression") + } + } + }); + (0, _utils.default)("DoExpression", { + visitor: ["body"], + builder: ["body", "async"], + aliases: ["Expression"], + fields: { + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + }, + async: { + validate: (0, _utils.assertValueType)("boolean"), + default: false + } + } + }); + (0, _utils.default)("ExportDefaultSpecifier", { + visitor: ["exported"], + aliases: ["ModuleSpecifier"], + fields: { + exported: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } + }); + (0, _utils.default)("RecordExpression", { + visitor: ["properties"], + aliases: ["Expression"], + fields: { + properties: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ObjectProperty", "SpreadElement"))) + } + } + }); + (0, _utils.default)("TupleExpression", { + fields: { + elements: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement"))), + default: [] + } + }, + visitor: ["elements"], + aliases: ["Expression"] + }); + (0, _utils.default)("DecimalLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] + }); + (0, _utils.default)("ModuleExpression", { + visitor: ["body"], + fields: { + body: { + validate: (0, _utils.assertNodeType)("Program") + } + }, + aliases: ["Expression"] + }); + (0, _utils.default)("TopicReference", { + aliases: ["Expression"] + }); + (0, _utils.default)("PipelineTopicExpression", { + builder: ["expression"], + visitor: ["expression"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + aliases: ["Expression"] + }); + (0, _utils.default)("PipelineBareFunction", { + builder: ["callee"], + visitor: ["callee"], + fields: { + callee: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + aliases: ["Expression"] + }); + (0, _utils.default)("PipelinePrimaryTopicReference", { + aliases: ["Expression"] + }); + } +}); + +// node_modules/@babel/types/lib/definitions/typescript.js +var require_typescript = __commonJS({ + "node_modules/@babel/types/lib/definitions/typescript.js"() { + "use strict"; + init_process(); + init_buffer(); + var _utils = require_utils(); + var _core = require_core(); + var _is = require_is(); + var defineType = (0, _utils.defineAliasedType)("TypeScript"); + var bool = (0, _utils.assertValueType)("boolean"); + var tSFunctionTypeAnnotationCommon = () => ({ + returnType: { + validate: (0, _utils.assertNodeType)("TSTypeAnnotation", "Noop"), + optional: true + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TSTypeParameterDeclaration", "Noop"), + optional: true + } + }); + defineType("TSParameterProperty", { + aliases: ["LVal"], + visitor: ["parameter"], + fields: { + accessibility: { + validate: (0, _utils.assertOneOf)("public", "private", "protected"), + optional: true + }, + readonly: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + parameter: { + validate: (0, _utils.assertNodeType)("Identifier", "AssignmentPattern") + }, + override: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + } + } + }); + defineType("TSDeclareFunction", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "typeParameters", "params", "returnType"], + fields: Object.assign({}, (0, _core.functionDeclarationCommon)(), tSFunctionTypeAnnotationCommon()) + }); + defineType("TSDeclareMethod", { + visitor: ["decorators", "key", "typeParameters", "params", "returnType"], + fields: Object.assign({}, (0, _core.classMethodOrDeclareMethodCommon)(), tSFunctionTypeAnnotationCommon()) + }); + defineType("TSQualifiedName", { + aliases: ["TSEntityName"], + visitor: ["left", "right"], + fields: { + left: (0, _utils.validateType)("TSEntityName"), + right: (0, _utils.validateType)("Identifier") + } + }); + var signatureDeclarationCommon = () => ({ + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), + ["parameters"]: (0, _utils.validateArrayOfType)(["Identifier", "RestElement"]), + ["typeAnnotation"]: (0, _utils.validateOptionalType)("TSTypeAnnotation") + }); + var callConstructSignatureDeclaration = { + aliases: ["TSTypeElement"], + visitor: ["typeParameters", "parameters", "typeAnnotation"], + fields: signatureDeclarationCommon() + }; + defineType("TSCallSignatureDeclaration", callConstructSignatureDeclaration); + defineType("TSConstructSignatureDeclaration", callConstructSignatureDeclaration); + var namedTypeElementCommon = () => ({ + key: (0, _utils.validateType)("Expression"), + computed: { + default: false + }, + optional: (0, _utils.validateOptional)(bool) + }); + defineType("TSPropertySignature", { + aliases: ["TSTypeElement"], + visitor: ["key", "typeAnnotation", "initializer"], + fields: Object.assign({}, namedTypeElementCommon(), { + readonly: (0, _utils.validateOptional)(bool), + typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"), + initializer: (0, _utils.validateOptionalType)("Expression"), + kind: { + validate: (0, _utils.assertOneOf)("get", "set") + } + }) + }); + defineType("TSMethodSignature", { + aliases: ["TSTypeElement"], + visitor: ["key", "typeParameters", "parameters", "typeAnnotation"], + fields: Object.assign({}, signatureDeclarationCommon(), namedTypeElementCommon(), { + kind: { + validate: (0, _utils.assertOneOf)("method", "get", "set") + } + }) + }); + defineType("TSIndexSignature", { + aliases: ["TSTypeElement"], + visitor: ["parameters", "typeAnnotation"], + fields: { + readonly: (0, _utils.validateOptional)(bool), + static: (0, _utils.validateOptional)(bool), + parameters: (0, _utils.validateArrayOfType)("Identifier"), + typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation") + } + }); + var tsKeywordTypes = ["TSAnyKeyword", "TSBooleanKeyword", "TSBigIntKeyword", "TSIntrinsicKeyword", "TSNeverKeyword", "TSNullKeyword", "TSNumberKeyword", "TSObjectKeyword", "TSStringKeyword", "TSSymbolKeyword", "TSUndefinedKeyword", "TSUnknownKeyword", "TSVoidKeyword"]; + for (const type of tsKeywordTypes) { + defineType(type, { + aliases: ["TSType", "TSBaseType"], + visitor: [], + fields: {} + }); + } + defineType("TSThisType", { + aliases: ["TSType", "TSBaseType"], + visitor: [], + fields: {} + }); + var fnOrCtrBase = { + aliases: ["TSType"], + visitor: ["typeParameters", "parameters", "typeAnnotation"] + }; + defineType("TSFunctionType", Object.assign({}, fnOrCtrBase, { + fields: signatureDeclarationCommon() + })); + defineType("TSConstructorType", Object.assign({}, fnOrCtrBase, { + fields: Object.assign({}, signatureDeclarationCommon(), { + abstract: (0, _utils.validateOptional)(bool) + }) + })); + defineType("TSTypeReference", { + aliases: ["TSType"], + visitor: ["typeName", "typeParameters"], + fields: { + typeName: (0, _utils.validateType)("TSEntityName"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + } + }); + defineType("TSTypePredicate", { + aliases: ["TSType"], + visitor: ["parameterName", "typeAnnotation"], + builder: ["parameterName", "typeAnnotation", "asserts"], + fields: { + parameterName: (0, _utils.validateType)(["Identifier", "TSThisType"]), + typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"), + asserts: (0, _utils.validateOptional)(bool) + } + }); + defineType("TSTypeQuery", { + aliases: ["TSType"], + visitor: ["exprName", "typeParameters"], + fields: { + exprName: (0, _utils.validateType)(["TSEntityName", "TSImportType"]), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + } + }); + defineType("TSTypeLiteral", { + aliases: ["TSType"], + visitor: ["members"], + fields: { + members: (0, _utils.validateArrayOfType)("TSTypeElement") + } + }); + defineType("TSArrayType", { + aliases: ["TSType"], + visitor: ["elementType"], + fields: { + elementType: (0, _utils.validateType)("TSType") + } + }); + defineType("TSTupleType", { + aliases: ["TSType"], + visitor: ["elementTypes"], + fields: { + elementTypes: (0, _utils.validateArrayOfType)(["TSType", "TSNamedTupleMember"]) + } + }); + defineType("TSOptionalType", { + aliases: ["TSType"], + visitor: ["typeAnnotation"], + fields: { + typeAnnotation: (0, _utils.validateType)("TSType") + } + }); + defineType("TSRestType", { + aliases: ["TSType"], + visitor: ["typeAnnotation"], + fields: { + typeAnnotation: (0, _utils.validateType)("TSType") + } + }); + defineType("TSNamedTupleMember", { + visitor: ["label", "elementType"], + builder: ["label", "elementType", "optional"], + fields: { + label: (0, _utils.validateType)("Identifier"), + optional: { + validate: bool, + default: false + }, + elementType: (0, _utils.validateType)("TSType") + } + }); + var unionOrIntersection = { + aliases: ["TSType"], + visitor: ["types"], + fields: { + types: (0, _utils.validateArrayOfType)("TSType") + } + }; + defineType("TSUnionType", unionOrIntersection); + defineType("TSIntersectionType", unionOrIntersection); + defineType("TSConditionalType", { + aliases: ["TSType"], + visitor: ["checkType", "extendsType", "trueType", "falseType"], + fields: { + checkType: (0, _utils.validateType)("TSType"), + extendsType: (0, _utils.validateType)("TSType"), + trueType: (0, _utils.validateType)("TSType"), + falseType: (0, _utils.validateType)("TSType") + } + }); + defineType("TSInferType", { + aliases: ["TSType"], + visitor: ["typeParameter"], + fields: { + typeParameter: (0, _utils.validateType)("TSTypeParameter") + } + }); + defineType("TSParenthesizedType", { + aliases: ["TSType"], + visitor: ["typeAnnotation"], + fields: { + typeAnnotation: (0, _utils.validateType)("TSType") + } + }); + defineType("TSTypeOperator", { + aliases: ["TSType"], + visitor: ["typeAnnotation"], + fields: { + operator: (0, _utils.validate)((0, _utils.assertValueType)("string")), + typeAnnotation: (0, _utils.validateType)("TSType") + } + }); + defineType("TSIndexedAccessType", { + aliases: ["TSType"], + visitor: ["objectType", "indexType"], + fields: { + objectType: (0, _utils.validateType)("TSType"), + indexType: (0, _utils.validateType)("TSType") + } + }); + defineType("TSMappedType", { + aliases: ["TSType"], + visitor: ["typeParameter", "typeAnnotation", "nameType"], + fields: { + readonly: (0, _utils.validateOptional)((0, _utils.assertOneOf)(true, false, "+", "-")), + typeParameter: (0, _utils.validateType)("TSTypeParameter"), + optional: (0, _utils.validateOptional)((0, _utils.assertOneOf)(true, false, "+", "-")), + typeAnnotation: (0, _utils.validateOptionalType)("TSType"), + nameType: (0, _utils.validateOptionalType)("TSType") + } + }); + defineType("TSLiteralType", { + aliases: ["TSType", "TSBaseType"], + visitor: ["literal"], + fields: { + literal: { + validate: function() { + const unaryExpression = (0, _utils.assertNodeType)("NumericLiteral", "BigIntLiteral"); + const unaryOperator = (0, _utils.assertOneOf)("-"); + const literal = (0, _utils.assertNodeType)("NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiteral"); + function validator(parent, key, node2) { + if ((0, _is.default)("UnaryExpression", node2)) { + unaryOperator(node2, "operator", node2.operator); + unaryExpression(node2, "argument", node2.argument); + } else { + literal(parent, key, node2); + } + } + validator.oneOfNodeTypes = ["NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiteral", "UnaryExpression"]; + return validator; + }() + } + } + }); + defineType("TSExpressionWithTypeArguments", { + aliases: ["TSType"], + visitor: ["expression", "typeParameters"], + fields: { + expression: (0, _utils.validateType)("TSEntityName"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + } + }); + defineType("TSInterfaceDeclaration", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "typeParameters", "extends", "body"], + fields: { + declare: (0, _utils.validateOptional)(bool), + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), + extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("TSExpressionWithTypeArguments")), + body: (0, _utils.validateType)("TSInterfaceBody") + } + }); + defineType("TSInterfaceBody", { + visitor: ["body"], + fields: { + body: (0, _utils.validateArrayOfType)("TSTypeElement") + } + }); + defineType("TSTypeAliasDeclaration", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "typeParameters", "typeAnnotation"], + fields: { + declare: (0, _utils.validateOptional)(bool), + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), + typeAnnotation: (0, _utils.validateType)("TSType") + } + }); + defineType("TSInstantiationExpression", { + aliases: ["Expression"], + visitor: ["expression", "typeParameters"], + fields: { + expression: (0, _utils.validateType)("Expression"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + } + }); + var TSTypeExpression = { + aliases: ["Expression", "LVal", "PatternLike"], + visitor: ["expression", "typeAnnotation"], + fields: { + expression: (0, _utils.validateType)("Expression"), + typeAnnotation: (0, _utils.validateType)("TSType") + } + }; + defineType("TSAsExpression", TSTypeExpression); + defineType("TSSatisfiesExpression", TSTypeExpression); + defineType("TSTypeAssertion", { + aliases: ["Expression", "LVal", "PatternLike"], + visitor: ["typeAnnotation", "expression"], + fields: { + typeAnnotation: (0, _utils.validateType)("TSType"), + expression: (0, _utils.validateType)("Expression") + } + }); + defineType("TSEnumDeclaration", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "members"], + fields: { + declare: (0, _utils.validateOptional)(bool), + const: (0, _utils.validateOptional)(bool), + id: (0, _utils.validateType)("Identifier"), + members: (0, _utils.validateArrayOfType)("TSEnumMember"), + initializer: (0, _utils.validateOptionalType)("Expression") + } + }); + defineType("TSEnumMember", { + visitor: ["id", "initializer"], + fields: { + id: (0, _utils.validateType)(["Identifier", "StringLiteral"]), + initializer: (0, _utils.validateOptionalType)("Expression") + } + }); + defineType("TSModuleDeclaration", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "body"], + fields: { + declare: (0, _utils.validateOptional)(bool), + global: (0, _utils.validateOptional)(bool), + id: (0, _utils.validateType)(["Identifier", "StringLiteral"]), + body: (0, _utils.validateType)(["TSModuleBlock", "TSModuleDeclaration"]) + } + }); + defineType("TSModuleBlock", { + aliases: ["Scopable", "Block", "BlockParent", "FunctionParent"], + visitor: ["body"], + fields: { + body: (0, _utils.validateArrayOfType)("Statement") + } + }); + defineType("TSImportType", { + aliases: ["TSType"], + visitor: ["argument", "qualifier", "typeParameters"], + fields: { + argument: (0, _utils.validateType)("StringLiteral"), + qualifier: (0, _utils.validateOptionalType)("TSEntityName"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + } + }); + defineType("TSImportEqualsDeclaration", { + aliases: ["Statement"], + visitor: ["id", "moduleReference"], + fields: { + isExport: (0, _utils.validate)(bool), + id: (0, _utils.validateType)("Identifier"), + moduleReference: (0, _utils.validateType)(["TSEntityName", "TSExternalModuleReference"]), + importKind: { + validate: (0, _utils.assertOneOf)("type", "value"), + optional: true + } + } + }); + defineType("TSExternalModuleReference", { + visitor: ["expression"], + fields: { + expression: (0, _utils.validateType)("StringLiteral") + } + }); + defineType("TSNonNullExpression", { + aliases: ["Expression", "LVal", "PatternLike"], + visitor: ["expression"], + fields: { + expression: (0, _utils.validateType)("Expression") + } + }); + defineType("TSExportAssignment", { + aliases: ["Statement"], + visitor: ["expression"], + fields: { + expression: (0, _utils.validateType)("Expression") + } + }); + defineType("TSNamespaceExportDeclaration", { + aliases: ["Statement"], + visitor: ["id"], + fields: { + id: (0, _utils.validateType)("Identifier") + } + }); + defineType("TSTypeAnnotation", { + visitor: ["typeAnnotation"], + fields: { + typeAnnotation: { + validate: (0, _utils.assertNodeType)("TSType") + } + } + }); + defineType("TSTypeParameterInstantiation", { + visitor: ["params"], + fields: { + params: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSType"))) + } + } + }); + defineType("TSTypeParameterDeclaration", { + visitor: ["params"], + fields: { + params: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSTypeParameter"))) + } + } + }); + defineType("TSTypeParameter", { + builder: ["constraint", "default", "name"], + visitor: ["constraint", "default"], + fields: { + name: { + validate: (0, _utils.assertValueType)("string") + }, + in: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + out: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + const: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + constraint: { + validate: (0, _utils.assertNodeType)("TSType"), + optional: true + }, + default: { + validate: (0, _utils.assertNodeType)("TSType"), + optional: true + } + } + }); + } +}); + +// node_modules/@babel/types/lib/definitions/deprecated-aliases.js +var require_deprecated_aliases = __commonJS({ + "node_modules/@babel/types/lib/definitions/deprecated-aliases.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.DEPRECATED_ALIASES = void 0; + var DEPRECATED_ALIASES = { + ModuleDeclaration: "ImportOrExportDeclaration" + }; + exports.DEPRECATED_ALIASES = DEPRECATED_ALIASES; + } +}); + +// node_modules/@babel/types/lib/definitions/index.js +var require_definitions = __commonJS({ + "node_modules/@babel/types/lib/definitions/index.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + Object.defineProperty(exports, "ALIAS_KEYS", { + enumerable: true, + get: function() { + return _utils.ALIAS_KEYS; + } + }); + Object.defineProperty(exports, "BUILDER_KEYS", { + enumerable: true, + get: function() { + return _utils.BUILDER_KEYS; + } + }); + Object.defineProperty(exports, "DEPRECATED_ALIASES", { + enumerable: true, + get: function() { + return _deprecatedAliases.DEPRECATED_ALIASES; + } + }); + Object.defineProperty(exports, "DEPRECATED_KEYS", { + enumerable: true, + get: function() { + return _utils.DEPRECATED_KEYS; + } + }); + Object.defineProperty(exports, "FLIPPED_ALIAS_KEYS", { + enumerable: true, + get: function() { + return _utils.FLIPPED_ALIAS_KEYS; + } + }); + Object.defineProperty(exports, "NODE_FIELDS", { + enumerable: true, + get: function() { + return _utils.NODE_FIELDS; + } + }); + Object.defineProperty(exports, "NODE_PARENT_VALIDATIONS", { + enumerable: true, + get: function() { + return _utils.NODE_PARENT_VALIDATIONS; + } + }); + Object.defineProperty(exports, "PLACEHOLDERS", { + enumerable: true, + get: function() { + return _placeholders.PLACEHOLDERS; + } + }); + Object.defineProperty(exports, "PLACEHOLDERS_ALIAS", { + enumerable: true, + get: function() { + return _placeholders.PLACEHOLDERS_ALIAS; + } + }); + Object.defineProperty(exports, "PLACEHOLDERS_FLIPPED_ALIAS", { + enumerable: true, + get: function() { + return _placeholders.PLACEHOLDERS_FLIPPED_ALIAS; + } + }); + exports.TYPES = void 0; + Object.defineProperty(exports, "VISITOR_KEYS", { + enumerable: true, + get: function() { + return _utils.VISITOR_KEYS; + } + }); + var _toFastProperties = require_to_fast_properties(); + require_core(); + require_flow(); + require_jsx(); + require_misc(); + require_experimental(); + require_typescript(); + var _utils = require_utils(); + var _placeholders = require_placeholders(); + var _deprecatedAliases = require_deprecated_aliases(); + Object.keys(_deprecatedAliases.DEPRECATED_ALIASES).forEach((deprecatedAlias) => { + _utils.FLIPPED_ALIAS_KEYS[deprecatedAlias] = _utils.FLIPPED_ALIAS_KEYS[_deprecatedAliases.DEPRECATED_ALIASES[deprecatedAlias]]; + }); + _toFastProperties(_utils.VISITOR_KEYS); + _toFastProperties(_utils.ALIAS_KEYS); + _toFastProperties(_utils.FLIPPED_ALIAS_KEYS); + _toFastProperties(_utils.NODE_FIELDS); + _toFastProperties(_utils.BUILDER_KEYS); + _toFastProperties(_utils.DEPRECATED_KEYS); + _toFastProperties(_placeholders.PLACEHOLDERS_ALIAS); + _toFastProperties(_placeholders.PLACEHOLDERS_FLIPPED_ALIAS); + var TYPES = [].concat(Object.keys(_utils.VISITOR_KEYS), Object.keys(_utils.FLIPPED_ALIAS_KEYS), Object.keys(_utils.DEPRECATED_KEYS)); + exports.TYPES = TYPES; + } +}); + +// node_modules/@babel/types/lib/validators/validate.js +var require_validate = __commonJS({ + "node_modules/@babel/types/lib/validators/validate.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = validate2; + exports.validateChild = validateChild; + exports.validateField = validateField; + var _definitions = require_definitions(); + function validate2(node2, key, val) { + if (!node2) + return; + const fields = _definitions.NODE_FIELDS[node2.type]; + if (!fields) + return; + const field = fields[key]; + validateField(node2, key, val, field); + validateChild(node2, key, val); + } + function validateField(node2, key, val, field) { + if (!(field != null && field.validate)) + return; + if (field.optional && val == null) + return; + field.validate(node2, key, val); + } + function validateChild(node2, key, val) { + if (val == null) + return; + const validate3 = _definitions.NODE_PARENT_VALIDATIONS[val.type]; + if (!validate3) + return; + validate3(node2, key, val); + } + } +}); + +// node_modules/@babel/types/lib/builders/validateNode.js +var require_validateNode = __commonJS({ + "node_modules/@babel/types/lib/builders/validateNode.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = validateNode; + var _validate = require_validate(); + var _ = require_lib3(); + function validateNode(node2) { + const keys = _.BUILDER_KEYS[node2.type]; + for (const key of keys) { + (0, _validate.default)(node2, key, node2[key]); + } + return node2; + } + } +}); + +// node_modules/@babel/types/lib/builders/generated/index.js +var require_generated2 = __commonJS({ + "node_modules/@babel/types/lib/builders/generated/index.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.anyTypeAnnotation = anyTypeAnnotation; + exports.argumentPlaceholder = argumentPlaceholder; + exports.arrayExpression = arrayExpression; + exports.arrayPattern = arrayPattern; + exports.arrayTypeAnnotation = arrayTypeAnnotation; + exports.arrowFunctionExpression = arrowFunctionExpression; + exports.assignmentExpression = assignmentExpression; + exports.assignmentPattern = assignmentPattern; + exports.awaitExpression = awaitExpression; + exports.bigIntLiteral = bigIntLiteral; + exports.binaryExpression = binaryExpression; + exports.bindExpression = bindExpression; + exports.blockStatement = blockStatement; + exports.booleanLiteral = booleanLiteral; + exports.booleanLiteralTypeAnnotation = booleanLiteralTypeAnnotation; + exports.booleanTypeAnnotation = booleanTypeAnnotation; + exports.breakStatement = breakStatement; + exports.callExpression = callExpression; + exports.catchClause = catchClause; + exports.classAccessorProperty = classAccessorProperty; + exports.classBody = classBody; + exports.classDeclaration = classDeclaration; + exports.classExpression = classExpression; + exports.classImplements = classImplements; + exports.classMethod = classMethod; + exports.classPrivateMethod = classPrivateMethod; + exports.classPrivateProperty = classPrivateProperty; + exports.classProperty = classProperty; + exports.conditionalExpression = conditionalExpression; + exports.continueStatement = continueStatement; + exports.debuggerStatement = debuggerStatement; + exports.decimalLiteral = decimalLiteral; + exports.declareClass = declareClass; + exports.declareExportAllDeclaration = declareExportAllDeclaration; + exports.declareExportDeclaration = declareExportDeclaration; + exports.declareFunction = declareFunction; + exports.declareInterface = declareInterface; + exports.declareModule = declareModule; + exports.declareModuleExports = declareModuleExports; + exports.declareOpaqueType = declareOpaqueType; + exports.declareTypeAlias = declareTypeAlias; + exports.declareVariable = declareVariable; + exports.declaredPredicate = declaredPredicate; + exports.decorator = decorator; + exports.directive = directive; + exports.directiveLiteral = directiveLiteral; + exports.doExpression = doExpression; + exports.doWhileStatement = doWhileStatement; + exports.emptyStatement = emptyStatement; + exports.emptyTypeAnnotation = emptyTypeAnnotation; + exports.enumBooleanBody = enumBooleanBody; + exports.enumBooleanMember = enumBooleanMember; + exports.enumDeclaration = enumDeclaration; + exports.enumDefaultedMember = enumDefaultedMember; + exports.enumNumberBody = enumNumberBody; + exports.enumNumberMember = enumNumberMember; + exports.enumStringBody = enumStringBody; + exports.enumStringMember = enumStringMember; + exports.enumSymbolBody = enumSymbolBody; + exports.existsTypeAnnotation = existsTypeAnnotation; + exports.exportAllDeclaration = exportAllDeclaration; + exports.exportDefaultDeclaration = exportDefaultDeclaration; + exports.exportDefaultSpecifier = exportDefaultSpecifier; + exports.exportNamedDeclaration = exportNamedDeclaration; + exports.exportNamespaceSpecifier = exportNamespaceSpecifier; + exports.exportSpecifier = exportSpecifier; + exports.expressionStatement = expressionStatement; + exports.file = file; + exports.forInStatement = forInStatement; + exports.forOfStatement = forOfStatement; + exports.forStatement = forStatement; + exports.functionDeclaration = functionDeclaration; + exports.functionExpression = functionExpression; + exports.functionTypeAnnotation = functionTypeAnnotation; + exports.functionTypeParam = functionTypeParam; + exports.genericTypeAnnotation = genericTypeAnnotation; + exports.identifier = identifier2; + exports.ifStatement = ifStatement; + exports.import = _import; + exports.importAttribute = importAttribute; + exports.importDeclaration = importDeclaration; + exports.importDefaultSpecifier = importDefaultSpecifier; + exports.importNamespaceSpecifier = importNamespaceSpecifier; + exports.importSpecifier = importSpecifier; + exports.indexedAccessType = indexedAccessType; + exports.inferredPredicate = inferredPredicate; + exports.interfaceDeclaration = interfaceDeclaration; + exports.interfaceExtends = interfaceExtends; + exports.interfaceTypeAnnotation = interfaceTypeAnnotation; + exports.interpreterDirective = interpreterDirective; + exports.intersectionTypeAnnotation = intersectionTypeAnnotation; + exports.jSXAttribute = exports.jsxAttribute = jsxAttribute; + exports.jSXClosingElement = exports.jsxClosingElement = jsxClosingElement; + exports.jSXClosingFragment = exports.jsxClosingFragment = jsxClosingFragment; + exports.jSXElement = exports.jsxElement = jsxElement; + exports.jSXEmptyExpression = exports.jsxEmptyExpression = jsxEmptyExpression; + exports.jSXExpressionContainer = exports.jsxExpressionContainer = jsxExpressionContainer; + exports.jSXFragment = exports.jsxFragment = jsxFragment; + exports.jSXIdentifier = exports.jsxIdentifier = jsxIdentifier; + exports.jSXMemberExpression = exports.jsxMemberExpression = jsxMemberExpression; + exports.jSXNamespacedName = exports.jsxNamespacedName = jsxNamespacedName; + exports.jSXOpeningElement = exports.jsxOpeningElement = jsxOpeningElement; + exports.jSXOpeningFragment = exports.jsxOpeningFragment = jsxOpeningFragment; + exports.jSXSpreadAttribute = exports.jsxSpreadAttribute = jsxSpreadAttribute; + exports.jSXSpreadChild = exports.jsxSpreadChild = jsxSpreadChild; + exports.jSXText = exports.jsxText = jsxText; + exports.labeledStatement = labeledStatement; + exports.logicalExpression = logicalExpression; + exports.memberExpression = memberExpression; + exports.metaProperty = metaProperty; + exports.mixedTypeAnnotation = mixedTypeAnnotation; + exports.moduleExpression = moduleExpression; + exports.newExpression = newExpression; + exports.noop = noop2; + exports.nullLiteral = nullLiteral; + exports.nullLiteralTypeAnnotation = nullLiteralTypeAnnotation; + exports.nullableTypeAnnotation = nullableTypeAnnotation; + exports.numberLiteral = NumberLiteral; + exports.numberLiteralTypeAnnotation = numberLiteralTypeAnnotation; + exports.numberTypeAnnotation = numberTypeAnnotation; + exports.numericLiteral = numericLiteral; + exports.objectExpression = objectExpression; + exports.objectMethod = objectMethod; + exports.objectPattern = objectPattern; + exports.objectProperty = objectProperty; + exports.objectTypeAnnotation = objectTypeAnnotation; + exports.objectTypeCallProperty = objectTypeCallProperty; + exports.objectTypeIndexer = objectTypeIndexer; + exports.objectTypeInternalSlot = objectTypeInternalSlot; + exports.objectTypeProperty = objectTypeProperty; + exports.objectTypeSpreadProperty = objectTypeSpreadProperty; + exports.opaqueType = opaqueType; + exports.optionalCallExpression = optionalCallExpression; + exports.optionalIndexedAccessType = optionalIndexedAccessType; + exports.optionalMemberExpression = optionalMemberExpression; + exports.parenthesizedExpression = parenthesizedExpression; + exports.pipelineBareFunction = pipelineBareFunction; + exports.pipelinePrimaryTopicReference = pipelinePrimaryTopicReference; + exports.pipelineTopicExpression = pipelineTopicExpression; + exports.placeholder = placeholder; + exports.privateName = privateName; + exports.program = program; + exports.qualifiedTypeIdentifier = qualifiedTypeIdentifier; + exports.recordExpression = recordExpression; + exports.regExpLiteral = regExpLiteral; + exports.regexLiteral = RegexLiteral; + exports.restElement = restElement; + exports.restProperty = RestProperty; + exports.returnStatement = returnStatement; + exports.sequenceExpression = sequenceExpression; + exports.spreadElement = spreadElement; + exports.spreadProperty = SpreadProperty; + exports.staticBlock = staticBlock; + exports.stringLiteral = stringLiteral; + exports.stringLiteralTypeAnnotation = stringLiteralTypeAnnotation; + exports.stringTypeAnnotation = stringTypeAnnotation; + exports.super = _super; + exports.switchCase = switchCase; + exports.switchStatement = switchStatement; + exports.symbolTypeAnnotation = symbolTypeAnnotation; + exports.taggedTemplateExpression = taggedTemplateExpression; + exports.templateElement = templateElement; + exports.templateLiteral = templateLiteral; + exports.thisExpression = thisExpression; + exports.thisTypeAnnotation = thisTypeAnnotation; + exports.throwStatement = throwStatement; + exports.topicReference = topicReference; + exports.tryStatement = tryStatement; + exports.tSAnyKeyword = exports.tsAnyKeyword = tsAnyKeyword; + exports.tSArrayType = exports.tsArrayType = tsArrayType; + exports.tSAsExpression = exports.tsAsExpression = tsAsExpression; + exports.tSBigIntKeyword = exports.tsBigIntKeyword = tsBigIntKeyword; + exports.tSBooleanKeyword = exports.tsBooleanKeyword = tsBooleanKeyword; + exports.tSCallSignatureDeclaration = exports.tsCallSignatureDeclaration = tsCallSignatureDeclaration; + exports.tSConditionalType = exports.tsConditionalType = tsConditionalType; + exports.tSConstructSignatureDeclaration = exports.tsConstructSignatureDeclaration = tsConstructSignatureDeclaration; + exports.tSConstructorType = exports.tsConstructorType = tsConstructorType; + exports.tSDeclareFunction = exports.tsDeclareFunction = tsDeclareFunction; + exports.tSDeclareMethod = exports.tsDeclareMethod = tsDeclareMethod; + exports.tSEnumDeclaration = exports.tsEnumDeclaration = tsEnumDeclaration; + exports.tSEnumMember = exports.tsEnumMember = tsEnumMember; + exports.tSExportAssignment = exports.tsExportAssignment = tsExportAssignment; + exports.tSExpressionWithTypeArguments = exports.tsExpressionWithTypeArguments = tsExpressionWithTypeArguments; + exports.tSExternalModuleReference = exports.tsExternalModuleReference = tsExternalModuleReference; + exports.tSFunctionType = exports.tsFunctionType = tsFunctionType; + exports.tSImportEqualsDeclaration = exports.tsImportEqualsDeclaration = tsImportEqualsDeclaration; + exports.tSImportType = exports.tsImportType = tsImportType; + exports.tSIndexSignature = exports.tsIndexSignature = tsIndexSignature; + exports.tSIndexedAccessType = exports.tsIndexedAccessType = tsIndexedAccessType; + exports.tSInferType = exports.tsInferType = tsInferType; + exports.tSInstantiationExpression = exports.tsInstantiationExpression = tsInstantiationExpression; + exports.tSInterfaceBody = exports.tsInterfaceBody = tsInterfaceBody; + exports.tSInterfaceDeclaration = exports.tsInterfaceDeclaration = tsInterfaceDeclaration; + exports.tSIntersectionType = exports.tsIntersectionType = tsIntersectionType; + exports.tSIntrinsicKeyword = exports.tsIntrinsicKeyword = tsIntrinsicKeyword; + exports.tSLiteralType = exports.tsLiteralType = tsLiteralType; + exports.tSMappedType = exports.tsMappedType = tsMappedType; + exports.tSMethodSignature = exports.tsMethodSignature = tsMethodSignature; + exports.tSModuleBlock = exports.tsModuleBlock = tsModuleBlock; + exports.tSModuleDeclaration = exports.tsModuleDeclaration = tsModuleDeclaration; + exports.tSNamedTupleMember = exports.tsNamedTupleMember = tsNamedTupleMember; + exports.tSNamespaceExportDeclaration = exports.tsNamespaceExportDeclaration = tsNamespaceExportDeclaration; + exports.tSNeverKeyword = exports.tsNeverKeyword = tsNeverKeyword; + exports.tSNonNullExpression = exports.tsNonNullExpression = tsNonNullExpression; + exports.tSNullKeyword = exports.tsNullKeyword = tsNullKeyword; + exports.tSNumberKeyword = exports.tsNumberKeyword = tsNumberKeyword; + exports.tSObjectKeyword = exports.tsObjectKeyword = tsObjectKeyword; + exports.tSOptionalType = exports.tsOptionalType = tsOptionalType; + exports.tSParameterProperty = exports.tsParameterProperty = tsParameterProperty; + exports.tSParenthesizedType = exports.tsParenthesizedType = tsParenthesizedType; + exports.tSPropertySignature = exports.tsPropertySignature = tsPropertySignature; + exports.tSQualifiedName = exports.tsQualifiedName = tsQualifiedName; + exports.tSRestType = exports.tsRestType = tsRestType; + exports.tSSatisfiesExpression = exports.tsSatisfiesExpression = tsSatisfiesExpression; + exports.tSStringKeyword = exports.tsStringKeyword = tsStringKeyword; + exports.tSSymbolKeyword = exports.tsSymbolKeyword = tsSymbolKeyword; + exports.tSThisType = exports.tsThisType = tsThisType; + exports.tSTupleType = exports.tsTupleType = tsTupleType; + exports.tSTypeAliasDeclaration = exports.tsTypeAliasDeclaration = tsTypeAliasDeclaration; + exports.tSTypeAnnotation = exports.tsTypeAnnotation = tsTypeAnnotation; + exports.tSTypeAssertion = exports.tsTypeAssertion = tsTypeAssertion; + exports.tSTypeLiteral = exports.tsTypeLiteral = tsTypeLiteral; + exports.tSTypeOperator = exports.tsTypeOperator = tsTypeOperator; + exports.tSTypeParameter = exports.tsTypeParameter = tsTypeParameter; + exports.tSTypeParameterDeclaration = exports.tsTypeParameterDeclaration = tsTypeParameterDeclaration; + exports.tSTypeParameterInstantiation = exports.tsTypeParameterInstantiation = tsTypeParameterInstantiation; + exports.tSTypePredicate = exports.tsTypePredicate = tsTypePredicate; + exports.tSTypeQuery = exports.tsTypeQuery = tsTypeQuery; + exports.tSTypeReference = exports.tsTypeReference = tsTypeReference; + exports.tSUndefinedKeyword = exports.tsUndefinedKeyword = tsUndefinedKeyword; + exports.tSUnionType = exports.tsUnionType = tsUnionType; + exports.tSUnknownKeyword = exports.tsUnknownKeyword = tsUnknownKeyword; + exports.tSVoidKeyword = exports.tsVoidKeyword = tsVoidKeyword; + exports.tupleExpression = tupleExpression; + exports.tupleTypeAnnotation = tupleTypeAnnotation; + exports.typeAlias = typeAlias; + exports.typeAnnotation = typeAnnotation; + exports.typeCastExpression = typeCastExpression; + exports.typeParameter = typeParameter; + exports.typeParameterDeclaration = typeParameterDeclaration; + exports.typeParameterInstantiation = typeParameterInstantiation; + exports.typeofTypeAnnotation = typeofTypeAnnotation; + exports.unaryExpression = unaryExpression; + exports.unionTypeAnnotation = unionTypeAnnotation; + exports.updateExpression = updateExpression; + exports.v8IntrinsicIdentifier = v8IntrinsicIdentifier; + exports.variableDeclaration = variableDeclaration; + exports.variableDeclarator = variableDeclarator; + exports.variance = variance; + exports.voidTypeAnnotation = voidTypeAnnotation; + exports.whileStatement = whileStatement; + exports.withStatement = withStatement; + exports.yieldExpression = yieldExpression; + var _validateNode = require_validateNode(); + var _deprecationWarning = require_deprecationWarning(); + function arrayExpression(elements = []) { + return (0, _validateNode.default)({ + type: "ArrayExpression", + elements + }); + } + function assignmentExpression(operator, left, right) { + return (0, _validateNode.default)({ + type: "AssignmentExpression", + operator, + left, + right + }); + } + function binaryExpression(operator, left, right) { + return (0, _validateNode.default)({ + type: "BinaryExpression", + operator, + left, + right + }); + } + function interpreterDirective(value) { + return (0, _validateNode.default)({ + type: "InterpreterDirective", + value + }); + } + function directive(value) { + return (0, _validateNode.default)({ + type: "Directive", + value + }); + } + function directiveLiteral(value) { + return (0, _validateNode.default)({ + type: "DirectiveLiteral", + value + }); + } + function blockStatement(body, directives = []) { + return (0, _validateNode.default)({ + type: "BlockStatement", + body, + directives + }); + } + function breakStatement(label = null) { + return (0, _validateNode.default)({ + type: "BreakStatement", + label + }); + } + function callExpression(callee, _arguments) { + return (0, _validateNode.default)({ + type: "CallExpression", + callee, + arguments: _arguments + }); + } + function catchClause(param = null, body) { + return (0, _validateNode.default)({ + type: "CatchClause", + param, + body + }); + } + function conditionalExpression(test, consequent, alternate) { + return (0, _validateNode.default)({ + type: "ConditionalExpression", + test, + consequent, + alternate + }); + } + function continueStatement(label = null) { + return (0, _validateNode.default)({ + type: "ContinueStatement", + label + }); + } + function debuggerStatement() { + return { + type: "DebuggerStatement" + }; + } + function doWhileStatement(test, body) { + return (0, _validateNode.default)({ + type: "DoWhileStatement", + test, + body + }); + } + function emptyStatement() { + return { + type: "EmptyStatement" + }; + } + function expressionStatement(expression) { + return (0, _validateNode.default)({ + type: "ExpressionStatement", + expression + }); + } + function file(program2, comments = null, tokens = null) { + return (0, _validateNode.default)({ + type: "File", + program: program2, + comments, + tokens + }); + } + function forInStatement(left, right, body) { + return (0, _validateNode.default)({ + type: "ForInStatement", + left, + right, + body + }); + } + function forStatement(init3 = null, test = null, update = null, body) { + return (0, _validateNode.default)({ + type: "ForStatement", + init: init3, + test, + update, + body + }); + } + function functionDeclaration(id = null, params, body, generator = false, async = false) { + return (0, _validateNode.default)({ + type: "FunctionDeclaration", + id, + params, + body, + generator, + async + }); + } + function functionExpression(id = null, params, body, generator = false, async = false) { + return (0, _validateNode.default)({ + type: "FunctionExpression", + id, + params, + body, + generator, + async + }); + } + function identifier2(name) { + return (0, _validateNode.default)({ + type: "Identifier", + name + }); + } + function ifStatement(test, consequent, alternate = null) { + return (0, _validateNode.default)({ + type: "IfStatement", + test, + consequent, + alternate + }); + } + function labeledStatement(label, body) { + return (0, _validateNode.default)({ + type: "LabeledStatement", + label, + body + }); + } + function stringLiteral(value) { + return (0, _validateNode.default)({ + type: "StringLiteral", + value + }); + } + function numericLiteral(value) { + return (0, _validateNode.default)({ + type: "NumericLiteral", + value + }); + } + function nullLiteral() { + return { + type: "NullLiteral" + }; + } + function booleanLiteral(value) { + return (0, _validateNode.default)({ + type: "BooleanLiteral", + value + }); + } + function regExpLiteral(pattern, flags = "") { + return (0, _validateNode.default)({ + type: "RegExpLiteral", + pattern, + flags + }); + } + function logicalExpression(operator, left, right) { + return (0, _validateNode.default)({ + type: "LogicalExpression", + operator, + left, + right + }); + } + function memberExpression(object, property, computed = false, optional = null) { + return (0, _validateNode.default)({ + type: "MemberExpression", + object, + property, + computed, + optional + }); + } + function newExpression(callee, _arguments) { + return (0, _validateNode.default)({ + type: "NewExpression", + callee, + arguments: _arguments + }); + } + function program(body, directives = [], sourceType = "script", interpreter = null) { + return (0, _validateNode.default)({ + type: "Program", + body, + directives, + sourceType, + interpreter, + sourceFile: null + }); + } + function objectExpression(properties) { + return (0, _validateNode.default)({ + type: "ObjectExpression", + properties + }); + } + function objectMethod(kind = "method", key, params, body, computed = false, generator = false, async = false) { + return (0, _validateNode.default)({ + type: "ObjectMethod", + kind, + key, + params, + body, + computed, + generator, + async + }); + } + function objectProperty(key, value, computed = false, shorthand = false, decorators = null) { + return (0, _validateNode.default)({ + type: "ObjectProperty", + key, + value, + computed, + shorthand, + decorators + }); + } + function restElement(argument) { + return (0, _validateNode.default)({ + type: "RestElement", + argument + }); + } + function returnStatement(argument = null) { + return (0, _validateNode.default)({ + type: "ReturnStatement", + argument + }); + } + function sequenceExpression(expressions) { + return (0, _validateNode.default)({ + type: "SequenceExpression", + expressions + }); + } + function parenthesizedExpression(expression) { + return (0, _validateNode.default)({ + type: "ParenthesizedExpression", + expression + }); + } + function switchCase(test = null, consequent) { + return (0, _validateNode.default)({ + type: "SwitchCase", + test, + consequent + }); + } + function switchStatement(discriminant, cases) { + return (0, _validateNode.default)({ + type: "SwitchStatement", + discriminant, + cases + }); + } + function thisExpression() { + return { + type: "ThisExpression" + }; + } + function throwStatement(argument) { + return (0, _validateNode.default)({ + type: "ThrowStatement", + argument + }); + } + function tryStatement(block, handler = null, finalizer = null) { + return (0, _validateNode.default)({ + type: "TryStatement", + block, + handler, + finalizer + }); + } + function unaryExpression(operator, argument, prefix2 = true) { + return (0, _validateNode.default)({ + type: "UnaryExpression", + operator, + argument, + prefix: prefix2 + }); + } + function updateExpression(operator, argument, prefix2 = false) { + return (0, _validateNode.default)({ + type: "UpdateExpression", + operator, + argument, + prefix: prefix2 + }); + } + function variableDeclaration(kind, declarations) { + return (0, _validateNode.default)({ + type: "VariableDeclaration", + kind, + declarations + }); + } + function variableDeclarator(id, init3 = null) { + return (0, _validateNode.default)({ + type: "VariableDeclarator", + id, + init: init3 + }); + } + function whileStatement(test, body) { + return (0, _validateNode.default)({ + type: "WhileStatement", + test, + body + }); + } + function withStatement(object, body) { + return (0, _validateNode.default)({ + type: "WithStatement", + object, + body + }); + } + function assignmentPattern(left, right) { + return (0, _validateNode.default)({ + type: "AssignmentPattern", + left, + right + }); + } + function arrayPattern(elements) { + return (0, _validateNode.default)({ + type: "ArrayPattern", + elements + }); + } + function arrowFunctionExpression(params, body, async = false) { + return (0, _validateNode.default)({ + type: "ArrowFunctionExpression", + params, + body, + async, + expression: null + }); + } + function classBody(body) { + return (0, _validateNode.default)({ + type: "ClassBody", + body + }); + } + function classExpression(id = null, superClass = null, body, decorators = null) { + return (0, _validateNode.default)({ + type: "ClassExpression", + id, + superClass, + body, + decorators + }); + } + function classDeclaration(id, superClass = null, body, decorators = null) { + return (0, _validateNode.default)({ + type: "ClassDeclaration", + id, + superClass, + body, + decorators + }); + } + function exportAllDeclaration(source) { + return (0, _validateNode.default)({ + type: "ExportAllDeclaration", + source + }); + } + function exportDefaultDeclaration(declaration2) { + return (0, _validateNode.default)({ + type: "ExportDefaultDeclaration", + declaration: declaration2 + }); + } + function exportNamedDeclaration(declaration2 = null, specifiers = [], source = null) { + return (0, _validateNode.default)({ + type: "ExportNamedDeclaration", + declaration: declaration2, + specifiers, + source + }); + } + function exportSpecifier(local, exported) { + return (0, _validateNode.default)({ + type: "ExportSpecifier", + local, + exported + }); + } + function forOfStatement(left, right, body, _await = false) { + return (0, _validateNode.default)({ + type: "ForOfStatement", + left, + right, + body, + await: _await + }); + } + function importDeclaration(specifiers, source) { + return (0, _validateNode.default)({ + type: "ImportDeclaration", + specifiers, + source + }); + } + function importDefaultSpecifier(local) { + return (0, _validateNode.default)({ + type: "ImportDefaultSpecifier", + local + }); + } + function importNamespaceSpecifier(local) { + return (0, _validateNode.default)({ + type: "ImportNamespaceSpecifier", + local + }); + } + function importSpecifier(local, imported) { + return (0, _validateNode.default)({ + type: "ImportSpecifier", + local, + imported + }); + } + function metaProperty(meta, property) { + return (0, _validateNode.default)({ + type: "MetaProperty", + meta, + property + }); + } + function classMethod(kind = "method", key, params, body, computed = false, _static = false, generator = false, async = false) { + return (0, _validateNode.default)({ + type: "ClassMethod", + kind, + key, + params, + body, + computed, + static: _static, + generator, + async + }); + } + function objectPattern(properties) { + return (0, _validateNode.default)({ + type: "ObjectPattern", + properties + }); + } + function spreadElement(argument) { + return (0, _validateNode.default)({ + type: "SpreadElement", + argument + }); + } + function _super() { + return { + type: "Super" + }; + } + function taggedTemplateExpression(tag, quasi) { + return (0, _validateNode.default)({ + type: "TaggedTemplateExpression", + tag, + quasi + }); + } + function templateElement(value, tail = false) { + return (0, _validateNode.default)({ + type: "TemplateElement", + value, + tail + }); + } + function templateLiteral(quasis, expressions) { + return (0, _validateNode.default)({ + type: "TemplateLiteral", + quasis, + expressions + }); + } + function yieldExpression(argument = null, delegate = false) { + return (0, _validateNode.default)({ + type: "YieldExpression", + argument, + delegate + }); + } + function awaitExpression(argument) { + return (0, _validateNode.default)({ + type: "AwaitExpression", + argument + }); + } + function _import() { + return { + type: "Import" + }; + } + function bigIntLiteral(value) { + return (0, _validateNode.default)({ + type: "BigIntLiteral", + value + }); + } + function exportNamespaceSpecifier(exported) { + return (0, _validateNode.default)({ + type: "ExportNamespaceSpecifier", + exported + }); + } + function optionalMemberExpression(object, property, computed = false, optional) { + return (0, _validateNode.default)({ + type: "OptionalMemberExpression", + object, + property, + computed, + optional + }); + } + function optionalCallExpression(callee, _arguments, optional) { + return (0, _validateNode.default)({ + type: "OptionalCallExpression", + callee, + arguments: _arguments, + optional + }); + } + function classProperty(key, value = null, typeAnnotation2 = null, decorators = null, computed = false, _static = false) { + return (0, _validateNode.default)({ + type: "ClassProperty", + key, + value, + typeAnnotation: typeAnnotation2, + decorators, + computed, + static: _static + }); + } + function classAccessorProperty(key, value = null, typeAnnotation2 = null, decorators = null, computed = false, _static = false) { + return (0, _validateNode.default)({ + type: "ClassAccessorProperty", + key, + value, + typeAnnotation: typeAnnotation2, + decorators, + computed, + static: _static + }); + } + function classPrivateProperty(key, value = null, decorators = null, _static = false) { + return (0, _validateNode.default)({ + type: "ClassPrivateProperty", + key, + value, + decorators, + static: _static + }); + } + function classPrivateMethod(kind = "method", key, params, body, _static = false) { + return (0, _validateNode.default)({ + type: "ClassPrivateMethod", + kind, + key, + params, + body, + static: _static + }); + } + function privateName(id) { + return (0, _validateNode.default)({ + type: "PrivateName", + id + }); + } + function staticBlock(body) { + return (0, _validateNode.default)({ + type: "StaticBlock", + body + }); + } + function anyTypeAnnotation() { + return { + type: "AnyTypeAnnotation" + }; + } + function arrayTypeAnnotation(elementType) { + return (0, _validateNode.default)({ + type: "ArrayTypeAnnotation", + elementType + }); + } + function booleanTypeAnnotation() { + return { + type: "BooleanTypeAnnotation" + }; + } + function booleanLiteralTypeAnnotation(value) { + return (0, _validateNode.default)({ + type: "BooleanLiteralTypeAnnotation", + value + }); + } + function nullLiteralTypeAnnotation() { + return { + type: "NullLiteralTypeAnnotation" + }; + } + function classImplements(id, typeParameters = null) { + return (0, _validateNode.default)({ + type: "ClassImplements", + id, + typeParameters + }); + } + function declareClass(id, typeParameters = null, _extends = null, body) { + return (0, _validateNode.default)({ + type: "DeclareClass", + id, + typeParameters, + extends: _extends, + body + }); + } + function declareFunction(id) { + return (0, _validateNode.default)({ + type: "DeclareFunction", + id + }); + } + function declareInterface(id, typeParameters = null, _extends = null, body) { + return (0, _validateNode.default)({ + type: "DeclareInterface", + id, + typeParameters, + extends: _extends, + body + }); + } + function declareModule(id, body, kind = null) { + return (0, _validateNode.default)({ + type: "DeclareModule", + id, + body, + kind + }); + } + function declareModuleExports(typeAnnotation2) { + return (0, _validateNode.default)({ + type: "DeclareModuleExports", + typeAnnotation: typeAnnotation2 + }); + } + function declareTypeAlias(id, typeParameters = null, right) { + return (0, _validateNode.default)({ + type: "DeclareTypeAlias", + id, + typeParameters, + right + }); + } + function declareOpaqueType(id, typeParameters = null, supertype = null) { + return (0, _validateNode.default)({ + type: "DeclareOpaqueType", + id, + typeParameters, + supertype + }); + } + function declareVariable(id) { + return (0, _validateNode.default)({ + type: "DeclareVariable", + id + }); + } + function declareExportDeclaration(declaration2 = null, specifiers = null, source = null) { + return (0, _validateNode.default)({ + type: "DeclareExportDeclaration", + declaration: declaration2, + specifiers, + source + }); + } + function declareExportAllDeclaration(source) { + return (0, _validateNode.default)({ + type: "DeclareExportAllDeclaration", + source + }); + } + function declaredPredicate(value) { + return (0, _validateNode.default)({ + type: "DeclaredPredicate", + value + }); + } + function existsTypeAnnotation() { + return { + type: "ExistsTypeAnnotation" + }; + } + function functionTypeAnnotation(typeParameters = null, params, rest = null, returnType) { + return (0, _validateNode.default)({ + type: "FunctionTypeAnnotation", + typeParameters, + params, + rest, + returnType + }); + } + function functionTypeParam(name = null, typeAnnotation2) { + return (0, _validateNode.default)({ + type: "FunctionTypeParam", + name, + typeAnnotation: typeAnnotation2 + }); + } + function genericTypeAnnotation(id, typeParameters = null) { + return (0, _validateNode.default)({ + type: "GenericTypeAnnotation", + id, + typeParameters + }); + } + function inferredPredicate() { + return { + type: "InferredPredicate" + }; + } + function interfaceExtends(id, typeParameters = null) { + return (0, _validateNode.default)({ + type: "InterfaceExtends", + id, + typeParameters + }); + } + function interfaceDeclaration(id, typeParameters = null, _extends = null, body) { + return (0, _validateNode.default)({ + type: "InterfaceDeclaration", + id, + typeParameters, + extends: _extends, + body + }); + } + function interfaceTypeAnnotation(_extends = null, body) { + return (0, _validateNode.default)({ + type: "InterfaceTypeAnnotation", + extends: _extends, + body + }); + } + function intersectionTypeAnnotation(types) { + return (0, _validateNode.default)({ + type: "IntersectionTypeAnnotation", + types + }); + } + function mixedTypeAnnotation() { + return { + type: "MixedTypeAnnotation" + }; + } + function emptyTypeAnnotation() { + return { + type: "EmptyTypeAnnotation" + }; + } + function nullableTypeAnnotation(typeAnnotation2) { + return (0, _validateNode.default)({ + type: "NullableTypeAnnotation", + typeAnnotation: typeAnnotation2 + }); + } + function numberLiteralTypeAnnotation(value) { + return (0, _validateNode.default)({ + type: "NumberLiteralTypeAnnotation", + value + }); + } + function numberTypeAnnotation() { + return { + type: "NumberTypeAnnotation" + }; + } + function objectTypeAnnotation(properties, indexers = [], callProperties = [], internalSlots = [], exact = false) { + return (0, _validateNode.default)({ + type: "ObjectTypeAnnotation", + properties, + indexers, + callProperties, + internalSlots, + exact + }); + } + function objectTypeInternalSlot(id, value, optional, _static, method) { + return (0, _validateNode.default)({ + type: "ObjectTypeInternalSlot", + id, + value, + optional, + static: _static, + method + }); + } + function objectTypeCallProperty(value) { + return (0, _validateNode.default)({ + type: "ObjectTypeCallProperty", + value, + static: null + }); + } + function objectTypeIndexer(id = null, key, value, variance2 = null) { + return (0, _validateNode.default)({ + type: "ObjectTypeIndexer", + id, + key, + value, + variance: variance2, + static: null + }); + } + function objectTypeProperty(key, value, variance2 = null) { + return (0, _validateNode.default)({ + type: "ObjectTypeProperty", + key, + value, + variance: variance2, + kind: null, + method: null, + optional: null, + proto: null, + static: null + }); + } + function objectTypeSpreadProperty(argument) { + return (0, _validateNode.default)({ + type: "ObjectTypeSpreadProperty", + argument + }); + } + function opaqueType(id, typeParameters = null, supertype = null, impltype) { + return (0, _validateNode.default)({ + type: "OpaqueType", + id, + typeParameters, + supertype, + impltype + }); + } + function qualifiedTypeIdentifier(id, qualification) { + return (0, _validateNode.default)({ + type: "QualifiedTypeIdentifier", + id, + qualification + }); + } + function stringLiteralTypeAnnotation(value) { + return (0, _validateNode.default)({ + type: "StringLiteralTypeAnnotation", + value + }); + } + function stringTypeAnnotation() { + return { + type: "StringTypeAnnotation" + }; + } + function symbolTypeAnnotation() { + return { + type: "SymbolTypeAnnotation" + }; + } + function thisTypeAnnotation() { + return { + type: "ThisTypeAnnotation" + }; + } + function tupleTypeAnnotation(types) { + return (0, _validateNode.default)({ + type: "TupleTypeAnnotation", + types + }); + } + function typeofTypeAnnotation(argument) { + return (0, _validateNode.default)({ + type: "TypeofTypeAnnotation", + argument + }); + } + function typeAlias(id, typeParameters = null, right) { + return (0, _validateNode.default)({ + type: "TypeAlias", + id, + typeParameters, + right + }); + } + function typeAnnotation(typeAnnotation2) { + return (0, _validateNode.default)({ + type: "TypeAnnotation", + typeAnnotation: typeAnnotation2 + }); + } + function typeCastExpression(expression, typeAnnotation2) { + return (0, _validateNode.default)({ + type: "TypeCastExpression", + expression, + typeAnnotation: typeAnnotation2 + }); + } + function typeParameter(bound = null, _default = null, variance2 = null) { + return (0, _validateNode.default)({ + type: "TypeParameter", + bound, + default: _default, + variance: variance2, + name: null + }); + } + function typeParameterDeclaration(params) { + return (0, _validateNode.default)({ + type: "TypeParameterDeclaration", + params + }); + } + function typeParameterInstantiation(params) { + return (0, _validateNode.default)({ + type: "TypeParameterInstantiation", + params + }); + } + function unionTypeAnnotation(types) { + return (0, _validateNode.default)({ + type: "UnionTypeAnnotation", + types + }); + } + function variance(kind) { + return (0, _validateNode.default)({ + type: "Variance", + kind + }); + } + function voidTypeAnnotation() { + return { + type: "VoidTypeAnnotation" + }; + } + function enumDeclaration(id, body) { + return (0, _validateNode.default)({ + type: "EnumDeclaration", + id, + body + }); + } + function enumBooleanBody(members) { + return (0, _validateNode.default)({ + type: "EnumBooleanBody", + members, + explicitType: null, + hasUnknownMembers: null + }); + } + function enumNumberBody(members) { + return (0, _validateNode.default)({ + type: "EnumNumberBody", + members, + explicitType: null, + hasUnknownMembers: null + }); + } + function enumStringBody(members) { + return (0, _validateNode.default)({ + type: "EnumStringBody", + members, + explicitType: null, + hasUnknownMembers: null + }); + } + function enumSymbolBody(members) { + return (0, _validateNode.default)({ + type: "EnumSymbolBody", + members, + hasUnknownMembers: null + }); + } + function enumBooleanMember(id) { + return (0, _validateNode.default)({ + type: "EnumBooleanMember", + id, + init: null + }); + } + function enumNumberMember(id, init3) { + return (0, _validateNode.default)({ + type: "EnumNumberMember", + id, + init: init3 + }); + } + function enumStringMember(id, init3) { + return (0, _validateNode.default)({ + type: "EnumStringMember", + id, + init: init3 + }); + } + function enumDefaultedMember(id) { + return (0, _validateNode.default)({ + type: "EnumDefaultedMember", + id + }); + } + function indexedAccessType(objectType, indexType) { + return (0, _validateNode.default)({ + type: "IndexedAccessType", + objectType, + indexType + }); + } + function optionalIndexedAccessType(objectType, indexType) { + return (0, _validateNode.default)({ + type: "OptionalIndexedAccessType", + objectType, + indexType, + optional: null + }); + } + function jsxAttribute(name, value = null) { + return (0, _validateNode.default)({ + type: "JSXAttribute", + name, + value + }); + } + function jsxClosingElement(name) { + return (0, _validateNode.default)({ + type: "JSXClosingElement", + name + }); + } + function jsxElement(openingElement, closingElement = null, children, selfClosing = null) { + return (0, _validateNode.default)({ + type: "JSXElement", + openingElement, + closingElement, + children, + selfClosing + }); + } + function jsxEmptyExpression() { + return { + type: "JSXEmptyExpression" + }; + } + function jsxExpressionContainer(expression) { + return (0, _validateNode.default)({ + type: "JSXExpressionContainer", + expression + }); + } + function jsxSpreadChild(expression) { + return (0, _validateNode.default)({ + type: "JSXSpreadChild", + expression + }); + } + function jsxIdentifier(name) { + return (0, _validateNode.default)({ + type: "JSXIdentifier", + name + }); + } + function jsxMemberExpression(object, property) { + return (0, _validateNode.default)({ + type: "JSXMemberExpression", + object, + property + }); + } + function jsxNamespacedName(namespace, name) { + return (0, _validateNode.default)({ + type: "JSXNamespacedName", + namespace, + name + }); + } + function jsxOpeningElement(name, attributes, selfClosing = false) { + return (0, _validateNode.default)({ + type: "JSXOpeningElement", + name, + attributes, + selfClosing + }); + } + function jsxSpreadAttribute(argument) { + return (0, _validateNode.default)({ + type: "JSXSpreadAttribute", + argument + }); + } + function jsxText(value) { + return (0, _validateNode.default)({ + type: "JSXText", + value + }); + } + function jsxFragment(openingFragment, closingFragment, children) { + return (0, _validateNode.default)({ + type: "JSXFragment", + openingFragment, + closingFragment, + children + }); + } + function jsxOpeningFragment() { + return { + type: "JSXOpeningFragment" + }; + } + function jsxClosingFragment() { + return { + type: "JSXClosingFragment" + }; + } + function noop2() { + return { + type: "Noop" + }; + } + function placeholder(expectedNode, name) { + return (0, _validateNode.default)({ + type: "Placeholder", + expectedNode, + name + }); + } + function v8IntrinsicIdentifier(name) { + return (0, _validateNode.default)({ + type: "V8IntrinsicIdentifier", + name + }); + } + function argumentPlaceholder() { + return { + type: "ArgumentPlaceholder" + }; + } + function bindExpression(object, callee) { + return (0, _validateNode.default)({ + type: "BindExpression", + object, + callee + }); + } + function importAttribute(key, value) { + return (0, _validateNode.default)({ + type: "ImportAttribute", + key, + value + }); + } + function decorator(expression) { + return (0, _validateNode.default)({ + type: "Decorator", + expression + }); + } + function doExpression(body, async = false) { + return (0, _validateNode.default)({ + type: "DoExpression", + body, + async + }); + } + function exportDefaultSpecifier(exported) { + return (0, _validateNode.default)({ + type: "ExportDefaultSpecifier", + exported + }); + } + function recordExpression(properties) { + return (0, _validateNode.default)({ + type: "RecordExpression", + properties + }); + } + function tupleExpression(elements = []) { + return (0, _validateNode.default)({ + type: "TupleExpression", + elements + }); + } + function decimalLiteral(value) { + return (0, _validateNode.default)({ + type: "DecimalLiteral", + value + }); + } + function moduleExpression(body) { + return (0, _validateNode.default)({ + type: "ModuleExpression", + body + }); + } + function topicReference() { + return { + type: "TopicReference" + }; + } + function pipelineTopicExpression(expression) { + return (0, _validateNode.default)({ + type: "PipelineTopicExpression", + expression + }); + } + function pipelineBareFunction(callee) { + return (0, _validateNode.default)({ + type: "PipelineBareFunction", + callee + }); + } + function pipelinePrimaryTopicReference() { + return { + type: "PipelinePrimaryTopicReference" + }; + } + function tsParameterProperty(parameter) { + return (0, _validateNode.default)({ + type: "TSParameterProperty", + parameter + }); + } + function tsDeclareFunction(id = null, typeParameters = null, params, returnType = null) { + return (0, _validateNode.default)({ + type: "TSDeclareFunction", + id, + typeParameters, + params, + returnType + }); + } + function tsDeclareMethod(decorators = null, key, typeParameters = null, params, returnType = null) { + return (0, _validateNode.default)({ + type: "TSDeclareMethod", + decorators, + key, + typeParameters, + params, + returnType + }); + } + function tsQualifiedName(left, right) { + return (0, _validateNode.default)({ + type: "TSQualifiedName", + left, + right + }); + } + function tsCallSignatureDeclaration(typeParameters = null, parameters, typeAnnotation2 = null) { + return (0, _validateNode.default)({ + type: "TSCallSignatureDeclaration", + typeParameters, + parameters, + typeAnnotation: typeAnnotation2 + }); + } + function tsConstructSignatureDeclaration(typeParameters = null, parameters, typeAnnotation2 = null) { + return (0, _validateNode.default)({ + type: "TSConstructSignatureDeclaration", + typeParameters, + parameters, + typeAnnotation: typeAnnotation2 + }); + } + function tsPropertySignature(key, typeAnnotation2 = null, initializer = null) { + return (0, _validateNode.default)({ + type: "TSPropertySignature", + key, + typeAnnotation: typeAnnotation2, + initializer, + kind: null + }); + } + function tsMethodSignature(key, typeParameters = null, parameters, typeAnnotation2 = null) { + return (0, _validateNode.default)({ + type: "TSMethodSignature", + key, + typeParameters, + parameters, + typeAnnotation: typeAnnotation2, + kind: null + }); + } + function tsIndexSignature(parameters, typeAnnotation2 = null) { + return (0, _validateNode.default)({ + type: "TSIndexSignature", + parameters, + typeAnnotation: typeAnnotation2 + }); + } + function tsAnyKeyword() { + return { + type: "TSAnyKeyword" + }; + } + function tsBooleanKeyword() { + return { + type: "TSBooleanKeyword" + }; + } + function tsBigIntKeyword() { + return { + type: "TSBigIntKeyword" + }; + } + function tsIntrinsicKeyword() { + return { + type: "TSIntrinsicKeyword" + }; + } + function tsNeverKeyword() { + return { + type: "TSNeverKeyword" + }; + } + function tsNullKeyword() { + return { + type: "TSNullKeyword" + }; + } + function tsNumberKeyword() { + return { + type: "TSNumberKeyword" + }; + } + function tsObjectKeyword() { + return { + type: "TSObjectKeyword" + }; + } + function tsStringKeyword() { + return { + type: "TSStringKeyword" + }; + } + function tsSymbolKeyword() { + return { + type: "TSSymbolKeyword" + }; + } + function tsUndefinedKeyword() { + return { + type: "TSUndefinedKeyword" + }; + } + function tsUnknownKeyword() { + return { + type: "TSUnknownKeyword" + }; + } + function tsVoidKeyword() { + return { + type: "TSVoidKeyword" + }; + } + function tsThisType() { + return { + type: "TSThisType" + }; + } + function tsFunctionType(typeParameters = null, parameters, typeAnnotation2 = null) { + return (0, _validateNode.default)({ + type: "TSFunctionType", + typeParameters, + parameters, + typeAnnotation: typeAnnotation2 + }); + } + function tsConstructorType(typeParameters = null, parameters, typeAnnotation2 = null) { + return (0, _validateNode.default)({ + type: "TSConstructorType", + typeParameters, + parameters, + typeAnnotation: typeAnnotation2 + }); + } + function tsTypeReference(typeName, typeParameters = null) { + return (0, _validateNode.default)({ + type: "TSTypeReference", + typeName, + typeParameters + }); + } + function tsTypePredicate(parameterName, typeAnnotation2 = null, asserts = null) { + return (0, _validateNode.default)({ + type: "TSTypePredicate", + parameterName, + typeAnnotation: typeAnnotation2, + asserts + }); + } + function tsTypeQuery(exprName, typeParameters = null) { + return (0, _validateNode.default)({ + type: "TSTypeQuery", + exprName, + typeParameters + }); + } + function tsTypeLiteral(members) { + return (0, _validateNode.default)({ + type: "TSTypeLiteral", + members + }); + } + function tsArrayType(elementType) { + return (0, _validateNode.default)({ + type: "TSArrayType", + elementType + }); + } + function tsTupleType(elementTypes) { + return (0, _validateNode.default)({ + type: "TSTupleType", + elementTypes + }); + } + function tsOptionalType(typeAnnotation2) { + return (0, _validateNode.default)({ + type: "TSOptionalType", + typeAnnotation: typeAnnotation2 + }); + } + function tsRestType(typeAnnotation2) { + return (0, _validateNode.default)({ + type: "TSRestType", + typeAnnotation: typeAnnotation2 + }); + } + function tsNamedTupleMember(label, elementType, optional = false) { + return (0, _validateNode.default)({ + type: "TSNamedTupleMember", + label, + elementType, + optional + }); + } + function tsUnionType(types) { + return (0, _validateNode.default)({ + type: "TSUnionType", + types + }); + } + function tsIntersectionType(types) { + return (0, _validateNode.default)({ + type: "TSIntersectionType", + types + }); + } + function tsConditionalType(checkType, extendsType, trueType, falseType) { + return (0, _validateNode.default)({ + type: "TSConditionalType", + checkType, + extendsType, + trueType, + falseType + }); + } + function tsInferType(typeParameter2) { + return (0, _validateNode.default)({ + type: "TSInferType", + typeParameter: typeParameter2 + }); + } + function tsParenthesizedType(typeAnnotation2) { + return (0, _validateNode.default)({ + type: "TSParenthesizedType", + typeAnnotation: typeAnnotation2 + }); + } + function tsTypeOperator(typeAnnotation2) { + return (0, _validateNode.default)({ + type: "TSTypeOperator", + typeAnnotation: typeAnnotation2, + operator: null + }); + } + function tsIndexedAccessType(objectType, indexType) { + return (0, _validateNode.default)({ + type: "TSIndexedAccessType", + objectType, + indexType + }); + } + function tsMappedType(typeParameter2, typeAnnotation2 = null, nameType = null) { + return (0, _validateNode.default)({ + type: "TSMappedType", + typeParameter: typeParameter2, + typeAnnotation: typeAnnotation2, + nameType + }); + } + function tsLiteralType(literal) { + return (0, _validateNode.default)({ + type: "TSLiteralType", + literal + }); + } + function tsExpressionWithTypeArguments(expression, typeParameters = null) { + return (0, _validateNode.default)({ + type: "TSExpressionWithTypeArguments", + expression, + typeParameters + }); + } + function tsInterfaceDeclaration(id, typeParameters = null, _extends = null, body) { + return (0, _validateNode.default)({ + type: "TSInterfaceDeclaration", + id, + typeParameters, + extends: _extends, + body + }); + } + function tsInterfaceBody(body) { + return (0, _validateNode.default)({ + type: "TSInterfaceBody", + body + }); + } + function tsTypeAliasDeclaration(id, typeParameters = null, typeAnnotation2) { + return (0, _validateNode.default)({ + type: "TSTypeAliasDeclaration", + id, + typeParameters, + typeAnnotation: typeAnnotation2 + }); + } + function tsInstantiationExpression(expression, typeParameters = null) { + return (0, _validateNode.default)({ + type: "TSInstantiationExpression", + expression, + typeParameters + }); + } + function tsAsExpression(expression, typeAnnotation2) { + return (0, _validateNode.default)({ + type: "TSAsExpression", + expression, + typeAnnotation: typeAnnotation2 + }); + } + function tsSatisfiesExpression(expression, typeAnnotation2) { + return (0, _validateNode.default)({ + type: "TSSatisfiesExpression", + expression, + typeAnnotation: typeAnnotation2 + }); + } + function tsTypeAssertion(typeAnnotation2, expression) { + return (0, _validateNode.default)({ + type: "TSTypeAssertion", + typeAnnotation: typeAnnotation2, + expression + }); + } + function tsEnumDeclaration(id, members) { + return (0, _validateNode.default)({ + type: "TSEnumDeclaration", + id, + members + }); + } + function tsEnumMember(id, initializer = null) { + return (0, _validateNode.default)({ + type: "TSEnumMember", + id, + initializer + }); + } + function tsModuleDeclaration(id, body) { + return (0, _validateNode.default)({ + type: "TSModuleDeclaration", + id, + body + }); + } + function tsModuleBlock(body) { + return (0, _validateNode.default)({ + type: "TSModuleBlock", + body + }); + } + function tsImportType(argument, qualifier = null, typeParameters = null) { + return (0, _validateNode.default)({ + type: "TSImportType", + argument, + qualifier, + typeParameters + }); + } + function tsImportEqualsDeclaration(id, moduleReference) { + return (0, _validateNode.default)({ + type: "TSImportEqualsDeclaration", + id, + moduleReference, + isExport: null + }); + } + function tsExternalModuleReference(expression) { + return (0, _validateNode.default)({ + type: "TSExternalModuleReference", + expression + }); + } + function tsNonNullExpression(expression) { + return (0, _validateNode.default)({ + type: "TSNonNullExpression", + expression + }); + } + function tsExportAssignment(expression) { + return (0, _validateNode.default)({ + type: "TSExportAssignment", + expression + }); + } + function tsNamespaceExportDeclaration(id) { + return (0, _validateNode.default)({ + type: "TSNamespaceExportDeclaration", + id + }); + } + function tsTypeAnnotation(typeAnnotation2) { + return (0, _validateNode.default)({ + type: "TSTypeAnnotation", + typeAnnotation: typeAnnotation2 + }); + } + function tsTypeParameterInstantiation(params) { + return (0, _validateNode.default)({ + type: "TSTypeParameterInstantiation", + params + }); + } + function tsTypeParameterDeclaration(params) { + return (0, _validateNode.default)({ + type: "TSTypeParameterDeclaration", + params + }); + } + function tsTypeParameter(constraint = null, _default = null, name) { + return (0, _validateNode.default)({ + type: "TSTypeParameter", + constraint, + default: _default, + name + }); + } + function NumberLiteral(value) { + (0, _deprecationWarning.default)("NumberLiteral", "NumericLiteral", "The node type "); + return numericLiteral(value); + } + function RegexLiteral(pattern, flags = "") { + (0, _deprecationWarning.default)("RegexLiteral", "RegExpLiteral", "The node type "); + return regExpLiteral(pattern, flags); + } + function RestProperty(argument) { + (0, _deprecationWarning.default)("RestProperty", "RestElement", "The node type "); + return restElement(argument); + } + function SpreadProperty(argument) { + (0, _deprecationWarning.default)("SpreadProperty", "SpreadElement", "The node type "); + return spreadElement(argument); + } + } +}); + +// node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js +var require_cleanJSXElementLiteralChild = __commonJS({ + "node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = cleanJSXElementLiteralChild; + var _generated = require_generated2(); + var _ = require_lib3(); + function cleanJSXElementLiteralChild(child, args) { + const lines = child.value.split(/\r\n|\n|\r/); + let lastNonEmptyLine = 0; + for (let i = 0; i < lines.length; i++) { + if (lines[i].match(/[^ \t]/)) { + lastNonEmptyLine = i; + } + } + let str = ""; + for (let i = 0; i < lines.length; i++) { + const line2 = lines[i]; + const isFirstLine = i === 0; + const isLastLine = i === lines.length - 1; + const isLastNonEmptyLine = i === lastNonEmptyLine; + let trimmedLine = line2.replace(/\t/g, " "); + if (!isFirstLine) { + trimmedLine = trimmedLine.replace(/^[ ]+/, ""); + } + if (!isLastLine) { + trimmedLine = trimmedLine.replace(/[ ]+$/, ""); + } + if (trimmedLine) { + if (!isLastNonEmptyLine) { + trimmedLine += " "; + } + str += trimmedLine; + } + } + if (str) + args.push((0, _.inherits)((0, _generated.stringLiteral)(str), child)); + } + } +}); + +// node_modules/@babel/types/lib/builders/react/buildChildren.js +var require_buildChildren = __commonJS({ + "node_modules/@babel/types/lib/builders/react/buildChildren.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = buildChildren; + var _generated = require_generated(); + var _cleanJSXElementLiteralChild = require_cleanJSXElementLiteralChild(); + function buildChildren(node2) { + const elements = []; + for (let i = 0; i < node2.children.length; i++) { + let child = node2.children[i]; + if ((0, _generated.isJSXText)(child)) { + (0, _cleanJSXElementLiteralChild.default)(child, elements); + continue; + } + if ((0, _generated.isJSXExpressionContainer)(child)) + child = child.expression; + if ((0, _generated.isJSXEmptyExpression)(child)) + continue; + elements.push(child); + } + return elements; + } + } +}); + +// node_modules/@babel/types/lib/validators/isNode.js +var require_isNode = __commonJS({ + "node_modules/@babel/types/lib/validators/isNode.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isNode; + var _definitions = require_definitions(); + function isNode(node2) { + return !!(node2 && _definitions.VISITOR_KEYS[node2.type]); + } + } +}); + +// node_modules/@babel/types/lib/asserts/assertNode.js +var require_assertNode = __commonJS({ + "node_modules/@babel/types/lib/asserts/assertNode.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = assertNode; + var _isNode = require_isNode(); + function assertNode(node2) { + if (!(0, _isNode.default)(node2)) { + var _node$type; + const type = (_node$type = node2 == null ? void 0 : node2.type) != null ? _node$type : JSON.stringify(node2); + throw new TypeError(`Not a valid node of type "${type}"`); + } + } + } +}); + +// node_modules/@babel/types/lib/asserts/generated/index.js +var require_generated3 = __commonJS({ + "node_modules/@babel/types/lib/asserts/generated/index.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.assertAccessor = assertAccessor; + exports.assertAnyTypeAnnotation = assertAnyTypeAnnotation; + exports.assertArgumentPlaceholder = assertArgumentPlaceholder; + exports.assertArrayExpression = assertArrayExpression; + exports.assertArrayPattern = assertArrayPattern; + exports.assertArrayTypeAnnotation = assertArrayTypeAnnotation; + exports.assertArrowFunctionExpression = assertArrowFunctionExpression; + exports.assertAssignmentExpression = assertAssignmentExpression; + exports.assertAssignmentPattern = assertAssignmentPattern; + exports.assertAwaitExpression = assertAwaitExpression; + exports.assertBigIntLiteral = assertBigIntLiteral; + exports.assertBinary = assertBinary; + exports.assertBinaryExpression = assertBinaryExpression; + exports.assertBindExpression = assertBindExpression; + exports.assertBlock = assertBlock; + exports.assertBlockParent = assertBlockParent; + exports.assertBlockStatement = assertBlockStatement; + exports.assertBooleanLiteral = assertBooleanLiteral; + exports.assertBooleanLiteralTypeAnnotation = assertBooleanLiteralTypeAnnotation; + exports.assertBooleanTypeAnnotation = assertBooleanTypeAnnotation; + exports.assertBreakStatement = assertBreakStatement; + exports.assertCallExpression = assertCallExpression; + exports.assertCatchClause = assertCatchClause; + exports.assertClass = assertClass; + exports.assertClassAccessorProperty = assertClassAccessorProperty; + exports.assertClassBody = assertClassBody; + exports.assertClassDeclaration = assertClassDeclaration; + exports.assertClassExpression = assertClassExpression; + exports.assertClassImplements = assertClassImplements; + exports.assertClassMethod = assertClassMethod; + exports.assertClassPrivateMethod = assertClassPrivateMethod; + exports.assertClassPrivateProperty = assertClassPrivateProperty; + exports.assertClassProperty = assertClassProperty; + exports.assertCompletionStatement = assertCompletionStatement; + exports.assertConditional = assertConditional; + exports.assertConditionalExpression = assertConditionalExpression; + exports.assertContinueStatement = assertContinueStatement; + exports.assertDebuggerStatement = assertDebuggerStatement; + exports.assertDecimalLiteral = assertDecimalLiteral; + exports.assertDeclaration = assertDeclaration; + exports.assertDeclareClass = assertDeclareClass; + exports.assertDeclareExportAllDeclaration = assertDeclareExportAllDeclaration; + exports.assertDeclareExportDeclaration = assertDeclareExportDeclaration; + exports.assertDeclareFunction = assertDeclareFunction; + exports.assertDeclareInterface = assertDeclareInterface; + exports.assertDeclareModule = assertDeclareModule; + exports.assertDeclareModuleExports = assertDeclareModuleExports; + exports.assertDeclareOpaqueType = assertDeclareOpaqueType; + exports.assertDeclareTypeAlias = assertDeclareTypeAlias; + exports.assertDeclareVariable = assertDeclareVariable; + exports.assertDeclaredPredicate = assertDeclaredPredicate; + exports.assertDecorator = assertDecorator; + exports.assertDirective = assertDirective; + exports.assertDirectiveLiteral = assertDirectiveLiteral; + exports.assertDoExpression = assertDoExpression; + exports.assertDoWhileStatement = assertDoWhileStatement; + exports.assertEmptyStatement = assertEmptyStatement; + exports.assertEmptyTypeAnnotation = assertEmptyTypeAnnotation; + exports.assertEnumBody = assertEnumBody; + exports.assertEnumBooleanBody = assertEnumBooleanBody; + exports.assertEnumBooleanMember = assertEnumBooleanMember; + exports.assertEnumDeclaration = assertEnumDeclaration; + exports.assertEnumDefaultedMember = assertEnumDefaultedMember; + exports.assertEnumMember = assertEnumMember; + exports.assertEnumNumberBody = assertEnumNumberBody; + exports.assertEnumNumberMember = assertEnumNumberMember; + exports.assertEnumStringBody = assertEnumStringBody; + exports.assertEnumStringMember = assertEnumStringMember; + exports.assertEnumSymbolBody = assertEnumSymbolBody; + exports.assertExistsTypeAnnotation = assertExistsTypeAnnotation; + exports.assertExportAllDeclaration = assertExportAllDeclaration; + exports.assertExportDeclaration = assertExportDeclaration; + exports.assertExportDefaultDeclaration = assertExportDefaultDeclaration; + exports.assertExportDefaultSpecifier = assertExportDefaultSpecifier; + exports.assertExportNamedDeclaration = assertExportNamedDeclaration; + exports.assertExportNamespaceSpecifier = assertExportNamespaceSpecifier; + exports.assertExportSpecifier = assertExportSpecifier; + exports.assertExpression = assertExpression; + exports.assertExpressionStatement = assertExpressionStatement; + exports.assertExpressionWrapper = assertExpressionWrapper; + exports.assertFile = assertFile; + exports.assertFlow = assertFlow; + exports.assertFlowBaseAnnotation = assertFlowBaseAnnotation; + exports.assertFlowDeclaration = assertFlowDeclaration; + exports.assertFlowPredicate = assertFlowPredicate; + exports.assertFlowType = assertFlowType; + exports.assertFor = assertFor; + exports.assertForInStatement = assertForInStatement; + exports.assertForOfStatement = assertForOfStatement; + exports.assertForStatement = assertForStatement; + exports.assertForXStatement = assertForXStatement; + exports.assertFunction = assertFunction; + exports.assertFunctionDeclaration = assertFunctionDeclaration; + exports.assertFunctionExpression = assertFunctionExpression; + exports.assertFunctionParent = assertFunctionParent; + exports.assertFunctionTypeAnnotation = assertFunctionTypeAnnotation; + exports.assertFunctionTypeParam = assertFunctionTypeParam; + exports.assertGenericTypeAnnotation = assertGenericTypeAnnotation; + exports.assertIdentifier = assertIdentifier; + exports.assertIfStatement = assertIfStatement; + exports.assertImmutable = assertImmutable; + exports.assertImport = assertImport; + exports.assertImportAttribute = assertImportAttribute; + exports.assertImportDeclaration = assertImportDeclaration; + exports.assertImportDefaultSpecifier = assertImportDefaultSpecifier; + exports.assertImportNamespaceSpecifier = assertImportNamespaceSpecifier; + exports.assertImportOrExportDeclaration = assertImportOrExportDeclaration; + exports.assertImportSpecifier = assertImportSpecifier; + exports.assertIndexedAccessType = assertIndexedAccessType; + exports.assertInferredPredicate = assertInferredPredicate; + exports.assertInterfaceDeclaration = assertInterfaceDeclaration; + exports.assertInterfaceExtends = assertInterfaceExtends; + exports.assertInterfaceTypeAnnotation = assertInterfaceTypeAnnotation; + exports.assertInterpreterDirective = assertInterpreterDirective; + exports.assertIntersectionTypeAnnotation = assertIntersectionTypeAnnotation; + exports.assertJSX = assertJSX; + exports.assertJSXAttribute = assertJSXAttribute; + exports.assertJSXClosingElement = assertJSXClosingElement; + exports.assertJSXClosingFragment = assertJSXClosingFragment; + exports.assertJSXElement = assertJSXElement; + exports.assertJSXEmptyExpression = assertJSXEmptyExpression; + exports.assertJSXExpressionContainer = assertJSXExpressionContainer; + exports.assertJSXFragment = assertJSXFragment; + exports.assertJSXIdentifier = assertJSXIdentifier; + exports.assertJSXMemberExpression = assertJSXMemberExpression; + exports.assertJSXNamespacedName = assertJSXNamespacedName; + exports.assertJSXOpeningElement = assertJSXOpeningElement; + exports.assertJSXOpeningFragment = assertJSXOpeningFragment; + exports.assertJSXSpreadAttribute = assertJSXSpreadAttribute; + exports.assertJSXSpreadChild = assertJSXSpreadChild; + exports.assertJSXText = assertJSXText; + exports.assertLVal = assertLVal; + exports.assertLabeledStatement = assertLabeledStatement; + exports.assertLiteral = assertLiteral; + exports.assertLogicalExpression = assertLogicalExpression; + exports.assertLoop = assertLoop; + exports.assertMemberExpression = assertMemberExpression; + exports.assertMetaProperty = assertMetaProperty; + exports.assertMethod = assertMethod; + exports.assertMiscellaneous = assertMiscellaneous; + exports.assertMixedTypeAnnotation = assertMixedTypeAnnotation; + exports.assertModuleDeclaration = assertModuleDeclaration; + exports.assertModuleExpression = assertModuleExpression; + exports.assertModuleSpecifier = assertModuleSpecifier; + exports.assertNewExpression = assertNewExpression; + exports.assertNoop = assertNoop; + exports.assertNullLiteral = assertNullLiteral; + exports.assertNullLiteralTypeAnnotation = assertNullLiteralTypeAnnotation; + exports.assertNullableTypeAnnotation = assertNullableTypeAnnotation; + exports.assertNumberLiteral = assertNumberLiteral; + exports.assertNumberLiteralTypeAnnotation = assertNumberLiteralTypeAnnotation; + exports.assertNumberTypeAnnotation = assertNumberTypeAnnotation; + exports.assertNumericLiteral = assertNumericLiteral; + exports.assertObjectExpression = assertObjectExpression; + exports.assertObjectMember = assertObjectMember; + exports.assertObjectMethod = assertObjectMethod; + exports.assertObjectPattern = assertObjectPattern; + exports.assertObjectProperty = assertObjectProperty; + exports.assertObjectTypeAnnotation = assertObjectTypeAnnotation; + exports.assertObjectTypeCallProperty = assertObjectTypeCallProperty; + exports.assertObjectTypeIndexer = assertObjectTypeIndexer; + exports.assertObjectTypeInternalSlot = assertObjectTypeInternalSlot; + exports.assertObjectTypeProperty = assertObjectTypeProperty; + exports.assertObjectTypeSpreadProperty = assertObjectTypeSpreadProperty; + exports.assertOpaqueType = assertOpaqueType; + exports.assertOptionalCallExpression = assertOptionalCallExpression; + exports.assertOptionalIndexedAccessType = assertOptionalIndexedAccessType; + exports.assertOptionalMemberExpression = assertOptionalMemberExpression; + exports.assertParenthesizedExpression = assertParenthesizedExpression; + exports.assertPattern = assertPattern; + exports.assertPatternLike = assertPatternLike; + exports.assertPipelineBareFunction = assertPipelineBareFunction; + exports.assertPipelinePrimaryTopicReference = assertPipelinePrimaryTopicReference; + exports.assertPipelineTopicExpression = assertPipelineTopicExpression; + exports.assertPlaceholder = assertPlaceholder; + exports.assertPrivate = assertPrivate; + exports.assertPrivateName = assertPrivateName; + exports.assertProgram = assertProgram; + exports.assertProperty = assertProperty; + exports.assertPureish = assertPureish; + exports.assertQualifiedTypeIdentifier = assertQualifiedTypeIdentifier; + exports.assertRecordExpression = assertRecordExpression; + exports.assertRegExpLiteral = assertRegExpLiteral; + exports.assertRegexLiteral = assertRegexLiteral; + exports.assertRestElement = assertRestElement; + exports.assertRestProperty = assertRestProperty; + exports.assertReturnStatement = assertReturnStatement; + exports.assertScopable = assertScopable; + exports.assertSequenceExpression = assertSequenceExpression; + exports.assertSpreadElement = assertSpreadElement; + exports.assertSpreadProperty = assertSpreadProperty; + exports.assertStandardized = assertStandardized; + exports.assertStatement = assertStatement; + exports.assertStaticBlock = assertStaticBlock; + exports.assertStringLiteral = assertStringLiteral; + exports.assertStringLiteralTypeAnnotation = assertStringLiteralTypeAnnotation; + exports.assertStringTypeAnnotation = assertStringTypeAnnotation; + exports.assertSuper = assertSuper; + exports.assertSwitchCase = assertSwitchCase; + exports.assertSwitchStatement = assertSwitchStatement; + exports.assertSymbolTypeAnnotation = assertSymbolTypeAnnotation; + exports.assertTSAnyKeyword = assertTSAnyKeyword; + exports.assertTSArrayType = assertTSArrayType; + exports.assertTSAsExpression = assertTSAsExpression; + exports.assertTSBaseType = assertTSBaseType; + exports.assertTSBigIntKeyword = assertTSBigIntKeyword; + exports.assertTSBooleanKeyword = assertTSBooleanKeyword; + exports.assertTSCallSignatureDeclaration = assertTSCallSignatureDeclaration; + exports.assertTSConditionalType = assertTSConditionalType; + exports.assertTSConstructSignatureDeclaration = assertTSConstructSignatureDeclaration; + exports.assertTSConstructorType = assertTSConstructorType; + exports.assertTSDeclareFunction = assertTSDeclareFunction; + exports.assertTSDeclareMethod = assertTSDeclareMethod; + exports.assertTSEntityName = assertTSEntityName; + exports.assertTSEnumDeclaration = assertTSEnumDeclaration; + exports.assertTSEnumMember = assertTSEnumMember; + exports.assertTSExportAssignment = assertTSExportAssignment; + exports.assertTSExpressionWithTypeArguments = assertTSExpressionWithTypeArguments; + exports.assertTSExternalModuleReference = assertTSExternalModuleReference; + exports.assertTSFunctionType = assertTSFunctionType; + exports.assertTSImportEqualsDeclaration = assertTSImportEqualsDeclaration; + exports.assertTSImportType = assertTSImportType; + exports.assertTSIndexSignature = assertTSIndexSignature; + exports.assertTSIndexedAccessType = assertTSIndexedAccessType; + exports.assertTSInferType = assertTSInferType; + exports.assertTSInstantiationExpression = assertTSInstantiationExpression; + exports.assertTSInterfaceBody = assertTSInterfaceBody; + exports.assertTSInterfaceDeclaration = assertTSInterfaceDeclaration; + exports.assertTSIntersectionType = assertTSIntersectionType; + exports.assertTSIntrinsicKeyword = assertTSIntrinsicKeyword; + exports.assertTSLiteralType = assertTSLiteralType; + exports.assertTSMappedType = assertTSMappedType; + exports.assertTSMethodSignature = assertTSMethodSignature; + exports.assertTSModuleBlock = assertTSModuleBlock; + exports.assertTSModuleDeclaration = assertTSModuleDeclaration; + exports.assertTSNamedTupleMember = assertTSNamedTupleMember; + exports.assertTSNamespaceExportDeclaration = assertTSNamespaceExportDeclaration; + exports.assertTSNeverKeyword = assertTSNeverKeyword; + exports.assertTSNonNullExpression = assertTSNonNullExpression; + exports.assertTSNullKeyword = assertTSNullKeyword; + exports.assertTSNumberKeyword = assertTSNumberKeyword; + exports.assertTSObjectKeyword = assertTSObjectKeyword; + exports.assertTSOptionalType = assertTSOptionalType; + exports.assertTSParameterProperty = assertTSParameterProperty; + exports.assertTSParenthesizedType = assertTSParenthesizedType; + exports.assertTSPropertySignature = assertTSPropertySignature; + exports.assertTSQualifiedName = assertTSQualifiedName; + exports.assertTSRestType = assertTSRestType; + exports.assertTSSatisfiesExpression = assertTSSatisfiesExpression; + exports.assertTSStringKeyword = assertTSStringKeyword; + exports.assertTSSymbolKeyword = assertTSSymbolKeyword; + exports.assertTSThisType = assertTSThisType; + exports.assertTSTupleType = assertTSTupleType; + exports.assertTSType = assertTSType; + exports.assertTSTypeAliasDeclaration = assertTSTypeAliasDeclaration; + exports.assertTSTypeAnnotation = assertTSTypeAnnotation; + exports.assertTSTypeAssertion = assertTSTypeAssertion; + exports.assertTSTypeElement = assertTSTypeElement; + exports.assertTSTypeLiteral = assertTSTypeLiteral; + exports.assertTSTypeOperator = assertTSTypeOperator; + exports.assertTSTypeParameter = assertTSTypeParameter; + exports.assertTSTypeParameterDeclaration = assertTSTypeParameterDeclaration; + exports.assertTSTypeParameterInstantiation = assertTSTypeParameterInstantiation; + exports.assertTSTypePredicate = assertTSTypePredicate; + exports.assertTSTypeQuery = assertTSTypeQuery; + exports.assertTSTypeReference = assertTSTypeReference; + exports.assertTSUndefinedKeyword = assertTSUndefinedKeyword; + exports.assertTSUnionType = assertTSUnionType; + exports.assertTSUnknownKeyword = assertTSUnknownKeyword; + exports.assertTSVoidKeyword = assertTSVoidKeyword; + exports.assertTaggedTemplateExpression = assertTaggedTemplateExpression; + exports.assertTemplateElement = assertTemplateElement; + exports.assertTemplateLiteral = assertTemplateLiteral; + exports.assertTerminatorless = assertTerminatorless; + exports.assertThisExpression = assertThisExpression; + exports.assertThisTypeAnnotation = assertThisTypeAnnotation; + exports.assertThrowStatement = assertThrowStatement; + exports.assertTopicReference = assertTopicReference; + exports.assertTryStatement = assertTryStatement; + exports.assertTupleExpression = assertTupleExpression; + exports.assertTupleTypeAnnotation = assertTupleTypeAnnotation; + exports.assertTypeAlias = assertTypeAlias; + exports.assertTypeAnnotation = assertTypeAnnotation; + exports.assertTypeCastExpression = assertTypeCastExpression; + exports.assertTypeParameter = assertTypeParameter; + exports.assertTypeParameterDeclaration = assertTypeParameterDeclaration; + exports.assertTypeParameterInstantiation = assertTypeParameterInstantiation; + exports.assertTypeScript = assertTypeScript; + exports.assertTypeofTypeAnnotation = assertTypeofTypeAnnotation; + exports.assertUnaryExpression = assertUnaryExpression; + exports.assertUnaryLike = assertUnaryLike; + exports.assertUnionTypeAnnotation = assertUnionTypeAnnotation; + exports.assertUpdateExpression = assertUpdateExpression; + exports.assertUserWhitespacable = assertUserWhitespacable; + exports.assertV8IntrinsicIdentifier = assertV8IntrinsicIdentifier; + exports.assertVariableDeclaration = assertVariableDeclaration; + exports.assertVariableDeclarator = assertVariableDeclarator; + exports.assertVariance = assertVariance; + exports.assertVoidTypeAnnotation = assertVoidTypeAnnotation; + exports.assertWhile = assertWhile; + exports.assertWhileStatement = assertWhileStatement; + exports.assertWithStatement = assertWithStatement; + exports.assertYieldExpression = assertYieldExpression; + var _is = require_is(); + var _deprecationWarning = require_deprecationWarning(); + function assert2(type, node2, opts) { + if (!(0, _is.default)(type, node2, opts)) { + throw new Error(`Expected type "${type}" with option ${JSON.stringify(opts)}, but instead got "${node2.type}".`); + } + } + function assertArrayExpression(node2, opts) { + assert2("ArrayExpression", node2, opts); + } + function assertAssignmentExpression(node2, opts) { + assert2("AssignmentExpression", node2, opts); + } + function assertBinaryExpression(node2, opts) { + assert2("BinaryExpression", node2, opts); + } + function assertInterpreterDirective(node2, opts) { + assert2("InterpreterDirective", node2, opts); + } + function assertDirective(node2, opts) { + assert2("Directive", node2, opts); + } + function assertDirectiveLiteral(node2, opts) { + assert2("DirectiveLiteral", node2, opts); + } + function assertBlockStatement(node2, opts) { + assert2("BlockStatement", node2, opts); + } + function assertBreakStatement(node2, opts) { + assert2("BreakStatement", node2, opts); + } + function assertCallExpression(node2, opts) { + assert2("CallExpression", node2, opts); + } + function assertCatchClause(node2, opts) { + assert2("CatchClause", node2, opts); + } + function assertConditionalExpression(node2, opts) { + assert2("ConditionalExpression", node2, opts); + } + function assertContinueStatement(node2, opts) { + assert2("ContinueStatement", node2, opts); + } + function assertDebuggerStatement(node2, opts) { + assert2("DebuggerStatement", node2, opts); + } + function assertDoWhileStatement(node2, opts) { + assert2("DoWhileStatement", node2, opts); + } + function assertEmptyStatement(node2, opts) { + assert2("EmptyStatement", node2, opts); + } + function assertExpressionStatement(node2, opts) { + assert2("ExpressionStatement", node2, opts); + } + function assertFile(node2, opts) { + assert2("File", node2, opts); + } + function assertForInStatement(node2, opts) { + assert2("ForInStatement", node2, opts); + } + function assertForStatement(node2, opts) { + assert2("ForStatement", node2, opts); + } + function assertFunctionDeclaration(node2, opts) { + assert2("FunctionDeclaration", node2, opts); + } + function assertFunctionExpression(node2, opts) { + assert2("FunctionExpression", node2, opts); + } + function assertIdentifier(node2, opts) { + assert2("Identifier", node2, opts); + } + function assertIfStatement(node2, opts) { + assert2("IfStatement", node2, opts); + } + function assertLabeledStatement(node2, opts) { + assert2("LabeledStatement", node2, opts); + } + function assertStringLiteral(node2, opts) { + assert2("StringLiteral", node2, opts); + } + function assertNumericLiteral(node2, opts) { + assert2("NumericLiteral", node2, opts); + } + function assertNullLiteral(node2, opts) { + assert2("NullLiteral", node2, opts); + } + function assertBooleanLiteral(node2, opts) { + assert2("BooleanLiteral", node2, opts); + } + function assertRegExpLiteral(node2, opts) { + assert2("RegExpLiteral", node2, opts); + } + function assertLogicalExpression(node2, opts) { + assert2("LogicalExpression", node2, opts); + } + function assertMemberExpression(node2, opts) { + assert2("MemberExpression", node2, opts); + } + function assertNewExpression(node2, opts) { + assert2("NewExpression", node2, opts); + } + function assertProgram(node2, opts) { + assert2("Program", node2, opts); + } + function assertObjectExpression(node2, opts) { + assert2("ObjectExpression", node2, opts); + } + function assertObjectMethod(node2, opts) { + assert2("ObjectMethod", node2, opts); + } + function assertObjectProperty(node2, opts) { + assert2("ObjectProperty", node2, opts); + } + function assertRestElement(node2, opts) { + assert2("RestElement", node2, opts); + } + function assertReturnStatement(node2, opts) { + assert2("ReturnStatement", node2, opts); + } + function assertSequenceExpression(node2, opts) { + assert2("SequenceExpression", node2, opts); + } + function assertParenthesizedExpression(node2, opts) { + assert2("ParenthesizedExpression", node2, opts); + } + function assertSwitchCase(node2, opts) { + assert2("SwitchCase", node2, opts); + } + function assertSwitchStatement(node2, opts) { + assert2("SwitchStatement", node2, opts); + } + function assertThisExpression(node2, opts) { + assert2("ThisExpression", node2, opts); + } + function assertThrowStatement(node2, opts) { + assert2("ThrowStatement", node2, opts); + } + function assertTryStatement(node2, opts) { + assert2("TryStatement", node2, opts); + } + function assertUnaryExpression(node2, opts) { + assert2("UnaryExpression", node2, opts); + } + function assertUpdateExpression(node2, opts) { + assert2("UpdateExpression", node2, opts); + } + function assertVariableDeclaration(node2, opts) { + assert2("VariableDeclaration", node2, opts); + } + function assertVariableDeclarator(node2, opts) { + assert2("VariableDeclarator", node2, opts); + } + function assertWhileStatement(node2, opts) { + assert2("WhileStatement", node2, opts); + } + function assertWithStatement(node2, opts) { + assert2("WithStatement", node2, opts); + } + function assertAssignmentPattern(node2, opts) { + assert2("AssignmentPattern", node2, opts); + } + function assertArrayPattern(node2, opts) { + assert2("ArrayPattern", node2, opts); + } + function assertArrowFunctionExpression(node2, opts) { + assert2("ArrowFunctionExpression", node2, opts); + } + function assertClassBody(node2, opts) { + assert2("ClassBody", node2, opts); + } + function assertClassExpression(node2, opts) { + assert2("ClassExpression", node2, opts); + } + function assertClassDeclaration(node2, opts) { + assert2("ClassDeclaration", node2, opts); + } + function assertExportAllDeclaration(node2, opts) { + assert2("ExportAllDeclaration", node2, opts); + } + function assertExportDefaultDeclaration(node2, opts) { + assert2("ExportDefaultDeclaration", node2, opts); + } + function assertExportNamedDeclaration(node2, opts) { + assert2("ExportNamedDeclaration", node2, opts); + } + function assertExportSpecifier(node2, opts) { + assert2("ExportSpecifier", node2, opts); + } + function assertForOfStatement(node2, opts) { + assert2("ForOfStatement", node2, opts); + } + function assertImportDeclaration(node2, opts) { + assert2("ImportDeclaration", node2, opts); + } + function assertImportDefaultSpecifier(node2, opts) { + assert2("ImportDefaultSpecifier", node2, opts); + } + function assertImportNamespaceSpecifier(node2, opts) { + assert2("ImportNamespaceSpecifier", node2, opts); + } + function assertImportSpecifier(node2, opts) { + assert2("ImportSpecifier", node2, opts); + } + function assertMetaProperty(node2, opts) { + assert2("MetaProperty", node2, opts); + } + function assertClassMethod(node2, opts) { + assert2("ClassMethod", node2, opts); + } + function assertObjectPattern(node2, opts) { + assert2("ObjectPattern", node2, opts); + } + function assertSpreadElement(node2, opts) { + assert2("SpreadElement", node2, opts); + } + function assertSuper(node2, opts) { + assert2("Super", node2, opts); + } + function assertTaggedTemplateExpression(node2, opts) { + assert2("TaggedTemplateExpression", node2, opts); + } + function assertTemplateElement(node2, opts) { + assert2("TemplateElement", node2, opts); + } + function assertTemplateLiteral(node2, opts) { + assert2("TemplateLiteral", node2, opts); + } + function assertYieldExpression(node2, opts) { + assert2("YieldExpression", node2, opts); + } + function assertAwaitExpression(node2, opts) { + assert2("AwaitExpression", node2, opts); + } + function assertImport(node2, opts) { + assert2("Import", node2, opts); + } + function assertBigIntLiteral(node2, opts) { + assert2("BigIntLiteral", node2, opts); + } + function assertExportNamespaceSpecifier(node2, opts) { + assert2("ExportNamespaceSpecifier", node2, opts); + } + function assertOptionalMemberExpression(node2, opts) { + assert2("OptionalMemberExpression", node2, opts); + } + function assertOptionalCallExpression(node2, opts) { + assert2("OptionalCallExpression", node2, opts); + } + function assertClassProperty(node2, opts) { + assert2("ClassProperty", node2, opts); + } + function assertClassAccessorProperty(node2, opts) { + assert2("ClassAccessorProperty", node2, opts); + } + function assertClassPrivateProperty(node2, opts) { + assert2("ClassPrivateProperty", node2, opts); + } + function assertClassPrivateMethod(node2, opts) { + assert2("ClassPrivateMethod", node2, opts); + } + function assertPrivateName(node2, opts) { + assert2("PrivateName", node2, opts); + } + function assertStaticBlock(node2, opts) { + assert2("StaticBlock", node2, opts); + } + function assertAnyTypeAnnotation(node2, opts) { + assert2("AnyTypeAnnotation", node2, opts); + } + function assertArrayTypeAnnotation(node2, opts) { + assert2("ArrayTypeAnnotation", node2, opts); + } + function assertBooleanTypeAnnotation(node2, opts) { + assert2("BooleanTypeAnnotation", node2, opts); + } + function assertBooleanLiteralTypeAnnotation(node2, opts) { + assert2("BooleanLiteralTypeAnnotation", node2, opts); + } + function assertNullLiteralTypeAnnotation(node2, opts) { + assert2("NullLiteralTypeAnnotation", node2, opts); + } + function assertClassImplements(node2, opts) { + assert2("ClassImplements", node2, opts); + } + function assertDeclareClass(node2, opts) { + assert2("DeclareClass", node2, opts); + } + function assertDeclareFunction(node2, opts) { + assert2("DeclareFunction", node2, opts); + } + function assertDeclareInterface(node2, opts) { + assert2("DeclareInterface", node2, opts); + } + function assertDeclareModule(node2, opts) { + assert2("DeclareModule", node2, opts); + } + function assertDeclareModuleExports(node2, opts) { + assert2("DeclareModuleExports", node2, opts); + } + function assertDeclareTypeAlias(node2, opts) { + assert2("DeclareTypeAlias", node2, opts); + } + function assertDeclareOpaqueType(node2, opts) { + assert2("DeclareOpaqueType", node2, opts); + } + function assertDeclareVariable(node2, opts) { + assert2("DeclareVariable", node2, opts); + } + function assertDeclareExportDeclaration(node2, opts) { + assert2("DeclareExportDeclaration", node2, opts); + } + function assertDeclareExportAllDeclaration(node2, opts) { + assert2("DeclareExportAllDeclaration", node2, opts); + } + function assertDeclaredPredicate(node2, opts) { + assert2("DeclaredPredicate", node2, opts); + } + function assertExistsTypeAnnotation(node2, opts) { + assert2("ExistsTypeAnnotation", node2, opts); + } + function assertFunctionTypeAnnotation(node2, opts) { + assert2("FunctionTypeAnnotation", node2, opts); + } + function assertFunctionTypeParam(node2, opts) { + assert2("FunctionTypeParam", node2, opts); + } + function assertGenericTypeAnnotation(node2, opts) { + assert2("GenericTypeAnnotation", node2, opts); + } + function assertInferredPredicate(node2, opts) { + assert2("InferredPredicate", node2, opts); + } + function assertInterfaceExtends(node2, opts) { + assert2("InterfaceExtends", node2, opts); + } + function assertInterfaceDeclaration(node2, opts) { + assert2("InterfaceDeclaration", node2, opts); + } + function assertInterfaceTypeAnnotation(node2, opts) { + assert2("InterfaceTypeAnnotation", node2, opts); + } + function assertIntersectionTypeAnnotation(node2, opts) { + assert2("IntersectionTypeAnnotation", node2, opts); + } + function assertMixedTypeAnnotation(node2, opts) { + assert2("MixedTypeAnnotation", node2, opts); + } + function assertEmptyTypeAnnotation(node2, opts) { + assert2("EmptyTypeAnnotation", node2, opts); + } + function assertNullableTypeAnnotation(node2, opts) { + assert2("NullableTypeAnnotation", node2, opts); + } + function assertNumberLiteralTypeAnnotation(node2, opts) { + assert2("NumberLiteralTypeAnnotation", node2, opts); + } + function assertNumberTypeAnnotation(node2, opts) { + assert2("NumberTypeAnnotation", node2, opts); + } + function assertObjectTypeAnnotation(node2, opts) { + assert2("ObjectTypeAnnotation", node2, opts); + } + function assertObjectTypeInternalSlot(node2, opts) { + assert2("ObjectTypeInternalSlot", node2, opts); + } + function assertObjectTypeCallProperty(node2, opts) { + assert2("ObjectTypeCallProperty", node2, opts); + } + function assertObjectTypeIndexer(node2, opts) { + assert2("ObjectTypeIndexer", node2, opts); + } + function assertObjectTypeProperty(node2, opts) { + assert2("ObjectTypeProperty", node2, opts); + } + function assertObjectTypeSpreadProperty(node2, opts) { + assert2("ObjectTypeSpreadProperty", node2, opts); + } + function assertOpaqueType(node2, opts) { + assert2("OpaqueType", node2, opts); + } + function assertQualifiedTypeIdentifier(node2, opts) { + assert2("QualifiedTypeIdentifier", node2, opts); + } + function assertStringLiteralTypeAnnotation(node2, opts) { + assert2("StringLiteralTypeAnnotation", node2, opts); + } + function assertStringTypeAnnotation(node2, opts) { + assert2("StringTypeAnnotation", node2, opts); + } + function assertSymbolTypeAnnotation(node2, opts) { + assert2("SymbolTypeAnnotation", node2, opts); + } + function assertThisTypeAnnotation(node2, opts) { + assert2("ThisTypeAnnotation", node2, opts); + } + function assertTupleTypeAnnotation(node2, opts) { + assert2("TupleTypeAnnotation", node2, opts); + } + function assertTypeofTypeAnnotation(node2, opts) { + assert2("TypeofTypeAnnotation", node2, opts); + } + function assertTypeAlias(node2, opts) { + assert2("TypeAlias", node2, opts); + } + function assertTypeAnnotation(node2, opts) { + assert2("TypeAnnotation", node2, opts); + } + function assertTypeCastExpression(node2, opts) { + assert2("TypeCastExpression", node2, opts); + } + function assertTypeParameter(node2, opts) { + assert2("TypeParameter", node2, opts); + } + function assertTypeParameterDeclaration(node2, opts) { + assert2("TypeParameterDeclaration", node2, opts); + } + function assertTypeParameterInstantiation(node2, opts) { + assert2("TypeParameterInstantiation", node2, opts); + } + function assertUnionTypeAnnotation(node2, opts) { + assert2("UnionTypeAnnotation", node2, opts); + } + function assertVariance(node2, opts) { + assert2("Variance", node2, opts); + } + function assertVoidTypeAnnotation(node2, opts) { + assert2("VoidTypeAnnotation", node2, opts); + } + function assertEnumDeclaration(node2, opts) { + assert2("EnumDeclaration", node2, opts); + } + function assertEnumBooleanBody(node2, opts) { + assert2("EnumBooleanBody", node2, opts); + } + function assertEnumNumberBody(node2, opts) { + assert2("EnumNumberBody", node2, opts); + } + function assertEnumStringBody(node2, opts) { + assert2("EnumStringBody", node2, opts); + } + function assertEnumSymbolBody(node2, opts) { + assert2("EnumSymbolBody", node2, opts); + } + function assertEnumBooleanMember(node2, opts) { + assert2("EnumBooleanMember", node2, opts); + } + function assertEnumNumberMember(node2, opts) { + assert2("EnumNumberMember", node2, opts); + } + function assertEnumStringMember(node2, opts) { + assert2("EnumStringMember", node2, opts); + } + function assertEnumDefaultedMember(node2, opts) { + assert2("EnumDefaultedMember", node2, opts); + } + function assertIndexedAccessType(node2, opts) { + assert2("IndexedAccessType", node2, opts); + } + function assertOptionalIndexedAccessType(node2, opts) { + assert2("OptionalIndexedAccessType", node2, opts); + } + function assertJSXAttribute(node2, opts) { + assert2("JSXAttribute", node2, opts); + } + function assertJSXClosingElement(node2, opts) { + assert2("JSXClosingElement", node2, opts); + } + function assertJSXElement(node2, opts) { + assert2("JSXElement", node2, opts); + } + function assertJSXEmptyExpression(node2, opts) { + assert2("JSXEmptyExpression", node2, opts); + } + function assertJSXExpressionContainer(node2, opts) { + assert2("JSXExpressionContainer", node2, opts); + } + function assertJSXSpreadChild(node2, opts) { + assert2("JSXSpreadChild", node2, opts); + } + function assertJSXIdentifier(node2, opts) { + assert2("JSXIdentifier", node2, opts); + } + function assertJSXMemberExpression(node2, opts) { + assert2("JSXMemberExpression", node2, opts); + } + function assertJSXNamespacedName(node2, opts) { + assert2("JSXNamespacedName", node2, opts); + } + function assertJSXOpeningElement(node2, opts) { + assert2("JSXOpeningElement", node2, opts); + } + function assertJSXSpreadAttribute(node2, opts) { + assert2("JSXSpreadAttribute", node2, opts); + } + function assertJSXText(node2, opts) { + assert2("JSXText", node2, opts); + } + function assertJSXFragment(node2, opts) { + assert2("JSXFragment", node2, opts); + } + function assertJSXOpeningFragment(node2, opts) { + assert2("JSXOpeningFragment", node2, opts); + } + function assertJSXClosingFragment(node2, opts) { + assert2("JSXClosingFragment", node2, opts); + } + function assertNoop(node2, opts) { + assert2("Noop", node2, opts); + } + function assertPlaceholder(node2, opts) { + assert2("Placeholder", node2, opts); + } + function assertV8IntrinsicIdentifier(node2, opts) { + assert2("V8IntrinsicIdentifier", node2, opts); + } + function assertArgumentPlaceholder(node2, opts) { + assert2("ArgumentPlaceholder", node2, opts); + } + function assertBindExpression(node2, opts) { + assert2("BindExpression", node2, opts); + } + function assertImportAttribute(node2, opts) { + assert2("ImportAttribute", node2, opts); + } + function assertDecorator(node2, opts) { + assert2("Decorator", node2, opts); + } + function assertDoExpression(node2, opts) { + assert2("DoExpression", node2, opts); + } + function assertExportDefaultSpecifier(node2, opts) { + assert2("ExportDefaultSpecifier", node2, opts); + } + function assertRecordExpression(node2, opts) { + assert2("RecordExpression", node2, opts); + } + function assertTupleExpression(node2, opts) { + assert2("TupleExpression", node2, opts); + } + function assertDecimalLiteral(node2, opts) { + assert2("DecimalLiteral", node2, opts); + } + function assertModuleExpression(node2, opts) { + assert2("ModuleExpression", node2, opts); + } + function assertTopicReference(node2, opts) { + assert2("TopicReference", node2, opts); + } + function assertPipelineTopicExpression(node2, opts) { + assert2("PipelineTopicExpression", node2, opts); + } + function assertPipelineBareFunction(node2, opts) { + assert2("PipelineBareFunction", node2, opts); + } + function assertPipelinePrimaryTopicReference(node2, opts) { + assert2("PipelinePrimaryTopicReference", node2, opts); + } + function assertTSParameterProperty(node2, opts) { + assert2("TSParameterProperty", node2, opts); + } + function assertTSDeclareFunction(node2, opts) { + assert2("TSDeclareFunction", node2, opts); + } + function assertTSDeclareMethod(node2, opts) { + assert2("TSDeclareMethod", node2, opts); + } + function assertTSQualifiedName(node2, opts) { + assert2("TSQualifiedName", node2, opts); + } + function assertTSCallSignatureDeclaration(node2, opts) { + assert2("TSCallSignatureDeclaration", node2, opts); + } + function assertTSConstructSignatureDeclaration(node2, opts) { + assert2("TSConstructSignatureDeclaration", node2, opts); + } + function assertTSPropertySignature(node2, opts) { + assert2("TSPropertySignature", node2, opts); + } + function assertTSMethodSignature(node2, opts) { + assert2("TSMethodSignature", node2, opts); + } + function assertTSIndexSignature(node2, opts) { + assert2("TSIndexSignature", node2, opts); + } + function assertTSAnyKeyword(node2, opts) { + assert2("TSAnyKeyword", node2, opts); + } + function assertTSBooleanKeyword(node2, opts) { + assert2("TSBooleanKeyword", node2, opts); + } + function assertTSBigIntKeyword(node2, opts) { + assert2("TSBigIntKeyword", node2, opts); + } + function assertTSIntrinsicKeyword(node2, opts) { + assert2("TSIntrinsicKeyword", node2, opts); + } + function assertTSNeverKeyword(node2, opts) { + assert2("TSNeverKeyword", node2, opts); + } + function assertTSNullKeyword(node2, opts) { + assert2("TSNullKeyword", node2, opts); + } + function assertTSNumberKeyword(node2, opts) { + assert2("TSNumberKeyword", node2, opts); + } + function assertTSObjectKeyword(node2, opts) { + assert2("TSObjectKeyword", node2, opts); + } + function assertTSStringKeyword(node2, opts) { + assert2("TSStringKeyword", node2, opts); + } + function assertTSSymbolKeyword(node2, opts) { + assert2("TSSymbolKeyword", node2, opts); + } + function assertTSUndefinedKeyword(node2, opts) { + assert2("TSUndefinedKeyword", node2, opts); + } + function assertTSUnknownKeyword(node2, opts) { + assert2("TSUnknownKeyword", node2, opts); + } + function assertTSVoidKeyword(node2, opts) { + assert2("TSVoidKeyword", node2, opts); + } + function assertTSThisType(node2, opts) { + assert2("TSThisType", node2, opts); + } + function assertTSFunctionType(node2, opts) { + assert2("TSFunctionType", node2, opts); + } + function assertTSConstructorType(node2, opts) { + assert2("TSConstructorType", node2, opts); + } + function assertTSTypeReference(node2, opts) { + assert2("TSTypeReference", node2, opts); + } + function assertTSTypePredicate(node2, opts) { + assert2("TSTypePredicate", node2, opts); + } + function assertTSTypeQuery(node2, opts) { + assert2("TSTypeQuery", node2, opts); + } + function assertTSTypeLiteral(node2, opts) { + assert2("TSTypeLiteral", node2, opts); + } + function assertTSArrayType(node2, opts) { + assert2("TSArrayType", node2, opts); + } + function assertTSTupleType(node2, opts) { + assert2("TSTupleType", node2, opts); + } + function assertTSOptionalType(node2, opts) { + assert2("TSOptionalType", node2, opts); + } + function assertTSRestType(node2, opts) { + assert2("TSRestType", node2, opts); + } + function assertTSNamedTupleMember(node2, opts) { + assert2("TSNamedTupleMember", node2, opts); + } + function assertTSUnionType(node2, opts) { + assert2("TSUnionType", node2, opts); + } + function assertTSIntersectionType(node2, opts) { + assert2("TSIntersectionType", node2, opts); + } + function assertTSConditionalType(node2, opts) { + assert2("TSConditionalType", node2, opts); + } + function assertTSInferType(node2, opts) { + assert2("TSInferType", node2, opts); + } + function assertTSParenthesizedType(node2, opts) { + assert2("TSParenthesizedType", node2, opts); + } + function assertTSTypeOperator(node2, opts) { + assert2("TSTypeOperator", node2, opts); + } + function assertTSIndexedAccessType(node2, opts) { + assert2("TSIndexedAccessType", node2, opts); + } + function assertTSMappedType(node2, opts) { + assert2("TSMappedType", node2, opts); + } + function assertTSLiteralType(node2, opts) { + assert2("TSLiteralType", node2, opts); + } + function assertTSExpressionWithTypeArguments(node2, opts) { + assert2("TSExpressionWithTypeArguments", node2, opts); + } + function assertTSInterfaceDeclaration(node2, opts) { + assert2("TSInterfaceDeclaration", node2, opts); + } + function assertTSInterfaceBody(node2, opts) { + assert2("TSInterfaceBody", node2, opts); + } + function assertTSTypeAliasDeclaration(node2, opts) { + assert2("TSTypeAliasDeclaration", node2, opts); + } + function assertTSInstantiationExpression(node2, opts) { + assert2("TSInstantiationExpression", node2, opts); + } + function assertTSAsExpression(node2, opts) { + assert2("TSAsExpression", node2, opts); + } + function assertTSSatisfiesExpression(node2, opts) { + assert2("TSSatisfiesExpression", node2, opts); + } + function assertTSTypeAssertion(node2, opts) { + assert2("TSTypeAssertion", node2, opts); + } + function assertTSEnumDeclaration(node2, opts) { + assert2("TSEnumDeclaration", node2, opts); + } + function assertTSEnumMember(node2, opts) { + assert2("TSEnumMember", node2, opts); + } + function assertTSModuleDeclaration(node2, opts) { + assert2("TSModuleDeclaration", node2, opts); + } + function assertTSModuleBlock(node2, opts) { + assert2("TSModuleBlock", node2, opts); + } + function assertTSImportType(node2, opts) { + assert2("TSImportType", node2, opts); + } + function assertTSImportEqualsDeclaration(node2, opts) { + assert2("TSImportEqualsDeclaration", node2, opts); + } + function assertTSExternalModuleReference(node2, opts) { + assert2("TSExternalModuleReference", node2, opts); + } + function assertTSNonNullExpression(node2, opts) { + assert2("TSNonNullExpression", node2, opts); + } + function assertTSExportAssignment(node2, opts) { + assert2("TSExportAssignment", node2, opts); + } + function assertTSNamespaceExportDeclaration(node2, opts) { + assert2("TSNamespaceExportDeclaration", node2, opts); + } + function assertTSTypeAnnotation(node2, opts) { + assert2("TSTypeAnnotation", node2, opts); + } + function assertTSTypeParameterInstantiation(node2, opts) { + assert2("TSTypeParameterInstantiation", node2, opts); + } + function assertTSTypeParameterDeclaration(node2, opts) { + assert2("TSTypeParameterDeclaration", node2, opts); + } + function assertTSTypeParameter(node2, opts) { + assert2("TSTypeParameter", node2, opts); + } + function assertStandardized(node2, opts) { + assert2("Standardized", node2, opts); + } + function assertExpression(node2, opts) { + assert2("Expression", node2, opts); + } + function assertBinary(node2, opts) { + assert2("Binary", node2, opts); + } + function assertScopable(node2, opts) { + assert2("Scopable", node2, opts); + } + function assertBlockParent(node2, opts) { + assert2("BlockParent", node2, opts); + } + function assertBlock(node2, opts) { + assert2("Block", node2, opts); + } + function assertStatement(node2, opts) { + assert2("Statement", node2, opts); + } + function assertTerminatorless(node2, opts) { + assert2("Terminatorless", node2, opts); + } + function assertCompletionStatement(node2, opts) { + assert2("CompletionStatement", node2, opts); + } + function assertConditional(node2, opts) { + assert2("Conditional", node2, opts); + } + function assertLoop(node2, opts) { + assert2("Loop", node2, opts); + } + function assertWhile(node2, opts) { + assert2("While", node2, opts); + } + function assertExpressionWrapper(node2, opts) { + assert2("ExpressionWrapper", node2, opts); + } + function assertFor(node2, opts) { + assert2("For", node2, opts); + } + function assertForXStatement(node2, opts) { + assert2("ForXStatement", node2, opts); + } + function assertFunction(node2, opts) { + assert2("Function", node2, opts); + } + function assertFunctionParent(node2, opts) { + assert2("FunctionParent", node2, opts); + } + function assertPureish(node2, opts) { + assert2("Pureish", node2, opts); + } + function assertDeclaration(node2, opts) { + assert2("Declaration", node2, opts); + } + function assertPatternLike(node2, opts) { + assert2("PatternLike", node2, opts); + } + function assertLVal(node2, opts) { + assert2("LVal", node2, opts); + } + function assertTSEntityName(node2, opts) { + assert2("TSEntityName", node2, opts); + } + function assertLiteral(node2, opts) { + assert2("Literal", node2, opts); + } + function assertImmutable(node2, opts) { + assert2("Immutable", node2, opts); + } + function assertUserWhitespacable(node2, opts) { + assert2("UserWhitespacable", node2, opts); + } + function assertMethod(node2, opts) { + assert2("Method", node2, opts); + } + function assertObjectMember(node2, opts) { + assert2("ObjectMember", node2, opts); + } + function assertProperty(node2, opts) { + assert2("Property", node2, opts); + } + function assertUnaryLike(node2, opts) { + assert2("UnaryLike", node2, opts); + } + function assertPattern(node2, opts) { + assert2("Pattern", node2, opts); + } + function assertClass(node2, opts) { + assert2("Class", node2, opts); + } + function assertImportOrExportDeclaration(node2, opts) { + assert2("ImportOrExportDeclaration", node2, opts); + } + function assertExportDeclaration(node2, opts) { + assert2("ExportDeclaration", node2, opts); + } + function assertModuleSpecifier(node2, opts) { + assert2("ModuleSpecifier", node2, opts); + } + function assertAccessor(node2, opts) { + assert2("Accessor", node2, opts); + } + function assertPrivate(node2, opts) { + assert2("Private", node2, opts); + } + function assertFlow(node2, opts) { + assert2("Flow", node2, opts); + } + function assertFlowType(node2, opts) { + assert2("FlowType", node2, opts); + } + function assertFlowBaseAnnotation(node2, opts) { + assert2("FlowBaseAnnotation", node2, opts); + } + function assertFlowDeclaration(node2, opts) { + assert2("FlowDeclaration", node2, opts); + } + function assertFlowPredicate(node2, opts) { + assert2("FlowPredicate", node2, opts); + } + function assertEnumBody(node2, opts) { + assert2("EnumBody", node2, opts); + } + function assertEnumMember(node2, opts) { + assert2("EnumMember", node2, opts); + } + function assertJSX(node2, opts) { + assert2("JSX", node2, opts); + } + function assertMiscellaneous(node2, opts) { + assert2("Miscellaneous", node2, opts); + } + function assertTypeScript(node2, opts) { + assert2("TypeScript", node2, opts); + } + function assertTSTypeElement(node2, opts) { + assert2("TSTypeElement", node2, opts); + } + function assertTSType(node2, opts) { + assert2("TSType", node2, opts); + } + function assertTSBaseType(node2, opts) { + assert2("TSBaseType", node2, opts); + } + function assertNumberLiteral(node2, opts) { + (0, _deprecationWarning.default)("assertNumberLiteral", "assertNumericLiteral"); + assert2("NumberLiteral", node2, opts); + } + function assertRegexLiteral(node2, opts) { + (0, _deprecationWarning.default)("assertRegexLiteral", "assertRegExpLiteral"); + assert2("RegexLiteral", node2, opts); + } + function assertRestProperty(node2, opts) { + (0, _deprecationWarning.default)("assertRestProperty", "assertRestElement"); + assert2("RestProperty", node2, opts); + } + function assertSpreadProperty(node2, opts) { + (0, _deprecationWarning.default)("assertSpreadProperty", "assertSpreadElement"); + assert2("SpreadProperty", node2, opts); + } + function assertModuleDeclaration(node2, opts) { + (0, _deprecationWarning.default)("assertModuleDeclaration", "assertImportOrExportDeclaration"); + assert2("ModuleDeclaration", node2, opts); + } + } +}); + +// node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js +var require_createTypeAnnotationBasedOnTypeof = __commonJS({ + "node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _generated = require_generated2(); + var _default = createTypeAnnotationBasedOnTypeof; + exports.default = _default; + function createTypeAnnotationBasedOnTypeof(type) { + switch (type) { + case "string": + return (0, _generated.stringTypeAnnotation)(); + case "number": + return (0, _generated.numberTypeAnnotation)(); + case "undefined": + return (0, _generated.voidTypeAnnotation)(); + case "boolean": + return (0, _generated.booleanTypeAnnotation)(); + case "function": + return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Function")); + case "object": + return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Object")); + case "symbol": + return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Symbol")); + case "bigint": + return (0, _generated.anyTypeAnnotation)(); + } + throw new Error("Invalid typeof value: " + type); + } + } +}); + +// node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js +var require_removeTypeDuplicates = __commonJS({ + "node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = removeTypeDuplicates; + var _generated = require_generated(); + function getQualifiedName(node2) { + return (0, _generated.isIdentifier)(node2) ? node2.name : `${node2.id.name}.${getQualifiedName(node2.qualification)}`; + } + function removeTypeDuplicates(nodes) { + const generics = /* @__PURE__ */ new Map(); + const bases = /* @__PURE__ */ new Map(); + const typeGroups = /* @__PURE__ */ new Set(); + const types = []; + for (let i = 0; i < nodes.length; i++) { + const node2 = nodes[i]; + if (!node2) + continue; + if (types.indexOf(node2) >= 0) { + continue; + } + if ((0, _generated.isAnyTypeAnnotation)(node2)) { + return [node2]; + } + if ((0, _generated.isFlowBaseAnnotation)(node2)) { + bases.set(node2.type, node2); + continue; + } + if ((0, _generated.isUnionTypeAnnotation)(node2)) { + if (!typeGroups.has(node2.types)) { + nodes = nodes.concat(node2.types); + typeGroups.add(node2.types); + } + continue; + } + if ((0, _generated.isGenericTypeAnnotation)(node2)) { + const name = getQualifiedName(node2.id); + if (generics.has(name)) { + let existing = generics.get(name); + if (existing.typeParameters) { + if (node2.typeParameters) { + existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params.concat(node2.typeParameters.params)); + } + } else { + existing = node2.typeParameters; + } + } else { + generics.set(name, node2); + } + continue; + } + types.push(node2); + } + for (const [, baseType] of bases) { + types.push(baseType); + } + for (const [, genericName] of generics) { + types.push(genericName); + } + return types; + } + } +}); + +// node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js +var require_createFlowUnionType = __commonJS({ + "node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = createFlowUnionType; + var _generated = require_generated2(); + var _removeTypeDuplicates = require_removeTypeDuplicates(); + function createFlowUnionType(types) { + const flattened = (0, _removeTypeDuplicates.default)(types); + if (flattened.length === 1) { + return flattened[0]; + } else { + return (0, _generated.unionTypeAnnotation)(flattened); + } + } + } +}); + +// node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js +var require_removeTypeDuplicates2 = __commonJS({ + "node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = removeTypeDuplicates; + var _generated = require_generated(); + function getQualifiedName(node2) { + return (0, _generated.isIdentifier)(node2) ? node2.name : `${node2.right.name}.${getQualifiedName(node2.left)}`; + } + function removeTypeDuplicates(nodes) { + const generics = /* @__PURE__ */ new Map(); + const bases = /* @__PURE__ */ new Map(); + const typeGroups = /* @__PURE__ */ new Set(); + const types = []; + for (let i = 0; i < nodes.length; i++) { + const node2 = nodes[i]; + if (!node2) + continue; + if (types.indexOf(node2) >= 0) { + continue; + } + if ((0, _generated.isTSAnyKeyword)(node2)) { + return [node2]; + } + if ((0, _generated.isTSBaseType)(node2)) { + bases.set(node2.type, node2); + continue; + } + if ((0, _generated.isTSUnionType)(node2)) { + if (!typeGroups.has(node2.types)) { + nodes.push(...node2.types); + typeGroups.add(node2.types); + } + continue; + } + if ((0, _generated.isTSTypeReference)(node2) && node2.typeParameters) { + const name = getQualifiedName(node2.typeName); + if (generics.has(name)) { + let existing = generics.get(name); + if (existing.typeParameters) { + if (node2.typeParameters) { + existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params.concat(node2.typeParameters.params)); + } + } else { + existing = node2.typeParameters; + } + } else { + generics.set(name, node2); + } + continue; + } + types.push(node2); + } + for (const [, baseType] of bases) { + types.push(baseType); + } + for (const [, genericName] of generics) { + types.push(genericName); + } + return types; + } + } +}); + +// node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js +var require_createTSUnionType = __commonJS({ + "node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = createTSUnionType; + var _generated = require_generated2(); + var _removeTypeDuplicates = require_removeTypeDuplicates2(); + var _index = require_generated(); + function createTSUnionType(typeAnnotations) { + const types = typeAnnotations.map((type) => { + return (0, _index.isTSTypeAnnotation)(type) ? type.typeAnnotation : type; + }); + const flattened = (0, _removeTypeDuplicates.default)(types); + if (flattened.length === 1) { + return flattened[0]; + } else { + return (0, _generated.tsUnionType)(flattened); + } + } + } +}); + +// node_modules/@babel/types/lib/builders/generated/uppercase.js +var require_uppercase = __commonJS({ + "node_modules/@babel/types/lib/builders/generated/uppercase.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + Object.defineProperty(exports, "AnyTypeAnnotation", { + enumerable: true, + get: function() { + return _index.anyTypeAnnotation; + } + }); + Object.defineProperty(exports, "ArgumentPlaceholder", { + enumerable: true, + get: function() { + return _index.argumentPlaceholder; + } + }); + Object.defineProperty(exports, "ArrayExpression", { + enumerable: true, + get: function() { + return _index.arrayExpression; + } + }); + Object.defineProperty(exports, "ArrayPattern", { + enumerable: true, + get: function() { + return _index.arrayPattern; + } + }); + Object.defineProperty(exports, "ArrayTypeAnnotation", { + enumerable: true, + get: function() { + return _index.arrayTypeAnnotation; + } + }); + Object.defineProperty(exports, "ArrowFunctionExpression", { + enumerable: true, + get: function() { + return _index.arrowFunctionExpression; + } + }); + Object.defineProperty(exports, "AssignmentExpression", { + enumerable: true, + get: function() { + return _index.assignmentExpression; + } + }); + Object.defineProperty(exports, "AssignmentPattern", { + enumerable: true, + get: function() { + return _index.assignmentPattern; + } + }); + Object.defineProperty(exports, "AwaitExpression", { + enumerable: true, + get: function() { + return _index.awaitExpression; + } + }); + Object.defineProperty(exports, "BigIntLiteral", { + enumerable: true, + get: function() { + return _index.bigIntLiteral; + } + }); + Object.defineProperty(exports, "BinaryExpression", { + enumerable: true, + get: function() { + return _index.binaryExpression; + } + }); + Object.defineProperty(exports, "BindExpression", { + enumerable: true, + get: function() { + return _index.bindExpression; + } + }); + Object.defineProperty(exports, "BlockStatement", { + enumerable: true, + get: function() { + return _index.blockStatement; + } + }); + Object.defineProperty(exports, "BooleanLiteral", { + enumerable: true, + get: function() { + return _index.booleanLiteral; + } + }); + Object.defineProperty(exports, "BooleanLiteralTypeAnnotation", { + enumerable: true, + get: function() { + return _index.booleanLiteralTypeAnnotation; + } + }); + Object.defineProperty(exports, "BooleanTypeAnnotation", { + enumerable: true, + get: function() { + return _index.booleanTypeAnnotation; + } + }); + Object.defineProperty(exports, "BreakStatement", { + enumerable: true, + get: function() { + return _index.breakStatement; + } + }); + Object.defineProperty(exports, "CallExpression", { + enumerable: true, + get: function() { + return _index.callExpression; + } + }); + Object.defineProperty(exports, "CatchClause", { + enumerable: true, + get: function() { + return _index.catchClause; + } + }); + Object.defineProperty(exports, "ClassAccessorProperty", { + enumerable: true, + get: function() { + return _index.classAccessorProperty; + } + }); + Object.defineProperty(exports, "ClassBody", { + enumerable: true, + get: function() { + return _index.classBody; + } + }); + Object.defineProperty(exports, "ClassDeclaration", { + enumerable: true, + get: function() { + return _index.classDeclaration; + } + }); + Object.defineProperty(exports, "ClassExpression", { + enumerable: true, + get: function() { + return _index.classExpression; + } + }); + Object.defineProperty(exports, "ClassImplements", { + enumerable: true, + get: function() { + return _index.classImplements; + } + }); + Object.defineProperty(exports, "ClassMethod", { + enumerable: true, + get: function() { + return _index.classMethod; + } + }); + Object.defineProperty(exports, "ClassPrivateMethod", { + enumerable: true, + get: function() { + return _index.classPrivateMethod; + } + }); + Object.defineProperty(exports, "ClassPrivateProperty", { + enumerable: true, + get: function() { + return _index.classPrivateProperty; + } + }); + Object.defineProperty(exports, "ClassProperty", { + enumerable: true, + get: function() { + return _index.classProperty; + } + }); + Object.defineProperty(exports, "ConditionalExpression", { + enumerable: true, + get: function() { + return _index.conditionalExpression; + } + }); + Object.defineProperty(exports, "ContinueStatement", { + enumerable: true, + get: function() { + return _index.continueStatement; + } + }); + Object.defineProperty(exports, "DebuggerStatement", { + enumerable: true, + get: function() { + return _index.debuggerStatement; + } + }); + Object.defineProperty(exports, "DecimalLiteral", { + enumerable: true, + get: function() { + return _index.decimalLiteral; + } + }); + Object.defineProperty(exports, "DeclareClass", { + enumerable: true, + get: function() { + return _index.declareClass; + } + }); + Object.defineProperty(exports, "DeclareExportAllDeclaration", { + enumerable: true, + get: function() { + return _index.declareExportAllDeclaration; + } + }); + Object.defineProperty(exports, "DeclareExportDeclaration", { + enumerable: true, + get: function() { + return _index.declareExportDeclaration; + } + }); + Object.defineProperty(exports, "DeclareFunction", { + enumerable: true, + get: function() { + return _index.declareFunction; + } + }); + Object.defineProperty(exports, "DeclareInterface", { + enumerable: true, + get: function() { + return _index.declareInterface; + } + }); + Object.defineProperty(exports, "DeclareModule", { + enumerable: true, + get: function() { + return _index.declareModule; + } + }); + Object.defineProperty(exports, "DeclareModuleExports", { + enumerable: true, + get: function() { + return _index.declareModuleExports; + } + }); + Object.defineProperty(exports, "DeclareOpaqueType", { + enumerable: true, + get: function() { + return _index.declareOpaqueType; + } + }); + Object.defineProperty(exports, "DeclareTypeAlias", { + enumerable: true, + get: function() { + return _index.declareTypeAlias; + } + }); + Object.defineProperty(exports, "DeclareVariable", { + enumerable: true, + get: function() { + return _index.declareVariable; + } + }); + Object.defineProperty(exports, "DeclaredPredicate", { + enumerable: true, + get: function() { + return _index.declaredPredicate; + } + }); + Object.defineProperty(exports, "Decorator", { + enumerable: true, + get: function() { + return _index.decorator; + } + }); + Object.defineProperty(exports, "Directive", { + enumerable: true, + get: function() { + return _index.directive; + } + }); + Object.defineProperty(exports, "DirectiveLiteral", { + enumerable: true, + get: function() { + return _index.directiveLiteral; + } + }); + Object.defineProperty(exports, "DoExpression", { + enumerable: true, + get: function() { + return _index.doExpression; + } + }); + Object.defineProperty(exports, "DoWhileStatement", { + enumerable: true, + get: function() { + return _index.doWhileStatement; + } + }); + Object.defineProperty(exports, "EmptyStatement", { + enumerable: true, + get: function() { + return _index.emptyStatement; + } + }); + Object.defineProperty(exports, "EmptyTypeAnnotation", { + enumerable: true, + get: function() { + return _index.emptyTypeAnnotation; + } + }); + Object.defineProperty(exports, "EnumBooleanBody", { + enumerable: true, + get: function() { + return _index.enumBooleanBody; + } + }); + Object.defineProperty(exports, "EnumBooleanMember", { + enumerable: true, + get: function() { + return _index.enumBooleanMember; + } + }); + Object.defineProperty(exports, "EnumDeclaration", { + enumerable: true, + get: function() { + return _index.enumDeclaration; + } + }); + Object.defineProperty(exports, "EnumDefaultedMember", { + enumerable: true, + get: function() { + return _index.enumDefaultedMember; + } + }); + Object.defineProperty(exports, "EnumNumberBody", { + enumerable: true, + get: function() { + return _index.enumNumberBody; + } + }); + Object.defineProperty(exports, "EnumNumberMember", { + enumerable: true, + get: function() { + return _index.enumNumberMember; + } + }); + Object.defineProperty(exports, "EnumStringBody", { + enumerable: true, + get: function() { + return _index.enumStringBody; + } + }); + Object.defineProperty(exports, "EnumStringMember", { + enumerable: true, + get: function() { + return _index.enumStringMember; + } + }); + Object.defineProperty(exports, "EnumSymbolBody", { + enumerable: true, + get: function() { + return _index.enumSymbolBody; + } + }); + Object.defineProperty(exports, "ExistsTypeAnnotation", { + enumerable: true, + get: function() { + return _index.existsTypeAnnotation; + } + }); + Object.defineProperty(exports, "ExportAllDeclaration", { + enumerable: true, + get: function() { + return _index.exportAllDeclaration; + } + }); + Object.defineProperty(exports, "ExportDefaultDeclaration", { + enumerable: true, + get: function() { + return _index.exportDefaultDeclaration; + } + }); + Object.defineProperty(exports, "ExportDefaultSpecifier", { + enumerable: true, + get: function() { + return _index.exportDefaultSpecifier; + } + }); + Object.defineProperty(exports, "ExportNamedDeclaration", { + enumerable: true, + get: function() { + return _index.exportNamedDeclaration; + } + }); + Object.defineProperty(exports, "ExportNamespaceSpecifier", { + enumerable: true, + get: function() { + return _index.exportNamespaceSpecifier; + } + }); + Object.defineProperty(exports, "ExportSpecifier", { + enumerable: true, + get: function() { + return _index.exportSpecifier; + } + }); + Object.defineProperty(exports, "ExpressionStatement", { + enumerable: true, + get: function() { + return _index.expressionStatement; + } + }); + Object.defineProperty(exports, "File", { + enumerable: true, + get: function() { + return _index.file; + } + }); + Object.defineProperty(exports, "ForInStatement", { + enumerable: true, + get: function() { + return _index.forInStatement; + } + }); + Object.defineProperty(exports, "ForOfStatement", { + enumerable: true, + get: function() { + return _index.forOfStatement; + } + }); + Object.defineProperty(exports, "ForStatement", { + enumerable: true, + get: function() { + return _index.forStatement; + } + }); + Object.defineProperty(exports, "FunctionDeclaration", { + enumerable: true, + get: function() { + return _index.functionDeclaration; + } + }); + Object.defineProperty(exports, "FunctionExpression", { + enumerable: true, + get: function() { + return _index.functionExpression; + } + }); + Object.defineProperty(exports, "FunctionTypeAnnotation", { + enumerable: true, + get: function() { + return _index.functionTypeAnnotation; + } + }); + Object.defineProperty(exports, "FunctionTypeParam", { + enumerable: true, + get: function() { + return _index.functionTypeParam; + } + }); + Object.defineProperty(exports, "GenericTypeAnnotation", { + enumerable: true, + get: function() { + return _index.genericTypeAnnotation; + } + }); + Object.defineProperty(exports, "Identifier", { + enumerable: true, + get: function() { + return _index.identifier; + } + }); + Object.defineProperty(exports, "IfStatement", { + enumerable: true, + get: function() { + return _index.ifStatement; + } + }); + Object.defineProperty(exports, "Import", { + enumerable: true, + get: function() { + return _index.import; + } + }); + Object.defineProperty(exports, "ImportAttribute", { + enumerable: true, + get: function() { + return _index.importAttribute; + } + }); + Object.defineProperty(exports, "ImportDeclaration", { + enumerable: true, + get: function() { + return _index.importDeclaration; + } + }); + Object.defineProperty(exports, "ImportDefaultSpecifier", { + enumerable: true, + get: function() { + return _index.importDefaultSpecifier; + } + }); + Object.defineProperty(exports, "ImportNamespaceSpecifier", { + enumerable: true, + get: function() { + return _index.importNamespaceSpecifier; + } + }); + Object.defineProperty(exports, "ImportSpecifier", { + enumerable: true, + get: function() { + return _index.importSpecifier; + } + }); + Object.defineProperty(exports, "IndexedAccessType", { + enumerable: true, + get: function() { + return _index.indexedAccessType; + } + }); + Object.defineProperty(exports, "InferredPredicate", { + enumerable: true, + get: function() { + return _index.inferredPredicate; + } + }); + Object.defineProperty(exports, "InterfaceDeclaration", { + enumerable: true, + get: function() { + return _index.interfaceDeclaration; + } + }); + Object.defineProperty(exports, "InterfaceExtends", { + enumerable: true, + get: function() { + return _index.interfaceExtends; + } + }); + Object.defineProperty(exports, "InterfaceTypeAnnotation", { + enumerable: true, + get: function() { + return _index.interfaceTypeAnnotation; + } + }); + Object.defineProperty(exports, "InterpreterDirective", { + enumerable: true, + get: function() { + return _index.interpreterDirective; + } + }); + Object.defineProperty(exports, "IntersectionTypeAnnotation", { + enumerable: true, + get: function() { + return _index.intersectionTypeAnnotation; + } + }); + Object.defineProperty(exports, "JSXAttribute", { + enumerable: true, + get: function() { + return _index.jsxAttribute; + } + }); + Object.defineProperty(exports, "JSXClosingElement", { + enumerable: true, + get: function() { + return _index.jsxClosingElement; + } + }); + Object.defineProperty(exports, "JSXClosingFragment", { + enumerable: true, + get: function() { + return _index.jsxClosingFragment; + } + }); + Object.defineProperty(exports, "JSXElement", { + enumerable: true, + get: function() { + return _index.jsxElement; + } + }); + Object.defineProperty(exports, "JSXEmptyExpression", { + enumerable: true, + get: function() { + return _index.jsxEmptyExpression; + } + }); + Object.defineProperty(exports, "JSXExpressionContainer", { + enumerable: true, + get: function() { + return _index.jsxExpressionContainer; + } + }); + Object.defineProperty(exports, "JSXFragment", { + enumerable: true, + get: function() { + return _index.jsxFragment; + } + }); + Object.defineProperty(exports, "JSXIdentifier", { + enumerable: true, + get: function() { + return _index.jsxIdentifier; + } + }); + Object.defineProperty(exports, "JSXMemberExpression", { + enumerable: true, + get: function() { + return _index.jsxMemberExpression; + } + }); + Object.defineProperty(exports, "JSXNamespacedName", { + enumerable: true, + get: function() { + return _index.jsxNamespacedName; + } + }); + Object.defineProperty(exports, "JSXOpeningElement", { + enumerable: true, + get: function() { + return _index.jsxOpeningElement; + } + }); + Object.defineProperty(exports, "JSXOpeningFragment", { + enumerable: true, + get: function() { + return _index.jsxOpeningFragment; + } + }); + Object.defineProperty(exports, "JSXSpreadAttribute", { + enumerable: true, + get: function() { + return _index.jsxSpreadAttribute; + } + }); + Object.defineProperty(exports, "JSXSpreadChild", { + enumerable: true, + get: function() { + return _index.jsxSpreadChild; + } + }); + Object.defineProperty(exports, "JSXText", { + enumerable: true, + get: function() { + return _index.jsxText; + } + }); + Object.defineProperty(exports, "LabeledStatement", { + enumerable: true, + get: function() { + return _index.labeledStatement; + } + }); + Object.defineProperty(exports, "LogicalExpression", { + enumerable: true, + get: function() { + return _index.logicalExpression; + } + }); + Object.defineProperty(exports, "MemberExpression", { + enumerable: true, + get: function() { + return _index.memberExpression; + } + }); + Object.defineProperty(exports, "MetaProperty", { + enumerable: true, + get: function() { + return _index.metaProperty; + } + }); + Object.defineProperty(exports, "MixedTypeAnnotation", { + enumerable: true, + get: function() { + return _index.mixedTypeAnnotation; + } + }); + Object.defineProperty(exports, "ModuleExpression", { + enumerable: true, + get: function() { + return _index.moduleExpression; + } + }); + Object.defineProperty(exports, "NewExpression", { + enumerable: true, + get: function() { + return _index.newExpression; + } + }); + Object.defineProperty(exports, "Noop", { + enumerable: true, + get: function() { + return _index.noop; + } + }); + Object.defineProperty(exports, "NullLiteral", { + enumerable: true, + get: function() { + return _index.nullLiteral; + } + }); + Object.defineProperty(exports, "NullLiteralTypeAnnotation", { + enumerable: true, + get: function() { + return _index.nullLiteralTypeAnnotation; + } + }); + Object.defineProperty(exports, "NullableTypeAnnotation", { + enumerable: true, + get: function() { + return _index.nullableTypeAnnotation; + } + }); + Object.defineProperty(exports, "NumberLiteral", { + enumerable: true, + get: function() { + return _index.numberLiteral; + } + }); + Object.defineProperty(exports, "NumberLiteralTypeAnnotation", { + enumerable: true, + get: function() { + return _index.numberLiteralTypeAnnotation; + } + }); + Object.defineProperty(exports, "NumberTypeAnnotation", { + enumerable: true, + get: function() { + return _index.numberTypeAnnotation; + } + }); + Object.defineProperty(exports, "NumericLiteral", { + enumerable: true, + get: function() { + return _index.numericLiteral; + } + }); + Object.defineProperty(exports, "ObjectExpression", { + enumerable: true, + get: function() { + return _index.objectExpression; + } + }); + Object.defineProperty(exports, "ObjectMethod", { + enumerable: true, + get: function() { + return _index.objectMethod; + } + }); + Object.defineProperty(exports, "ObjectPattern", { + enumerable: true, + get: function() { + return _index.objectPattern; + } + }); + Object.defineProperty(exports, "ObjectProperty", { + enumerable: true, + get: function() { + return _index.objectProperty; + } + }); + Object.defineProperty(exports, "ObjectTypeAnnotation", { + enumerable: true, + get: function() { + return _index.objectTypeAnnotation; + } + }); + Object.defineProperty(exports, "ObjectTypeCallProperty", { + enumerable: true, + get: function() { + return _index.objectTypeCallProperty; + } + }); + Object.defineProperty(exports, "ObjectTypeIndexer", { + enumerable: true, + get: function() { + return _index.objectTypeIndexer; + } + }); + Object.defineProperty(exports, "ObjectTypeInternalSlot", { + enumerable: true, + get: function() { + return _index.objectTypeInternalSlot; + } + }); + Object.defineProperty(exports, "ObjectTypeProperty", { + enumerable: true, + get: function() { + return _index.objectTypeProperty; + } + }); + Object.defineProperty(exports, "ObjectTypeSpreadProperty", { + enumerable: true, + get: function() { + return _index.objectTypeSpreadProperty; + } + }); + Object.defineProperty(exports, "OpaqueType", { + enumerable: true, + get: function() { + return _index.opaqueType; + } + }); + Object.defineProperty(exports, "OptionalCallExpression", { + enumerable: true, + get: function() { + return _index.optionalCallExpression; + } + }); + Object.defineProperty(exports, "OptionalIndexedAccessType", { + enumerable: true, + get: function() { + return _index.optionalIndexedAccessType; + } + }); + Object.defineProperty(exports, "OptionalMemberExpression", { + enumerable: true, + get: function() { + return _index.optionalMemberExpression; + } + }); + Object.defineProperty(exports, "ParenthesizedExpression", { + enumerable: true, + get: function() { + return _index.parenthesizedExpression; + } + }); + Object.defineProperty(exports, "PipelineBareFunction", { + enumerable: true, + get: function() { + return _index.pipelineBareFunction; + } + }); + Object.defineProperty(exports, "PipelinePrimaryTopicReference", { + enumerable: true, + get: function() { + return _index.pipelinePrimaryTopicReference; + } + }); + Object.defineProperty(exports, "PipelineTopicExpression", { + enumerable: true, + get: function() { + return _index.pipelineTopicExpression; + } + }); + Object.defineProperty(exports, "Placeholder", { + enumerable: true, + get: function() { + return _index.placeholder; + } + }); + Object.defineProperty(exports, "PrivateName", { + enumerable: true, + get: function() { + return _index.privateName; + } + }); + Object.defineProperty(exports, "Program", { + enumerable: true, + get: function() { + return _index.program; + } + }); + Object.defineProperty(exports, "QualifiedTypeIdentifier", { + enumerable: true, + get: function() { + return _index.qualifiedTypeIdentifier; + } + }); + Object.defineProperty(exports, "RecordExpression", { + enumerable: true, + get: function() { + return _index.recordExpression; + } + }); + Object.defineProperty(exports, "RegExpLiteral", { + enumerable: true, + get: function() { + return _index.regExpLiteral; + } + }); + Object.defineProperty(exports, "RegexLiteral", { + enumerable: true, + get: function() { + return _index.regexLiteral; + } + }); + Object.defineProperty(exports, "RestElement", { + enumerable: true, + get: function() { + return _index.restElement; + } + }); + Object.defineProperty(exports, "RestProperty", { + enumerable: true, + get: function() { + return _index.restProperty; + } + }); + Object.defineProperty(exports, "ReturnStatement", { + enumerable: true, + get: function() { + return _index.returnStatement; + } + }); + Object.defineProperty(exports, "SequenceExpression", { + enumerable: true, + get: function() { + return _index.sequenceExpression; + } + }); + Object.defineProperty(exports, "SpreadElement", { + enumerable: true, + get: function() { + return _index.spreadElement; + } + }); + Object.defineProperty(exports, "SpreadProperty", { + enumerable: true, + get: function() { + return _index.spreadProperty; + } + }); + Object.defineProperty(exports, "StaticBlock", { + enumerable: true, + get: function() { + return _index.staticBlock; + } + }); + Object.defineProperty(exports, "StringLiteral", { + enumerable: true, + get: function() { + return _index.stringLiteral; + } + }); + Object.defineProperty(exports, "StringLiteralTypeAnnotation", { + enumerable: true, + get: function() { + return _index.stringLiteralTypeAnnotation; + } + }); + Object.defineProperty(exports, "StringTypeAnnotation", { + enumerable: true, + get: function() { + return _index.stringTypeAnnotation; + } + }); + Object.defineProperty(exports, "Super", { + enumerable: true, + get: function() { + return _index.super; + } + }); + Object.defineProperty(exports, "SwitchCase", { + enumerable: true, + get: function() { + return _index.switchCase; + } + }); + Object.defineProperty(exports, "SwitchStatement", { + enumerable: true, + get: function() { + return _index.switchStatement; + } + }); + Object.defineProperty(exports, "SymbolTypeAnnotation", { + enumerable: true, + get: function() { + return _index.symbolTypeAnnotation; + } + }); + Object.defineProperty(exports, "TSAnyKeyword", { + enumerable: true, + get: function() { + return _index.tsAnyKeyword; + } + }); + Object.defineProperty(exports, "TSArrayType", { + enumerable: true, + get: function() { + return _index.tsArrayType; + } + }); + Object.defineProperty(exports, "TSAsExpression", { + enumerable: true, + get: function() { + return _index.tsAsExpression; + } + }); + Object.defineProperty(exports, "TSBigIntKeyword", { + enumerable: true, + get: function() { + return _index.tsBigIntKeyword; + } + }); + Object.defineProperty(exports, "TSBooleanKeyword", { + enumerable: true, + get: function() { + return _index.tsBooleanKeyword; + } + }); + Object.defineProperty(exports, "TSCallSignatureDeclaration", { + enumerable: true, + get: function() { + return _index.tsCallSignatureDeclaration; + } + }); + Object.defineProperty(exports, "TSConditionalType", { + enumerable: true, + get: function() { + return _index.tsConditionalType; + } + }); + Object.defineProperty(exports, "TSConstructSignatureDeclaration", { + enumerable: true, + get: function() { + return _index.tsConstructSignatureDeclaration; + } + }); + Object.defineProperty(exports, "TSConstructorType", { + enumerable: true, + get: function() { + return _index.tsConstructorType; + } + }); + Object.defineProperty(exports, "TSDeclareFunction", { + enumerable: true, + get: function() { + return _index.tsDeclareFunction; + } + }); + Object.defineProperty(exports, "TSDeclareMethod", { + enumerable: true, + get: function() { + return _index.tsDeclareMethod; + } + }); + Object.defineProperty(exports, "TSEnumDeclaration", { + enumerable: true, + get: function() { + return _index.tsEnumDeclaration; + } + }); + Object.defineProperty(exports, "TSEnumMember", { + enumerable: true, + get: function() { + return _index.tsEnumMember; + } + }); + Object.defineProperty(exports, "TSExportAssignment", { + enumerable: true, + get: function() { + return _index.tsExportAssignment; + } + }); + Object.defineProperty(exports, "TSExpressionWithTypeArguments", { + enumerable: true, + get: function() { + return _index.tsExpressionWithTypeArguments; + } + }); + Object.defineProperty(exports, "TSExternalModuleReference", { + enumerable: true, + get: function() { + return _index.tsExternalModuleReference; + } + }); + Object.defineProperty(exports, "TSFunctionType", { + enumerable: true, + get: function() { + return _index.tsFunctionType; + } + }); + Object.defineProperty(exports, "TSImportEqualsDeclaration", { + enumerable: true, + get: function() { + return _index.tsImportEqualsDeclaration; + } + }); + Object.defineProperty(exports, "TSImportType", { + enumerable: true, + get: function() { + return _index.tsImportType; + } + }); + Object.defineProperty(exports, "TSIndexSignature", { + enumerable: true, + get: function() { + return _index.tsIndexSignature; + } + }); + Object.defineProperty(exports, "TSIndexedAccessType", { + enumerable: true, + get: function() { + return _index.tsIndexedAccessType; + } + }); + Object.defineProperty(exports, "TSInferType", { + enumerable: true, + get: function() { + return _index.tsInferType; + } + }); + Object.defineProperty(exports, "TSInstantiationExpression", { + enumerable: true, + get: function() { + return _index.tsInstantiationExpression; + } + }); + Object.defineProperty(exports, "TSInterfaceBody", { + enumerable: true, + get: function() { + return _index.tsInterfaceBody; + } + }); + Object.defineProperty(exports, "TSInterfaceDeclaration", { + enumerable: true, + get: function() { + return _index.tsInterfaceDeclaration; + } + }); + Object.defineProperty(exports, "TSIntersectionType", { + enumerable: true, + get: function() { + return _index.tsIntersectionType; + } + }); + Object.defineProperty(exports, "TSIntrinsicKeyword", { + enumerable: true, + get: function() { + return _index.tsIntrinsicKeyword; + } + }); + Object.defineProperty(exports, "TSLiteralType", { + enumerable: true, + get: function() { + return _index.tsLiteralType; + } + }); + Object.defineProperty(exports, "TSMappedType", { + enumerable: true, + get: function() { + return _index.tsMappedType; + } + }); + Object.defineProperty(exports, "TSMethodSignature", { + enumerable: true, + get: function() { + return _index.tsMethodSignature; + } + }); + Object.defineProperty(exports, "TSModuleBlock", { + enumerable: true, + get: function() { + return _index.tsModuleBlock; + } + }); + Object.defineProperty(exports, "TSModuleDeclaration", { + enumerable: true, + get: function() { + return _index.tsModuleDeclaration; + } + }); + Object.defineProperty(exports, "TSNamedTupleMember", { + enumerable: true, + get: function() { + return _index.tsNamedTupleMember; + } + }); + Object.defineProperty(exports, "TSNamespaceExportDeclaration", { + enumerable: true, + get: function() { + return _index.tsNamespaceExportDeclaration; + } + }); + Object.defineProperty(exports, "TSNeverKeyword", { + enumerable: true, + get: function() { + return _index.tsNeverKeyword; + } + }); + Object.defineProperty(exports, "TSNonNullExpression", { + enumerable: true, + get: function() { + return _index.tsNonNullExpression; + } + }); + Object.defineProperty(exports, "TSNullKeyword", { + enumerable: true, + get: function() { + return _index.tsNullKeyword; + } + }); + Object.defineProperty(exports, "TSNumberKeyword", { + enumerable: true, + get: function() { + return _index.tsNumberKeyword; + } + }); + Object.defineProperty(exports, "TSObjectKeyword", { + enumerable: true, + get: function() { + return _index.tsObjectKeyword; + } + }); + Object.defineProperty(exports, "TSOptionalType", { + enumerable: true, + get: function() { + return _index.tsOptionalType; + } + }); + Object.defineProperty(exports, "TSParameterProperty", { + enumerable: true, + get: function() { + return _index.tsParameterProperty; + } + }); + Object.defineProperty(exports, "TSParenthesizedType", { + enumerable: true, + get: function() { + return _index.tsParenthesizedType; + } + }); + Object.defineProperty(exports, "TSPropertySignature", { + enumerable: true, + get: function() { + return _index.tsPropertySignature; + } + }); + Object.defineProperty(exports, "TSQualifiedName", { + enumerable: true, + get: function() { + return _index.tsQualifiedName; + } + }); + Object.defineProperty(exports, "TSRestType", { + enumerable: true, + get: function() { + return _index.tsRestType; + } + }); + Object.defineProperty(exports, "TSSatisfiesExpression", { + enumerable: true, + get: function() { + return _index.tsSatisfiesExpression; + } + }); + Object.defineProperty(exports, "TSStringKeyword", { + enumerable: true, + get: function() { + return _index.tsStringKeyword; + } + }); + Object.defineProperty(exports, "TSSymbolKeyword", { + enumerable: true, + get: function() { + return _index.tsSymbolKeyword; + } + }); + Object.defineProperty(exports, "TSThisType", { + enumerable: true, + get: function() { + return _index.tsThisType; + } + }); + Object.defineProperty(exports, "TSTupleType", { + enumerable: true, + get: function() { + return _index.tsTupleType; + } + }); + Object.defineProperty(exports, "TSTypeAliasDeclaration", { + enumerable: true, + get: function() { + return _index.tsTypeAliasDeclaration; + } + }); + Object.defineProperty(exports, "TSTypeAnnotation", { + enumerable: true, + get: function() { + return _index.tsTypeAnnotation; + } + }); + Object.defineProperty(exports, "TSTypeAssertion", { + enumerable: true, + get: function() { + return _index.tsTypeAssertion; + } + }); + Object.defineProperty(exports, "TSTypeLiteral", { + enumerable: true, + get: function() { + return _index.tsTypeLiteral; + } + }); + Object.defineProperty(exports, "TSTypeOperator", { + enumerable: true, + get: function() { + return _index.tsTypeOperator; + } + }); + Object.defineProperty(exports, "TSTypeParameter", { + enumerable: true, + get: function() { + return _index.tsTypeParameter; + } + }); + Object.defineProperty(exports, "TSTypeParameterDeclaration", { + enumerable: true, + get: function() { + return _index.tsTypeParameterDeclaration; + } + }); + Object.defineProperty(exports, "TSTypeParameterInstantiation", { + enumerable: true, + get: function() { + return _index.tsTypeParameterInstantiation; + } + }); + Object.defineProperty(exports, "TSTypePredicate", { + enumerable: true, + get: function() { + return _index.tsTypePredicate; + } + }); + Object.defineProperty(exports, "TSTypeQuery", { + enumerable: true, + get: function() { + return _index.tsTypeQuery; + } + }); + Object.defineProperty(exports, "TSTypeReference", { + enumerable: true, + get: function() { + return _index.tsTypeReference; + } + }); + Object.defineProperty(exports, "TSUndefinedKeyword", { + enumerable: true, + get: function() { + return _index.tsUndefinedKeyword; + } + }); + Object.defineProperty(exports, "TSUnionType", { + enumerable: true, + get: function() { + return _index.tsUnionType; + } + }); + Object.defineProperty(exports, "TSUnknownKeyword", { + enumerable: true, + get: function() { + return _index.tsUnknownKeyword; + } + }); + Object.defineProperty(exports, "TSVoidKeyword", { + enumerable: true, + get: function() { + return _index.tsVoidKeyword; + } + }); + Object.defineProperty(exports, "TaggedTemplateExpression", { + enumerable: true, + get: function() { + return _index.taggedTemplateExpression; + } + }); + Object.defineProperty(exports, "TemplateElement", { + enumerable: true, + get: function() { + return _index.templateElement; + } + }); + Object.defineProperty(exports, "TemplateLiteral", { + enumerable: true, + get: function() { + return _index.templateLiteral; + } + }); + Object.defineProperty(exports, "ThisExpression", { + enumerable: true, + get: function() { + return _index.thisExpression; + } + }); + Object.defineProperty(exports, "ThisTypeAnnotation", { + enumerable: true, + get: function() { + return _index.thisTypeAnnotation; + } + }); + Object.defineProperty(exports, "ThrowStatement", { + enumerable: true, + get: function() { + return _index.throwStatement; + } + }); + Object.defineProperty(exports, "TopicReference", { + enumerable: true, + get: function() { + return _index.topicReference; + } + }); + Object.defineProperty(exports, "TryStatement", { + enumerable: true, + get: function() { + return _index.tryStatement; + } + }); + Object.defineProperty(exports, "TupleExpression", { + enumerable: true, + get: function() { + return _index.tupleExpression; + } + }); + Object.defineProperty(exports, "TupleTypeAnnotation", { + enumerable: true, + get: function() { + return _index.tupleTypeAnnotation; + } + }); + Object.defineProperty(exports, "TypeAlias", { + enumerable: true, + get: function() { + return _index.typeAlias; + } + }); + Object.defineProperty(exports, "TypeAnnotation", { + enumerable: true, + get: function() { + return _index.typeAnnotation; + } + }); + Object.defineProperty(exports, "TypeCastExpression", { + enumerable: true, + get: function() { + return _index.typeCastExpression; + } + }); + Object.defineProperty(exports, "TypeParameter", { + enumerable: true, + get: function() { + return _index.typeParameter; + } + }); + Object.defineProperty(exports, "TypeParameterDeclaration", { + enumerable: true, + get: function() { + return _index.typeParameterDeclaration; + } + }); + Object.defineProperty(exports, "TypeParameterInstantiation", { + enumerable: true, + get: function() { + return _index.typeParameterInstantiation; + } + }); + Object.defineProperty(exports, "TypeofTypeAnnotation", { + enumerable: true, + get: function() { + return _index.typeofTypeAnnotation; + } + }); + Object.defineProperty(exports, "UnaryExpression", { + enumerable: true, + get: function() { + return _index.unaryExpression; + } + }); + Object.defineProperty(exports, "UnionTypeAnnotation", { + enumerable: true, + get: function() { + return _index.unionTypeAnnotation; + } + }); + Object.defineProperty(exports, "UpdateExpression", { + enumerable: true, + get: function() { + return _index.updateExpression; + } + }); + Object.defineProperty(exports, "V8IntrinsicIdentifier", { + enumerable: true, + get: function() { + return _index.v8IntrinsicIdentifier; + } + }); + Object.defineProperty(exports, "VariableDeclaration", { + enumerable: true, + get: function() { + return _index.variableDeclaration; + } + }); + Object.defineProperty(exports, "VariableDeclarator", { + enumerable: true, + get: function() { + return _index.variableDeclarator; + } + }); + Object.defineProperty(exports, "Variance", { + enumerable: true, + get: function() { + return _index.variance; + } + }); + Object.defineProperty(exports, "VoidTypeAnnotation", { + enumerable: true, + get: function() { + return _index.voidTypeAnnotation; + } + }); + Object.defineProperty(exports, "WhileStatement", { + enumerable: true, + get: function() { + return _index.whileStatement; + } + }); + Object.defineProperty(exports, "WithStatement", { + enumerable: true, + get: function() { + return _index.withStatement; + } + }); + Object.defineProperty(exports, "YieldExpression", { + enumerable: true, + get: function() { + return _index.yieldExpression; + } + }); + var _index = require_generated2(); + } +}); + +// node_modules/@babel/types/lib/clone/cloneNode.js +var require_cloneNode = __commonJS({ + "node_modules/@babel/types/lib/clone/cloneNode.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = cloneNode; + var _definitions = require_definitions(); + var _generated = require_generated(); + var has = Function.call.bind(Object.prototype.hasOwnProperty); + function cloneIfNode(obj, deep, withoutLoc, commentsCache) { + if (obj && typeof obj.type === "string") { + return cloneNodeInternal(obj, deep, withoutLoc, commentsCache); + } + return obj; + } + function cloneIfNodeOrArray(obj, deep, withoutLoc, commentsCache) { + if (Array.isArray(obj)) { + return obj.map((node2) => cloneIfNode(node2, deep, withoutLoc, commentsCache)); + } + return cloneIfNode(obj, deep, withoutLoc, commentsCache); + } + function cloneNode(node2, deep = true, withoutLoc = false) { + return cloneNodeInternal(node2, deep, withoutLoc, /* @__PURE__ */ new Map()); + } + function cloneNodeInternal(node2, deep = true, withoutLoc = false, commentsCache) { + if (!node2) + return node2; + const { + type + } = node2; + const newNode = { + type: node2.type + }; + if ((0, _generated.isIdentifier)(node2)) { + newNode.name = node2.name; + if (has(node2, "optional") && typeof node2.optional === "boolean") { + newNode.optional = node2.optional; + } + if (has(node2, "typeAnnotation")) { + newNode.typeAnnotation = deep ? cloneIfNodeOrArray(node2.typeAnnotation, true, withoutLoc, commentsCache) : node2.typeAnnotation; + } + } else if (!has(_definitions.NODE_FIELDS, type)) { + throw new Error(`Unknown node type: "${type}"`); + } else { + for (const field of Object.keys(_definitions.NODE_FIELDS[type])) { + if (has(node2, field)) { + if (deep) { + newNode[field] = (0, _generated.isFile)(node2) && field === "comments" ? maybeCloneComments(node2.comments, deep, withoutLoc, commentsCache) : cloneIfNodeOrArray(node2[field], true, withoutLoc, commentsCache); + } else { + newNode[field] = node2[field]; + } + } + } + } + if (has(node2, "loc")) { + if (withoutLoc) { + newNode.loc = null; + } else { + newNode.loc = node2.loc; + } + } + if (has(node2, "leadingComments")) { + newNode.leadingComments = maybeCloneComments(node2.leadingComments, deep, withoutLoc, commentsCache); + } + if (has(node2, "innerComments")) { + newNode.innerComments = maybeCloneComments(node2.innerComments, deep, withoutLoc, commentsCache); + } + if (has(node2, "trailingComments")) { + newNode.trailingComments = maybeCloneComments(node2.trailingComments, deep, withoutLoc, commentsCache); + } + if (has(node2, "extra")) { + newNode.extra = Object.assign({}, node2.extra); + } + return newNode; + } + function maybeCloneComments(comments, deep, withoutLoc, commentsCache) { + if (!comments || !deep) { + return comments; + } + return comments.map((comment2) => { + const cache3 = commentsCache.get(comment2); + if (cache3) + return cache3; + const { + type, + value, + loc + } = comment2; + const ret = { + type, + value, + loc + }; + if (withoutLoc) { + ret.loc = null; + } + commentsCache.set(comment2, ret); + return ret; + }); + } + } +}); + +// node_modules/@babel/types/lib/clone/clone.js +var require_clone = __commonJS({ + "node_modules/@babel/types/lib/clone/clone.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = clone; + var _cloneNode = require_cloneNode(); + function clone(node2) { + return (0, _cloneNode.default)(node2, false); + } + } +}); + +// node_modules/@babel/types/lib/clone/cloneDeep.js +var require_cloneDeep = __commonJS({ + "node_modules/@babel/types/lib/clone/cloneDeep.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = cloneDeep; + var _cloneNode = require_cloneNode(); + function cloneDeep(node2) { + return (0, _cloneNode.default)(node2); + } + } +}); + +// node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js +var require_cloneDeepWithoutLoc = __commonJS({ + "node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = cloneDeepWithoutLoc; + var _cloneNode = require_cloneNode(); + function cloneDeepWithoutLoc(node2) { + return (0, _cloneNode.default)(node2, true, true); + } + } +}); + +// node_modules/@babel/types/lib/clone/cloneWithoutLoc.js +var require_cloneWithoutLoc = __commonJS({ + "node_modules/@babel/types/lib/clone/cloneWithoutLoc.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = cloneWithoutLoc; + var _cloneNode = require_cloneNode(); + function cloneWithoutLoc(node2) { + return (0, _cloneNode.default)(node2, false, true); + } + } +}); + +// node_modules/@babel/types/lib/comments/addComments.js +var require_addComments = __commonJS({ + "node_modules/@babel/types/lib/comments/addComments.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = addComments; + function addComments(node2, type, comments) { + if (!comments || !node2) + return node2; + const key = `${type}Comments`; + if (node2[key]) { + if (type === "leading") { + node2[key] = comments.concat(node2[key]); + } else { + node2[key].push(...comments); + } + } else { + node2[key] = comments; + } + return node2; + } + } +}); + +// node_modules/@babel/types/lib/comments/addComment.js +var require_addComment = __commonJS({ + "node_modules/@babel/types/lib/comments/addComment.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = addComment; + var _addComments = require_addComments(); + function addComment(node2, type, content, line2) { + return (0, _addComments.default)(node2, type, [{ + type: line2 ? "CommentLine" : "CommentBlock", + value: content + }]); + } + } +}); + +// node_modules/@babel/types/lib/utils/inherit.js +var require_inherit = __commonJS({ + "node_modules/@babel/types/lib/utils/inherit.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = inherit; + function inherit(key, child, parent) { + if (child && parent) { + child[key] = Array.from(new Set([].concat(child[key], parent[key]).filter(Boolean))); + } + } + } +}); + +// node_modules/@babel/types/lib/comments/inheritInnerComments.js +var require_inheritInnerComments = __commonJS({ + "node_modules/@babel/types/lib/comments/inheritInnerComments.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = inheritInnerComments; + var _inherit = require_inherit(); + function inheritInnerComments(child, parent) { + (0, _inherit.default)("innerComments", child, parent); + } + } +}); + +// node_modules/@babel/types/lib/comments/inheritLeadingComments.js +var require_inheritLeadingComments = __commonJS({ + "node_modules/@babel/types/lib/comments/inheritLeadingComments.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = inheritLeadingComments; + var _inherit = require_inherit(); + function inheritLeadingComments(child, parent) { + (0, _inherit.default)("leadingComments", child, parent); + } + } +}); + +// node_modules/@babel/types/lib/comments/inheritTrailingComments.js +var require_inheritTrailingComments = __commonJS({ + "node_modules/@babel/types/lib/comments/inheritTrailingComments.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = inheritTrailingComments; + var _inherit = require_inherit(); + function inheritTrailingComments(child, parent) { + (0, _inherit.default)("trailingComments", child, parent); + } + } +}); + +// node_modules/@babel/types/lib/comments/inheritsComments.js +var require_inheritsComments = __commonJS({ + "node_modules/@babel/types/lib/comments/inheritsComments.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = inheritsComments; + var _inheritTrailingComments = require_inheritTrailingComments(); + var _inheritLeadingComments = require_inheritLeadingComments(); + var _inheritInnerComments = require_inheritInnerComments(); + function inheritsComments(child, parent) { + (0, _inheritTrailingComments.default)(child, parent); + (0, _inheritLeadingComments.default)(child, parent); + (0, _inheritInnerComments.default)(child, parent); + return child; + } + } +}); + +// node_modules/@babel/types/lib/comments/removeComments.js +var require_removeComments = __commonJS({ + "node_modules/@babel/types/lib/comments/removeComments.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = removeComments; + var _constants = require_constants(); + function removeComments(node2) { + _constants.COMMENT_KEYS.forEach((key) => { + node2[key] = null; + }); + return node2; + } + } +}); + +// node_modules/@babel/types/lib/constants/generated/index.js +var require_generated4 = __commonJS({ + "node_modules/@babel/types/lib/constants/generated/index.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.WHILE_TYPES = exports.USERWHITESPACABLE_TYPES = exports.UNARYLIKE_TYPES = exports.TYPESCRIPT_TYPES = exports.TSTYPE_TYPES = exports.TSTYPEELEMENT_TYPES = exports.TSENTITYNAME_TYPES = exports.TSBASETYPE_TYPES = exports.TERMINATORLESS_TYPES = exports.STATEMENT_TYPES = exports.STANDARDIZED_TYPES = exports.SCOPABLE_TYPES = exports.PUREISH_TYPES = exports.PROPERTY_TYPES = exports.PRIVATE_TYPES = exports.PATTERN_TYPES = exports.PATTERNLIKE_TYPES = exports.OBJECTMEMBER_TYPES = exports.MODULESPECIFIER_TYPES = exports.MODULEDECLARATION_TYPES = exports.MISCELLANEOUS_TYPES = exports.METHOD_TYPES = exports.LVAL_TYPES = exports.LOOP_TYPES = exports.LITERAL_TYPES = exports.JSX_TYPES = exports.IMPORTOREXPORTDECLARATION_TYPES = exports.IMMUTABLE_TYPES = exports.FUNCTION_TYPES = exports.FUNCTIONPARENT_TYPES = exports.FOR_TYPES = exports.FORXSTATEMENT_TYPES = exports.FLOW_TYPES = exports.FLOWTYPE_TYPES = exports.FLOWPREDICATE_TYPES = exports.FLOWDECLARATION_TYPES = exports.FLOWBASEANNOTATION_TYPES = exports.EXPRESSION_TYPES = exports.EXPRESSIONWRAPPER_TYPES = exports.EXPORTDECLARATION_TYPES = exports.ENUMMEMBER_TYPES = exports.ENUMBODY_TYPES = exports.DECLARATION_TYPES = exports.CONDITIONAL_TYPES = exports.COMPLETIONSTATEMENT_TYPES = exports.CLASS_TYPES = exports.BLOCK_TYPES = exports.BLOCKPARENT_TYPES = exports.BINARY_TYPES = exports.ACCESSOR_TYPES = void 0; + var _definitions = require_definitions(); + var STANDARDIZED_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Standardized"]; + exports.STANDARDIZED_TYPES = STANDARDIZED_TYPES; + var EXPRESSION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Expression"]; + exports.EXPRESSION_TYPES = EXPRESSION_TYPES; + var BINARY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Binary"]; + exports.BINARY_TYPES = BINARY_TYPES; + var SCOPABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Scopable"]; + exports.SCOPABLE_TYPES = SCOPABLE_TYPES; + var BLOCKPARENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["BlockParent"]; + exports.BLOCKPARENT_TYPES = BLOCKPARENT_TYPES; + var BLOCK_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Block"]; + exports.BLOCK_TYPES = BLOCK_TYPES; + var STATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Statement"]; + exports.STATEMENT_TYPES = STATEMENT_TYPES; + var TERMINATORLESS_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Terminatorless"]; + exports.TERMINATORLESS_TYPES = TERMINATORLESS_TYPES; + var COMPLETIONSTATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["CompletionStatement"]; + exports.COMPLETIONSTATEMENT_TYPES = COMPLETIONSTATEMENT_TYPES; + var CONDITIONAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Conditional"]; + exports.CONDITIONAL_TYPES = CONDITIONAL_TYPES; + var LOOP_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Loop"]; + exports.LOOP_TYPES = LOOP_TYPES; + var WHILE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["While"]; + exports.WHILE_TYPES = WHILE_TYPES; + var EXPRESSIONWRAPPER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ExpressionWrapper"]; + exports.EXPRESSIONWRAPPER_TYPES = EXPRESSIONWRAPPER_TYPES; + var FOR_TYPES = _definitions.FLIPPED_ALIAS_KEYS["For"]; + exports.FOR_TYPES = FOR_TYPES; + var FORXSTATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ForXStatement"]; + exports.FORXSTATEMENT_TYPES = FORXSTATEMENT_TYPES; + var FUNCTION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Function"]; + exports.FUNCTION_TYPES = FUNCTION_TYPES; + var FUNCTIONPARENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FunctionParent"]; + exports.FUNCTIONPARENT_TYPES = FUNCTIONPARENT_TYPES; + var PUREISH_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Pureish"]; + exports.PUREISH_TYPES = PUREISH_TYPES; + var DECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Declaration"]; + exports.DECLARATION_TYPES = DECLARATION_TYPES; + var PATTERNLIKE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["PatternLike"]; + exports.PATTERNLIKE_TYPES = PATTERNLIKE_TYPES; + var LVAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["LVal"]; + exports.LVAL_TYPES = LVAL_TYPES; + var TSENTITYNAME_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSEntityName"]; + exports.TSENTITYNAME_TYPES = TSENTITYNAME_TYPES; + var LITERAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Literal"]; + exports.LITERAL_TYPES = LITERAL_TYPES; + var IMMUTABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Immutable"]; + exports.IMMUTABLE_TYPES = IMMUTABLE_TYPES; + var USERWHITESPACABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["UserWhitespacable"]; + exports.USERWHITESPACABLE_TYPES = USERWHITESPACABLE_TYPES; + var METHOD_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Method"]; + exports.METHOD_TYPES = METHOD_TYPES; + var OBJECTMEMBER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ObjectMember"]; + exports.OBJECTMEMBER_TYPES = OBJECTMEMBER_TYPES; + var PROPERTY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Property"]; + exports.PROPERTY_TYPES = PROPERTY_TYPES; + var UNARYLIKE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["UnaryLike"]; + exports.UNARYLIKE_TYPES = UNARYLIKE_TYPES; + var PATTERN_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Pattern"]; + exports.PATTERN_TYPES = PATTERN_TYPES; + var CLASS_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Class"]; + exports.CLASS_TYPES = CLASS_TYPES; + var IMPORTOREXPORTDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ImportOrExportDeclaration"]; + exports.IMPORTOREXPORTDECLARATION_TYPES = IMPORTOREXPORTDECLARATION_TYPES; + var EXPORTDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ExportDeclaration"]; + exports.EXPORTDECLARATION_TYPES = EXPORTDECLARATION_TYPES; + var MODULESPECIFIER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ModuleSpecifier"]; + exports.MODULESPECIFIER_TYPES = MODULESPECIFIER_TYPES; + var ACCESSOR_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Accessor"]; + exports.ACCESSOR_TYPES = ACCESSOR_TYPES; + var PRIVATE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Private"]; + exports.PRIVATE_TYPES = PRIVATE_TYPES; + var FLOW_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Flow"]; + exports.FLOW_TYPES = FLOW_TYPES; + var FLOWTYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowType"]; + exports.FLOWTYPE_TYPES = FLOWTYPE_TYPES; + var FLOWBASEANNOTATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowBaseAnnotation"]; + exports.FLOWBASEANNOTATION_TYPES = FLOWBASEANNOTATION_TYPES; + var FLOWDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowDeclaration"]; + exports.FLOWDECLARATION_TYPES = FLOWDECLARATION_TYPES; + var FLOWPREDICATE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowPredicate"]; + exports.FLOWPREDICATE_TYPES = FLOWPREDICATE_TYPES; + var ENUMBODY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["EnumBody"]; + exports.ENUMBODY_TYPES = ENUMBODY_TYPES; + var ENUMMEMBER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["EnumMember"]; + exports.ENUMMEMBER_TYPES = ENUMMEMBER_TYPES; + var JSX_TYPES = _definitions.FLIPPED_ALIAS_KEYS["JSX"]; + exports.JSX_TYPES = JSX_TYPES; + var MISCELLANEOUS_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Miscellaneous"]; + exports.MISCELLANEOUS_TYPES = MISCELLANEOUS_TYPES; + var TYPESCRIPT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TypeScript"]; + exports.TYPESCRIPT_TYPES = TYPESCRIPT_TYPES; + var TSTYPEELEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSTypeElement"]; + exports.TSTYPEELEMENT_TYPES = TSTYPEELEMENT_TYPES; + var TSTYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSType"]; + exports.TSTYPE_TYPES = TSTYPE_TYPES; + var TSBASETYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSBaseType"]; + exports.TSBASETYPE_TYPES = TSBASETYPE_TYPES; + var MODULEDECLARATION_TYPES = IMPORTOREXPORTDECLARATION_TYPES; + exports.MODULEDECLARATION_TYPES = MODULEDECLARATION_TYPES; + } +}); + +// node_modules/@babel/types/lib/converters/toBlock.js +var require_toBlock = __commonJS({ + "node_modules/@babel/types/lib/converters/toBlock.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = toBlock; + var _generated = require_generated(); + var _generated2 = require_generated2(); + function toBlock(node2, parent) { + if ((0, _generated.isBlockStatement)(node2)) { + return node2; + } + let blockNodes = []; + if ((0, _generated.isEmptyStatement)(node2)) { + blockNodes = []; + } else { + if (!(0, _generated.isStatement)(node2)) { + if ((0, _generated.isFunction)(parent)) { + node2 = (0, _generated2.returnStatement)(node2); + } else { + node2 = (0, _generated2.expressionStatement)(node2); + } + } + blockNodes = [node2]; + } + return (0, _generated2.blockStatement)(blockNodes); + } + } +}); + +// node_modules/@babel/types/lib/converters/ensureBlock.js +var require_ensureBlock = __commonJS({ + "node_modules/@babel/types/lib/converters/ensureBlock.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = ensureBlock; + var _toBlock = require_toBlock(); + function ensureBlock(node2, key = "body") { + const result = (0, _toBlock.default)(node2[key], node2); + node2[key] = result; + return result; + } + } +}); + +// node_modules/@babel/types/lib/converters/toIdentifier.js +var require_toIdentifier = __commonJS({ + "node_modules/@babel/types/lib/converters/toIdentifier.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = toIdentifier; + var _isValidIdentifier = require_isValidIdentifier(); + var _helperValidatorIdentifier = require_lib(); + function toIdentifier(input) { + input = input + ""; + let name = ""; + for (const c of input) { + name += (0, _helperValidatorIdentifier.isIdentifierChar)(c.codePointAt(0)) ? c : "-"; + } + name = name.replace(/^[-0-9]+/, ""); + name = name.replace(/[-\s]+(.)?/g, function(match2, c) { + return c ? c.toUpperCase() : ""; + }); + if (!(0, _isValidIdentifier.default)(name)) { + name = `_${name}`; + } + return name || "_"; + } + } +}); + +// node_modules/@babel/types/lib/converters/toBindingIdentifierName.js +var require_toBindingIdentifierName = __commonJS({ + "node_modules/@babel/types/lib/converters/toBindingIdentifierName.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = toBindingIdentifierName; + var _toIdentifier = require_toIdentifier(); + function toBindingIdentifierName(name) { + name = (0, _toIdentifier.default)(name); + if (name === "eval" || name === "arguments") + name = "_" + name; + return name; + } + } +}); + +// node_modules/@babel/types/lib/converters/toComputedKey.js +var require_toComputedKey = __commonJS({ + "node_modules/@babel/types/lib/converters/toComputedKey.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = toComputedKey; + var _generated = require_generated(); + var _generated2 = require_generated2(); + function toComputedKey(node2, key = node2.key || node2.property) { + if (!node2.computed && (0, _generated.isIdentifier)(key)) + key = (0, _generated2.stringLiteral)(key.name); + return key; + } + } +}); + +// node_modules/@babel/types/lib/converters/toExpression.js +var require_toExpression = __commonJS({ + "node_modules/@babel/types/lib/converters/toExpression.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _generated = require_generated(); + var _default = toExpression; + exports.default = _default; + function toExpression(node2) { + if ((0, _generated.isExpressionStatement)(node2)) { + node2 = node2.expression; + } + if ((0, _generated.isExpression)(node2)) { + return node2; + } + if ((0, _generated.isClass)(node2)) { + node2.type = "ClassExpression"; + } else if ((0, _generated.isFunction)(node2)) { + node2.type = "FunctionExpression"; + } + if (!(0, _generated.isExpression)(node2)) { + throw new Error(`cannot turn ${node2.type} to an expression`); + } + return node2; + } + } +}); + +// node_modules/@babel/types/lib/traverse/traverseFast.js +var require_traverseFast = __commonJS({ + "node_modules/@babel/types/lib/traverse/traverseFast.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = traverseFast; + var _definitions = require_definitions(); + function traverseFast(node2, enter, opts) { + if (!node2) + return; + const keys = _definitions.VISITOR_KEYS[node2.type]; + if (!keys) + return; + opts = opts || {}; + enter(node2, opts); + for (const key of keys) { + const subNode = node2[key]; + if (Array.isArray(subNode)) { + for (const node3 of subNode) { + traverseFast(node3, enter, opts); + } + } else { + traverseFast(subNode, enter, opts); + } + } + } + } +}); + +// node_modules/@babel/types/lib/modifications/removeProperties.js +var require_removeProperties = __commonJS({ + "node_modules/@babel/types/lib/modifications/removeProperties.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = removeProperties; + var _constants = require_constants(); + var CLEAR_KEYS = ["tokens", "start", "end", "loc", "raw", "rawValue"]; + var CLEAR_KEYS_PLUS_COMMENTS = [..._constants.COMMENT_KEYS, "comments", ...CLEAR_KEYS]; + function removeProperties(node2, opts = {}) { + const map = opts.preserveComments ? CLEAR_KEYS : CLEAR_KEYS_PLUS_COMMENTS; + for (const key of map) { + if (node2[key] != null) + node2[key] = void 0; + } + for (const key of Object.keys(node2)) { + if (key[0] === "_" && node2[key] != null) + node2[key] = void 0; + } + const symbols = Object.getOwnPropertySymbols(node2); + for (const sym of symbols) { + node2[sym] = null; + } + } + } +}); + +// node_modules/@babel/types/lib/modifications/removePropertiesDeep.js +var require_removePropertiesDeep = __commonJS({ + "node_modules/@babel/types/lib/modifications/removePropertiesDeep.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = removePropertiesDeep; + var _traverseFast = require_traverseFast(); + var _removeProperties = require_removeProperties(); + function removePropertiesDeep(tree, opts) { + (0, _traverseFast.default)(tree, _removeProperties.default, opts); + return tree; + } + } +}); + +// node_modules/@babel/types/lib/converters/toKeyAlias.js +var require_toKeyAlias = __commonJS({ + "node_modules/@babel/types/lib/converters/toKeyAlias.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = toKeyAlias; + var _generated = require_generated(); + var _cloneNode = require_cloneNode(); + var _removePropertiesDeep = require_removePropertiesDeep(); + function toKeyAlias(node2, key = node2.key) { + let alias; + if (node2.kind === "method") { + return toKeyAlias.increment() + ""; + } else if ((0, _generated.isIdentifier)(key)) { + alias = key.name; + } else if ((0, _generated.isStringLiteral)(key)) { + alias = JSON.stringify(key.value); + } else { + alias = JSON.stringify((0, _removePropertiesDeep.default)((0, _cloneNode.default)(key))); + } + if (node2.computed) { + alias = `[${alias}]`; + } + if (node2.static) { + alias = `static:${alias}`; + } + return alias; + } + toKeyAlias.uid = 0; + toKeyAlias.increment = function() { + if (toKeyAlias.uid >= Number.MAX_SAFE_INTEGER) { + return toKeyAlias.uid = 0; + } else { + return toKeyAlias.uid++; + } + }; + } +}); + +// node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js +var require_getBindingIdentifiers = __commonJS({ + "node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = getBindingIdentifiers; + var _generated = require_generated(); + function getBindingIdentifiers(node2, duplicates, outerOnly) { + const search = [].concat(node2); + const ids = /* @__PURE__ */ Object.create(null); + while (search.length) { + const id = search.shift(); + if (!id) + continue; + const keys = getBindingIdentifiers.keys[id.type]; + if ((0, _generated.isIdentifier)(id)) { + if (duplicates) { + const _ids = ids[id.name] = ids[id.name] || []; + _ids.push(id); + } else { + ids[id.name] = id; + } + continue; + } + if ((0, _generated.isExportDeclaration)(id) && !(0, _generated.isExportAllDeclaration)(id)) { + if ((0, _generated.isDeclaration)(id.declaration)) { + search.push(id.declaration); + } + continue; + } + if (outerOnly) { + if ((0, _generated.isFunctionDeclaration)(id)) { + search.push(id.id); + continue; + } + if ((0, _generated.isFunctionExpression)(id)) { + continue; + } + } + if (keys) { + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const nodes = id[key]; + if (nodes) { + Array.isArray(nodes) ? search.push(...nodes) : search.push(nodes); + } + } + } + } + return ids; + } + getBindingIdentifiers.keys = { + DeclareClass: ["id"], + DeclareFunction: ["id"], + DeclareModule: ["id"], + DeclareVariable: ["id"], + DeclareInterface: ["id"], + DeclareTypeAlias: ["id"], + DeclareOpaqueType: ["id"], + InterfaceDeclaration: ["id"], + TypeAlias: ["id"], + OpaqueType: ["id"], + CatchClause: ["param"], + LabeledStatement: ["label"], + UnaryExpression: ["argument"], + AssignmentExpression: ["left"], + ImportSpecifier: ["local"], + ImportNamespaceSpecifier: ["local"], + ImportDefaultSpecifier: ["local"], + ImportDeclaration: ["specifiers"], + ExportSpecifier: ["exported"], + ExportNamespaceSpecifier: ["exported"], + ExportDefaultSpecifier: ["exported"], + FunctionDeclaration: ["id", "params"], + FunctionExpression: ["id", "params"], + ArrowFunctionExpression: ["params"], + ObjectMethod: ["params"], + ClassMethod: ["params"], + ClassPrivateMethod: ["params"], + ForInStatement: ["left"], + ForOfStatement: ["left"], + ClassDeclaration: ["id"], + ClassExpression: ["id"], + RestElement: ["argument"], + UpdateExpression: ["argument"], + ObjectProperty: ["value"], + AssignmentPattern: ["left"], + ArrayPattern: ["elements"], + ObjectPattern: ["properties"], + VariableDeclaration: ["declarations"], + VariableDeclarator: ["id"] + }; + } +}); + +// node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js +var require_gatherSequenceExpressions = __commonJS({ + "node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = gatherSequenceExpressions; + var _getBindingIdentifiers = require_getBindingIdentifiers(); + var _generated = require_generated(); + var _generated2 = require_generated2(); + var _cloneNode = require_cloneNode(); + function gatherSequenceExpressions(nodes, scope, declars) { + const exprs = []; + let ensureLastUndefined = true; + for (const node2 of nodes) { + if (!(0, _generated.isEmptyStatement)(node2)) { + ensureLastUndefined = false; + } + if ((0, _generated.isExpression)(node2)) { + exprs.push(node2); + } else if ((0, _generated.isExpressionStatement)(node2)) { + exprs.push(node2.expression); + } else if ((0, _generated.isVariableDeclaration)(node2)) { + if (node2.kind !== "var") + return; + for (const declar of node2.declarations) { + const bindings = (0, _getBindingIdentifiers.default)(declar); + for (const key of Object.keys(bindings)) { + declars.push({ + kind: node2.kind, + id: (0, _cloneNode.default)(bindings[key]) + }); + } + if (declar.init) { + exprs.push((0, _generated2.assignmentExpression)("=", declar.id, declar.init)); + } + } + ensureLastUndefined = true; + } else if ((0, _generated.isIfStatement)(node2)) { + const consequent = node2.consequent ? gatherSequenceExpressions([node2.consequent], scope, declars) : scope.buildUndefinedNode(); + const alternate = node2.alternate ? gatherSequenceExpressions([node2.alternate], scope, declars) : scope.buildUndefinedNode(); + if (!consequent || !alternate) + return; + exprs.push((0, _generated2.conditionalExpression)(node2.test, consequent, alternate)); + } else if ((0, _generated.isBlockStatement)(node2)) { + const body = gatherSequenceExpressions(node2.body, scope, declars); + if (!body) + return; + exprs.push(body); + } else if ((0, _generated.isEmptyStatement)(node2)) { + if (nodes.indexOf(node2) === 0) { + ensureLastUndefined = true; + } + } else { + return; + } + } + if (ensureLastUndefined) { + exprs.push(scope.buildUndefinedNode()); + } + if (exprs.length === 1) { + return exprs[0]; + } else { + return (0, _generated2.sequenceExpression)(exprs); + } + } + } +}); + +// node_modules/@babel/types/lib/converters/toSequenceExpression.js +var require_toSequenceExpression = __commonJS({ + "node_modules/@babel/types/lib/converters/toSequenceExpression.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = toSequenceExpression; + var _gatherSequenceExpressions = require_gatherSequenceExpressions(); + function toSequenceExpression(nodes, scope) { + if (!(nodes != null && nodes.length)) + return; + const declars = []; + const result = (0, _gatherSequenceExpressions.default)(nodes, scope, declars); + if (!result) + return; + for (const declar of declars) { + scope.push(declar); + } + return result; + } + } +}); + +// node_modules/@babel/types/lib/converters/toStatement.js +var require_toStatement = __commonJS({ + "node_modules/@babel/types/lib/converters/toStatement.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _generated = require_generated(); + var _generated2 = require_generated2(); + var _default = toStatement; + exports.default = _default; + function toStatement(node2, ignore) { + if ((0, _generated.isStatement)(node2)) { + return node2; + } + let mustHaveId = false; + let newType; + if ((0, _generated.isClass)(node2)) { + mustHaveId = true; + newType = "ClassDeclaration"; + } else if ((0, _generated.isFunction)(node2)) { + mustHaveId = true; + newType = "FunctionDeclaration"; + } else if ((0, _generated.isAssignmentExpression)(node2)) { + return (0, _generated2.expressionStatement)(node2); + } + if (mustHaveId && !node2.id) { + newType = false; + } + if (!newType) { + if (ignore) { + return false; + } else { + throw new Error(`cannot turn ${node2.type} to a statement`); + } + } + node2.type = newType; + return node2; + } + } +}); + +// node_modules/@babel/types/lib/converters/valueToNode.js +var require_valueToNode = __commonJS({ + "node_modules/@babel/types/lib/converters/valueToNode.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _isValidIdentifier = require_isValidIdentifier(); + var _generated = require_generated2(); + var _default = valueToNode; + exports.default = _default; + var objectToString2 = Function.call.bind(Object.prototype.toString); + function isRegExp2(value) { + return objectToString2(value) === "[object RegExp]"; + } + function isPlainObject(value) { + if (typeof value !== "object" || value === null || Object.prototype.toString.call(value) !== "[object Object]") { + return false; + } + const proto = Object.getPrototypeOf(value); + return proto === null || Object.getPrototypeOf(proto) === null; + } + function valueToNode(value) { + if (value === void 0) { + return (0, _generated.identifier)("undefined"); + } + if (value === true || value === false) { + return (0, _generated.booleanLiteral)(value); + } + if (value === null) { + return (0, _generated.nullLiteral)(); + } + if (typeof value === "string") { + return (0, _generated.stringLiteral)(value); + } + if (typeof value === "number") { + let result; + if (Number.isFinite(value)) { + result = (0, _generated.numericLiteral)(Math.abs(value)); + } else { + let numerator; + if (Number.isNaN(value)) { + numerator = (0, _generated.numericLiteral)(0); + } else { + numerator = (0, _generated.numericLiteral)(1); + } + result = (0, _generated.binaryExpression)("/", numerator, (0, _generated.numericLiteral)(0)); + } + if (value < 0 || Object.is(value, -0)) { + result = (0, _generated.unaryExpression)("-", result); + } + return result; + } + if (isRegExp2(value)) { + const pattern = value.source; + const flags = value.toString().match(/\/([a-z]+|)$/)[1]; + return (0, _generated.regExpLiteral)(pattern, flags); + } + if (Array.isArray(value)) { + return (0, _generated.arrayExpression)(value.map(valueToNode)); + } + if (isPlainObject(value)) { + const props = []; + for (const key of Object.keys(value)) { + let nodeKey; + if ((0, _isValidIdentifier.default)(key)) { + nodeKey = (0, _generated.identifier)(key); + } else { + nodeKey = (0, _generated.stringLiteral)(key); + } + props.push((0, _generated.objectProperty)(nodeKey, valueToNode(value[key]))); + } + return (0, _generated.objectExpression)(props); + } + throw new Error("don't know how to turn this value into a node"); + } + } +}); + +// node_modules/@babel/types/lib/modifications/appendToMemberExpression.js +var require_appendToMemberExpression = __commonJS({ + "node_modules/@babel/types/lib/modifications/appendToMemberExpression.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = appendToMemberExpression; + var _generated = require_generated2(); + function appendToMemberExpression(member, append2, computed = false) { + member.object = (0, _generated.memberExpression)(member.object, member.property, member.computed); + member.property = append2; + member.computed = !!computed; + return member; + } + } +}); + +// node_modules/@babel/types/lib/modifications/inherits.js +var require_inherits = __commonJS({ + "node_modules/@babel/types/lib/modifications/inherits.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = inherits2; + var _constants = require_constants(); + var _inheritsComments = require_inheritsComments(); + function inherits2(child, parent) { + if (!child || !parent) + return child; + for (const key of _constants.INHERIT_KEYS.optional) { + if (child[key] == null) { + child[key] = parent[key]; + } + } + for (const key of Object.keys(parent)) { + if (key[0] === "_" && key !== "__clone") { + child[key] = parent[key]; + } + } + for (const key of _constants.INHERIT_KEYS.force) { + child[key] = parent[key]; + } + (0, _inheritsComments.default)(child, parent); + return child; + } + } +}); + +// node_modules/@babel/types/lib/modifications/prependToMemberExpression.js +var require_prependToMemberExpression = __commonJS({ + "node_modules/@babel/types/lib/modifications/prependToMemberExpression.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = prependToMemberExpression; + var _generated = require_generated2(); + var _ = require_lib3(); + function prependToMemberExpression(member, prepend) { + if ((0, _.isSuper)(member.object)) { + throw new Error("Cannot prepend node to super property access (`super.foo`)."); + } + member.object = (0, _generated.memberExpression)(prepend, member.object); + return member; + } + } +}); + +// node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js +var require_getOuterBindingIdentifiers = __commonJS({ + "node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _getBindingIdentifiers = require_getBindingIdentifiers(); + var _default = getOuterBindingIdentifiers; + exports.default = _default; + function getOuterBindingIdentifiers(node2, duplicates) { + return (0, _getBindingIdentifiers.default)(node2, duplicates, true); + } + } +}); + +// node_modules/@babel/types/lib/traverse/traverse.js +var require_traverse = __commonJS({ + "node_modules/@babel/types/lib/traverse/traverse.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = traverse; + var _definitions = require_definitions(); + function traverse(node2, handlers, state) { + if (typeof handlers === "function") { + handlers = { + enter: handlers + }; + } + const { + enter, + exit + } = handlers; + traverseSimpleImpl(node2, enter, exit, state, []); + } + function traverseSimpleImpl(node2, enter, exit, state, ancestors) { + const keys = _definitions.VISITOR_KEYS[node2.type]; + if (!keys) + return; + if (enter) + enter(node2, ancestors, state); + for (const key of keys) { + const subNode = node2[key]; + if (Array.isArray(subNode)) { + for (let i = 0; i < subNode.length; i++) { + const child = subNode[i]; + if (!child) + continue; + ancestors.push({ + node: node2, + key, + index: i + }); + traverseSimpleImpl(child, enter, exit, state, ancestors); + ancestors.pop(); + } + } else if (subNode) { + ancestors.push({ + node: node2, + key + }); + traverseSimpleImpl(subNode, enter, exit, state, ancestors); + ancestors.pop(); + } + } + if (exit) + exit(node2, ancestors, state); + } + } +}); + +// node_modules/@babel/types/lib/validators/isBinding.js +var require_isBinding = __commonJS({ + "node_modules/@babel/types/lib/validators/isBinding.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isBinding; + var _getBindingIdentifiers = require_getBindingIdentifiers(); + function isBinding(node2, parent, grandparent) { + if (grandparent && node2.type === "Identifier" && parent.type === "ObjectProperty" && grandparent.type === "ObjectExpression") { + return false; + } + const keys = _getBindingIdentifiers.default.keys[parent.type]; + if (keys) { + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const val = parent[key]; + if (Array.isArray(val)) { + if (val.indexOf(node2) >= 0) + return true; + } else { + if (val === node2) + return true; + } + } + } + return false; + } + } +}); + +// node_modules/@babel/types/lib/validators/isLet.js +var require_isLet = __commonJS({ + "node_modules/@babel/types/lib/validators/isLet.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isLet; + var _generated = require_generated(); + var _constants = require_constants(); + function isLet(node2) { + return (0, _generated.isVariableDeclaration)(node2) && (node2.kind !== "var" || node2[_constants.BLOCK_SCOPED_SYMBOL]); + } + } +}); + +// node_modules/@babel/types/lib/validators/isBlockScoped.js +var require_isBlockScoped = __commonJS({ + "node_modules/@babel/types/lib/validators/isBlockScoped.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isBlockScoped; + var _generated = require_generated(); + var _isLet = require_isLet(); + function isBlockScoped(node2) { + return (0, _generated.isFunctionDeclaration)(node2) || (0, _generated.isClassDeclaration)(node2) || (0, _isLet.default)(node2); + } + } +}); + +// node_modules/@babel/types/lib/validators/isImmutable.js +var require_isImmutable = __commonJS({ + "node_modules/@babel/types/lib/validators/isImmutable.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isImmutable; + var _isType = require_isType(); + var _generated = require_generated(); + function isImmutable(node2) { + if ((0, _isType.default)(node2.type, "Immutable")) + return true; + if ((0, _generated.isIdentifier)(node2)) { + if (node2.name === "undefined") { + return true; + } else { + return false; + } + } + return false; + } + } +}); + +// node_modules/@babel/types/lib/validators/isNodesEquivalent.js +var require_isNodesEquivalent = __commonJS({ + "node_modules/@babel/types/lib/validators/isNodesEquivalent.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isNodesEquivalent; + var _definitions = require_definitions(); + function isNodesEquivalent(a, b) { + if (typeof a !== "object" || typeof b !== "object" || a == null || b == null) { + return a === b; + } + if (a.type !== b.type) { + return false; + } + const fields = Object.keys(_definitions.NODE_FIELDS[a.type] || a.type); + const visitorKeys = _definitions.VISITOR_KEYS[a.type]; + for (const field of fields) { + const val_a = a[field]; + const val_b = b[field]; + if (typeof val_a !== typeof val_b) { + return false; + } + if (val_a == null && val_b == null) { + continue; + } else if (val_a == null || val_b == null) { + return false; + } + if (Array.isArray(val_a)) { + if (!Array.isArray(val_b)) { + return false; + } + if (val_a.length !== val_b.length) { + return false; + } + for (let i = 0; i < val_a.length; i++) { + if (!isNodesEquivalent(val_a[i], val_b[i])) { + return false; + } + } + continue; + } + if (typeof val_a === "object" && !(visitorKeys != null && visitorKeys.includes(field))) { + for (const key of Object.keys(val_a)) { + if (val_a[key] !== val_b[key]) { + return false; + } + } + continue; + } + if (!isNodesEquivalent(val_a, val_b)) { + return false; + } + } + return true; + } + } +}); + +// node_modules/@babel/types/lib/validators/isReferenced.js +var require_isReferenced = __commonJS({ + "node_modules/@babel/types/lib/validators/isReferenced.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isReferenced; + function isReferenced(node2, parent, grandparent) { + switch (parent.type) { + case "MemberExpression": + case "OptionalMemberExpression": + if (parent.property === node2) { + return !!parent.computed; + } + return parent.object === node2; + case "JSXMemberExpression": + return parent.object === node2; + case "VariableDeclarator": + return parent.init === node2; + case "ArrowFunctionExpression": + return parent.body === node2; + case "PrivateName": + return false; + case "ClassMethod": + case "ClassPrivateMethod": + case "ObjectMethod": + if (parent.key === node2) { + return !!parent.computed; + } + return false; + case "ObjectProperty": + if (parent.key === node2) { + return !!parent.computed; + } + return !grandparent || grandparent.type !== "ObjectPattern"; + case "ClassProperty": + case "ClassAccessorProperty": + if (parent.key === node2) { + return !!parent.computed; + } + return true; + case "ClassPrivateProperty": + return parent.key !== node2; + case "ClassDeclaration": + case "ClassExpression": + return parent.superClass === node2; + case "AssignmentExpression": + return parent.right === node2; + case "AssignmentPattern": + return parent.right === node2; + case "LabeledStatement": + return false; + case "CatchClause": + return false; + case "RestElement": + return false; + case "BreakStatement": + case "ContinueStatement": + return false; + case "FunctionDeclaration": + case "FunctionExpression": + return false; + case "ExportNamespaceSpecifier": + case "ExportDefaultSpecifier": + return false; + case "ExportSpecifier": + if (grandparent != null && grandparent.source) { + return false; + } + return parent.local === node2; + case "ImportDefaultSpecifier": + case "ImportNamespaceSpecifier": + case "ImportSpecifier": + return false; + case "ImportAttribute": + return false; + case "JSXAttribute": + return false; + case "ObjectPattern": + case "ArrayPattern": + return false; + case "MetaProperty": + return false; + case "ObjectTypeProperty": + return parent.key !== node2; + case "TSEnumMember": + return parent.id !== node2; + case "TSPropertySignature": + if (parent.key === node2) { + return !!parent.computed; + } + return true; + } + return true; + } + } +}); + +// node_modules/@babel/types/lib/validators/isScope.js +var require_isScope = __commonJS({ + "node_modules/@babel/types/lib/validators/isScope.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isScope; + var _generated = require_generated(); + function isScope(node2, parent) { + if ((0, _generated.isBlockStatement)(node2) && ((0, _generated.isFunction)(parent) || (0, _generated.isCatchClause)(parent))) { + return false; + } + if ((0, _generated.isPattern)(node2) && ((0, _generated.isFunction)(parent) || (0, _generated.isCatchClause)(parent))) { + return true; + } + return (0, _generated.isScopable)(node2); + } + } +}); + +// node_modules/@babel/types/lib/validators/isSpecifierDefault.js +var require_isSpecifierDefault = __commonJS({ + "node_modules/@babel/types/lib/validators/isSpecifierDefault.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isSpecifierDefault; + var _generated = require_generated(); + function isSpecifierDefault(specifier) { + return (0, _generated.isImportDefaultSpecifier)(specifier) || (0, _generated.isIdentifier)(specifier.imported || specifier.exported, { + name: "default" + }); + } + } +}); + +// node_modules/@babel/types/lib/validators/isValidES3Identifier.js +var require_isValidES3Identifier = __commonJS({ + "node_modules/@babel/types/lib/validators/isValidES3Identifier.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isValidES3Identifier; + var _isValidIdentifier = require_isValidIdentifier(); + var RESERVED_WORDS_ES3_ONLY = /* @__PURE__ */ new Set(["abstract", "boolean", "byte", "char", "double", "enum", "final", "float", "goto", "implements", "int", "interface", "long", "native", "package", "private", "protected", "public", "short", "static", "synchronized", "throws", "transient", "volatile"]); + function isValidES3Identifier(name) { + return (0, _isValidIdentifier.default)(name) && !RESERVED_WORDS_ES3_ONLY.has(name); + } + } +}); + +// node_modules/@babel/types/lib/validators/isVar.js +var require_isVar = __commonJS({ + "node_modules/@babel/types/lib/validators/isVar.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = isVar; + var _generated = require_generated(); + var _constants = require_constants(); + function isVar(node2) { + return (0, _generated.isVariableDeclaration)(node2, { + kind: "var" + }) && !node2[_constants.BLOCK_SCOPED_SYMBOL]; + } + } +}); + +// node_modules/@babel/types/lib/ast-types/generated/index.js +var require_generated5 = __commonJS({ + "node_modules/@babel/types/lib/ast-types/generated/index.js"() { + init_process(); + init_buffer(); + } +}); + +// node_modules/@babel/types/lib/index.js +var require_lib3 = __commonJS({ + "node_modules/@babel/types/lib/index.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + var _exportNames = { + react: true, + assertNode: true, + createTypeAnnotationBasedOnTypeof: true, + createUnionTypeAnnotation: true, + createFlowUnionType: true, + createTSUnionType: true, + cloneNode: true, + clone: true, + cloneDeep: true, + cloneDeepWithoutLoc: true, + cloneWithoutLoc: true, + addComment: true, + addComments: true, + inheritInnerComments: true, + inheritLeadingComments: true, + inheritsComments: true, + inheritTrailingComments: true, + removeComments: true, + ensureBlock: true, + toBindingIdentifierName: true, + toBlock: true, + toComputedKey: true, + toExpression: true, + toIdentifier: true, + toKeyAlias: true, + toSequenceExpression: true, + toStatement: true, + valueToNode: true, + appendToMemberExpression: true, + inherits: true, + prependToMemberExpression: true, + removeProperties: true, + removePropertiesDeep: true, + removeTypeDuplicates: true, + getBindingIdentifiers: true, + getOuterBindingIdentifiers: true, + traverse: true, + traverseFast: true, + shallowEqual: true, + is: true, + isBinding: true, + isBlockScoped: true, + isImmutable: true, + isLet: true, + isNode: true, + isNodesEquivalent: true, + isPlaceholderType: true, + isReferenced: true, + isScope: true, + isSpecifierDefault: true, + isType: true, + isValidES3Identifier: true, + isValidIdentifier: true, + isVar: true, + matchesPattern: true, + validate: true, + buildMatchMemberExpression: true, + __internal__deprecationWarning: true + }; + Object.defineProperty(exports, "__internal__deprecationWarning", { + enumerable: true, + get: function() { + return _deprecationWarning.default; + } + }); + Object.defineProperty(exports, "addComment", { + enumerable: true, + get: function() { + return _addComment.default; + } + }); + Object.defineProperty(exports, "addComments", { + enumerable: true, + get: function() { + return _addComments.default; + } + }); + Object.defineProperty(exports, "appendToMemberExpression", { + enumerable: true, + get: function() { + return _appendToMemberExpression.default; + } + }); + Object.defineProperty(exports, "assertNode", { + enumerable: true, + get: function() { + return _assertNode.default; + } + }); + Object.defineProperty(exports, "buildMatchMemberExpression", { + enumerable: true, + get: function() { + return _buildMatchMemberExpression.default; + } + }); + Object.defineProperty(exports, "clone", { + enumerable: true, + get: function() { + return _clone.default; + } + }); + Object.defineProperty(exports, "cloneDeep", { + enumerable: true, + get: function() { + return _cloneDeep.default; + } + }); + Object.defineProperty(exports, "cloneDeepWithoutLoc", { + enumerable: true, + get: function() { + return _cloneDeepWithoutLoc.default; + } + }); + Object.defineProperty(exports, "cloneNode", { + enumerable: true, + get: function() { + return _cloneNode.default; + } + }); + Object.defineProperty(exports, "cloneWithoutLoc", { + enumerable: true, + get: function() { + return _cloneWithoutLoc.default; + } + }); + Object.defineProperty(exports, "createFlowUnionType", { + enumerable: true, + get: function() { + return _createFlowUnionType.default; + } + }); + Object.defineProperty(exports, "createTSUnionType", { + enumerable: true, + get: function() { + return _createTSUnionType.default; + } + }); + Object.defineProperty(exports, "createTypeAnnotationBasedOnTypeof", { + enumerable: true, + get: function() { + return _createTypeAnnotationBasedOnTypeof.default; + } + }); + Object.defineProperty(exports, "createUnionTypeAnnotation", { + enumerable: true, + get: function() { + return _createFlowUnionType.default; + } + }); + Object.defineProperty(exports, "ensureBlock", { + enumerable: true, + get: function() { + return _ensureBlock.default; + } + }); + Object.defineProperty(exports, "getBindingIdentifiers", { + enumerable: true, + get: function() { + return _getBindingIdentifiers.default; + } + }); + Object.defineProperty(exports, "getOuterBindingIdentifiers", { + enumerable: true, + get: function() { + return _getOuterBindingIdentifiers.default; + } + }); + Object.defineProperty(exports, "inheritInnerComments", { + enumerable: true, + get: function() { + return _inheritInnerComments.default; + } + }); + Object.defineProperty(exports, "inheritLeadingComments", { + enumerable: true, + get: function() { + return _inheritLeadingComments.default; + } + }); + Object.defineProperty(exports, "inheritTrailingComments", { + enumerable: true, + get: function() { + return _inheritTrailingComments.default; + } + }); + Object.defineProperty(exports, "inherits", { + enumerable: true, + get: function() { + return _inherits.default; + } + }); + Object.defineProperty(exports, "inheritsComments", { + enumerable: true, + get: function() { + return _inheritsComments.default; + } + }); + Object.defineProperty(exports, "is", { + enumerable: true, + get: function() { + return _is.default; + } + }); + Object.defineProperty(exports, "isBinding", { + enumerable: true, + get: function() { + return _isBinding.default; + } + }); + Object.defineProperty(exports, "isBlockScoped", { + enumerable: true, + get: function() { + return _isBlockScoped.default; + } + }); + Object.defineProperty(exports, "isImmutable", { + enumerable: true, + get: function() { + return _isImmutable.default; + } + }); + Object.defineProperty(exports, "isLet", { + enumerable: true, + get: function() { + return _isLet.default; + } + }); + Object.defineProperty(exports, "isNode", { + enumerable: true, + get: function() { + return _isNode.default; + } + }); + Object.defineProperty(exports, "isNodesEquivalent", { + enumerable: true, + get: function() { + return _isNodesEquivalent.default; + } + }); + Object.defineProperty(exports, "isPlaceholderType", { + enumerable: true, + get: function() { + return _isPlaceholderType.default; + } + }); + Object.defineProperty(exports, "isReferenced", { + enumerable: true, + get: function() { + return _isReferenced.default; + } + }); + Object.defineProperty(exports, "isScope", { + enumerable: true, + get: function() { + return _isScope.default; + } + }); + Object.defineProperty(exports, "isSpecifierDefault", { + enumerable: true, + get: function() { + return _isSpecifierDefault.default; + } + }); + Object.defineProperty(exports, "isType", { + enumerable: true, + get: function() { + return _isType.default; + } + }); + Object.defineProperty(exports, "isValidES3Identifier", { + enumerable: true, + get: function() { + return _isValidES3Identifier.default; + } + }); + Object.defineProperty(exports, "isValidIdentifier", { + enumerable: true, + get: function() { + return _isValidIdentifier.default; + } + }); + Object.defineProperty(exports, "isVar", { + enumerable: true, + get: function() { + return _isVar.default; + } + }); + Object.defineProperty(exports, "matchesPattern", { + enumerable: true, + get: function() { + return _matchesPattern.default; + } + }); + Object.defineProperty(exports, "prependToMemberExpression", { + enumerable: true, + get: function() { + return _prependToMemberExpression.default; + } + }); + exports.react = void 0; + Object.defineProperty(exports, "removeComments", { + enumerable: true, + get: function() { + return _removeComments.default; + } + }); + Object.defineProperty(exports, "removeProperties", { + enumerable: true, + get: function() { + return _removeProperties.default; + } + }); + Object.defineProperty(exports, "removePropertiesDeep", { + enumerable: true, + get: function() { + return _removePropertiesDeep.default; + } + }); + Object.defineProperty(exports, "removeTypeDuplicates", { + enumerable: true, + get: function() { + return _removeTypeDuplicates.default; + } + }); + Object.defineProperty(exports, "shallowEqual", { + enumerable: true, + get: function() { + return _shallowEqual.default; + } + }); + Object.defineProperty(exports, "toBindingIdentifierName", { + enumerable: true, + get: function() { + return _toBindingIdentifierName.default; + } + }); + Object.defineProperty(exports, "toBlock", { + enumerable: true, + get: function() { + return _toBlock.default; + } + }); + Object.defineProperty(exports, "toComputedKey", { + enumerable: true, + get: function() { + return _toComputedKey.default; + } + }); + Object.defineProperty(exports, "toExpression", { + enumerable: true, + get: function() { + return _toExpression.default; + } + }); + Object.defineProperty(exports, "toIdentifier", { + enumerable: true, + get: function() { + return _toIdentifier.default; + } + }); + Object.defineProperty(exports, "toKeyAlias", { + enumerable: true, + get: function() { + return _toKeyAlias.default; + } + }); + Object.defineProperty(exports, "toSequenceExpression", { + enumerable: true, + get: function() { + return _toSequenceExpression.default; + } + }); + Object.defineProperty(exports, "toStatement", { + enumerable: true, + get: function() { + return _toStatement.default; + } + }); + Object.defineProperty(exports, "traverse", { + enumerable: true, + get: function() { + return _traverse.default; + } + }); + Object.defineProperty(exports, "traverseFast", { + enumerable: true, + get: function() { + return _traverseFast.default; + } + }); + Object.defineProperty(exports, "validate", { + enumerable: true, + get: function() { + return _validate.default; + } + }); + Object.defineProperty(exports, "valueToNode", { + enumerable: true, + get: function() { + return _valueToNode.default; + } + }); + var _isReactComponent = require_isReactComponent(); + var _isCompatTag = require_isCompatTag(); + var _buildChildren = require_buildChildren(); + var _assertNode = require_assertNode(); + var _generated = require_generated3(); + Object.keys(_generated).forEach(function(key) { + if (key === "default" || key === "__esModule") + return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) + return; + if (key in exports && exports[key] === _generated[key]) + return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _generated[key]; + } + }); + }); + var _createTypeAnnotationBasedOnTypeof = require_createTypeAnnotationBasedOnTypeof(); + var _createFlowUnionType = require_createFlowUnionType(); + var _createTSUnionType = require_createTSUnionType(); + var _generated2 = require_generated2(); + Object.keys(_generated2).forEach(function(key) { + if (key === "default" || key === "__esModule") + return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) + return; + if (key in exports && exports[key] === _generated2[key]) + return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _generated2[key]; + } + }); + }); + var _uppercase = require_uppercase(); + Object.keys(_uppercase).forEach(function(key) { + if (key === "default" || key === "__esModule") + return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) + return; + if (key in exports && exports[key] === _uppercase[key]) + return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _uppercase[key]; + } + }); + }); + var _cloneNode = require_cloneNode(); + var _clone = require_clone(); + var _cloneDeep = require_cloneDeep(); + var _cloneDeepWithoutLoc = require_cloneDeepWithoutLoc(); + var _cloneWithoutLoc = require_cloneWithoutLoc(); + var _addComment = require_addComment(); + var _addComments = require_addComments(); + var _inheritInnerComments = require_inheritInnerComments(); + var _inheritLeadingComments = require_inheritLeadingComments(); + var _inheritsComments = require_inheritsComments(); + var _inheritTrailingComments = require_inheritTrailingComments(); + var _removeComments = require_removeComments(); + var _generated3 = require_generated4(); + Object.keys(_generated3).forEach(function(key) { + if (key === "default" || key === "__esModule") + return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) + return; + if (key in exports && exports[key] === _generated3[key]) + return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _generated3[key]; + } + }); + }); + var _constants = require_constants(); + Object.keys(_constants).forEach(function(key) { + if (key === "default" || key === "__esModule") + return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) + return; + if (key in exports && exports[key] === _constants[key]) + return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _constants[key]; + } + }); + }); + var _ensureBlock = require_ensureBlock(); + var _toBindingIdentifierName = require_toBindingIdentifierName(); + var _toBlock = require_toBlock(); + var _toComputedKey = require_toComputedKey(); + var _toExpression = require_toExpression(); + var _toIdentifier = require_toIdentifier(); + var _toKeyAlias = require_toKeyAlias(); + var _toSequenceExpression = require_toSequenceExpression(); + var _toStatement = require_toStatement(); + var _valueToNode = require_valueToNode(); + var _definitions = require_definitions(); + Object.keys(_definitions).forEach(function(key) { + if (key === "default" || key === "__esModule") + return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) + return; + if (key in exports && exports[key] === _definitions[key]) + return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _definitions[key]; + } + }); + }); + var _appendToMemberExpression = require_appendToMemberExpression(); + var _inherits = require_inherits(); + var _prependToMemberExpression = require_prependToMemberExpression(); + var _removeProperties = require_removeProperties(); + var _removePropertiesDeep = require_removePropertiesDeep(); + var _removeTypeDuplicates = require_removeTypeDuplicates(); + var _getBindingIdentifiers = require_getBindingIdentifiers(); + var _getOuterBindingIdentifiers = require_getOuterBindingIdentifiers(); + var _traverse = require_traverse(); + Object.keys(_traverse).forEach(function(key) { + if (key === "default" || key === "__esModule") + return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) + return; + if (key in exports && exports[key] === _traverse[key]) + return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _traverse[key]; + } + }); + }); + var _traverseFast = require_traverseFast(); + var _shallowEqual = require_shallowEqual(); + var _is = require_is(); + var _isBinding = require_isBinding(); + var _isBlockScoped = require_isBlockScoped(); + var _isImmutable = require_isImmutable(); + var _isLet = require_isLet(); + var _isNode = require_isNode(); + var _isNodesEquivalent = require_isNodesEquivalent(); + var _isPlaceholderType = require_isPlaceholderType(); + var _isReferenced = require_isReferenced(); + var _isScope = require_isScope(); + var _isSpecifierDefault = require_isSpecifierDefault(); + var _isType = require_isType(); + var _isValidES3Identifier = require_isValidES3Identifier(); + var _isValidIdentifier = require_isValidIdentifier(); + var _isVar = require_isVar(); + var _matchesPattern = require_matchesPattern(); + var _validate = require_validate(); + var _buildMatchMemberExpression = require_buildMatchMemberExpression(); + var _generated4 = require_generated(); + Object.keys(_generated4).forEach(function(key) { + if (key === "default" || key === "__esModule") + return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) + return; + if (key in exports && exports[key] === _generated4[key]) + return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _generated4[key]; + } + }); + }); + var _generated5 = require_generated5(); + Object.keys(_generated5).forEach(function(key) { + if (key === "default" || key === "__esModule") + return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) + return; + if (key in exports && exports[key] === _generated5[key]) + return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function() { + return _generated5[key]; + } + }); + }); + var _deprecationWarning = require_deprecationWarning(); + var react = { + isReactComponent: _isReactComponent.default, + isCompatTag: _isCompatTag.default, + buildChildren: _buildChildren.default + }; + exports.react = react; + } +}); + +// node_modules/@babel/traverse/lib/visitors.js +var require_visitors = __commonJS({ + "node_modules/@babel/traverse/lib/visitors.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.explode = explode; + exports.merge = merge3; + exports.verify = verify; + var virtualTypes = require_virtual_types(); + var _t = require_lib3(); + var { + DEPRECATED_KEYS, + DEPRECATED_ALIASES, + FLIPPED_ALIAS_KEYS, + TYPES, + __internal__deprecationWarning: deprecationWarning + } = _t; + function isVirtualType(type) { + return type in virtualTypes; + } + function explode(visitor) { + if (visitor._exploded) + return visitor; + visitor._exploded = true; + for (const nodeType of Object.keys(visitor)) { + if (shouldIgnoreKey(nodeType)) + continue; + const parts = nodeType.split("|"); + if (parts.length === 1) + continue; + const fns = visitor[nodeType]; + delete visitor[nodeType]; + for (const part of parts) { + visitor[part] = fns; + } + } + verify(visitor); + delete visitor.__esModule; + ensureEntranceObjects(visitor); + ensureCallbackArrays(visitor); + for (const nodeType of Object.keys(visitor)) { + if (shouldIgnoreKey(nodeType)) + continue; + if (!isVirtualType(nodeType)) + continue; + const fns = visitor[nodeType]; + for (const type of Object.keys(fns)) { + fns[type] = wrapCheck(nodeType, fns[type]); + } + delete visitor[nodeType]; + const types = virtualTypes[nodeType]; + if (types !== null) { + for (const type of types) { + if (visitor[type]) { + mergePair(visitor[type], fns); + } else { + visitor[type] = fns; + } + } + } else { + mergePair(visitor, fns); + } + } + for (const nodeType of Object.keys(visitor)) { + if (shouldIgnoreKey(nodeType)) + continue; + let aliases = FLIPPED_ALIAS_KEYS[nodeType]; + if (nodeType in DEPRECATED_KEYS) { + const deprecatedKey = DEPRECATED_KEYS[nodeType]; + deprecationWarning(nodeType, deprecatedKey, "Visitor "); + aliases = [deprecatedKey]; + } else if (nodeType in DEPRECATED_ALIASES) { + const deprecatedAlias = DEPRECATED_ALIASES[nodeType]; + deprecationWarning(nodeType, deprecatedAlias, "Visitor "); + aliases = FLIPPED_ALIAS_KEYS[deprecatedAlias]; + } + if (!aliases) + continue; + const fns = visitor[nodeType]; + delete visitor[nodeType]; + for (const alias of aliases) { + const existing = visitor[alias]; + if (existing) { + mergePair(existing, fns); + } else { + visitor[alias] = Object.assign({}, fns); + } + } + } + for (const nodeType of Object.keys(visitor)) { + if (shouldIgnoreKey(nodeType)) + continue; + ensureCallbackArrays(visitor[nodeType]); + } + return visitor; + } + function verify(visitor) { + if (visitor._verified) + return; + if (typeof visitor === "function") { + throw new Error("You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Function }`?"); + } + for (const nodeType of Object.keys(visitor)) { + if (nodeType === "enter" || nodeType === "exit") { + validateVisitorMethods(nodeType, visitor[nodeType]); + } + if (shouldIgnoreKey(nodeType)) + continue; + if (TYPES.indexOf(nodeType) < 0) { + throw new Error(`You gave us a visitor for the node type ${nodeType} but it's not a valid type`); + } + const visitors = visitor[nodeType]; + if (typeof visitors === "object") { + for (const visitorKey of Object.keys(visitors)) { + if (visitorKey === "enter" || visitorKey === "exit") { + validateVisitorMethods(`${nodeType}.${visitorKey}`, visitors[visitorKey]); + } else { + throw new Error(`You passed \`traverse()\` a visitor object with the property ${nodeType} that has the invalid property ${visitorKey}`); + } + } + } + } + visitor._verified = true; + } + function validateVisitorMethods(path, val) { + const fns = [].concat(val); + for (const fn of fns) { + if (typeof fn !== "function") { + throw new TypeError(`Non-function found defined in ${path} with type ${typeof fn}`); + } + } + } + function merge3(visitors, states = [], wrapper) { + const rootVisitor = {}; + for (let i = 0; i < visitors.length; i++) { + const visitor = visitors[i]; + const state = states[i]; + explode(visitor); + for (const type of Object.keys(visitor)) { + let visitorType = visitor[type]; + if (state || wrapper) { + visitorType = wrapWithStateOrWrapper(visitorType, state, wrapper); + } + const nodeVisitor = rootVisitor[type] || (rootVisitor[type] = {}); + mergePair(nodeVisitor, visitorType); + } + } + return rootVisitor; + } + function wrapWithStateOrWrapper(oldVisitor, state, wrapper) { + const newVisitor = {}; + for (const key of Object.keys(oldVisitor)) { + let fns = oldVisitor[key]; + if (!Array.isArray(fns)) + continue; + fns = fns.map(function(fn) { + let newFn = fn; + if (state) { + newFn = function(path) { + return fn.call(state, path, state); + }; + } + if (wrapper) { + newFn = wrapper(state.key, key, newFn); + } + if (newFn !== fn) { + newFn.toString = () => fn.toString(); + } + return newFn; + }); + newVisitor[key] = fns; + } + return newVisitor; + } + function ensureEntranceObjects(obj) { + for (const key of Object.keys(obj)) { + if (shouldIgnoreKey(key)) + continue; + const fns = obj[key]; + if (typeof fns === "function") { + obj[key] = { + enter: fns + }; + } + } + } + function ensureCallbackArrays(obj) { + if (obj.enter && !Array.isArray(obj.enter)) + obj.enter = [obj.enter]; + if (obj.exit && !Array.isArray(obj.exit)) + obj.exit = [obj.exit]; + } + function wrapCheck(nodeType, fn) { + const newFn = function(path) { + if (path[`is${nodeType}`]()) { + return fn.apply(this, arguments); + } + }; + newFn.toString = () => fn.toString(); + return newFn; + } + function shouldIgnoreKey(key) { + if (key[0] === "_") + return true; + if (key === "enter" || key === "exit" || key === "shouldSkip") + return true; + if (key === "denylist" || key === "noScope" || key === "skipKeys" || key === "blacklist") { + return true; + } + return false; + } + function mergePair(dest, src) { + for (const key of Object.keys(src)) { + dest[key] = [].concat(dest[key] || [], src[key]); + } + } + } +}); + +// node_modules/@babel/traverse/lib/cache.js +var require_cache = __commonJS({ + "node_modules/@babel/traverse/lib/cache.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.clear = clear2; + exports.clearPath = clearPath; + exports.clearScope = clearScope; + exports.scope = exports.path = void 0; + var path = /* @__PURE__ */ new WeakMap(); + exports.path = path; + var scope = /* @__PURE__ */ new WeakMap(); + exports.scope = scope; + function clear2() { + clearPath(); + clearScope(); + } + function clearPath() { + exports.path = path = /* @__PURE__ */ new WeakMap(); + } + function clearScope() { + exports.scope = scope = /* @__PURE__ */ new WeakMap(); + } + } +}); + +// node_modules/ms/index.js +var require_ms = __commonJS({ + "node_modules/ms/index.js"(exports, module) { + init_process(); + init_buffer(); + var s = 1e3; + var m = s * 60; + var h = m * 60; + var d = h * 24; + var w = d * 7; + var y = d * 365.25; + module.exports = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === "string" && val.length > 0) { + return parse3(val); + } else if (type === "number" && isFinite(val)) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) + ); + }; + function parse3(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match2 = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + str + ); + if (!match2) { + return; + } + var n = parseFloat(match2[1]); + var type = (match2[2] || "ms").toLowerCase(); + switch (type) { + case "years": + case "year": + case "yrs": + case "yr": + case "y": + return n * y; + case "weeks": + case "week": + case "w": + return n * w; + case "days": + case "day": + case "d": + return n * d; + case "hours": + case "hour": + case "hrs": + case "hr": + case "h": + return n * h; + case "minutes": + case "minute": + case "mins": + case "min": + case "m": + return n * m; + case "seconds": + case "second": + case "secs": + case "sec": + case "s": + return n * s; + case "milliseconds": + case "millisecond": + case "msecs": + case "msec": + case "ms": + return n; + default: + return void 0; + } + } + function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + "d"; + } + if (msAbs >= h) { + return Math.round(ms / h) + "h"; + } + if (msAbs >= m) { + return Math.round(ms / m) + "m"; + } + if (msAbs >= s) { + return Math.round(ms / s) + "s"; + } + return ms + "ms"; + } + function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural(ms, msAbs, d, "day"); + } + if (msAbs >= h) { + return plural(ms, msAbs, h, "hour"); + } + if (msAbs >= m) { + return plural(ms, msAbs, m, "minute"); + } + if (msAbs >= s) { + return plural(ms, msAbs, s, "second"); + } + return ms + " ms"; + } + function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); + } + } +}); + +// node_modules/@babel/traverse/node_modules/debug/src/common.js +var require_common = __commonJS({ + "node_modules/@babel/traverse/node_modules/debug/src/common.js"(exports, module) { + init_process(); + init_buffer(); + function setup(env2) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = require_ms(); + createDebug.destroy = destroy; + Object.keys(env2).forEach((key) => { + createDebug[key] = env2[key]; + }); + createDebug.names = []; + createDebug.skips = []; + createDebug.formatters = {}; + function selectColor(namespace) { + let hash2 = 0; + for (let i = 0; i < namespace.length; i++) { + hash2 = (hash2 << 5) - hash2 + namespace.charCodeAt(i); + hash2 |= 0; + } + return createDebug.colors[Math.abs(hash2) % createDebug.colors.length]; + } + createDebug.selectColor = selectColor; + function createDebug(namespace) { + let prevTime; + let enableOverride = null; + let namespacesCache; + let enabledCache; + function debug(...args) { + if (!debug.enabled) { + return; + } + const self2 = debug; + const curr = Number(/* @__PURE__ */ new Date()); + const ms = curr - (prevTime || curr); + self2.diff = ms; + self2.prev = prevTime; + self2.curr = curr; + prevTime = curr; + args[0] = createDebug.coerce(args[0]); + if (typeof args[0] !== "string") { + args.unshift("%O"); + } + let index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match2, format) => { + if (match2 === "%%") { + return "%"; + } + index++; + const formatter = createDebug.formatters[format]; + if (typeof formatter === "function") { + const val = args[index]; + match2 = formatter.call(self2, val); + args.splice(index, 1); + index--; + } + return match2; + }); + createDebug.formatArgs.call(self2, args); + const logFn = self2.log || createDebug.log; + logFn.apply(self2, args); + } + debug.namespace = namespace; + debug.useColors = createDebug.useColors(); + debug.color = createDebug.selectColor(namespace); + debug.extend = extend; + debug.destroy = createDebug.destroy; + Object.defineProperty(debug, "enabled", { + enumerable: true, + configurable: false, + get: () => { + if (enableOverride !== null) { + return enableOverride; + } + if (namespacesCache !== createDebug.namespaces) { + namespacesCache = createDebug.namespaces; + enabledCache = createDebug.enabled(namespace); + } + return enabledCache; + }, + set: (v) => { + enableOverride = v; + } + }); + if (typeof createDebug.init === "function") { + createDebug.init(debug); + } + return debug; + } + function extend(namespace, delimiter3) { + const newDebug = createDebug(this.namespace + (typeof delimiter3 === "undefined" ? ":" : delimiter3) + namespace); + newDebug.log = this.log; + return newDebug; + } + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.namespaces = namespaces; + createDebug.names = []; + createDebug.skips = []; + let i; + const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); + const len = split.length; + for (i = 0; i < len; i++) { + if (!split[i]) { + continue; + } + namespaces = split[i].replace(/\*/g, ".*?"); + if (namespaces[0] === "-") { + createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); + } else { + createDebug.names.push(new RegExp("^" + namespaces + "$")); + } + } + } + function disable() { + const namespaces = [ + ...createDebug.names.map(toNamespace), + ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace) + ].join(","); + createDebug.enable(""); + return namespaces; + } + function enabled(name) { + if (name[name.length - 1] === "*") { + return true; + } + let i; + let len; + for (i = 0, len = createDebug.skips.length; i < len; i++) { + if (createDebug.skips[i].test(name)) { + return false; + } + } + for (i = 0, len = createDebug.names.length; i < len; i++) { + if (createDebug.names[i].test(name)) { + return true; + } + } + return false; + } + function toNamespace(regexp) { + return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*"); + } + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + return val; + } + function destroy() { + console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); + } + createDebug.enable(createDebug.load()); + return createDebug; + } + module.exports = setup; + } +}); + +// node_modules/@babel/traverse/node_modules/debug/src/browser.js +var require_browser = __commonJS({ + "node_modules/@babel/traverse/node_modules/debug/src/browser.js"(exports, module) { + init_process(); + init_buffer(); + exports.formatArgs = formatArgs; + exports.save = save; + exports.load = load; + exports.useColors = useColors; + exports.storage = localstorage(); + exports.destroy = /* @__PURE__ */ (() => { + let warned = false; + return () => { + if (!warned) { + warned = true; + console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); + } + }; + })(); + exports.colors = [ + "#0000CC", + "#0000FF", + "#0033CC", + "#0033FF", + "#0066CC", + "#0066FF", + "#0099CC", + "#0099FF", + "#00CC00", + "#00CC33", + "#00CC66", + "#00CC99", + "#00CCCC", + "#00CCFF", + "#3300CC", + "#3300FF", + "#3333CC", + "#3333FF", + "#3366CC", + "#3366FF", + "#3399CC", + "#3399FF", + "#33CC00", + "#33CC33", + "#33CC66", + "#33CC99", + "#33CCCC", + "#33CCFF", + "#6600CC", + "#6600FF", + "#6633CC", + "#6633FF", + "#66CC00", + "#66CC33", + "#9900CC", + "#9900FF", + "#9933CC", + "#9933FF", + "#99CC00", + "#99CC33", + "#CC0000", + "#CC0033", + "#CC0066", + "#CC0099", + "#CC00CC", + "#CC00FF", + "#CC3300", + "#CC3333", + "#CC3366", + "#CC3399", + "#CC33CC", + "#CC33FF", + "#CC6600", + "#CC6633", + "#CC9900", + "#CC9933", + "#CCCC00", + "#CCCC33", + "#FF0000", + "#FF0033", + "#FF0066", + "#FF0099", + "#FF00CC", + "#FF00FF", + "#FF3300", + "#FF3333", + "#FF3366", + "#FF3399", + "#FF33CC", + "#FF33FF", + "#FF6600", + "#FF6633", + "#FF9900", + "#FF9933", + "#FFCC00", + "#FFCC33" + ]; + function useColors() { + if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { + return true; + } + if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773 + typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker + typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); + } + function formatArgs(args) { + args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module.exports.humanize(this.diff); + if (!this.useColors) { + return; + } + const c = "color: " + this.color; + args.splice(1, 0, c, "color: inherit"); + let index = 0; + let lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, (match2) => { + if (match2 === "%%") { + return; + } + index++; + if (match2 === "%c") { + lastC = index; + } + }); + args.splice(lastC, 0, c); + } + exports.log = console.debug || console.log || (() => { + }); + function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem("debug", namespaces); + } else { + exports.storage.removeItem("debug"); + } + } catch (error) { + } + } + function load() { + let r; + try { + r = exports.storage.getItem("debug"); + } catch (error) { + } + if (!r && typeof process !== "undefined" && "env" in process) { + r = process.env.DEBUG; + } + return r; + } + function localstorage() { + try { + return localStorage; + } catch (error) { + } + } + module.exports = require_common()(exports); + var { formatters } = module.exports; + formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (error) { + return "[UnexpectedJSONParseError]: " + error.message; + } + }; + } +}); + +// node_modules/@babel/helper-split-export-declaration/lib/index.js +var require_lib4 = __commonJS({ + "node_modules/@babel/helper-split-export-declaration/lib/index.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = splitExportDeclaration; + var _t = require_lib3(); + var { + cloneNode, + exportNamedDeclaration, + exportSpecifier, + identifier: identifier2, + variableDeclaration, + variableDeclarator + } = _t; + function splitExportDeclaration(exportDeclaration) { + if (!exportDeclaration.isExportDeclaration() || exportDeclaration.isExportAllDeclaration()) { + throw new Error("Only default and named export declarations can be split."); + } + if (exportDeclaration.isExportDefaultDeclaration()) { + const declaration3 = exportDeclaration.get("declaration"); + const standaloneDeclaration = declaration3.isFunctionDeclaration() || declaration3.isClassDeclaration(); + const scope = declaration3.isScope() ? declaration3.scope.parent : declaration3.scope; + let id = declaration3.node.id; + let needBindingRegistration = false; + if (!id) { + needBindingRegistration = true; + id = scope.generateUidIdentifier("default"); + if (standaloneDeclaration || declaration3.isFunctionExpression() || declaration3.isClassExpression()) { + declaration3.node.id = cloneNode(id); + } + } + const updatedDeclaration = standaloneDeclaration ? declaration3.node : variableDeclaration("var", [variableDeclarator(cloneNode(id), declaration3.node)]); + const updatedExportDeclaration = exportNamedDeclaration(null, [exportSpecifier(cloneNode(id), identifier2("default"))]); + exportDeclaration.insertAfter(updatedExportDeclaration); + exportDeclaration.replaceWith(updatedDeclaration); + if (needBindingRegistration) { + scope.registerDeclaration(exportDeclaration); + } + return exportDeclaration; + } else if (exportDeclaration.get("specifiers").length > 0) { + throw new Error("It doesn't make sense to split exported specifiers."); + } + const declaration2 = exportDeclaration.get("declaration"); + const bindingIdentifiers = declaration2.getOuterBindingIdentifiers(); + const specifiers = Object.keys(bindingIdentifiers).map((name) => { + return exportSpecifier(identifier2(name), identifier2(name)); + }); + const aliasDeclar = exportNamedDeclaration(null, specifiers); + exportDeclaration.insertAfter(aliasDeclar); + exportDeclaration.replaceWith(declaration2.node); + return exportDeclaration; + } + } +}); + +// node_modules/@babel/helper-environment-visitor/lib/index.js +var require_lib5 = __commonJS({ + "node_modules/@babel/helper-environment-visitor/lib/index.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + exports.requeueComputedKeyAndDecorators = requeueComputedKeyAndDecorators; + exports.skipAllButComputedKey = skipAllButComputedKey; + function skipAllButComputedKey(path) { + path.skip(); + if (path.node.computed) { + path.context.maybeQueue(path.get("key")); + } + } + function requeueComputedKeyAndDecorators(path) { + const { + context, + node: node2 + } = path; + if (node2.computed) { + context.maybeQueue(path.get("key")); + } + if (node2.decorators) { + for (const decorator of path.get("decorators")) { + context.maybeQueue(decorator); + } + } + } + var visitor = { + FunctionParent(path) { + if (path.isArrowFunctionExpression()) { + return; + } else { + path.skip(); + if (path.isMethod()) { + requeueComputedKeyAndDecorators(path); + } + } + }, + Property(path) { + if (path.isObjectProperty()) { + return; + } + path.skip(); + requeueComputedKeyAndDecorators(path); + } + }; + var _default = visitor; + exports.default = _default; + } +}); + +// node_modules/@babel/traverse/lib/scope/lib/renamer.js +var require_renamer = __commonJS({ + "node_modules/@babel/traverse/lib/scope/lib/renamer.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _helperSplitExportDeclaration = require_lib4(); + var t = require_lib3(); + var _helperEnvironmentVisitor = require_lib5(); + var _traverseNode = require_traverse_node(); + var _visitors = require_visitors(); + var renameVisitor = { + ReferencedIdentifier({ + node: node2 + }, state) { + if (node2.name === state.oldName) { + node2.name = state.newName; + } + }, + Scope(path, state) { + if (!path.scope.bindingIdentifierEquals(state.oldName, state.binding.identifier)) { + path.skip(); + if (path.isMethod()) { + (0, _helperEnvironmentVisitor.requeueComputedKeyAndDecorators)(path); + } + } + }, + "AssignmentExpression|Declaration|VariableDeclarator"(path, state) { + if (path.isVariableDeclaration()) + return; + const ids = path.getOuterBindingIdentifiers(); + for (const name in ids) { + if (name === state.oldName) + ids[name].name = state.newName; + } + } + }; + var Renamer = class { + constructor(binding2, oldName, newName) { + this.newName = newName; + this.oldName = oldName; + this.binding = binding2; + } + maybeConvertFromExportDeclaration(parentDeclar) { + const maybeExportDeclar = parentDeclar.parentPath; + if (!maybeExportDeclar.isExportDeclaration()) { + return; + } + if (maybeExportDeclar.isExportDefaultDeclaration()) { + const { + declaration: declaration2 + } = maybeExportDeclar.node; + if (t.isDeclaration(declaration2) && !declaration2.id) { + return; + } + } + if (maybeExportDeclar.isExportAllDeclaration()) { + return; + } + (0, _helperSplitExportDeclaration.default)(maybeExportDeclar); + } + maybeConvertFromClassFunctionDeclaration(path) { + return path; + } + maybeConvertFromClassFunctionExpression(path) { + return path; + } + rename() { + const { + binding: binding2, + oldName, + newName + } = this; + const { + scope, + path + } = binding2; + const parentDeclar = path.find((path2) => path2.isDeclaration() || path2.isFunctionExpression() || path2.isClassExpression()); + if (parentDeclar) { + const bindingIds = parentDeclar.getOuterBindingIdentifiers(); + if (bindingIds[oldName] === binding2.identifier) { + this.maybeConvertFromExportDeclaration(parentDeclar); + } + } + const blockToTraverse = arguments[0] || scope.block; + (0, _traverseNode.traverseNode)(blockToTraverse, (0, _visitors.explode)(renameVisitor), scope, this, scope.path, { + discriminant: true + }); + if (!arguments[0]) { + scope.removeOwnBinding(oldName); + scope.bindings[newName] = binding2; + this.binding.identifier.name = newName; + } + if (parentDeclar) { + this.maybeConvertFromClassFunctionDeclaration(path); + this.maybeConvertFromClassFunctionExpression(path); + } + } + }; + exports.default = Renamer; + } +}); + +// node_modules/@babel/traverse/lib/scope/binding.js +var require_binding = __commonJS({ + "node_modules/@babel/traverse/lib/scope/binding.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var Binding = class { + constructor({ + identifier: identifier2, + scope, + path, + kind + }) { + this.identifier = void 0; + this.scope = void 0; + this.path = void 0; + this.kind = void 0; + this.constantViolations = []; + this.constant = true; + this.referencePaths = []; + this.referenced = false; + this.references = 0; + this.identifier = identifier2; + this.scope = scope; + this.path = path; + this.kind = kind; + if ((kind === "var" || kind === "hoisted") && isDeclaredInLoop(path || (() => { + throw new Error("Internal Babel error: unreachable "); + })())) { + this.reassign(path); + } + this.clearValue(); + } + deoptValue() { + this.clearValue(); + this.hasDeoptedValue = true; + } + setValue(value) { + if (this.hasDeoptedValue) + return; + this.hasValue = true; + this.value = value; + } + clearValue() { + this.hasDeoptedValue = false; + this.hasValue = false; + this.value = null; + } + reassign(path) { + this.constant = false; + if (this.constantViolations.indexOf(path) !== -1) { + return; + } + this.constantViolations.push(path); + } + reference(path) { + if (this.referencePaths.indexOf(path) !== -1) { + return; + } + this.referenced = true; + this.references++; + this.referencePaths.push(path); + } + dereference() { + this.references--; + this.referenced = !!this.references; + } + }; + exports.default = Binding; + function isDeclaredInLoop(path) { + for (let { + parentPath, + key + } = path; parentPath; { + parentPath, + key + } = parentPath) { + if (parentPath.isFunctionParent()) + return false; + if (parentPath.isWhile() || parentPath.isForXStatement() || parentPath.isForStatement() && key === "body") { + return true; + } + } + return false; + } + } +}); + +// node_modules/globals/globals.json +var require_globals = __commonJS({ + "node_modules/globals/globals.json"(exports, module) { + module.exports = { + builtin: { + Array: false, + ArrayBuffer: false, + Atomics: false, + BigInt: false, + BigInt64Array: false, + BigUint64Array: false, + Boolean: false, + constructor: false, + DataView: false, + Date: false, + decodeURI: false, + decodeURIComponent: false, + encodeURI: false, + encodeURIComponent: false, + Error: false, + escape: false, + eval: false, + EvalError: false, + Float32Array: false, + Float64Array: false, + Function: false, + globalThis: false, + hasOwnProperty: false, + Infinity: false, + Int16Array: false, + Int32Array: false, + Int8Array: false, + isFinite: false, + isNaN: false, + isPrototypeOf: false, + JSON: false, + Map: false, + Math: false, + NaN: false, + Number: false, + Object: false, + parseFloat: false, + parseInt: false, + Promise: false, + propertyIsEnumerable: false, + Proxy: false, + RangeError: false, + ReferenceError: false, + Reflect: false, + RegExp: false, + Set: false, + SharedArrayBuffer: false, + String: false, + Symbol: false, + SyntaxError: false, + toLocaleString: false, + toString: false, + TypeError: false, + Uint16Array: false, + Uint32Array: false, + Uint8Array: false, + Uint8ClampedArray: false, + undefined: false, + unescape: false, + URIError: false, + valueOf: false, + WeakMap: false, + WeakSet: false + }, + es5: { + Array: false, + Boolean: false, + constructor: false, + Date: false, + decodeURI: false, + decodeURIComponent: false, + encodeURI: false, + encodeURIComponent: false, + Error: false, + escape: false, + eval: false, + EvalError: false, + Function: false, + hasOwnProperty: false, + Infinity: false, + isFinite: false, + isNaN: false, + isPrototypeOf: false, + JSON: false, + Math: false, + NaN: false, + Number: false, + Object: false, + parseFloat: false, + parseInt: false, + propertyIsEnumerable: false, + RangeError: false, + ReferenceError: false, + RegExp: false, + String: false, + SyntaxError: false, + toLocaleString: false, + toString: false, + TypeError: false, + undefined: false, + unescape: false, + URIError: false, + valueOf: false + }, + es2015: { + Array: false, + ArrayBuffer: false, + Boolean: false, + constructor: false, + DataView: false, + Date: false, + decodeURI: false, + decodeURIComponent: false, + encodeURI: false, + encodeURIComponent: false, + Error: false, + escape: false, + eval: false, + EvalError: false, + Float32Array: false, + Float64Array: false, + Function: false, + hasOwnProperty: false, + Infinity: false, + Int16Array: false, + Int32Array: false, + Int8Array: false, + isFinite: false, + isNaN: false, + isPrototypeOf: false, + JSON: false, + Map: false, + Math: false, + NaN: false, + Number: false, + Object: false, + parseFloat: false, + parseInt: false, + Promise: false, + propertyIsEnumerable: false, + Proxy: false, + RangeError: false, + ReferenceError: false, + Reflect: false, + RegExp: false, + Set: false, + String: false, + Symbol: false, + SyntaxError: false, + toLocaleString: false, + toString: false, + TypeError: false, + Uint16Array: false, + Uint32Array: false, + Uint8Array: false, + Uint8ClampedArray: false, + undefined: false, + unescape: false, + URIError: false, + valueOf: false, + WeakMap: false, + WeakSet: false + }, + es2017: { + Array: false, + ArrayBuffer: false, + Atomics: false, + Boolean: false, + constructor: false, + DataView: false, + Date: false, + decodeURI: false, + decodeURIComponent: false, + encodeURI: false, + encodeURIComponent: false, + Error: false, + escape: false, + eval: false, + EvalError: false, + Float32Array: false, + Float64Array: false, + Function: false, + hasOwnProperty: false, + Infinity: false, + Int16Array: false, + Int32Array: false, + Int8Array: false, + isFinite: false, + isNaN: false, + isPrototypeOf: false, + JSON: false, + Map: false, + Math: false, + NaN: false, + Number: false, + Object: false, + parseFloat: false, + parseInt: false, + Promise: false, + propertyIsEnumerable: false, + Proxy: false, + RangeError: false, + ReferenceError: false, + Reflect: false, + RegExp: false, + Set: false, + SharedArrayBuffer: false, + String: false, + Symbol: false, + SyntaxError: false, + toLocaleString: false, + toString: false, + TypeError: false, + Uint16Array: false, + Uint32Array: false, + Uint8Array: false, + Uint8ClampedArray: false, + undefined: false, + unescape: false, + URIError: false, + valueOf: false, + WeakMap: false, + WeakSet: false + }, + browser: { + AbortController: false, + AbortSignal: false, + addEventListener: false, + alert: false, + AnalyserNode: false, + Animation: false, + AnimationEffectReadOnly: false, + AnimationEffectTiming: false, + AnimationEffectTimingReadOnly: false, + AnimationEvent: false, + AnimationPlaybackEvent: false, + AnimationTimeline: false, + applicationCache: false, + ApplicationCache: false, + ApplicationCacheErrorEvent: false, + atob: false, + Attr: false, + Audio: false, + AudioBuffer: false, + AudioBufferSourceNode: false, + AudioContext: false, + AudioDestinationNode: false, + AudioListener: false, + AudioNode: false, + AudioParam: false, + AudioProcessingEvent: false, + AudioScheduledSourceNode: false, + "AudioWorkletGlobalScope ": false, + AudioWorkletNode: false, + AudioWorkletProcessor: false, + BarProp: false, + BaseAudioContext: false, + BatteryManager: false, + BeforeUnloadEvent: false, + BiquadFilterNode: false, + Blob: false, + BlobEvent: false, + blur: false, + BroadcastChannel: false, + btoa: false, + BudgetService: false, + ByteLengthQueuingStrategy: false, + Cache: false, + caches: false, + CacheStorage: false, + cancelAnimationFrame: false, + cancelIdleCallback: false, + CanvasCaptureMediaStreamTrack: false, + CanvasGradient: false, + CanvasPattern: false, + CanvasRenderingContext2D: false, + ChannelMergerNode: false, + ChannelSplitterNode: false, + CharacterData: false, + clearInterval: false, + clearTimeout: false, + clientInformation: false, + ClipboardEvent: false, + close: false, + closed: false, + CloseEvent: false, + Comment: false, + CompositionEvent: false, + confirm: false, + console: false, + ConstantSourceNode: false, + ConvolverNode: false, + CountQueuingStrategy: false, + createImageBitmap: false, + Credential: false, + CredentialsContainer: false, + crypto: false, + Crypto: false, + CryptoKey: false, + CSS: false, + CSSConditionRule: false, + CSSFontFaceRule: false, + CSSGroupingRule: false, + CSSImportRule: false, + CSSKeyframeRule: false, + CSSKeyframesRule: false, + CSSMediaRule: false, + CSSNamespaceRule: false, + CSSPageRule: false, + CSSRule: false, + CSSRuleList: false, + CSSStyleDeclaration: false, + CSSStyleRule: false, + CSSStyleSheet: false, + CSSSupportsRule: false, + CustomElementRegistry: false, + customElements: false, + CustomEvent: false, + DataTransfer: false, + DataTransferItem: false, + DataTransferItemList: false, + defaultstatus: false, + defaultStatus: false, + DelayNode: false, + DeviceMotionEvent: false, + DeviceOrientationEvent: false, + devicePixelRatio: false, + dispatchEvent: false, + document: false, + Document: false, + DocumentFragment: false, + DocumentType: false, + DOMError: false, + DOMException: false, + DOMImplementation: false, + DOMMatrix: false, + DOMMatrixReadOnly: false, + DOMParser: false, + DOMPoint: false, + DOMPointReadOnly: false, + DOMQuad: false, + DOMRect: false, + DOMRectReadOnly: false, + DOMStringList: false, + DOMStringMap: false, + DOMTokenList: false, + DragEvent: false, + DynamicsCompressorNode: false, + Element: false, + ErrorEvent: false, + event: false, + Event: false, + EventSource: false, + EventTarget: false, + external: false, + fetch: false, + File: false, + FileList: false, + FileReader: false, + find: false, + focus: false, + FocusEvent: false, + FontFace: false, + FontFaceSetLoadEvent: false, + FormData: false, + frameElement: false, + frames: false, + GainNode: false, + Gamepad: false, + GamepadButton: false, + GamepadEvent: false, + getComputedStyle: false, + getSelection: false, + HashChangeEvent: false, + Headers: false, + history: false, + History: false, + HTMLAllCollection: false, + HTMLAnchorElement: false, + HTMLAreaElement: false, + HTMLAudioElement: false, + HTMLBaseElement: false, + HTMLBodyElement: false, + HTMLBRElement: false, + HTMLButtonElement: false, + HTMLCanvasElement: false, + HTMLCollection: false, + HTMLContentElement: false, + HTMLDataElement: false, + HTMLDataListElement: false, + HTMLDetailsElement: false, + HTMLDialogElement: false, + HTMLDirectoryElement: false, + HTMLDivElement: false, + HTMLDListElement: false, + HTMLDocument: false, + HTMLElement: false, + HTMLEmbedElement: false, + HTMLFieldSetElement: false, + HTMLFontElement: false, + HTMLFormControlsCollection: false, + HTMLFormElement: false, + HTMLFrameElement: false, + HTMLFrameSetElement: false, + HTMLHeadElement: false, + HTMLHeadingElement: false, + HTMLHRElement: false, + HTMLHtmlElement: false, + HTMLIFrameElement: false, + HTMLImageElement: false, + HTMLInputElement: false, + HTMLLabelElement: false, + HTMLLegendElement: false, + HTMLLIElement: false, + HTMLLinkElement: false, + HTMLMapElement: false, + HTMLMarqueeElement: false, + HTMLMediaElement: false, + HTMLMenuElement: false, + HTMLMetaElement: false, + HTMLMeterElement: false, + HTMLModElement: false, + HTMLObjectElement: false, + HTMLOListElement: false, + HTMLOptGroupElement: false, + HTMLOptionElement: false, + HTMLOptionsCollection: false, + HTMLOutputElement: false, + HTMLParagraphElement: false, + HTMLParamElement: false, + HTMLPictureElement: false, + HTMLPreElement: false, + HTMLProgressElement: false, + HTMLQuoteElement: false, + HTMLScriptElement: false, + HTMLSelectElement: false, + HTMLShadowElement: false, + HTMLSlotElement: false, + HTMLSourceElement: false, + HTMLSpanElement: false, + HTMLStyleElement: false, + HTMLTableCaptionElement: false, + HTMLTableCellElement: false, + HTMLTableColElement: false, + HTMLTableElement: false, + HTMLTableRowElement: false, + HTMLTableSectionElement: false, + HTMLTemplateElement: false, + HTMLTextAreaElement: false, + HTMLTimeElement: false, + HTMLTitleElement: false, + HTMLTrackElement: false, + HTMLUListElement: false, + HTMLUnknownElement: false, + HTMLVideoElement: false, + IDBCursor: false, + IDBCursorWithValue: false, + IDBDatabase: false, + IDBFactory: false, + IDBIndex: false, + IDBKeyRange: false, + IDBObjectStore: false, + IDBOpenDBRequest: false, + IDBRequest: false, + IDBTransaction: false, + IDBVersionChangeEvent: false, + IdleDeadline: false, + IIRFilterNode: false, + Image: false, + ImageBitmap: false, + ImageBitmapRenderingContext: false, + ImageCapture: false, + ImageData: false, + indexedDB: false, + innerHeight: false, + innerWidth: false, + InputEvent: false, + IntersectionObserver: false, + IntersectionObserverEntry: false, + Intl: false, + isSecureContext: false, + KeyboardEvent: false, + KeyframeEffect: false, + KeyframeEffectReadOnly: false, + length: false, + localStorage: false, + location: true, + Location: false, + locationbar: false, + matchMedia: false, + MediaDeviceInfo: false, + MediaDevices: false, + MediaElementAudioSourceNode: false, + MediaEncryptedEvent: false, + MediaError: false, + MediaKeyMessageEvent: false, + MediaKeySession: false, + MediaKeyStatusMap: false, + MediaKeySystemAccess: false, + MediaList: false, + MediaQueryList: false, + MediaQueryListEvent: false, + MediaRecorder: false, + MediaSettingsRange: false, + MediaSource: false, + MediaStream: false, + MediaStreamAudioDestinationNode: false, + MediaStreamAudioSourceNode: false, + MediaStreamEvent: false, + MediaStreamTrack: false, + MediaStreamTrackEvent: false, + menubar: false, + MessageChannel: false, + MessageEvent: false, + MessagePort: false, + MIDIAccess: false, + MIDIConnectionEvent: false, + MIDIInput: false, + MIDIInputMap: false, + MIDIMessageEvent: false, + MIDIOutput: false, + MIDIOutputMap: false, + MIDIPort: false, + MimeType: false, + MimeTypeArray: false, + MouseEvent: false, + moveBy: false, + moveTo: false, + MutationEvent: false, + MutationObserver: false, + MutationRecord: false, + name: false, + NamedNodeMap: false, + NavigationPreloadManager: false, + navigator: false, + Navigator: false, + NetworkInformation: false, + Node: false, + NodeFilter: false, + NodeIterator: false, + NodeList: false, + Notification: false, + OfflineAudioCompletionEvent: false, + OfflineAudioContext: false, + offscreenBuffering: false, + OffscreenCanvas: true, + onabort: true, + onafterprint: true, + onanimationend: true, + onanimationiteration: true, + onanimationstart: true, + onappinstalled: true, + onauxclick: true, + onbeforeinstallprompt: true, + onbeforeprint: true, + onbeforeunload: true, + onblur: true, + oncancel: true, + oncanplay: true, + oncanplaythrough: true, + onchange: true, + onclick: true, + onclose: true, + oncontextmenu: true, + oncuechange: true, + ondblclick: true, + ondevicemotion: true, + ondeviceorientation: true, + ondeviceorientationabsolute: true, + ondrag: true, + ondragend: true, + ondragenter: true, + ondragleave: true, + ondragover: true, + ondragstart: true, + ondrop: true, + ondurationchange: true, + onemptied: true, + onended: true, + onerror: true, + onfocus: true, + ongotpointercapture: true, + onhashchange: true, + oninput: true, + oninvalid: true, + onkeydown: true, + onkeypress: true, + onkeyup: true, + onlanguagechange: true, + onload: true, + onloadeddata: true, + onloadedmetadata: true, + onloadstart: true, + onlostpointercapture: true, + onmessage: true, + onmessageerror: true, + onmousedown: true, + onmouseenter: true, + onmouseleave: true, + onmousemove: true, + onmouseout: true, + onmouseover: true, + onmouseup: true, + onmousewheel: true, + onoffline: true, + ononline: true, + onpagehide: true, + onpageshow: true, + onpause: true, + onplay: true, + onplaying: true, + onpointercancel: true, + onpointerdown: true, + onpointerenter: true, + onpointerleave: true, + onpointermove: true, + onpointerout: true, + onpointerover: true, + onpointerup: true, + onpopstate: true, + onprogress: true, + onratechange: true, + onrejectionhandled: true, + onreset: true, + onresize: true, + onscroll: true, + onsearch: true, + onseeked: true, + onseeking: true, + onselect: true, + onstalled: true, + onstorage: true, + onsubmit: true, + onsuspend: true, + ontimeupdate: true, + ontoggle: true, + ontransitionend: true, + onunhandledrejection: true, + onunload: true, + onvolumechange: true, + onwaiting: true, + onwheel: true, + open: false, + openDatabase: false, + opener: false, + Option: false, + origin: false, + OscillatorNode: false, + outerHeight: false, + outerWidth: false, + PageTransitionEvent: false, + pageXOffset: false, + pageYOffset: false, + PannerNode: false, + parent: false, + Path2D: false, + PaymentAddress: false, + PaymentRequest: false, + PaymentRequestUpdateEvent: false, + PaymentResponse: false, + performance: false, + Performance: false, + PerformanceEntry: false, + PerformanceLongTaskTiming: false, + PerformanceMark: false, + PerformanceMeasure: false, + PerformanceNavigation: false, + PerformanceNavigationTiming: false, + PerformanceObserver: false, + PerformanceObserverEntryList: false, + PerformancePaintTiming: false, + PerformanceResourceTiming: false, + PerformanceTiming: false, + PeriodicWave: false, + Permissions: false, + PermissionStatus: false, + personalbar: false, + PhotoCapabilities: false, + Plugin: false, + PluginArray: false, + PointerEvent: false, + PopStateEvent: false, + postMessage: false, + Presentation: false, + PresentationAvailability: false, + PresentationConnection: false, + PresentationConnectionAvailableEvent: false, + PresentationConnectionCloseEvent: false, + PresentationConnectionList: false, + PresentationReceiver: false, + PresentationRequest: false, + print: false, + ProcessingInstruction: false, + ProgressEvent: false, + PromiseRejectionEvent: false, + prompt: false, + PushManager: false, + PushSubscription: false, + PushSubscriptionOptions: false, + queueMicrotask: false, + RadioNodeList: false, + Range: false, + ReadableStream: false, + registerProcessor: false, + RemotePlayback: false, + removeEventListener: false, + Request: false, + requestAnimationFrame: false, + requestIdleCallback: false, + resizeBy: false, + ResizeObserver: false, + ResizeObserverEntry: false, + resizeTo: false, + Response: false, + RTCCertificate: false, + RTCDataChannel: false, + RTCDataChannelEvent: false, + RTCDtlsTransport: false, + RTCIceCandidate: false, + RTCIceGatherer: false, + RTCIceTransport: false, + RTCPeerConnection: false, + RTCPeerConnectionIceEvent: false, + RTCRtpContributingSource: false, + RTCRtpReceiver: false, + RTCRtpSender: false, + RTCSctpTransport: false, + RTCSessionDescription: false, + RTCStatsReport: false, + RTCTrackEvent: false, + screen: false, + Screen: false, + screenLeft: false, + ScreenOrientation: false, + screenTop: false, + screenX: false, + screenY: false, + ScriptProcessorNode: false, + scroll: false, + scrollbars: false, + scrollBy: false, + scrollTo: false, + scrollX: false, + scrollY: false, + SecurityPolicyViolationEvent: false, + Selection: false, + self: false, + ServiceWorker: false, + ServiceWorkerContainer: false, + ServiceWorkerRegistration: false, + sessionStorage: false, + setInterval: false, + setTimeout: false, + ShadowRoot: false, + SharedWorker: false, + SourceBuffer: false, + SourceBufferList: false, + speechSynthesis: false, + SpeechSynthesisEvent: false, + SpeechSynthesisUtterance: false, + StaticRange: false, + status: false, + statusbar: false, + StereoPannerNode: false, + stop: false, + Storage: false, + StorageEvent: false, + StorageManager: false, + styleMedia: false, + StyleSheet: false, + StyleSheetList: false, + SubtleCrypto: false, + SVGAElement: false, + SVGAngle: false, + SVGAnimatedAngle: false, + SVGAnimatedBoolean: false, + SVGAnimatedEnumeration: false, + SVGAnimatedInteger: false, + SVGAnimatedLength: false, + SVGAnimatedLengthList: false, + SVGAnimatedNumber: false, + SVGAnimatedNumberList: false, + SVGAnimatedPreserveAspectRatio: false, + SVGAnimatedRect: false, + SVGAnimatedString: false, + SVGAnimatedTransformList: false, + SVGAnimateElement: false, + SVGAnimateMotionElement: false, + SVGAnimateTransformElement: false, + SVGAnimationElement: false, + SVGCircleElement: false, + SVGClipPathElement: false, + SVGComponentTransferFunctionElement: false, + SVGDefsElement: false, + SVGDescElement: false, + SVGDiscardElement: false, + SVGElement: false, + SVGEllipseElement: false, + SVGFEBlendElement: false, + SVGFEColorMatrixElement: false, + SVGFEComponentTransferElement: false, + SVGFECompositeElement: false, + SVGFEConvolveMatrixElement: false, + SVGFEDiffuseLightingElement: false, + SVGFEDisplacementMapElement: false, + SVGFEDistantLightElement: false, + SVGFEDropShadowElement: false, + SVGFEFloodElement: false, + SVGFEFuncAElement: false, + SVGFEFuncBElement: false, + SVGFEFuncGElement: false, + SVGFEFuncRElement: false, + SVGFEGaussianBlurElement: false, + SVGFEImageElement: false, + SVGFEMergeElement: false, + SVGFEMergeNodeElement: false, + SVGFEMorphologyElement: false, + SVGFEOffsetElement: false, + SVGFEPointLightElement: false, + SVGFESpecularLightingElement: false, + SVGFESpotLightElement: false, + SVGFETileElement: false, + SVGFETurbulenceElement: false, + SVGFilterElement: false, + SVGForeignObjectElement: false, + SVGGElement: false, + SVGGeometryElement: false, + SVGGradientElement: false, + SVGGraphicsElement: false, + SVGImageElement: false, + SVGLength: false, + SVGLengthList: false, + SVGLinearGradientElement: false, + SVGLineElement: false, + SVGMarkerElement: false, + SVGMaskElement: false, + SVGMatrix: false, + SVGMetadataElement: false, + SVGMPathElement: false, + SVGNumber: false, + SVGNumberList: false, + SVGPathElement: false, + SVGPatternElement: false, + SVGPoint: false, + SVGPointList: false, + SVGPolygonElement: false, + SVGPolylineElement: false, + SVGPreserveAspectRatio: false, + SVGRadialGradientElement: false, + SVGRect: false, + SVGRectElement: false, + SVGScriptElement: false, + SVGSetElement: false, + SVGStopElement: false, + SVGStringList: false, + SVGStyleElement: false, + SVGSVGElement: false, + SVGSwitchElement: false, + SVGSymbolElement: false, + SVGTextContentElement: false, + SVGTextElement: false, + SVGTextPathElement: false, + SVGTextPositioningElement: false, + SVGTitleElement: false, + SVGTransform: false, + SVGTransformList: false, + SVGTSpanElement: false, + SVGUnitTypes: false, + SVGUseElement: false, + SVGViewElement: false, + TaskAttributionTiming: false, + Text: false, + TextDecoder: false, + TextEncoder: false, + TextEvent: false, + TextMetrics: false, + TextTrack: false, + TextTrackCue: false, + TextTrackCueList: false, + TextTrackList: false, + TimeRanges: false, + toolbar: false, + top: false, + Touch: false, + TouchEvent: false, + TouchList: false, + TrackEvent: false, + TransitionEvent: false, + TreeWalker: false, + UIEvent: false, + URL: false, + URLSearchParams: false, + ValidityState: false, + visualViewport: false, + VisualViewport: false, + VTTCue: false, + WaveShaperNode: false, + WebAssembly: false, + WebGL2RenderingContext: false, + WebGLActiveInfo: false, + WebGLBuffer: false, + WebGLContextEvent: false, + WebGLFramebuffer: false, + WebGLProgram: false, + WebGLQuery: false, + WebGLRenderbuffer: false, + WebGLRenderingContext: false, + WebGLSampler: false, + WebGLShader: false, + WebGLShaderPrecisionFormat: false, + WebGLSync: false, + WebGLTexture: false, + WebGLTransformFeedback: false, + WebGLUniformLocation: false, + WebGLVertexArrayObject: false, + WebSocket: false, + WheelEvent: false, + window: false, + Window: false, + Worker: false, + WritableStream: false, + XMLDocument: false, + XMLHttpRequest: false, + XMLHttpRequestEventTarget: false, + XMLHttpRequestUpload: false, + XMLSerializer: false, + XPathEvaluator: false, + XPathExpression: false, + XPathResult: false, + XSLTProcessor: false + }, + worker: { + addEventListener: false, + applicationCache: false, + atob: false, + Blob: false, + BroadcastChannel: false, + btoa: false, + Cache: false, + caches: false, + clearInterval: false, + clearTimeout: false, + close: true, + console: false, + fetch: false, + FileReaderSync: false, + FormData: false, + Headers: false, + IDBCursor: false, + IDBCursorWithValue: false, + IDBDatabase: false, + IDBFactory: false, + IDBIndex: false, + IDBKeyRange: false, + IDBObjectStore: false, + IDBOpenDBRequest: false, + IDBRequest: false, + IDBTransaction: false, + IDBVersionChangeEvent: false, + ImageData: false, + importScripts: true, + indexedDB: false, + location: false, + MessageChannel: false, + MessagePort: false, + name: false, + navigator: false, + Notification: false, + onclose: true, + onconnect: true, + onerror: true, + onlanguagechange: true, + onmessage: true, + onoffline: true, + ononline: true, + onrejectionhandled: true, + onunhandledrejection: true, + performance: false, + Performance: false, + PerformanceEntry: false, + PerformanceMark: false, + PerformanceMeasure: false, + PerformanceNavigation: false, + PerformanceResourceTiming: false, + PerformanceTiming: false, + postMessage: true, + Promise: false, + queueMicrotask: false, + removeEventListener: false, + Request: false, + Response: false, + self: true, + ServiceWorkerRegistration: false, + setInterval: false, + setTimeout: false, + TextDecoder: false, + TextEncoder: false, + URL: false, + URLSearchParams: false, + WebSocket: false, + Worker: false, + WorkerGlobalScope: false, + XMLHttpRequest: false + }, + node: { + __dirname: false, + __filename: false, + Buffer: false, + clearImmediate: false, + clearInterval: false, + clearTimeout: false, + console: false, + exports: true, + global: false, + Intl: false, + module: false, + process: false, + queueMicrotask: false, + require: false, + setImmediate: false, + setInterval: false, + setTimeout: false, + TextDecoder: false, + TextEncoder: false, + URL: false, + URLSearchParams: false + }, + commonjs: { + exports: true, + global: false, + module: false, + require: false + }, + amd: { + define: false, + require: false + }, + mocha: { + after: false, + afterEach: false, + before: false, + beforeEach: false, + context: false, + describe: false, + it: false, + mocha: false, + run: false, + setup: false, + specify: false, + suite: false, + suiteSetup: false, + suiteTeardown: false, + teardown: false, + test: false, + xcontext: false, + xdescribe: false, + xit: false, + xspecify: false + }, + jasmine: { + afterAll: false, + afterEach: false, + beforeAll: false, + beforeEach: false, + describe: false, + expect: false, + fail: false, + fdescribe: false, + fit: false, + it: false, + jasmine: false, + pending: false, + runs: false, + spyOn: false, + spyOnProperty: false, + waits: false, + waitsFor: false, + xdescribe: false, + xit: false + }, + jest: { + afterAll: false, + afterEach: false, + beforeAll: false, + beforeEach: false, + describe: false, + expect: false, + fdescribe: false, + fit: false, + it: false, + jest: false, + pit: false, + require: false, + test: false, + xdescribe: false, + xit: false, + xtest: false + }, + qunit: { + asyncTest: false, + deepEqual: false, + equal: false, + expect: false, + module: false, + notDeepEqual: false, + notEqual: false, + notOk: false, + notPropEqual: false, + notStrictEqual: false, + ok: false, + propEqual: false, + QUnit: false, + raises: false, + start: false, + stop: false, + strictEqual: false, + test: false, + throws: false + }, + phantomjs: { + console: true, + exports: true, + phantom: true, + require: true, + WebPage: true + }, + couch: { + emit: false, + exports: false, + getRow: false, + log: false, + module: false, + provides: false, + require: false, + respond: false, + send: false, + start: false, + sum: false + }, + rhino: { + defineClass: false, + deserialize: false, + gc: false, + help: false, + importClass: false, + importPackage: false, + java: false, + load: false, + loadClass: false, + Packages: false, + print: false, + quit: false, + readFile: false, + readUrl: false, + runCommand: false, + seal: false, + serialize: false, + spawn: false, + sync: false, + toint32: false, + version: false + }, + nashorn: { + __DIR__: false, + __FILE__: false, + __LINE__: false, + com: false, + edu: false, + exit: false, + java: false, + Java: false, + javafx: false, + JavaImporter: false, + javax: false, + JSAdapter: false, + load: false, + loadWithNewGlobal: false, + org: false, + Packages: false, + print: false, + quit: false + }, + wsh: { + ActiveXObject: true, + Enumerator: true, + GetObject: true, + ScriptEngine: true, + ScriptEngineBuildVersion: true, + ScriptEngineMajorVersion: true, + ScriptEngineMinorVersion: true, + VBArray: true, + WScript: true, + WSH: true, + XDomainRequest: true + }, + jquery: { + $: false, + jQuery: false + }, + yui: { + YAHOO: false, + YAHOO_config: false, + YUI: false, + YUI_config: false + }, + shelljs: { + cat: false, + cd: false, + chmod: false, + config: false, + cp: false, + dirs: false, + echo: false, + env: false, + error: false, + exec: false, + exit: false, + find: false, + grep: false, + ln: false, + ls: false, + mkdir: false, + mv: false, + popd: false, + pushd: false, + pwd: false, + rm: false, + sed: false, + set: false, + target: false, + tempdir: false, + test: false, + touch: false, + which: false + }, + prototypejs: { + $: false, + $$: false, + $A: false, + $break: false, + $continue: false, + $F: false, + $H: false, + $R: false, + $w: false, + Abstract: false, + Ajax: false, + Autocompleter: false, + Builder: false, + Class: false, + Control: false, + Draggable: false, + Draggables: false, + Droppables: false, + Effect: false, + Element: false, + Enumerable: false, + Event: false, + Field: false, + Form: false, + Hash: false, + Insertion: false, + ObjectRange: false, + PeriodicalExecuter: false, + Position: false, + Prototype: false, + Scriptaculous: false, + Selector: false, + Sortable: false, + SortableObserver: false, + Sound: false, + Template: false, + Toggle: false, + Try: false + }, + meteor: { + _: false, + $: false, + Accounts: false, + AccountsClient: false, + AccountsCommon: false, + AccountsServer: false, + App: false, + Assets: false, + Blaze: false, + check: false, + Cordova: false, + DDP: false, + DDPRateLimiter: false, + DDPServer: false, + Deps: false, + EJSON: false, + Email: false, + HTTP: false, + Log: false, + Match: false, + Meteor: false, + Mongo: false, + MongoInternals: false, + Npm: false, + Package: false, + Plugin: false, + process: false, + Random: false, + ReactiveDict: false, + ReactiveVar: false, + Router: false, + ServiceConfiguration: false, + Session: false, + share: false, + Spacebars: false, + Template: false, + Tinytest: false, + Tracker: false, + UI: false, + Utils: false, + WebApp: false, + WebAppInternals: false + }, + mongo: { + _isWindows: false, + _rand: false, + BulkWriteResult: false, + cat: false, + cd: false, + connect: false, + db: false, + getHostName: false, + getMemInfo: false, + hostname: false, + ISODate: false, + listFiles: false, + load: false, + ls: false, + md5sumFile: false, + mkdir: false, + Mongo: false, + NumberInt: false, + NumberLong: false, + ObjectId: false, + PlanCache: false, + print: false, + printjson: false, + pwd: false, + quit: false, + removeFile: false, + rs: false, + sh: false, + UUID: false, + version: false, + WriteResult: false + }, + applescript: { + $: false, + Application: false, + Automation: false, + console: false, + delay: false, + Library: false, + ObjC: false, + ObjectSpecifier: false, + Path: false, + Progress: false, + Ref: false + }, + serviceworker: { + addEventListener: false, + applicationCache: false, + atob: false, + Blob: false, + BroadcastChannel: false, + btoa: false, + Cache: false, + caches: false, + CacheStorage: false, + clearInterval: false, + clearTimeout: false, + Client: false, + clients: false, + Clients: false, + close: true, + console: false, + ExtendableEvent: false, + ExtendableMessageEvent: false, + fetch: false, + FetchEvent: false, + FileReaderSync: false, + FormData: false, + Headers: false, + IDBCursor: false, + IDBCursorWithValue: false, + IDBDatabase: false, + IDBFactory: false, + IDBIndex: false, + IDBKeyRange: false, + IDBObjectStore: false, + IDBOpenDBRequest: false, + IDBRequest: false, + IDBTransaction: false, + IDBVersionChangeEvent: false, + ImageData: false, + importScripts: false, + indexedDB: false, + location: false, + MessageChannel: false, + MessagePort: false, + name: false, + navigator: false, + Notification: false, + onclose: true, + onconnect: true, + onerror: true, + onfetch: true, + oninstall: true, + onlanguagechange: true, + onmessage: true, + onmessageerror: true, + onnotificationclick: true, + onnotificationclose: true, + onoffline: true, + ononline: true, + onpush: true, + onpushsubscriptionchange: true, + onrejectionhandled: true, + onsync: true, + onunhandledrejection: true, + performance: false, + Performance: false, + PerformanceEntry: false, + PerformanceMark: false, + PerformanceMeasure: false, + PerformanceNavigation: false, + PerformanceResourceTiming: false, + PerformanceTiming: false, + postMessage: true, + Promise: false, + queueMicrotask: false, + registration: false, + removeEventListener: false, + Request: false, + Response: false, + self: false, + ServiceWorker: false, + ServiceWorkerContainer: false, + ServiceWorkerGlobalScope: false, + ServiceWorkerMessageEvent: false, + ServiceWorkerRegistration: false, + setInterval: false, + setTimeout: false, + skipWaiting: false, + TextDecoder: false, + TextEncoder: false, + URL: false, + URLSearchParams: false, + WebSocket: false, + WindowClient: false, + Worker: false, + WorkerGlobalScope: false, + XMLHttpRequest: false + }, + atomtest: { + advanceClock: false, + fakeClearInterval: false, + fakeClearTimeout: false, + fakeSetInterval: false, + fakeSetTimeout: false, + resetTimeouts: false, + waitsForPromise: false + }, + embertest: { + andThen: false, + click: false, + currentPath: false, + currentRouteName: false, + currentURL: false, + fillIn: false, + find: false, + findAll: false, + findWithAssert: false, + keyEvent: false, + pauseTest: false, + resumeTest: false, + triggerEvent: false, + visit: false, + wait: false + }, + protractor: { + $: false, + $$: false, + browser: false, + by: false, + By: false, + DartObject: false, + element: false, + protractor: false + }, + "shared-node-browser": { + clearInterval: false, + clearTimeout: false, + console: false, + setInterval: false, + setTimeout: false, + URL: false, + URLSearchParams: false + }, + webextensions: { + browser: false, + chrome: false, + opr: false + }, + greasemonkey: { + cloneInto: false, + createObjectIn: false, + exportFunction: false, + GM: false, + GM_addStyle: false, + GM_deleteValue: false, + GM_getResourceText: false, + GM_getResourceURL: false, + GM_getValue: false, + GM_info: false, + GM_listValues: false, + GM_log: false, + GM_openInTab: false, + GM_registerMenuCommand: false, + GM_setClipboard: false, + GM_setValue: false, + GM_xmlhttpRequest: false, + unsafeWindow: false + }, + devtools: { + $: false, + $_: false, + $$: false, + $0: false, + $1: false, + $2: false, + $3: false, + $4: false, + $x: false, + chrome: false, + clear: false, + copy: false, + debug: false, + dir: false, + dirxml: false, + getEventListeners: false, + inspect: false, + keys: false, + monitor: false, + monitorEvents: false, + profile: false, + profileEnd: false, + queryObjects: false, + table: false, + undebug: false, + unmonitor: false, + unmonitorEvents: false, + values: false + } + }; + } +}); + +// node_modules/globals/index.js +var require_globals2 = __commonJS({ + "node_modules/globals/index.js"(exports, module) { + "use strict"; + init_process(); + init_buffer(); + module.exports = require_globals(); + } +}); + +// node_modules/@babel/traverse/lib/scope/index.js +var require_scope = __commonJS({ + "node_modules/@babel/traverse/lib/scope/index.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _renamer = require_renamer(); + var _index = require_lib13(); + var _binding = require_binding(); + var _globals = require_globals2(); + var _t = require_lib3(); + var _cache2 = require_cache(); + var { + NOT_LOCAL_BINDING, + callExpression, + cloneNode, + getBindingIdentifiers, + identifier: identifier2, + isArrayExpression, + isBinary, + isClass, + isClassBody, + isClassDeclaration, + isExportAllDeclaration, + isExportDefaultDeclaration, + isExportNamedDeclaration, + isFunctionDeclaration, + isIdentifier, + isImportDeclaration, + isLiteral, + isMethod, + isModuleSpecifier, + isNullLiteral, + isObjectExpression, + isProperty, + isPureish, + isRegExpLiteral, + isSuper, + isTaggedTemplateExpression, + isTemplateLiteral, + isThisExpression, + isUnaryExpression, + isVariableDeclaration, + matchesPattern, + memberExpression, + numericLiteral, + toIdentifier, + unaryExpression, + variableDeclaration, + variableDeclarator, + isRecordExpression, + isTupleExpression, + isObjectProperty, + isTopicReference, + isMetaProperty, + isPrivateName, + isExportDeclaration + } = _t; + function gatherNodeParts(node2, parts) { + switch (node2 == null ? void 0 : node2.type) { + default: + if (isImportDeclaration(node2) || isExportDeclaration(node2)) { + if ((isExportAllDeclaration(node2) || isExportNamedDeclaration(node2) || isImportDeclaration(node2)) && node2.source) { + gatherNodeParts(node2.source, parts); + } else if ((isExportNamedDeclaration(node2) || isImportDeclaration(node2)) && node2.specifiers && node2.specifiers.length) { + for (const e of node2.specifiers) + gatherNodeParts(e, parts); + } else if ((isExportDefaultDeclaration(node2) || isExportNamedDeclaration(node2)) && node2.declaration) { + gatherNodeParts(node2.declaration, parts); + } + } else if (isModuleSpecifier(node2)) { + gatherNodeParts(node2.local, parts); + } else if (isLiteral(node2) && !isNullLiteral(node2) && !isRegExpLiteral(node2) && !isTemplateLiteral(node2)) { + parts.push(node2.value); + } + break; + case "MemberExpression": + case "OptionalMemberExpression": + case "JSXMemberExpression": + gatherNodeParts(node2.object, parts); + gatherNodeParts(node2.property, parts); + break; + case "Identifier": + case "JSXIdentifier": + parts.push(node2.name); + break; + case "CallExpression": + case "OptionalCallExpression": + case "NewExpression": + gatherNodeParts(node2.callee, parts); + break; + case "ObjectExpression": + case "ObjectPattern": + for (const e of node2.properties) { + gatherNodeParts(e, parts); + } + break; + case "SpreadElement": + case "RestElement": + gatherNodeParts(node2.argument, parts); + break; + case "ObjectProperty": + case "ObjectMethod": + case "ClassProperty": + case "ClassMethod": + case "ClassPrivateProperty": + case "ClassPrivateMethod": + gatherNodeParts(node2.key, parts); + break; + case "ThisExpression": + parts.push("this"); + break; + case "Super": + parts.push("super"); + break; + case "Import": + parts.push("import"); + break; + case "DoExpression": + parts.push("do"); + break; + case "YieldExpression": + parts.push("yield"); + gatherNodeParts(node2.argument, parts); + break; + case "AwaitExpression": + parts.push("await"); + gatherNodeParts(node2.argument, parts); + break; + case "AssignmentExpression": + gatherNodeParts(node2.left, parts); + break; + case "VariableDeclarator": + gatherNodeParts(node2.id, parts); + break; + case "FunctionExpression": + case "FunctionDeclaration": + case "ClassExpression": + case "ClassDeclaration": + gatherNodeParts(node2.id, parts); + break; + case "PrivateName": + gatherNodeParts(node2.id, parts); + break; + case "ParenthesizedExpression": + gatherNodeParts(node2.expression, parts); + break; + case "UnaryExpression": + case "UpdateExpression": + gatherNodeParts(node2.argument, parts); + break; + case "MetaProperty": + gatherNodeParts(node2.meta, parts); + gatherNodeParts(node2.property, parts); + break; + case "JSXElement": + gatherNodeParts(node2.openingElement, parts); + break; + case "JSXOpeningElement": + gatherNodeParts(node2.name, parts); + break; + case "JSXFragment": + gatherNodeParts(node2.openingFragment, parts); + break; + case "JSXOpeningFragment": + parts.push("Fragment"); + break; + case "JSXNamespacedName": + gatherNodeParts(node2.namespace, parts); + gatherNodeParts(node2.name, parts); + break; + } + } + var collectorVisitor = { + ForStatement(path) { + const declar = path.get("init"); + if (declar.isVar()) { + const { + scope + } = path; + const parentScope = scope.getFunctionParent() || scope.getProgramParent(); + parentScope.registerBinding("var", declar); + } + }, + Declaration(path) { + if (path.isBlockScoped()) + return; + if (path.isImportDeclaration()) + return; + if (path.isExportDeclaration()) + return; + const parent = path.scope.getFunctionParent() || path.scope.getProgramParent(); + parent.registerDeclaration(path); + }, + ImportDeclaration(path) { + const parent = path.scope.getBlockParent(); + parent.registerDeclaration(path); + }, + ReferencedIdentifier(path, state) { + state.references.push(path); + }, + ForXStatement(path, state) { + const left = path.get("left"); + if (left.isPattern() || left.isIdentifier()) { + state.constantViolations.push(path); + } else if (left.isVar()) { + const { + scope + } = path; + const parentScope = scope.getFunctionParent() || scope.getProgramParent(); + parentScope.registerBinding("var", left); + } + }, + ExportDeclaration: { + exit(path) { + const { + node: node2, + scope + } = path; + if (isExportAllDeclaration(node2)) + return; + const declar = node2.declaration; + if (isClassDeclaration(declar) || isFunctionDeclaration(declar)) { + const id = declar.id; + if (!id) + return; + const binding2 = scope.getBinding(id.name); + binding2 == null ? void 0 : binding2.reference(path); + } else if (isVariableDeclaration(declar)) { + for (const decl of declar.declarations) { + for (const name of Object.keys(getBindingIdentifiers(decl))) { + const binding2 = scope.getBinding(name); + binding2 == null ? void 0 : binding2.reference(path); + } + } + } + } + }, + LabeledStatement(path) { + path.scope.getBlockParent().registerDeclaration(path); + }, + AssignmentExpression(path, state) { + state.assignments.push(path); + }, + UpdateExpression(path, state) { + state.constantViolations.push(path); + }, + UnaryExpression(path, state) { + if (path.node.operator === "delete") { + state.constantViolations.push(path); + } + }, + BlockScoped(path) { + let scope = path.scope; + if (scope.path === path) + scope = scope.parent; + const parent = scope.getBlockParent(); + parent.registerDeclaration(path); + if (path.isClassDeclaration() && path.node.id) { + const id = path.node.id; + const name = id.name; + path.scope.bindings[name] = path.scope.parent.getBinding(name); + } + }, + CatchClause(path) { + path.scope.registerBinding("let", path); + }, + Function(path) { + const params = path.get("params"); + for (const param of params) { + path.scope.registerBinding("param", param); + } + if (path.isFunctionExpression() && path.has("id") && !path.get("id").node[NOT_LOCAL_BINDING]) { + path.scope.registerBinding("local", path.get("id"), path); + } + }, + ClassExpression(path) { + if (path.has("id") && !path.get("id").node[NOT_LOCAL_BINDING]) { + path.scope.registerBinding("local", path); + } + } + }; + var uid = 0; + var Scope = class _Scope { + constructor(path) { + this.uid = void 0; + this.path = void 0; + this.block = void 0; + this.labels = void 0; + this.inited = void 0; + this.bindings = void 0; + this.references = void 0; + this.globals = void 0; + this.uids = void 0; + this.data = void 0; + this.crawling = void 0; + const { + node: node2 + } = path; + const cached = _cache2.scope.get(node2); + if ((cached == null ? void 0 : cached.path) === path) { + return cached; + } + _cache2.scope.set(node2, this); + this.uid = uid++; + this.block = node2; + this.path = path; + this.labels = /* @__PURE__ */ new Map(); + this.inited = false; + } + get parent() { + var _parent; + let parent, path = this.path; + do { + const shouldSkip = path.key === "key" || path.listKey === "decorators"; + path = path.parentPath; + if (shouldSkip && path.isMethod()) + path = path.parentPath; + if (path && path.isScope()) + parent = path; + } while (path && !parent); + return (_parent = parent) == null ? void 0 : _parent.scope; + } + get parentBlock() { + return this.path.parent; + } + get hub() { + return this.path.hub; + } + traverse(node2, opts, state) { + (0, _index.default)(node2, opts, this, state, this.path); + } + generateDeclaredUidIdentifier(name) { + const id = this.generateUidIdentifier(name); + this.push({ + id + }); + return cloneNode(id); + } + generateUidIdentifier(name) { + return identifier2(this.generateUid(name)); + } + generateUid(name = "temp") { + name = toIdentifier(name).replace(/^_+/, "").replace(/[0-9]+$/g, ""); + let uid2; + let i = 1; + do { + uid2 = this._generateUid(name, i); + i++; + } while (this.hasLabel(uid2) || this.hasBinding(uid2) || this.hasGlobal(uid2) || this.hasReference(uid2)); + const program = this.getProgramParent(); + program.references[uid2] = true; + program.uids[uid2] = true; + return uid2; + } + _generateUid(name, i) { + let id = name; + if (i > 1) + id += i; + return `_${id}`; + } + generateUidBasedOnNode(node2, defaultName) { + const parts = []; + gatherNodeParts(node2, parts); + let id = parts.join("$"); + id = id.replace(/^_/, "") || defaultName || "ref"; + return this.generateUid(id.slice(0, 20)); + } + generateUidIdentifierBasedOnNode(node2, defaultName) { + return identifier2(this.generateUidBasedOnNode(node2, defaultName)); + } + isStatic(node2) { + if (isThisExpression(node2) || isSuper(node2) || isTopicReference(node2)) { + return true; + } + if (isIdentifier(node2)) { + const binding2 = this.getBinding(node2.name); + if (binding2) { + return binding2.constant; + } else { + return this.hasBinding(node2.name); + } + } + return false; + } + maybeGenerateMemoised(node2, dontPush) { + if (this.isStatic(node2)) { + return null; + } else { + const id = this.generateUidIdentifierBasedOnNode(node2); + if (!dontPush) { + this.push({ + id + }); + return cloneNode(id); + } + return id; + } + } + checkBlockScopedCollisions(local, kind, name, id) { + if (kind === "param") + return; + if (local.kind === "local") + return; + const duplicate = kind === "let" || local.kind === "let" || local.kind === "const" || local.kind === "module" || local.kind === "param" && kind === "const"; + if (duplicate) { + throw this.hub.buildError(id, `Duplicate declaration "${name}"`, TypeError); + } + } + rename(oldName, newName) { + const binding2 = this.getBinding(oldName); + if (binding2) { + newName || (newName = this.generateUidIdentifier(oldName).name); + const renamer = new _renamer.default(binding2, oldName, newName); + return renamer.rename(arguments[2]); + } + } + _renameFromMap(map, oldName, newName, value) { + if (map[oldName]) { + map[newName] = value; + map[oldName] = null; + } + } + dump() { + const sep2 = "-".repeat(60); + console.log(sep2); + let scope = this; + do { + console.log("#", scope.block.type); + for (const name of Object.keys(scope.bindings)) { + const binding2 = scope.bindings[name]; + console.log(" -", name, { + constant: binding2.constant, + references: binding2.references, + violations: binding2.constantViolations.length, + kind: binding2.kind + }); + } + } while (scope = scope.parent); + console.log(sep2); + } + toArray(node2, i, arrayLikeIsIterable) { + if (isIdentifier(node2)) { + const binding2 = this.getBinding(node2.name); + if (binding2 != null && binding2.constant && binding2.path.isGenericType("Array")) { + return node2; + } + } + if (isArrayExpression(node2)) { + return node2; + } + if (isIdentifier(node2, { + name: "arguments" + })) { + return callExpression(memberExpression(memberExpression(memberExpression(identifier2("Array"), identifier2("prototype")), identifier2("slice")), identifier2("call")), [node2]); + } + let helperName; + const args = [node2]; + if (i === true) { + helperName = "toConsumableArray"; + } else if (typeof i === "number") { + args.push(numericLiteral(i)); + helperName = "slicedToArray"; + } else { + helperName = "toArray"; + } + if (arrayLikeIsIterable) { + args.unshift(this.hub.addHelper(helperName)); + helperName = "maybeArrayLike"; + } + return callExpression(this.hub.addHelper(helperName), args); + } + hasLabel(name) { + return !!this.getLabel(name); + } + getLabel(name) { + return this.labels.get(name); + } + registerLabel(path) { + this.labels.set(path.node.label.name, path); + } + registerDeclaration(path) { + if (path.isLabeledStatement()) { + this.registerLabel(path); + } else if (path.isFunctionDeclaration()) { + this.registerBinding("hoisted", path.get("id"), path); + } else if (path.isVariableDeclaration()) { + const declarations = path.get("declarations"); + const { + kind + } = path.node; + for (const declar of declarations) { + this.registerBinding(kind === "using" ? "const" : kind, declar); + } + } else if (path.isClassDeclaration()) { + if (path.node.declare) + return; + this.registerBinding("let", path); + } else if (path.isImportDeclaration()) { + const isTypeDeclaration = path.node.importKind === "type" || path.node.importKind === "typeof"; + const specifiers = path.get("specifiers"); + for (const specifier of specifiers) { + const isTypeSpecifier = isTypeDeclaration || specifier.isImportSpecifier() && (specifier.node.importKind === "type" || specifier.node.importKind === "typeof"); + this.registerBinding(isTypeSpecifier ? "unknown" : "module", specifier); + } + } else if (path.isExportDeclaration()) { + const declar = path.get("declaration"); + if (declar.isClassDeclaration() || declar.isFunctionDeclaration() || declar.isVariableDeclaration()) { + this.registerDeclaration(declar); + } + } else { + this.registerBinding("unknown", path); + } + } + buildUndefinedNode() { + return unaryExpression("void", numericLiteral(0), true); + } + registerConstantViolation(path) { + const ids = path.getBindingIdentifiers(); + for (const name of Object.keys(ids)) { + const binding2 = this.getBinding(name); + if (binding2) + binding2.reassign(path); + } + } + registerBinding(kind, path, bindingPath = path) { + if (!kind) + throw new ReferenceError("no `kind`"); + if (path.isVariableDeclaration()) { + const declarators = path.get("declarations"); + for (const declar of declarators) { + this.registerBinding(kind, declar); + } + return; + } + const parent = this.getProgramParent(); + const ids = path.getOuterBindingIdentifiers(true); + for (const name of Object.keys(ids)) { + parent.references[name] = true; + for (const id of ids[name]) { + const local = this.getOwnBinding(name); + if (local) { + if (local.identifier === id) + continue; + this.checkBlockScopedCollisions(local, kind, name, id); + } + if (local) { + this.registerConstantViolation(bindingPath); + } else { + this.bindings[name] = new _binding.default({ + identifier: id, + scope: this, + path: bindingPath, + kind + }); + } + } + } + } + addGlobal(node2) { + this.globals[node2.name] = node2; + } + hasUid(name) { + let scope = this; + do { + if (scope.uids[name]) + return true; + } while (scope = scope.parent); + return false; + } + hasGlobal(name) { + let scope = this; + do { + if (scope.globals[name]) + return true; + } while (scope = scope.parent); + return false; + } + hasReference(name) { + return !!this.getProgramParent().references[name]; + } + isPure(node2, constantsOnly) { + if (isIdentifier(node2)) { + const binding2 = this.getBinding(node2.name); + if (!binding2) + return false; + if (constantsOnly) + return binding2.constant; + return true; + } else if (isThisExpression(node2) || isMetaProperty(node2) || isTopicReference(node2) || isPrivateName(node2)) { + return true; + } else if (isClass(node2)) { + var _node$decorators; + if (node2.superClass && !this.isPure(node2.superClass, constantsOnly)) { + return false; + } + if (((_node$decorators = node2.decorators) == null ? void 0 : _node$decorators.length) > 0) { + return false; + } + return this.isPure(node2.body, constantsOnly); + } else if (isClassBody(node2)) { + for (const method of node2.body) { + if (!this.isPure(method, constantsOnly)) + return false; + } + return true; + } else if (isBinary(node2)) { + return this.isPure(node2.left, constantsOnly) && this.isPure(node2.right, constantsOnly); + } else if (isArrayExpression(node2) || isTupleExpression(node2)) { + for (const elem of node2.elements) { + if (elem !== null && !this.isPure(elem, constantsOnly)) + return false; + } + return true; + } else if (isObjectExpression(node2) || isRecordExpression(node2)) { + for (const prop of node2.properties) { + if (!this.isPure(prop, constantsOnly)) + return false; + } + return true; + } else if (isMethod(node2)) { + var _node$decorators2; + if (node2.computed && !this.isPure(node2.key, constantsOnly)) + return false; + if (((_node$decorators2 = node2.decorators) == null ? void 0 : _node$decorators2.length) > 0) { + return false; + } + return true; + } else if (isProperty(node2)) { + var _node$decorators3; + if (node2.computed && !this.isPure(node2.key, constantsOnly)) + return false; + if (((_node$decorators3 = node2.decorators) == null ? void 0 : _node$decorators3.length) > 0) { + return false; + } + if (isObjectProperty(node2) || node2.static) { + if (node2.value !== null && !this.isPure(node2.value, constantsOnly)) { + return false; + } + } + return true; + } else if (isUnaryExpression(node2)) { + return this.isPure(node2.argument, constantsOnly); + } else if (isTaggedTemplateExpression(node2)) { + return matchesPattern(node2.tag, "String.raw") && !this.hasBinding("String", true) && this.isPure(node2.quasi, constantsOnly); + } else if (isTemplateLiteral(node2)) { + for (const expression of node2.expressions) { + if (!this.isPure(expression, constantsOnly)) + return false; + } + return true; + } else { + return isPureish(node2); + } + } + setData(key, val) { + return this.data[key] = val; + } + getData(key) { + let scope = this; + do { + const data = scope.data[key]; + if (data != null) + return data; + } while (scope = scope.parent); + } + removeData(key) { + let scope = this; + do { + const data = scope.data[key]; + if (data != null) + scope.data[key] = null; + } while (scope = scope.parent); + } + init() { + if (!this.inited) { + this.inited = true; + this.crawl(); + } + } + crawl() { + const path = this.path; + this.references = /* @__PURE__ */ Object.create(null); + this.bindings = /* @__PURE__ */ Object.create(null); + this.globals = /* @__PURE__ */ Object.create(null); + this.uids = /* @__PURE__ */ Object.create(null); + this.data = /* @__PURE__ */ Object.create(null); + const programParent = this.getProgramParent(); + if (programParent.crawling) + return; + const state = { + references: [], + constantViolations: [], + assignments: [] + }; + this.crawling = true; + if (path.type !== "Program" && collectorVisitor._exploded) { + for (const visit of collectorVisitor.enter) { + visit(path, state); + } + const typeVisitors = collectorVisitor[path.type]; + if (typeVisitors) { + for (const visit of typeVisitors.enter) { + visit(path, state); + } + } + } + path.traverse(collectorVisitor, state); + this.crawling = false; + for (const path2 of state.assignments) { + const ids = path2.getBindingIdentifiers(); + for (const name of Object.keys(ids)) { + if (path2.scope.getBinding(name)) + continue; + programParent.addGlobal(ids[name]); + } + path2.scope.registerConstantViolation(path2); + } + for (const ref of state.references) { + const binding2 = ref.scope.getBinding(ref.node.name); + if (binding2) { + binding2.reference(ref); + } else { + programParent.addGlobal(ref.node); + } + } + for (const path2 of state.constantViolations) { + path2.scope.registerConstantViolation(path2); + } + } + push(opts) { + let path = this.path; + if (path.isPattern()) { + path = this.getPatternParent().path; + } else if (!path.isBlockStatement() && !path.isProgram()) { + path = this.getBlockParent().path; + } + if (path.isSwitchStatement()) { + path = (this.getFunctionParent() || this.getProgramParent()).path; + } + if (path.isLoop() || path.isCatchClause() || path.isFunction()) { + path.ensureBlock(); + path = path.get("body"); + } + const unique = opts.unique; + const kind = opts.kind || "var"; + const blockHoist = opts._blockHoist == null ? 2 : opts._blockHoist; + const dataKey = `declaration:${kind}:${blockHoist}`; + let declarPath = !unique && path.getData(dataKey); + if (!declarPath) { + const declar = variableDeclaration(kind, []); + declar._blockHoist = blockHoist; + [declarPath] = path.unshiftContainer("body", [declar]); + if (!unique) + path.setData(dataKey, declarPath); + } + const declarator = variableDeclarator(opts.id, opts.init); + const len = declarPath.node.declarations.push(declarator); + path.scope.registerBinding(kind, declarPath.get("declarations")[len - 1]); + } + getProgramParent() { + let scope = this; + do { + if (scope.path.isProgram()) { + return scope; + } + } while (scope = scope.parent); + throw new Error("Couldn't find a Program"); + } + getFunctionParent() { + let scope = this; + do { + if (scope.path.isFunctionParent()) { + return scope; + } + } while (scope = scope.parent); + return null; + } + getBlockParent() { + let scope = this; + do { + if (scope.path.isBlockParent()) { + return scope; + } + } while (scope = scope.parent); + throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program..."); + } + getPatternParent() { + let scope = this; + do { + if (!scope.path.isPattern()) { + return scope.getBlockParent(); + } + } while (scope = scope.parent.parent); + throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program..."); + } + getAllBindings() { + const ids = /* @__PURE__ */ Object.create(null); + let scope = this; + do { + for (const key of Object.keys(scope.bindings)) { + if (key in ids === false) { + ids[key] = scope.bindings[key]; + } + } + scope = scope.parent; + } while (scope); + return ids; + } + getAllBindingsOfKind(...kinds) { + const ids = /* @__PURE__ */ Object.create(null); + for (const kind of kinds) { + let scope = this; + do { + for (const name of Object.keys(scope.bindings)) { + const binding2 = scope.bindings[name]; + if (binding2.kind === kind) + ids[name] = binding2; + } + scope = scope.parent; + } while (scope); + } + return ids; + } + bindingIdentifierEquals(name, node2) { + return this.getBindingIdentifier(name) === node2; + } + getBinding(name) { + let scope = this; + let previousPath; + do { + const binding2 = scope.getOwnBinding(name); + if (binding2) { + var _previousPath; + if ((_previousPath = previousPath) != null && _previousPath.isPattern() && binding2.kind !== "param" && binding2.kind !== "local") { + } else { + return binding2; + } + } else if (!binding2 && name === "arguments" && scope.path.isFunction() && !scope.path.isArrowFunctionExpression()) { + break; + } + previousPath = scope.path; + } while (scope = scope.parent); + } + getOwnBinding(name) { + return this.bindings[name]; + } + getBindingIdentifier(name) { + var _this$getBinding; + return (_this$getBinding = this.getBinding(name)) == null ? void 0 : _this$getBinding.identifier; + } + getOwnBindingIdentifier(name) { + const binding2 = this.bindings[name]; + return binding2 == null ? void 0 : binding2.identifier; + } + hasOwnBinding(name) { + return !!this.getOwnBinding(name); + } + hasBinding(name, opts) { + var _opts, _opts2, _opts3; + if (!name) + return false; + if (this.hasOwnBinding(name)) + return true; + { + if (typeof opts === "boolean") + opts = { + noGlobals: opts + }; + } + if (this.parentHasBinding(name, opts)) + return true; + if (!((_opts = opts) != null && _opts.noUids) && this.hasUid(name)) + return true; + if (!((_opts2 = opts) != null && _opts2.noGlobals) && _Scope.globals.includes(name)) + return true; + if (!((_opts3 = opts) != null && _opts3.noGlobals) && _Scope.contextVariables.includes(name)) + return true; + return false; + } + parentHasBinding(name, opts) { + var _this$parent; + return (_this$parent = this.parent) == null ? void 0 : _this$parent.hasBinding(name, opts); + } + moveBindingTo(name, scope) { + const info = this.getBinding(name); + if (info) { + info.scope.removeOwnBinding(name); + info.scope = scope; + scope.bindings[name] = info; + } + } + removeOwnBinding(name) { + delete this.bindings[name]; + } + removeBinding(name) { + var _this$getBinding2; + (_this$getBinding2 = this.getBinding(name)) == null ? void 0 : _this$getBinding2.scope.removeOwnBinding(name); + let scope = this; + do { + if (scope.uids[name]) { + scope.uids[name] = false; + } + } while (scope = scope.parent); + } + }; + exports.default = Scope; + Scope.globals = Object.keys(_globals.builtin); + Scope.contextVariables = ["arguments", "undefined", "Infinity", "NaN"]; + } +}); + +// node_modules/@jridgewell/set-array/dist/set-array.umd.js +var require_set_array_umd = __commonJS({ + "node_modules/@jridgewell/set-array/dist/set-array.umd.js"(exports, module) { + init_process(); + init_buffer(); + (function(global2, factory) { + typeof exports === "object" && typeof module !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.setArray = {})); + })(exports, function(exports2) { + "use strict"; + exports2.get = void 0; + exports2.put = void 0; + exports2.pop = void 0; + class SetArray { + constructor() { + this._indexes = { __proto__: null }; + this.array = []; + } + } + (() => { + exports2.get = (strarr, key) => strarr._indexes[key]; + exports2.put = (strarr, key) => { + const index = exports2.get(strarr, key); + if (index !== void 0) + return index; + const { array, _indexes: indexes } = strarr; + return indexes[key] = array.push(key) - 1; + }; + exports2.pop = (strarr) => { + const { array, _indexes: indexes } = strarr; + if (array.length === 0) + return; + const last = array.pop(); + indexes[last] = void 0; + }; + })(); + exports2.SetArray = SetArray; + Object.defineProperty(exports2, "__esModule", { value: true }); + }); + } +}); + +// node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js +var require_sourcemap_codec_umd = __commonJS({ + "node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js"(exports, module) { + init_process(); + init_buffer(); + (function(global2, factory) { + typeof exports === "object" && typeof module !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.sourcemapCodec = {})); + })(exports, function(exports2) { + "use strict"; + const comma = ",".charCodeAt(0); + const semicolon = ";".charCodeAt(0); + const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + const intToChar = new Uint8Array(64); + const charToInt = new Uint8Array(128); + for (let i = 0; i < chars.length; i++) { + const c = chars.charCodeAt(i); + intToChar[i] = c; + charToInt[c] = i; + } + const td = typeof TextDecoder !== "undefined" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer2 !== "undefined" ? { + decode(buf) { + const out = Buffer2.from(buf.buffer, buf.byteOffset, buf.byteLength); + return out.toString(); + } + } : { + decode(buf) { + let out = ""; + for (let i = 0; i < buf.length; i++) { + out += String.fromCharCode(buf[i]); + } + return out; + } + }; + function decode(mappings) { + const state = new Int32Array(5); + const decoded = []; + let index = 0; + do { + const semi = indexOf3(mappings, index); + const line2 = []; + let sorted = true; + let lastCol = 0; + state[0] = 0; + for (let i = index; i < semi; i++) { + let seg; + i = decodeInteger(mappings, i, state, 0); + const col = state[0]; + if (col < lastCol) + sorted = false; + lastCol = col; + if (hasMoreVlq(mappings, i, semi)) { + i = decodeInteger(mappings, i, state, 1); + i = decodeInteger(mappings, i, state, 2); + i = decodeInteger(mappings, i, state, 3); + if (hasMoreVlq(mappings, i, semi)) { + i = decodeInteger(mappings, i, state, 4); + seg = [col, state[1], state[2], state[3], state[4]]; + } else { + seg = [col, state[1], state[2], state[3]]; + } + } else { + seg = [col]; + } + line2.push(seg); + } + if (!sorted) + sort(line2); + decoded.push(line2); + index = semi + 1; + } while (index <= mappings.length); + return decoded; + } + function indexOf3(mappings, index) { + const idx = mappings.indexOf(";", index); + return idx === -1 ? mappings.length : idx; + } + function decodeInteger(mappings, pos, state, j) { + let value = 0; + let shift = 0; + let integer = 0; + do { + const c = mappings.charCodeAt(pos++); + integer = charToInt[c]; + value |= (integer & 31) << shift; + shift += 5; + } while (integer & 32); + const shouldNegate = value & 1; + value >>>= 1; + if (shouldNegate) { + value = -2147483648 | -value; + } + state[j] += value; + return pos; + } + function hasMoreVlq(mappings, i, length2) { + if (i >= length2) + return false; + return mappings.charCodeAt(i) !== comma; + } + function sort(line2) { + line2.sort(sortComparator); + } + function sortComparator(a, b) { + return a[0] - b[0]; + } + function encode(decoded) { + const state = new Int32Array(5); + const bufLength = 1024 * 16; + const subLength = bufLength - 36; + const buf = new Uint8Array(bufLength); + const sub = buf.subarray(0, subLength); + let pos = 0; + let out = ""; + for (let i = 0; i < decoded.length; i++) { + const line2 = decoded[i]; + if (i > 0) { + if (pos === bufLength) { + out += td.decode(buf); + pos = 0; + } + buf[pos++] = semicolon; + } + if (line2.length === 0) + continue; + state[0] = 0; + for (let j = 0; j < line2.length; j++) { + const segment = line2[j]; + if (pos > subLength) { + out += td.decode(sub); + buf.copyWithin(0, subLength, pos); + pos -= subLength; + } + if (j > 0) + buf[pos++] = comma; + pos = encodeInteger(buf, pos, state, segment, 0); + if (segment.length === 1) + continue; + pos = encodeInteger(buf, pos, state, segment, 1); + pos = encodeInteger(buf, pos, state, segment, 2); + pos = encodeInteger(buf, pos, state, segment, 3); + if (segment.length === 4) + continue; + pos = encodeInteger(buf, pos, state, segment, 4); + } + } + return out + td.decode(buf.subarray(0, pos)); + } + function encodeInteger(buf, pos, state, segment, j) { + const next2 = segment[j]; + let num = next2 - state[j]; + state[j] = next2; + num = num < 0 ? -num << 1 | 1 : num << 1; + do { + let clamped = num & 31; + num >>>= 5; + if (num > 0) + clamped |= 32; + buf[pos++] = intToChar[clamped]; + } while (num > 0); + return pos; + } + exports2.decode = decode; + exports2.encode = encode; + Object.defineProperty(exports2, "__esModule", { value: true }); + }); + } +}); + +// node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js +var require_resolve_uri_umd = __commonJS({ + "node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js"(exports, module) { + init_process(); + init_buffer(); + (function(global2, factory) { + typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, global2.resolveURI = factory()); + })(exports, function() { + "use strict"; + const schemeRegex = /^[\w+.-]+:\/\//; + const urlRegex = /^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/; + const fileRegex = /^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i; + var UrlType; + (function(UrlType2) { + UrlType2[UrlType2["Empty"] = 1] = "Empty"; + UrlType2[UrlType2["Hash"] = 2] = "Hash"; + UrlType2[UrlType2["Query"] = 3] = "Query"; + UrlType2[UrlType2["RelativePath"] = 4] = "RelativePath"; + UrlType2[UrlType2["AbsolutePath"] = 5] = "AbsolutePath"; + UrlType2[UrlType2["SchemeRelative"] = 6] = "SchemeRelative"; + UrlType2[UrlType2["Absolute"] = 7] = "Absolute"; + })(UrlType || (UrlType = {})); + function isAbsoluteUrl(input) { + return schemeRegex.test(input); + } + function isSchemeRelativeUrl(input) { + return input.startsWith("//"); + } + function isAbsolutePath(input) { + return input.startsWith("/"); + } + function isFileUrl(input) { + return input.startsWith("file:"); + } + function isRelative(input) { + return /^[.?#]/.test(input); + } + function parseAbsoluteUrl(input) { + const match2 = urlRegex.exec(input); + return makeUrl(match2[1], match2[2] || "", match2[3], match2[4] || "", match2[5] || "/", match2[6] || "", match2[7] || ""); + } + function parseFileUrl(input) { + const match2 = fileRegex.exec(input); + const path = match2[2]; + return makeUrl("file:", "", match2[1] || "", "", isAbsolutePath(path) ? path : "/" + path, match2[3] || "", match2[4] || ""); + } + function makeUrl(scheme, user, host, port, path, query, hash2) { + return { + scheme, + user, + host, + port, + path, + query, + hash: hash2, + type: UrlType.Absolute + }; + } + function parseUrl(input) { + if (isSchemeRelativeUrl(input)) { + const url2 = parseAbsoluteUrl("http:" + input); + url2.scheme = ""; + url2.type = UrlType.SchemeRelative; + return url2; + } + if (isAbsolutePath(input)) { + const url2 = parseAbsoluteUrl("http://foo.com" + input); + url2.scheme = ""; + url2.host = ""; + url2.type = UrlType.AbsolutePath; + return url2; + } + if (isFileUrl(input)) + return parseFileUrl(input); + if (isAbsoluteUrl(input)) + return parseAbsoluteUrl(input); + const url = parseAbsoluteUrl("http://foo.com/" + input); + url.scheme = ""; + url.host = ""; + url.type = input ? input.startsWith("?") ? UrlType.Query : input.startsWith("#") ? UrlType.Hash : UrlType.RelativePath : UrlType.Empty; + return url; + } + function stripPathFilename(path) { + if (path.endsWith("/..")) + return path; + const index = path.lastIndexOf("/"); + return path.slice(0, index + 1); + } + function mergePaths(url, base) { + normalizePath(base, base.type); + if (url.path === "/") { + url.path = base.path; + } else { + url.path = stripPathFilename(base.path) + url.path; + } + } + function normalizePath(url, type) { + const rel = type <= UrlType.RelativePath; + const pieces = url.path.split("/"); + let pointer = 1; + let positive = 0; + let addTrailingSlash = false; + for (let i = 1; i < pieces.length; i++) { + const piece = pieces[i]; + if (!piece) { + addTrailingSlash = true; + continue; + } + addTrailingSlash = false; + if (piece === ".") + continue; + if (piece === "..") { + if (positive) { + addTrailingSlash = true; + positive--; + pointer--; + } else if (rel) { + pieces[pointer++] = piece; + } + continue; + } + pieces[pointer++] = piece; + positive++; + } + let path = ""; + for (let i = 1; i < pointer; i++) { + path += "/" + pieces[i]; + } + if (!path || addTrailingSlash && !path.endsWith("/..")) { + path += "/"; + } + url.path = path; + } + function resolve2(input, base) { + if (!input && !base) + return ""; + const url = parseUrl(input); + let inputType = url.type; + if (base && inputType !== UrlType.Absolute) { + const baseUrl = parseUrl(base); + const baseType = baseUrl.type; + switch (inputType) { + case UrlType.Empty: + url.hash = baseUrl.hash; + case UrlType.Hash: + url.query = baseUrl.query; + case UrlType.Query: + case UrlType.RelativePath: + mergePaths(url, baseUrl); + case UrlType.AbsolutePath: + url.user = baseUrl.user; + url.host = baseUrl.host; + url.port = baseUrl.port; + case UrlType.SchemeRelative: + url.scheme = baseUrl.scheme; + } + if (baseType > inputType) + inputType = baseType; + } + normalizePath(url, inputType); + const queryHash = url.query + url.hash; + switch (inputType) { + case UrlType.Hash: + case UrlType.Query: + return queryHash; + case UrlType.RelativePath: { + const path = url.path.slice(1); + if (!path) + return queryHash || "."; + if (isRelative(base || input) && !isRelative(path)) { + return "./" + path + queryHash; + } + return path + queryHash; + } + case UrlType.AbsolutePath: + return url.path + queryHash; + default: + return url.scheme + "//" + url.user + url.host + url.port + url.path + queryHash; + } + } + return resolve2; + }); + } +}); + +// node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js +var require_trace_mapping_umd = __commonJS({ + "node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js"(exports, module) { + init_process(); + init_buffer(); + (function(global2, factory) { + typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require_sourcemap_codec_umd(), require_resolve_uri_umd()) : typeof define === "function" && define.amd ? define(["exports", "@jridgewell/sourcemap-codec", "@jridgewell/resolve-uri"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.traceMapping = {}, global2.sourcemapCodec, global2.resolveURI)); + })(exports, function(exports2, sourcemapCodec, resolveUri) { + "use strict"; + function _interopDefaultLegacy(e) { + return e && typeof e === "object" && "default" in e ? e : { "default": e }; + } + var resolveUri__default = /* @__PURE__ */ _interopDefaultLegacy(resolveUri); + function resolve2(input, base) { + if (base && !base.endsWith("/")) + base += "/"; + return resolveUri__default["default"](input, base); + } + function stripFilename(path) { + if (!path) + return ""; + const index = path.lastIndexOf("/"); + return path.slice(0, index + 1); + } + const COLUMN = 0; + const SOURCES_INDEX = 1; + const SOURCE_LINE = 2; + const SOURCE_COLUMN = 3; + const NAMES_INDEX = 4; + const REV_GENERATED_LINE = 1; + const REV_GENERATED_COLUMN = 2; + function maybeSort(mappings, owned) { + const unsortedIndex = nextUnsortedSegmentLine(mappings, 0); + if (unsortedIndex === mappings.length) + return mappings; + if (!owned) + mappings = mappings.slice(); + for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) { + mappings[i] = sortSegments(mappings[i], owned); + } + return mappings; + } + function nextUnsortedSegmentLine(mappings, start) { + for (let i = start; i < mappings.length; i++) { + if (!isSorted(mappings[i])) + return i; + } + return mappings.length; + } + function isSorted(line2) { + for (let j = 1; j < line2.length; j++) { + if (line2[j][COLUMN] < line2[j - 1][COLUMN]) { + return false; + } + } + return true; + } + function sortSegments(line2, owned) { + if (!owned) + line2 = line2.slice(); + return line2.sort(sortComparator); + } + function sortComparator(a, b) { + return a[COLUMN] - b[COLUMN]; + } + let found = false; + function binarySearch(haystack, needle, low, high) { + while (low <= high) { + const mid = low + (high - low >> 1); + const cmp = haystack[mid][COLUMN] - needle; + if (cmp === 0) { + found = true; + return mid; + } + if (cmp < 0) { + low = mid + 1; + } else { + high = mid - 1; + } + } + found = false; + return low - 1; + } + function upperBound(haystack, needle, index) { + for (let i = index + 1; i < haystack.length; index = i++) { + if (haystack[i][COLUMN] !== needle) + break; + } + return index; + } + function lowerBound(haystack, needle, index) { + for (let i = index - 1; i >= 0; index = i--) { + if (haystack[i][COLUMN] !== needle) + break; + } + return index; + } + function memoizedState() { + return { + lastKey: -1, + lastNeedle: -1, + lastIndex: -1 + }; + } + function memoizedBinarySearch(haystack, needle, state, key) { + const { lastKey, lastNeedle, lastIndex } = state; + let low = 0; + let high = haystack.length - 1; + if (key === lastKey) { + if (needle === lastNeedle) { + found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle; + return lastIndex; + } + if (needle >= lastNeedle) { + low = lastIndex === -1 ? 0 : lastIndex; + } else { + high = lastIndex; + } + } + state.lastKey = key; + state.lastNeedle = needle; + return state.lastIndex = binarySearch(haystack, needle, low, high); + } + function buildBySources(decoded, memos) { + const sources = memos.map(buildNullArray); + for (let i = 0; i < decoded.length; i++) { + const line2 = decoded[i]; + for (let j = 0; j < line2.length; j++) { + const seg = line2[j]; + if (seg.length === 1) + continue; + const sourceIndex = seg[SOURCES_INDEX]; + const sourceLine = seg[SOURCE_LINE]; + const sourceColumn = seg[SOURCE_COLUMN]; + const originalSource = sources[sourceIndex]; + const originalLine = originalSource[sourceLine] || (originalSource[sourceLine] = []); + const memo = memos[sourceIndex]; + const index = upperBound(originalLine, sourceColumn, memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine)); + insert(originalLine, memo.lastIndex = index + 1, [sourceColumn, i, seg[COLUMN]]); + } + } + return sources; + } + function insert(array, index, value) { + for (let i = array.length; i > index; i--) { + array[i] = array[i - 1]; + } + array[index] = value; + } + function buildNullArray() { + return { __proto__: null }; + } + const AnyMap = function(map, mapUrl) { + const parsed = typeof map === "string" ? JSON.parse(map) : map; + if (!("sections" in parsed)) + return new TraceMap(parsed, mapUrl); + const mappings = []; + const sources = []; + const sourcesContent = []; + const names = []; + recurse(parsed, mapUrl, mappings, sources, sourcesContent, names, 0, 0, Infinity, Infinity); + const joined = { + version: 3, + file: parsed.file, + names, + sources, + sourcesContent, + mappings + }; + return exports2.presortedDecodedMap(joined); + }; + function recurse(input, mapUrl, mappings, sources, sourcesContent, names, lineOffset, columnOffset, stopLine, stopColumn) { + const { sections } = input; + for (let i = 0; i < sections.length; i++) { + const { map, offset } = sections[i]; + let sl = stopLine; + let sc = stopColumn; + if (i + 1 < sections.length) { + const nextOffset = sections[i + 1].offset; + sl = Math.min(stopLine, lineOffset + nextOffset.line); + if (sl === stopLine) { + sc = Math.min(stopColumn, columnOffset + nextOffset.column); + } else if (sl < stopLine) { + sc = columnOffset + nextOffset.column; + } + } + addSection(map, mapUrl, mappings, sources, sourcesContent, names, lineOffset + offset.line, columnOffset + offset.column, sl, sc); + } + } + function addSection(input, mapUrl, mappings, sources, sourcesContent, names, lineOffset, columnOffset, stopLine, stopColumn) { + if ("sections" in input) + return recurse(...arguments); + const map = new TraceMap(input, mapUrl); + const sourcesOffset = sources.length; + const namesOffset = names.length; + const decoded = exports2.decodedMappings(map); + const { resolvedSources, sourcesContent: contents } = map; + append2(sources, resolvedSources); + append2(names, map.names); + if (contents) + append2(sourcesContent, contents); + else + for (let i = 0; i < resolvedSources.length; i++) + sourcesContent.push(null); + for (let i = 0; i < decoded.length; i++) { + const lineI = lineOffset + i; + if (lineI > stopLine) + return; + const out = getLine(mappings, lineI); + const cOffset = i === 0 ? columnOffset : 0; + const line2 = decoded[i]; + for (let j = 0; j < line2.length; j++) { + const seg = line2[j]; + const column2 = cOffset + seg[COLUMN]; + if (lineI === stopLine && column2 >= stopColumn) + return; + if (seg.length === 1) { + out.push([column2]); + continue; + } + const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX]; + const sourceLine = seg[SOURCE_LINE]; + const sourceColumn = seg[SOURCE_COLUMN]; + out.push(seg.length === 4 ? [column2, sourcesIndex, sourceLine, sourceColumn] : [column2, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]]); + } + } + } + function append2(arr, other) { + for (let i = 0; i < other.length; i++) + arr.push(other[i]); + } + function getLine(arr, index) { + for (let i = arr.length; i <= index; i++) + arr[i] = []; + return arr[index]; + } + const LINE_GTR_ZERO = "`line` must be greater than 0 (lines start at line 1)"; + const COL_GTR_EQ_ZERO = "`column` must be greater than or equal to 0 (columns start at column 0)"; + const LEAST_UPPER_BOUND = -1; + const GREATEST_LOWER_BOUND = 1; + exports2.encodedMappings = void 0; + exports2.decodedMappings = void 0; + exports2.traceSegment = void 0; + exports2.originalPositionFor = void 0; + exports2.generatedPositionFor = void 0; + exports2.allGeneratedPositionsFor = void 0; + exports2.eachMapping = void 0; + exports2.sourceContentFor = void 0; + exports2.presortedDecodedMap = void 0; + exports2.decodedMap = void 0; + exports2.encodedMap = void 0; + class TraceMap { + constructor(map, mapUrl) { + const isString2 = typeof map === "string"; + if (!isString2 && map._decodedMemo) + return map; + const parsed = isString2 ? JSON.parse(map) : map; + const { version: version2, file, names, sourceRoot, sources, sourcesContent } = parsed; + this.version = version2; + this.file = file; + this.names = names; + this.sourceRoot = sourceRoot; + this.sources = sources; + this.sourcesContent = sourcesContent; + const from4 = resolve2(sourceRoot || "", stripFilename(mapUrl)); + this.resolvedSources = sources.map((s) => resolve2(s || "", from4)); + const { mappings } = parsed; + if (typeof mappings === "string") { + this._encoded = mappings; + this._decoded = void 0; + } else { + this._encoded = void 0; + this._decoded = maybeSort(mappings, isString2); + } + this._decodedMemo = memoizedState(); + this._bySources = void 0; + this._bySourceMemos = void 0; + } + } + (() => { + exports2.encodedMappings = (map) => { + var _a; + return (_a = map._encoded) !== null && _a !== void 0 ? _a : map._encoded = sourcemapCodec.encode(map._decoded); + }; + exports2.decodedMappings = (map) => { + return map._decoded || (map._decoded = sourcemapCodec.decode(map._encoded)); + }; + exports2.traceSegment = (map, line2, column2) => { + const decoded = exports2.decodedMappings(map); + if (line2 >= decoded.length) + return null; + const segments = decoded[line2]; + const index = traceSegmentInternal(segments, map._decodedMemo, line2, column2, GREATEST_LOWER_BOUND); + return index === -1 ? null : segments[index]; + }; + exports2.originalPositionFor = (map, { line: line2, column: column2, bias }) => { + line2--; + if (line2 < 0) + throw new Error(LINE_GTR_ZERO); + if (column2 < 0) + throw new Error(COL_GTR_EQ_ZERO); + const decoded = exports2.decodedMappings(map); + if (line2 >= decoded.length) + return OMapping(null, null, null, null); + const segments = decoded[line2]; + const index = traceSegmentInternal(segments, map._decodedMemo, line2, column2, bias || GREATEST_LOWER_BOUND); + if (index === -1) + return OMapping(null, null, null, null); + const segment = segments[index]; + if (segment.length === 1) + return OMapping(null, null, null, null); + const { names, resolvedSources } = map; + return OMapping(resolvedSources[segment[SOURCES_INDEX]], segment[SOURCE_LINE] + 1, segment[SOURCE_COLUMN], segment.length === 5 ? names[segment[NAMES_INDEX]] : null); + }; + exports2.allGeneratedPositionsFor = (map, { source, line: line2, column: column2, bias }) => { + return generatedPosition(map, source, line2, column2, bias || LEAST_UPPER_BOUND, true); + }; + exports2.generatedPositionFor = (map, { source, line: line2, column: column2, bias }) => { + return generatedPosition(map, source, line2, column2, bias || GREATEST_LOWER_BOUND, false); + }; + exports2.eachMapping = (map, cb) => { + const decoded = exports2.decodedMappings(map); + const { names, resolvedSources } = map; + for (let i = 0; i < decoded.length; i++) { + const line2 = decoded[i]; + for (let j = 0; j < line2.length; j++) { + const seg = line2[j]; + const generatedLine = i + 1; + const generatedColumn = seg[0]; + let source = null; + let originalLine = null; + let originalColumn = null; + let name = null; + if (seg.length !== 1) { + source = resolvedSources[seg[1]]; + originalLine = seg[2] + 1; + originalColumn = seg[3]; + } + if (seg.length === 5) + name = names[seg[4]]; + cb({ + generatedLine, + generatedColumn, + source, + originalLine, + originalColumn, + name + }); + } + } + }; + exports2.sourceContentFor = (map, source) => { + const { sources, resolvedSources, sourcesContent } = map; + if (sourcesContent == null) + return null; + let index = sources.indexOf(source); + if (index === -1) + index = resolvedSources.indexOf(source); + return index === -1 ? null : sourcesContent[index]; + }; + exports2.presortedDecodedMap = (map, mapUrl) => { + const tracer = new TraceMap(clone(map, []), mapUrl); + tracer._decoded = map.mappings; + return tracer; + }; + exports2.decodedMap = (map) => { + return clone(map, exports2.decodedMappings(map)); + }; + exports2.encodedMap = (map) => { + return clone(map, exports2.encodedMappings(map)); + }; + function generatedPosition(map, source, line2, column2, bias, all) { + line2--; + if (line2 < 0) + throw new Error(LINE_GTR_ZERO); + if (column2 < 0) + throw new Error(COL_GTR_EQ_ZERO); + const { sources, resolvedSources } = map; + let sourceIndex = sources.indexOf(source); + if (sourceIndex === -1) + sourceIndex = resolvedSources.indexOf(source); + if (sourceIndex === -1) + return all ? [] : GMapping(null, null); + const generated = map._bySources || (map._bySources = buildBySources(exports2.decodedMappings(map), map._bySourceMemos = sources.map(memoizedState))); + const segments = generated[sourceIndex][line2]; + if (segments == null) + return all ? [] : GMapping(null, null); + const memo = map._bySourceMemos[sourceIndex]; + if (all) + return sliceGeneratedPositions(segments, memo, line2, column2, bias); + const index = traceSegmentInternal(segments, memo, line2, column2, bias); + if (index === -1) + return GMapping(null, null); + const segment = segments[index]; + return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]); + } + })(); + function clone(map, mappings) { + return { + version: map.version, + file: map.file, + names: map.names, + sourceRoot: map.sourceRoot, + sources: map.sources, + sourcesContent: map.sourcesContent, + mappings + }; + } + function OMapping(source, line2, column2, name) { + return { source, line: line2, column: column2, name }; + } + function GMapping(line2, column2) { + return { line: line2, column: column2 }; + } + function traceSegmentInternal(segments, memo, line2, column2, bias) { + let index = memoizedBinarySearch(segments, column2, memo, line2); + if (found) { + index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column2, index); + } else if (bias === LEAST_UPPER_BOUND) + index++; + if (index === -1 || index === segments.length) + return -1; + return index; + } + function sliceGeneratedPositions(segments, memo, line2, column2, bias) { + let min = traceSegmentInternal(segments, memo, line2, column2, GREATEST_LOWER_BOUND); + if (!found && bias === LEAST_UPPER_BOUND) + min++; + if (min === -1 || min === segments.length) + return []; + const matchedColumn = found ? column2 : segments[min][COLUMN]; + if (!found) + min = lowerBound(segments, matchedColumn, min); + const max = upperBound(segments, matchedColumn, min); + const result = []; + for (; min <= max; min++) { + const segment = segments[min]; + result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN])); + } + return result; + } + exports2.AnyMap = AnyMap; + exports2.GREATEST_LOWER_BOUND = GREATEST_LOWER_BOUND; + exports2.LEAST_UPPER_BOUND = LEAST_UPPER_BOUND; + exports2.TraceMap = TraceMap; + Object.defineProperty(exports2, "__esModule", { value: true }); + }); + } +}); + +// node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js +var require_gen_mapping_umd = __commonJS({ + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js"(exports, module) { + init_process(); + init_buffer(); + (function(global2, factory) { + typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require_set_array_umd(), require_sourcemap_codec_umd(), require_trace_mapping_umd()) : typeof define === "function" && define.amd ? define(["exports", "@jridgewell/set-array", "@jridgewell/sourcemap-codec", "@jridgewell/trace-mapping"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.genMapping = {}, global2.setArray, global2.sourcemapCodec, global2.traceMapping)); + })(exports, function(exports2, setArray, sourcemapCodec, traceMapping) { + "use strict"; + const COLUMN = 0; + const SOURCES_INDEX = 1; + const SOURCE_LINE = 2; + const SOURCE_COLUMN = 3; + const NAMES_INDEX = 4; + const NO_NAME = -1; + exports2.addSegment = void 0; + exports2.addMapping = void 0; + exports2.maybeAddSegment = void 0; + exports2.maybeAddMapping = void 0; + exports2.setSourceContent = void 0; + exports2.toDecodedMap = void 0; + exports2.toEncodedMap = void 0; + exports2.fromMap = void 0; + exports2.allMappings = void 0; + let addSegmentInternal; + class GenMapping { + constructor({ file, sourceRoot } = {}) { + this._names = new setArray.SetArray(); + this._sources = new setArray.SetArray(); + this._sourcesContent = []; + this._mappings = []; + this.file = file; + this.sourceRoot = sourceRoot; + } + } + (() => { + exports2.addSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => { + return addSegmentInternal(false, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content); + }; + exports2.maybeAddSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => { + return addSegmentInternal(true, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content); + }; + exports2.addMapping = (map, mapping) => { + return addMappingInternal(false, map, mapping); + }; + exports2.maybeAddMapping = (map, mapping) => { + return addMappingInternal(true, map, mapping); + }; + exports2.setSourceContent = (map, source, content) => { + const { _sources: sources, _sourcesContent: sourcesContent } = map; + sourcesContent[setArray.put(sources, source)] = content; + }; + exports2.toDecodedMap = (map) => { + const { file, sourceRoot, _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names } = map; + removeEmptyFinalLines(mappings); + return { + version: 3, + file: file || void 0, + names: names.array, + sourceRoot: sourceRoot || void 0, + sources: sources.array, + sourcesContent, + mappings + }; + }; + exports2.toEncodedMap = (map) => { + const decoded = exports2.toDecodedMap(map); + return Object.assign(Object.assign({}, decoded), { mappings: sourcemapCodec.encode(decoded.mappings) }); + }; + exports2.allMappings = (map) => { + const out = []; + const { _mappings: mappings, _sources: sources, _names: names } = map; + for (let i = 0; i < mappings.length; i++) { + const line2 = mappings[i]; + for (let j = 0; j < line2.length; j++) { + const seg = line2[j]; + const generated = { line: i + 1, column: seg[COLUMN] }; + let source = void 0; + let original = void 0; + let name = void 0; + if (seg.length !== 1) { + source = sources.array[seg[SOURCES_INDEX]]; + original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] }; + if (seg.length === 5) + name = names.array[seg[NAMES_INDEX]]; + } + out.push({ generated, source, original, name }); + } + } + return out; + }; + exports2.fromMap = (input) => { + const map = new traceMapping.TraceMap(input); + const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot }); + putAll(gen._names, map.names); + putAll(gen._sources, map.sources); + gen._sourcesContent = map.sourcesContent || map.sources.map(() => null); + gen._mappings = traceMapping.decodedMappings(map); + return gen; + }; + addSegmentInternal = (skipable, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => { + const { _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names } = map; + const line2 = getLine(mappings, genLine); + const index = getColumnIndex(line2, genColumn); + if (!source) { + if (skipable && skipSourceless(line2, index)) + return; + return insert(line2, index, [genColumn]); + } + const sourcesIndex = setArray.put(sources, source); + const namesIndex = name ? setArray.put(names, name) : NO_NAME; + if (sourcesIndex === sourcesContent.length) + sourcesContent[sourcesIndex] = content !== null && content !== void 0 ? content : null; + if (skipable && skipSource(line2, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) { + return; + } + return insert(line2, index, name ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex] : [genColumn, sourcesIndex, sourceLine, sourceColumn]); + }; + })(); + function getLine(mappings, index) { + for (let i = mappings.length; i <= index; i++) { + mappings[i] = []; + } + return mappings[index]; + } + function getColumnIndex(line2, genColumn) { + let index = line2.length; + for (let i = index - 1; i >= 0; index = i--) { + const current = line2[i]; + if (genColumn >= current[COLUMN]) + break; + } + return index; + } + function insert(array, index, value) { + for (let i = array.length; i > index; i--) { + array[i] = array[i - 1]; + } + array[index] = value; + } + function removeEmptyFinalLines(mappings) { + const { length: length2 } = mappings; + let len = length2; + for (let i = len - 1; i >= 0; len = i, i--) { + if (mappings[i].length > 0) + break; + } + if (len < length2) + mappings.length = len; + } + function putAll(strarr, array) { + for (let i = 0; i < array.length; i++) + setArray.put(strarr, array[i]); + } + function skipSourceless(line2, index) { + if (index === 0) + return true; + const prev2 = line2[index - 1]; + return prev2.length === 1; + } + function skipSource(line2, index, sourcesIndex, sourceLine, sourceColumn, namesIndex) { + if (index === 0) + return false; + const prev2 = line2[index - 1]; + if (prev2.length === 1) + return false; + return sourcesIndex === prev2[SOURCES_INDEX] && sourceLine === prev2[SOURCE_LINE] && sourceColumn === prev2[SOURCE_COLUMN] && namesIndex === (prev2.length === 5 ? prev2[NAMES_INDEX] : NO_NAME); + } + function addMappingInternal(skipable, map, mapping) { + const { generated, source, original, name, content } = mapping; + if (!source) { + return addSegmentInternal(skipable, map, generated.line - 1, generated.column, null, null, null, null, null); + } + const s = source; + return addSegmentInternal(skipable, map, generated.line - 1, generated.column, s, original.line - 1, original.column, name, content); + } + exports2.GenMapping = GenMapping; + Object.defineProperty(exports2, "__esModule", { value: true }); + }); + } +}); + +// node_modules/@babel/generator/lib/source-map.js +var require_source_map = __commonJS({ + "node_modules/@babel/generator/lib/source-map.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var _genMapping = require_gen_mapping_umd(); + var _traceMapping = require_trace_mapping_umd(); + var SourceMap = class { + constructor(opts, code) { + var _opts$sourceFileName; + this._map = void 0; + this._rawMappings = void 0; + this._sourceFileName = void 0; + this._lastGenLine = 0; + this._lastSourceLine = 0; + this._lastSourceColumn = 0; + this._inputMap = void 0; + const map = this._map = new _genMapping.GenMapping({ + sourceRoot: opts.sourceRoot + }); + this._sourceFileName = (_opts$sourceFileName = opts.sourceFileName) == null ? void 0 : _opts$sourceFileName.replace(/\\/g, "/"); + this._rawMappings = void 0; + if (opts.inputSourceMap) { + this._inputMap = new _traceMapping.TraceMap(opts.inputSourceMap); + const resolvedSources = this._inputMap.resolvedSources; + if (resolvedSources.length) { + for (let i = 0; i < resolvedSources.length; i++) { + var _this$_inputMap$sourc; + (0, _genMapping.setSourceContent)(map, resolvedSources[i], (_this$_inputMap$sourc = this._inputMap.sourcesContent) == null ? void 0 : _this$_inputMap$sourc[i]); + } + } + } + if (typeof code === "string" && !opts.inputSourceMap) { + (0, _genMapping.setSourceContent)(map, this._sourceFileName, code); + } else if (typeof code === "object") { + for (const sourceFileName of Object.keys(code)) { + (0, _genMapping.setSourceContent)(map, sourceFileName.replace(/\\/g, "/"), code[sourceFileName]); + } + } + } + get() { + return (0, _genMapping.toEncodedMap)(this._map); + } + getDecoded() { + return (0, _genMapping.toDecodedMap)(this._map); + } + getRawMappings() { + return this._rawMappings || (this._rawMappings = (0, _genMapping.allMappings)(this._map)); + } + mark(generated, line2, column2, identifierName, identifierNamePos, filename) { + var _originalMapping; + this._rawMappings = void 0; + let originalMapping; + if (line2 != null) { + if (this._inputMap) { + originalMapping = (0, _traceMapping.originalPositionFor)(this._inputMap, { + line: line2, + column: column2 + }); + if (!originalMapping.name && identifierNamePos) { + const originalIdentifierMapping = (0, _traceMapping.originalPositionFor)(this._inputMap, identifierNamePos); + if (originalIdentifierMapping.name) { + identifierName = originalIdentifierMapping.name; + } + } + } else { + originalMapping = { + source: (filename == null ? void 0 : filename.replace(/\\/g, "/")) || this._sourceFileName, + line: line2, + column: column2 + }; + } + } + (0, _genMapping.maybeAddMapping)(this._map, { + name: identifierName, + generated, + source: (_originalMapping = originalMapping) == null ? void 0 : _originalMapping.source, + original: originalMapping + }); + } + }; + exports.default = SourceMap; + } +}); + +// node_modules/@babel/generator/lib/buffer.js +var require_buffer = __commonJS({ + "node_modules/@babel/generator/lib/buffer.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + var Buffer4 = class { + constructor(map) { + this._map = null; + this._buf = ""; + this._str = ""; + this._appendCount = 0; + this._last = 0; + this._queue = []; + this._queueCursor = 0; + this._canMarkIdName = true; + this._position = { + line: 1, + column: 0 + }; + this._sourcePosition = { + identifierName: void 0, + identifierNamePos: void 0, + line: void 0, + column: void 0, + filename: void 0 + }; + this._map = map; + this._allocQueue(); + } + _allocQueue() { + const queue2 = this._queue; + for (let i = 0; i < 16; i++) { + queue2.push({ + char: 0, + repeat: 1, + line: void 0, + column: void 0, + identifierName: void 0, + identifierNamePos: void 0, + filename: "" + }); + } + } + _pushQueue(char2, repeat, line2, column2, filename) { + const cursor2 = this._queueCursor; + if (cursor2 === this._queue.length) { + this._allocQueue(); + } + const item = this._queue[cursor2]; + item.char = char2; + item.repeat = repeat; + item.line = line2; + item.column = column2; + item.filename = filename; + this._queueCursor++; + } + _popQueue() { + if (this._queueCursor === 0) { + throw new Error("Cannot pop from empty queue"); + } + return this._queue[--this._queueCursor]; + } + get() { + this._flush(); + const map = this._map; + const result = { + code: (this._buf + this._str).trimRight(), + decodedMap: map == null ? void 0 : map.getDecoded(), + get __mergedMap() { + return this.map; + }, + get map() { + const resultMap = map ? map.get() : null; + result.map = resultMap; + return resultMap; + }, + set map(value) { + Object.defineProperty(result, "map", { + value, + writable: true + }); + }, + get rawMappings() { + const mappings = map == null ? void 0 : map.getRawMappings(); + result.rawMappings = mappings; + return mappings; + }, + set rawMappings(value) { + Object.defineProperty(result, "rawMappings", { + value, + writable: true + }); + } + }; + return result; + } + append(str, maybeNewline) { + this._flush(); + this._append(str, this._sourcePosition, maybeNewline); + } + appendChar(char2) { + this._flush(); + this._appendChar(char2, 1, this._sourcePosition); + } + queue(char2) { + if (char2 === 10) { + while (this._queueCursor !== 0) { + const char3 = this._queue[this._queueCursor - 1].char; + if (char3 !== 32 && char3 !== 9) { + break; + } + this._queueCursor--; + } + } + const sourcePosition = this._sourcePosition; + this._pushQueue(char2, 1, sourcePosition.line, sourcePosition.column, sourcePosition.filename); + } + queueIndentation(char2, repeat) { + this._pushQueue(char2, repeat, void 0, void 0, void 0); + } + _flush() { + const queueCursor = this._queueCursor; + const queue2 = this._queue; + for (let i = 0; i < queueCursor; i++) { + const item = queue2[i]; + this._appendChar(item.char, item.repeat, item); + } + this._queueCursor = 0; + } + _appendChar(char2, repeat, sourcePos) { + this._last = char2; + this._str += repeat > 1 ? String.fromCharCode(char2).repeat(repeat) : String.fromCharCode(char2); + if (char2 !== 10) { + this._mark(sourcePos.line, sourcePos.column, sourcePos.identifierName, sourcePos.identifierNamePos, sourcePos.filename); + this._position.column += repeat; + } else { + this._position.line++; + this._position.column = 0; + } + if (this._canMarkIdName) { + sourcePos.identifierName = void 0; + sourcePos.identifierNamePos = void 0; + } + } + _append(str, sourcePos, maybeNewline) { + const len = str.length; + const position2 = this._position; + this._last = str.charCodeAt(len - 1); + if (++this._appendCount > 4096) { + +this._str; + this._buf += this._str; + this._str = str; + this._appendCount = 0; + } else { + this._str += str; + } + if (!maybeNewline && !this._map) { + position2.column += len; + return; + } + const { + column: column2, + identifierName, + identifierNamePos, + filename + } = sourcePos; + let line2 = sourcePos.line; + if ((identifierName != null || identifierNamePos != null) && this._canMarkIdName) { + sourcePos.identifierName = void 0; + sourcePos.identifierNamePos = void 0; + } + let i = str.indexOf("\n"); + let last = 0; + if (i !== 0) { + this._mark(line2, column2, identifierName, identifierNamePos, filename); + } + while (i !== -1) { + position2.line++; + position2.column = 0; + last = i + 1; + if (last < len && line2 !== void 0) { + this._mark(++line2, 0, null, null, filename); + } + i = str.indexOf("\n", last); + } + position2.column += len - last; + } + _mark(line2, column2, identifierName, identifierNamePos, filename) { + var _this$_map; + (_this$_map = this._map) == null ? void 0 : _this$_map.mark(this._position, line2, column2, identifierName, identifierNamePos, filename); + } + removeTrailingNewline() { + const queueCursor = this._queueCursor; + if (queueCursor !== 0 && this._queue[queueCursor - 1].char === 10) { + this._queueCursor--; + } + } + removeLastSemicolon() { + const queueCursor = this._queueCursor; + if (queueCursor !== 0 && this._queue[queueCursor - 1].char === 59) { + this._queueCursor--; + } + } + getLastChar() { + const queueCursor = this._queueCursor; + return queueCursor !== 0 ? this._queue[queueCursor - 1].char : this._last; + } + getNewlineCount() { + const queueCursor = this._queueCursor; + let count = 0; + if (queueCursor === 0) + return this._last === 10 ? 1 : 0; + for (let i = queueCursor - 1; i >= 0; i--) { + if (this._queue[i].char !== 10) { + break; + } + count++; + } + return count === queueCursor && this._last === 10 ? count + 1 : count; + } + endsWithCharAndNewline() { + const queue2 = this._queue; + const queueCursor = this._queueCursor; + if (queueCursor !== 0) { + const lastCp = queue2[queueCursor - 1].char; + if (lastCp !== 10) + return; + if (queueCursor > 1) { + return queue2[queueCursor - 2].char; + } else { + return this._last; + } + } + } + hasContent() { + return this._queueCursor !== 0 || !!this._last; + } + exactSource(loc, cb) { + if (!this._map) + return cb(); + this.source("start", loc); + const identifierName = loc.identifierName; + const sourcePos = this._sourcePosition; + if (identifierName) { + this._canMarkIdName = false; + sourcePos.identifierName = identifierName; + } + cb(); + if (identifierName) { + this._canMarkIdName = true; + sourcePos.identifierName = void 0; + sourcePos.identifierNamePos = void 0; + } + this.source("end", loc); + } + source(prop, loc) { + if (!this._map) + return; + this._normalizePosition(prop, loc, 0, 0); + } + sourceWithOffset(prop, loc, lineOffset, columnOffset) { + if (!this._map) + return; + this._normalizePosition(prop, loc, lineOffset, columnOffset); + } + withSource(prop, loc, cb) { + if (!this._map) + return cb(); + this.source(prop, loc); + cb(); + } + _normalizePosition(prop, loc, lineOffset, columnOffset) { + const pos = loc[prop]; + const target = this._sourcePosition; + if (pos) { + target.line = pos.line + lineOffset; + target.column = pos.column + columnOffset; + target.filename = loc.filename; + } + } + getCurrentColumn() { + const queue2 = this._queue; + const queueCursor = this._queueCursor; + let lastIndex = -1; + let len = 0; + for (let i = 0; i < queueCursor; i++) { + const item = queue2[i]; + if (item.char === 10) { + lastIndex = len; + } + len += item.repeat; + } + return lastIndex === -1 ? this._position.column + len : len - 1 - lastIndex; + } + getCurrentLine() { + let count = 0; + const queue2 = this._queue; + for (let i = 0; i < this._queueCursor; i++) { + if (queue2[i].char === 10) { + count++; + } + } + return this._position.line + count; + } + }; + exports.default = Buffer4; + } +}); + +// node_modules/@babel/generator/lib/node/whitespace.js +var require_whitespace = __commonJS({ + "node_modules/@babel/generator/lib/node/whitespace.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.nodes = void 0; + var _t = require_lib3(); + var { + FLIPPED_ALIAS_KEYS, + isArrayExpression, + isAssignmentExpression, + isBinary, + isBlockStatement, + isCallExpression, + isFunction: isFunction2, + isIdentifier, + isLiteral, + isMemberExpression, + isObjectExpression, + isOptionalCallExpression, + isOptionalMemberExpression, + isStringLiteral + } = _t; + function crawlInternal(node2, state) { + if (!node2) + return state; + if (isMemberExpression(node2) || isOptionalMemberExpression(node2)) { + crawlInternal(node2.object, state); + if (node2.computed) + crawlInternal(node2.property, state); + } else if (isBinary(node2) || isAssignmentExpression(node2)) { + crawlInternal(node2.left, state); + crawlInternal(node2.right, state); + } else if (isCallExpression(node2) || isOptionalCallExpression(node2)) { + state.hasCall = true; + crawlInternal(node2.callee, state); + } else if (isFunction2(node2)) { + state.hasFunction = true; + } else if (isIdentifier(node2)) { + state.hasHelper = state.hasHelper || node2.callee && isHelper(node2.callee); + } + return state; + } + function crawl(node2) { + return crawlInternal(node2, { + hasCall: false, + hasFunction: false, + hasHelper: false + }); + } + function isHelper(node2) { + if (!node2) + return false; + if (isMemberExpression(node2)) { + return isHelper(node2.object) || isHelper(node2.property); + } else if (isIdentifier(node2)) { + return node2.name === "require" || node2.name.charCodeAt(0) === 95; + } else if (isCallExpression(node2)) { + return isHelper(node2.callee); + } else if (isBinary(node2) || isAssignmentExpression(node2)) { + return isIdentifier(node2.left) && isHelper(node2.left) || isHelper(node2.right); + } else { + return false; + } + } + function isType(node2) { + return isLiteral(node2) || isObjectExpression(node2) || isArrayExpression(node2) || isIdentifier(node2) || isMemberExpression(node2); + } + var nodes = { + AssignmentExpression(node2) { + const state = crawl(node2.right); + if (state.hasCall && state.hasHelper || state.hasFunction) { + return state.hasFunction ? 1 | 2 : 2; + } + }, + SwitchCase(node2, parent) { + return (!!node2.consequent.length || parent.cases[0] === node2 ? 1 : 0) | (!node2.consequent.length && parent.cases[parent.cases.length - 1] === node2 ? 2 : 0); + }, + LogicalExpression(node2) { + if (isFunction2(node2.left) || isFunction2(node2.right)) { + return 2; + } + }, + Literal(node2) { + if (isStringLiteral(node2) && node2.value === "use strict") { + return 2; + } + }, + CallExpression(node2) { + if (isFunction2(node2.callee) || isHelper(node2)) { + return 1 | 2; + } + }, + OptionalCallExpression(node2) { + if (isFunction2(node2.callee)) { + return 1 | 2; + } + }, + VariableDeclaration(node2) { + for (let i = 0; i < node2.declarations.length; i++) { + const declar = node2.declarations[i]; + let enabled = isHelper(declar.id) && !isType(declar.init); + if (!enabled && declar.init) { + const state = crawl(declar.init); + enabled = isHelper(declar.init) && state.hasCall || state.hasFunction; + } + if (enabled) { + return 1 | 2; + } + } + }, + IfStatement(node2) { + if (isBlockStatement(node2.consequent)) { + return 1 | 2; + } + } + }; + exports.nodes = nodes; + nodes.ObjectProperty = nodes.ObjectTypeProperty = nodes.ObjectMethod = function(node2, parent) { + if (parent.properties[0] === node2) { + return 1; + } + }; + nodes.ObjectTypeCallProperty = function(node2, parent) { + var _parent$properties; + if (parent.callProperties[0] === node2 && !((_parent$properties = parent.properties) != null && _parent$properties.length)) { + return 1; + } + }; + nodes.ObjectTypeIndexer = function(node2, parent) { + var _parent$properties2, _parent$callPropertie; + if (parent.indexers[0] === node2 && !((_parent$properties2 = parent.properties) != null && _parent$properties2.length) && !((_parent$callPropertie = parent.callProperties) != null && _parent$callPropertie.length)) { + return 1; + } + }; + nodes.ObjectTypeInternalSlot = function(node2, parent) { + var _parent$properties3, _parent$callPropertie2, _parent$indexers; + if (parent.internalSlots[0] === node2 && !((_parent$properties3 = parent.properties) != null && _parent$properties3.length) && !((_parent$callPropertie2 = parent.callProperties) != null && _parent$callPropertie2.length) && !((_parent$indexers = parent.indexers) != null && _parent$indexers.length)) { + return 1; + } + }; + [["Function", true], ["Class", true], ["Loop", true], ["LabeledStatement", true], ["SwitchStatement", true], ["TryStatement", true]].forEach(function([type, amounts]) { + [type].concat(FLIPPED_ALIAS_KEYS[type] || []).forEach(function(type2) { + const ret = amounts ? 1 | 2 : 0; + nodes[type2] = () => ret; + }); + }); + } +}); + +// node_modules/@babel/generator/lib/node/parentheses.js +var require_parentheses = __commonJS({ + "node_modules/@babel/generator/lib/node/parentheses.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.ArrowFunctionExpression = ArrowFunctionExpression; + exports.AssignmentExpression = AssignmentExpression; + exports.Binary = Binary; + exports.BinaryExpression = BinaryExpression; + exports.ClassExpression = ClassExpression; + exports.ConditionalExpression = ConditionalExpression; + exports.DoExpression = DoExpression; + exports.FunctionExpression = FunctionExpression; + exports.FunctionTypeAnnotation = FunctionTypeAnnotation; + exports.Identifier = Identifier; + exports.LogicalExpression = LogicalExpression; + exports.NullableTypeAnnotation = NullableTypeAnnotation; + exports.ObjectExpression = ObjectExpression; + exports.OptionalIndexedAccessType = OptionalIndexedAccessType; + exports.OptionalCallExpression = exports.OptionalMemberExpression = OptionalMemberExpression; + exports.SequenceExpression = SequenceExpression; + exports.TSTypeAssertion = exports.TSSatisfiesExpression = exports.TSAsExpression = TSAsExpression; + exports.TSInferType = TSInferType; + exports.TSInstantiationExpression = TSInstantiationExpression; + exports.TSIntersectionType = exports.TSUnionType = TSUnionType; + exports.UnaryLike = UnaryLike; + exports.IntersectionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation; + exports.UpdateExpression = UpdateExpression; + exports.AwaitExpression = exports.YieldExpression = YieldExpression; + var _t = require_lib3(); + var { + isArrayTypeAnnotation, + isArrowFunctionExpression, + isAssignmentExpression, + isAwaitExpression, + isBinary, + isBinaryExpression, + isUpdateExpression, + isCallExpression, + isClass, + isClassExpression, + isConditional, + isConditionalExpression, + isExportDeclaration, + isExportDefaultDeclaration, + isExpressionStatement, + isFor, + isForInStatement, + isForOfStatement, + isForStatement, + isFunctionExpression, + isIfStatement, + isIndexedAccessType, + isIntersectionTypeAnnotation, + isLogicalExpression, + isMemberExpression, + isNewExpression, + isNullableTypeAnnotation, + isObjectPattern, + isOptionalCallExpression, + isOptionalMemberExpression, + isReturnStatement, + isSequenceExpression, + isSwitchStatement, + isTSArrayType, + isTSAsExpression, + isTSInstantiationExpression, + isTSIntersectionType, + isTSNonNullExpression, + isTSOptionalType, + isTSRestType, + isTSTypeAssertion, + isTSUnionType, + isTaggedTemplateExpression, + isThrowStatement, + isTypeAnnotation, + isUnaryLike, + isUnionTypeAnnotation, + isVariableDeclarator, + isWhileStatement, + isYieldExpression, + isTSSatisfiesExpression + } = _t; + var PRECEDENCE = { + "||": 0, + "??": 0, + "|>": 0, + "&&": 1, + "|": 2, + "^": 3, + "&": 4, + "==": 5, + "===": 5, + "!=": 5, + "!==": 5, + "<": 6, + ">": 6, + "<=": 6, + ">=": 6, + in: 6, + instanceof: 6, + ">>": 7, + "<<": 7, + ">>>": 7, + "+": 8, + "-": 8, + "*": 9, + "/": 9, + "%": 9, + "**": 10 + }; + function isTSTypeExpression(node2) { + return isTSAsExpression(node2) || isTSSatisfiesExpression(node2) || isTSTypeAssertion(node2); + } + var isClassExtendsClause = (node2, parent) => isClass(parent, { + superClass: node2 + }); + var hasPostfixPart = (node2, parent) => (isMemberExpression(parent) || isOptionalMemberExpression(parent)) && parent.object === node2 || (isCallExpression(parent) || isOptionalCallExpression(parent) || isNewExpression(parent)) && parent.callee === node2 || isTaggedTemplateExpression(parent) && parent.tag === node2 || isTSNonNullExpression(parent); + function NullableTypeAnnotation(node2, parent) { + return isArrayTypeAnnotation(parent); + } + function FunctionTypeAnnotation(node2, parent, printStack) { + if (printStack.length < 3) + return; + return isUnionTypeAnnotation(parent) || isIntersectionTypeAnnotation(parent) || isArrayTypeAnnotation(parent) || isTypeAnnotation(parent) && isArrowFunctionExpression(printStack[printStack.length - 3]); + } + function UpdateExpression(node2, parent) { + return hasPostfixPart(node2, parent) || isClassExtendsClause(node2, parent); + } + function ObjectExpression(node2, parent, printStack) { + return isFirstInContext(printStack, 1 | 2); + } + function DoExpression(node2, parent, printStack) { + return !node2.async && isFirstInContext(printStack, 1); + } + function Binary(node2, parent) { + if (node2.operator === "**" && isBinaryExpression(parent, { + operator: "**" + })) { + return parent.left === node2; + } + if (isClassExtendsClause(node2, parent)) { + return true; + } + if (hasPostfixPart(node2, parent) || isUnaryLike(parent) || isAwaitExpression(parent)) { + return true; + } + if (isBinary(parent)) { + const parentOp = parent.operator; + const parentPos = PRECEDENCE[parentOp]; + const nodeOp = node2.operator; + const nodePos = PRECEDENCE[nodeOp]; + if (parentPos === nodePos && parent.right === node2 && !isLogicalExpression(parent) || parentPos > nodePos) { + return true; + } + } + } + function UnionTypeAnnotation(node2, parent) { + return isArrayTypeAnnotation(parent) || isNullableTypeAnnotation(parent) || isIntersectionTypeAnnotation(parent) || isUnionTypeAnnotation(parent); + } + function OptionalIndexedAccessType(node2, parent) { + return isIndexedAccessType(parent, { + objectType: node2 + }); + } + function TSAsExpression() { + return true; + } + function TSUnionType(node2, parent) { + return isTSArrayType(parent) || isTSOptionalType(parent) || isTSIntersectionType(parent) || isTSUnionType(parent) || isTSRestType(parent); + } + function TSInferType(node2, parent) { + return isTSArrayType(parent) || isTSOptionalType(parent); + } + function TSInstantiationExpression(node2, parent) { + return (isCallExpression(parent) || isOptionalCallExpression(parent) || isNewExpression(parent) || isTSInstantiationExpression(parent)) && !!parent.typeParameters; + } + function BinaryExpression(node2, parent) { + return node2.operator === "in" && (isVariableDeclarator(parent) || isFor(parent)); + } + function SequenceExpression(node2, parent) { + if (isForStatement(parent) || isThrowStatement(parent) || isReturnStatement(parent) || isIfStatement(parent) && parent.test === node2 || isWhileStatement(parent) && parent.test === node2 || isForInStatement(parent) && parent.right === node2 || isSwitchStatement(parent) && parent.discriminant === node2 || isExpressionStatement(parent) && parent.expression === node2) { + return false; + } + return true; + } + function YieldExpression(node2, parent) { + return isBinary(parent) || isUnaryLike(parent) || hasPostfixPart(node2, parent) || isAwaitExpression(parent) && isYieldExpression(node2) || isConditionalExpression(parent) && node2 === parent.test || isClassExtendsClause(node2, parent); + } + function ClassExpression(node2, parent, printStack) { + return isFirstInContext(printStack, 1 | 4); + } + function UnaryLike(node2, parent) { + return hasPostfixPart(node2, parent) || isBinaryExpression(parent, { + operator: "**", + left: node2 + }) || isClassExtendsClause(node2, parent); + } + function FunctionExpression(node2, parent, printStack) { + return isFirstInContext(printStack, 1 | 4); + } + function ArrowFunctionExpression(node2, parent) { + return isExportDeclaration(parent) || ConditionalExpression(node2, parent); + } + function ConditionalExpression(node2, parent) { + if (isUnaryLike(parent) || isBinary(parent) || isConditionalExpression(parent, { + test: node2 + }) || isAwaitExpression(parent) || isTSTypeExpression(parent)) { + return true; + } + return UnaryLike(node2, parent); + } + function OptionalMemberExpression(node2, parent) { + return isCallExpression(parent, { + callee: node2 + }) || isMemberExpression(parent, { + object: node2 + }); + } + function AssignmentExpression(node2, parent) { + if (isObjectPattern(node2.left)) { + return true; + } else { + return ConditionalExpression(node2, parent); + } + } + function LogicalExpression(node2, parent) { + if (isTSTypeExpression(parent)) + return true; + switch (node2.operator) { + case "||": + if (!isLogicalExpression(parent)) + return false; + return parent.operator === "??" || parent.operator === "&&"; + case "&&": + return isLogicalExpression(parent, { + operator: "??" + }); + case "??": + return isLogicalExpression(parent) && parent.operator !== "??"; + } + } + function Identifier(node2, parent, printStack) { + var _node$extra; + if ((_node$extra = node2.extra) != null && _node$extra.parenthesized && isAssignmentExpression(parent, { + left: node2 + }) && (isFunctionExpression(parent.right) || isClassExpression(parent.right)) && parent.right.id == null) { + return true; + } + if (node2.name === "let") { + const isFollowedByBracket = isMemberExpression(parent, { + object: node2, + computed: true + }) || isOptionalMemberExpression(parent, { + object: node2, + computed: true, + optional: false + }); + return isFirstInContext(printStack, isFollowedByBracket ? 1 | 8 | 16 | 32 : 32); + } + return node2.name === "async" && isForOfStatement(parent) && node2 === parent.left; + } + function isFirstInContext(printStack, checkParam) { + const expressionStatement = checkParam & 1; + const arrowBody = checkParam & 2; + const exportDefault = checkParam & 4; + const forHead = checkParam & 8; + const forInHead = checkParam & 16; + const forOfHead = checkParam & 32; + let i = printStack.length - 1; + if (i <= 0) + return; + let node2 = printStack[i]; + i--; + let parent = printStack[i]; + while (i >= 0) { + if (expressionStatement && isExpressionStatement(parent, { + expression: node2 + }) || exportDefault && isExportDefaultDeclaration(parent, { + declaration: node2 + }) || arrowBody && isArrowFunctionExpression(parent, { + body: node2 + }) || forHead && isForStatement(parent, { + init: node2 + }) || forInHead && isForInStatement(parent, { + left: node2 + }) || forOfHead && isForOfStatement(parent, { + left: node2 + })) { + return true; + } + if (i > 0 && (hasPostfixPart(node2, parent) && !isNewExpression(parent) || isSequenceExpression(parent) && parent.expressions[0] === node2 || isUpdateExpression(parent) && !parent.prefix || isConditional(parent, { + test: node2 + }) || isBinary(parent, { + left: node2 + }) || isAssignmentExpression(parent, { + left: node2 + }))) { + node2 = parent; + i--; + parent = printStack[i]; + } else { + return false; + } + } + return false; + } + } +}); + +// node_modules/@babel/generator/lib/node/index.js +var require_node = __commonJS({ + "node_modules/@babel/generator/lib/node/index.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.needsParens = needsParens; + exports.needsWhitespace = needsWhitespace; + exports.needsWhitespaceAfter = needsWhitespaceAfter; + exports.needsWhitespaceBefore = needsWhitespaceBefore; + var whitespace2 = require_whitespace(); + var parens = require_parentheses(); + var _t = require_lib3(); + var { + FLIPPED_ALIAS_KEYS, + isCallExpression, + isExpressionStatement, + isMemberExpression, + isNewExpression + } = _t; + function expandAliases(obj) { + const newObj = {}; + function add(type, func) { + const fn = newObj[type]; + newObj[type] = fn ? function(node2, parent, stack) { + const result = fn(node2, parent, stack); + return result == null ? func(node2, parent, stack) : result; + } : func; + } + for (const type of Object.keys(obj)) { + const aliases = FLIPPED_ALIAS_KEYS[type]; + if (aliases) { + for (const alias of aliases) { + add(alias, obj[type]); + } + } else { + add(type, obj[type]); + } + } + return newObj; + } + var expandedParens = expandAliases(parens); + var expandedWhitespaceNodes = expandAliases(whitespace2.nodes); + function find(obj, node2, parent, printStack) { + const fn = obj[node2.type]; + return fn ? fn(node2, parent, printStack) : null; + } + function isOrHasCallExpression(node2) { + if (isCallExpression(node2)) { + return true; + } + return isMemberExpression(node2) && isOrHasCallExpression(node2.object); + } + function needsWhitespace(node2, parent, type) { + if (!node2) + return false; + if (isExpressionStatement(node2)) { + node2 = node2.expression; + } + const flag = find(expandedWhitespaceNodes, node2, parent); + if (typeof flag === "number") { + return (flag & type) !== 0; + } + return false; + } + function needsWhitespaceBefore(node2, parent) { + return needsWhitespace(node2, parent, 1); + } + function needsWhitespaceAfter(node2, parent) { + return needsWhitespace(node2, parent, 2); + } + function needsParens(node2, parent, printStack) { + if (!parent) + return false; + if (isNewExpression(parent) && parent.callee === node2) { + if (isOrHasCallExpression(node2)) + return true; + } + return find(expandedParens, node2, parent, printStack); + } + } +}); + +// node_modules/@babel/generator/lib/generators/template-literals.js +var require_template_literals = __commonJS({ + "node_modules/@babel/generator/lib/generators/template-literals.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.TaggedTemplateExpression = TaggedTemplateExpression; + exports.TemplateElement = TemplateElement; + exports.TemplateLiteral = TemplateLiteral; + function TaggedTemplateExpression(node2) { + this.print(node2.tag, node2); + this.print(node2.typeParameters, node2); + this.print(node2.quasi, node2); + } + function TemplateElement(node2, parent) { + const isFirst = parent.quasis[0] === node2; + const isLast = parent.quasis[parent.quasis.length - 1] === node2; + const value = (isFirst ? "`" : "}") + node2.value.raw + (isLast ? "`" : "${"); + this.token(value, true); + } + function TemplateLiteral(node2) { + const quasis = node2.quasis; + for (let i = 0; i < quasis.length; i++) { + this.print(quasis[i], node2); + if (i + 1 < quasis.length) { + this.print(node2.expressions[i], node2); + } + } + } + } +}); + +// node_modules/@babel/generator/lib/generators/expressions.js +var require_expressions = __commonJS({ + "node_modules/@babel/generator/lib/generators/expressions.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.LogicalExpression = exports.BinaryExpression = exports.AssignmentExpression = AssignmentExpression; + exports.AssignmentPattern = AssignmentPattern; + exports.AwaitExpression = AwaitExpression; + exports.BindExpression = BindExpression; + exports.CallExpression = CallExpression; + exports.ConditionalExpression = ConditionalExpression; + exports.Decorator = Decorator; + exports.DoExpression = DoExpression; + exports.EmptyStatement = EmptyStatement; + exports.ExpressionStatement = ExpressionStatement; + exports.Import = Import; + exports.MemberExpression = MemberExpression; + exports.MetaProperty = MetaProperty; + exports.ModuleExpression = ModuleExpression; + exports.NewExpression = NewExpression; + exports.OptionalCallExpression = OptionalCallExpression; + exports.OptionalMemberExpression = OptionalMemberExpression; + exports.ParenthesizedExpression = ParenthesizedExpression; + exports.PrivateName = PrivateName; + exports.SequenceExpression = SequenceExpression; + exports.Super = Super; + exports.ThisExpression = ThisExpression; + exports.UnaryExpression = UnaryExpression; + exports.UpdateExpression = UpdateExpression; + exports.V8IntrinsicIdentifier = V8IntrinsicIdentifier; + exports.YieldExpression = YieldExpression; + exports._shouldPrintDecoratorsBeforeExport = _shouldPrintDecoratorsBeforeExport; + var _t = require_lib3(); + var n = require_node(); + var { + isCallExpression, + isLiteral, + isMemberExpression, + isNewExpression + } = _t; + function UnaryExpression(node2) { + if (node2.operator === "void" || node2.operator === "delete" || node2.operator === "typeof" || node2.operator === "throw") { + this.word(node2.operator); + this.space(); + } else { + this.token(node2.operator); + } + this.print(node2.argument, node2); + } + function DoExpression(node2) { + if (node2.async) { + this.word("async", true); + this.space(); + } + this.word("do"); + this.space(); + this.print(node2.body, node2); + } + function ParenthesizedExpression(node2) { + this.tokenChar(40); + this.print(node2.expression, node2); + this.tokenChar(41); + } + function UpdateExpression(node2) { + if (node2.prefix) { + this.token(node2.operator); + this.print(node2.argument, node2); + } else { + this.printTerminatorless(node2.argument, node2, true); + this.token(node2.operator); + } + } + function ConditionalExpression(node2) { + this.print(node2.test, node2); + this.space(); + this.tokenChar(63); + this.space(); + this.print(node2.consequent, node2); + this.space(); + this.tokenChar(58); + this.space(); + this.print(node2.alternate, node2); + } + function NewExpression(node2, parent) { + this.word("new"); + this.space(); + this.print(node2.callee, node2); + if (this.format.minified && node2.arguments.length === 0 && !node2.optional && !isCallExpression(parent, { + callee: node2 + }) && !isMemberExpression(parent) && !isNewExpression(parent)) { + return; + } + this.print(node2.typeArguments, node2); + this.print(node2.typeParameters, node2); + if (node2.optional) { + this.token("?."); + } + this.tokenChar(40); + this.printList(node2.arguments, node2); + this.tokenChar(41); + } + function SequenceExpression(node2) { + this.printList(node2.expressions, node2); + } + function ThisExpression() { + this.word("this"); + } + function Super() { + this.word("super"); + } + function isDecoratorMemberExpression(node2) { + switch (node2.type) { + case "Identifier": + return true; + case "MemberExpression": + return !node2.computed && node2.property.type === "Identifier" && isDecoratorMemberExpression(node2.object); + default: + return false; + } + } + function shouldParenthesizeDecoratorExpression(node2) { + if (node2.type === "ParenthesizedExpression") { + return false; + } + return !isDecoratorMemberExpression(node2.type === "CallExpression" ? node2.callee : node2); + } + function _shouldPrintDecoratorsBeforeExport(node2) { + if (typeof this.format.decoratorsBeforeExport === "boolean") { + return this.format.decoratorsBeforeExport; + } + return typeof node2.start === "number" && node2.start === node2.declaration.start; + } + function Decorator(node2) { + this.tokenChar(64); + const { + expression + } = node2; + if (shouldParenthesizeDecoratorExpression(expression)) { + this.tokenChar(40); + this.print(expression, node2); + this.tokenChar(41); + } else { + this.print(expression, node2); + } + this.newline(); + } + function OptionalMemberExpression(node2) { + this.print(node2.object, node2); + if (!node2.computed && isMemberExpression(node2.property)) { + throw new TypeError("Got a MemberExpression for MemberExpression property"); + } + let computed = node2.computed; + if (isLiteral(node2.property) && typeof node2.property.value === "number") { + computed = true; + } + if (node2.optional) { + this.token("?."); + } + if (computed) { + this.tokenChar(91); + this.print(node2.property, node2); + this.tokenChar(93); + } else { + if (!node2.optional) { + this.tokenChar(46); + } + this.print(node2.property, node2); + } + } + function OptionalCallExpression(node2) { + this.print(node2.callee, node2); + this.print(node2.typeParameters, node2); + if (node2.optional) { + this.token("?."); + } + this.print(node2.typeArguments, node2); + this.tokenChar(40); + this.printList(node2.arguments, node2); + this.tokenChar(41); + } + function CallExpression(node2) { + this.print(node2.callee, node2); + this.print(node2.typeArguments, node2); + this.print(node2.typeParameters, node2); + this.tokenChar(40); + this.printList(node2.arguments, node2); + this.tokenChar(41); + } + function Import() { + this.word("import"); + } + function AwaitExpression(node2) { + this.word("await"); + if (node2.argument) { + this.space(); + this.printTerminatorless(node2.argument, node2, false); + } + } + function YieldExpression(node2) { + this.word("yield", true); + if (node2.delegate) { + this.tokenChar(42); + if (node2.argument) { + this.space(); + this.print(node2.argument, node2); + } + } else { + if (node2.argument) { + this.space(); + this.printTerminatorless(node2.argument, node2, false); + } + } + } + function EmptyStatement() { + this.semicolon(true); + } + function ExpressionStatement(node2) { + this.print(node2.expression, node2); + this.semicolon(); + } + function AssignmentPattern(node2) { + this.print(node2.left, node2); + if (node2.left.optional) + this.tokenChar(63); + this.print(node2.left.typeAnnotation, node2); + this.space(); + this.tokenChar(61); + this.space(); + this.print(node2.right, node2); + } + function AssignmentExpression(node2, parent) { + const parens = this.inForStatementInitCounter && node2.operator === "in" && !n.needsParens(node2, parent); + if (parens) { + this.tokenChar(40); + } + this.print(node2.left, node2); + this.space(); + if (node2.operator === "in" || node2.operator === "instanceof") { + this.word(node2.operator); + } else { + this.token(node2.operator); + } + this.space(); + this.print(node2.right, node2); + if (parens) { + this.tokenChar(41); + } + } + function BindExpression(node2) { + this.print(node2.object, node2); + this.token("::"); + this.print(node2.callee, node2); + } + function MemberExpression(node2) { + this.print(node2.object, node2); + if (!node2.computed && isMemberExpression(node2.property)) { + throw new TypeError("Got a MemberExpression for MemberExpression property"); + } + let computed = node2.computed; + if (isLiteral(node2.property) && typeof node2.property.value === "number") { + computed = true; + } + if (computed) { + this.tokenChar(91); + this.print(node2.property, node2); + this.tokenChar(93); + } else { + this.tokenChar(46); + this.print(node2.property, node2); + } + } + function MetaProperty(node2) { + this.print(node2.meta, node2); + this.tokenChar(46); + this.print(node2.property, node2); + } + function PrivateName(node2) { + this.tokenChar(35); + this.print(node2.id, node2); + } + function V8IntrinsicIdentifier(node2) { + this.tokenChar(37); + this.word(node2.name); + } + function ModuleExpression(node2) { + this.word("module", true); + this.space(); + this.tokenChar(123); + this.indent(); + const { + body + } = node2; + if (body.body.length || body.directives.length) { + this.newline(); + } + this.print(body, node2); + this.dedent(); + this.sourceWithOffset("end", node2.loc, 0, -1); + this.rightBrace(); + } + } +}); + +// node_modules/@babel/generator/lib/generators/statements.js +var require_statements = __commonJS({ + "node_modules/@babel/generator/lib/generators/statements.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.BreakStatement = BreakStatement; + exports.CatchClause = CatchClause; + exports.ContinueStatement = ContinueStatement; + exports.DebuggerStatement = DebuggerStatement; + exports.DoWhileStatement = DoWhileStatement; + exports.ForOfStatement = exports.ForInStatement = void 0; + exports.ForStatement = ForStatement; + exports.IfStatement = IfStatement; + exports.LabeledStatement = LabeledStatement; + exports.ReturnStatement = ReturnStatement; + exports.SwitchCase = SwitchCase; + exports.SwitchStatement = SwitchStatement; + exports.ThrowStatement = ThrowStatement; + exports.TryStatement = TryStatement; + exports.VariableDeclaration = VariableDeclaration; + exports.VariableDeclarator = VariableDeclarator; + exports.WhileStatement = WhileStatement; + exports.WithStatement = WithStatement; + var _t = require_lib3(); + var { + isFor, + isForStatement, + isIfStatement, + isStatement + } = _t; + function WithStatement(node2) { + this.word("with"); + this.space(); + this.tokenChar(40); + this.print(node2.object, node2); + this.tokenChar(41); + this.printBlock(node2); + } + function IfStatement(node2) { + this.word("if"); + this.space(); + this.tokenChar(40); + this.print(node2.test, node2); + this.tokenChar(41); + this.space(); + const needsBlock = node2.alternate && isIfStatement(getLastStatement(node2.consequent)); + if (needsBlock) { + this.tokenChar(123); + this.newline(); + this.indent(); + } + this.printAndIndentOnComments(node2.consequent, node2); + if (needsBlock) { + this.dedent(); + this.newline(); + this.tokenChar(125); + } + if (node2.alternate) { + if (this.endsWith(125)) + this.space(); + this.word("else"); + this.space(); + this.printAndIndentOnComments(node2.alternate, node2); + } + } + function getLastStatement(statement) { + const { + body + } = statement; + if (isStatement(body) === false) { + return statement; + } + return getLastStatement(body); + } + function ForStatement(node2) { + this.word("for"); + this.space(); + this.tokenChar(40); + this.inForStatementInitCounter++; + this.print(node2.init, node2); + this.inForStatementInitCounter--; + this.tokenChar(59); + if (node2.test) { + this.space(); + this.print(node2.test, node2); + } + this.tokenChar(59); + if (node2.update) { + this.space(); + this.print(node2.update, node2); + } + this.tokenChar(41); + this.printBlock(node2); + } + function WhileStatement(node2) { + this.word("while"); + this.space(); + this.tokenChar(40); + this.print(node2.test, node2); + this.tokenChar(41); + this.printBlock(node2); + } + function ForXStatement(node2) { + this.word("for"); + this.space(); + const isForOf = node2.type === "ForOfStatement"; + if (isForOf && node2.await) { + this.word("await"); + this.space(); + } + this.noIndentInnerCommentsHere(); + this.tokenChar(40); + this.print(node2.left, node2); + this.space(); + this.word(isForOf ? "of" : "in"); + this.space(); + this.print(node2.right, node2); + this.tokenChar(41); + this.printBlock(node2); + } + var ForInStatement = ForXStatement; + exports.ForInStatement = ForInStatement; + var ForOfStatement = ForXStatement; + exports.ForOfStatement = ForOfStatement; + function DoWhileStatement(node2) { + this.word("do"); + this.space(); + this.print(node2.body, node2); + this.space(); + this.word("while"); + this.space(); + this.tokenChar(40); + this.print(node2.test, node2); + this.tokenChar(41); + this.semicolon(); + } + function printStatementAfterKeyword(printer, node2, parent, isLabel) { + if (node2) { + printer.space(); + printer.printTerminatorless(node2, parent, isLabel); + } + printer.semicolon(); + } + function BreakStatement(node2) { + this.word("break"); + printStatementAfterKeyword(this, node2.label, node2, true); + } + function ContinueStatement(node2) { + this.word("continue"); + printStatementAfterKeyword(this, node2.label, node2, true); + } + function ReturnStatement(node2) { + this.word("return"); + printStatementAfterKeyword(this, node2.argument, node2, false); + } + function ThrowStatement(node2) { + this.word("throw"); + printStatementAfterKeyword(this, node2.argument, node2, false); + } + function LabeledStatement(node2) { + this.print(node2.label, node2); + this.tokenChar(58); + this.space(); + this.print(node2.body, node2); + } + function TryStatement(node2) { + this.word("try"); + this.space(); + this.print(node2.block, node2); + this.space(); + if (node2.handlers) { + this.print(node2.handlers[0], node2); + } else { + this.print(node2.handler, node2); + } + if (node2.finalizer) { + this.space(); + this.word("finally"); + this.space(); + this.print(node2.finalizer, node2); + } + } + function CatchClause(node2) { + this.word("catch"); + this.space(); + if (node2.param) { + this.tokenChar(40); + this.print(node2.param, node2); + this.print(node2.param.typeAnnotation, node2); + this.tokenChar(41); + this.space(); + } + this.print(node2.body, node2); + } + function SwitchStatement(node2) { + this.word("switch"); + this.space(); + this.tokenChar(40); + this.print(node2.discriminant, node2); + this.tokenChar(41); + this.space(); + this.tokenChar(123); + this.printSequence(node2.cases, node2, { + indent: true, + addNewlines(leading, cas) { + if (!leading && node2.cases[node2.cases.length - 1] === cas) + return -1; + } + }); + this.tokenChar(125); + } + function SwitchCase(node2) { + if (node2.test) { + this.word("case"); + this.space(); + this.print(node2.test, node2); + this.tokenChar(58); + } else { + this.word("default"); + this.tokenChar(58); + } + if (node2.consequent.length) { + this.newline(); + this.printSequence(node2.consequent, node2, { + indent: true + }); + } + } + function DebuggerStatement() { + this.word("debugger"); + this.semicolon(); + } + function VariableDeclaration(node2, parent) { + if (node2.declare) { + this.word("declare"); + this.space(); + } + const { + kind + } = node2; + this.word(kind, kind === "using"); + this.space(); + let hasInits = false; + if (!isFor(parent)) { + for (const declar of node2.declarations) { + if (declar.init) { + hasInits = true; + } + } + } + this.printList(node2.declarations, node2, { + separator: hasInits ? function() { + this.tokenChar(44); + this.newline(); + } : void 0, + indent: node2.declarations.length > 1 ? true : false + }); + if (isFor(parent)) { + if (isForStatement(parent)) { + if (parent.init === node2) + return; + } else { + if (parent.left === node2) + return; + } + } + this.semicolon(); + } + function VariableDeclarator(node2) { + this.print(node2.id, node2); + if (node2.definite) + this.tokenChar(33); + this.print(node2.id.typeAnnotation, node2); + if (node2.init) { + this.space(); + this.tokenChar(61); + this.space(); + this.print(node2.init, node2); + } + } + } +}); + +// node_modules/@babel/generator/lib/generators/classes.js +var require_classes = __commonJS({ + "node_modules/@babel/generator/lib/generators/classes.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.ClassAccessorProperty = ClassAccessorProperty; + exports.ClassBody = ClassBody; + exports.ClassExpression = exports.ClassDeclaration = ClassDeclaration; + exports.ClassMethod = ClassMethod; + exports.ClassPrivateMethod = ClassPrivateMethod; + exports.ClassPrivateProperty = ClassPrivateProperty; + exports.ClassProperty = ClassProperty; + exports.StaticBlock = StaticBlock; + exports._classMethodHead = _classMethodHead; + var _t = require_lib3(); + var { + isExportDefaultDeclaration, + isExportNamedDeclaration + } = _t; + function ClassDeclaration(node2, parent) { + const inExport = isExportDefaultDeclaration(parent) || isExportNamedDeclaration(parent); + if (!inExport || !this._shouldPrintDecoratorsBeforeExport(parent)) { + this.printJoin(node2.decorators, node2); + } + if (node2.declare) { + this.word("declare"); + this.space(); + } + if (node2.abstract) { + this.word("abstract"); + this.space(); + } + this.word("class"); + if (node2.id) { + this.space(); + this.print(node2.id, node2); + } + this.print(node2.typeParameters, node2); + if (node2.superClass) { + this.space(); + this.word("extends"); + this.space(); + this.print(node2.superClass, node2); + this.print(node2.superTypeParameters, node2); + } + if (node2.implements) { + this.space(); + this.word("implements"); + this.space(); + this.printList(node2.implements, node2); + } + this.space(); + this.print(node2.body, node2); + } + function ClassBody(node2) { + this.tokenChar(123); + if (node2.body.length === 0) { + this.tokenChar(125); + } else { + this.newline(); + this.indent(); + this.printSequence(node2.body, node2); + this.dedent(); + if (!this.endsWith(10)) + this.newline(); + this.sourceWithOffset("end", node2.loc, 0, -1); + this.rightBrace(); + } + } + function ClassProperty(node2) { + var _node$key$loc, _node$key$loc$end; + this.printJoin(node2.decorators, node2); + const endLine = (_node$key$loc = node2.key.loc) == null ? void 0 : (_node$key$loc$end = _node$key$loc.end) == null ? void 0 : _node$key$loc$end.line; + if (endLine) + this.catchUp(endLine); + this.tsPrintClassMemberModifiers(node2); + if (node2.computed) { + this.tokenChar(91); + this.print(node2.key, node2); + this.tokenChar(93); + } else { + this._variance(node2); + this.print(node2.key, node2); + } + if (node2.optional) { + this.tokenChar(63); + } + if (node2.definite) { + this.tokenChar(33); + } + this.print(node2.typeAnnotation, node2); + if (node2.value) { + this.space(); + this.tokenChar(61); + this.space(); + this.print(node2.value, node2); + } + this.semicolon(); + } + function ClassAccessorProperty(node2) { + var _node$key$loc2, _node$key$loc2$end; + this.printJoin(node2.decorators, node2); + const endLine = (_node$key$loc2 = node2.key.loc) == null ? void 0 : (_node$key$loc2$end = _node$key$loc2.end) == null ? void 0 : _node$key$loc2$end.line; + if (endLine) + this.catchUp(endLine); + this.tsPrintClassMemberModifiers(node2); + this.word("accessor", true); + this.space(); + if (node2.computed) { + this.tokenChar(91); + this.print(node2.key, node2); + this.tokenChar(93); + } else { + this._variance(node2); + this.print(node2.key, node2); + } + if (node2.optional) { + this.tokenChar(63); + } + if (node2.definite) { + this.tokenChar(33); + } + this.print(node2.typeAnnotation, node2); + if (node2.value) { + this.space(); + this.tokenChar(61); + this.space(); + this.print(node2.value, node2); + } + this.semicolon(); + } + function ClassPrivateProperty(node2) { + this.printJoin(node2.decorators, node2); + if (node2.static) { + this.word("static"); + this.space(); + } + this.print(node2.key, node2); + this.print(node2.typeAnnotation, node2); + if (node2.value) { + this.space(); + this.tokenChar(61); + this.space(); + this.print(node2.value, node2); + } + this.semicolon(); + } + function ClassMethod(node2) { + this._classMethodHead(node2); + this.space(); + this.print(node2.body, node2); + } + function ClassPrivateMethod(node2) { + this._classMethodHead(node2); + this.space(); + this.print(node2.body, node2); + } + function _classMethodHead(node2) { + var _node$key$loc3, _node$key$loc3$end; + this.printJoin(node2.decorators, node2); + const endLine = (_node$key$loc3 = node2.key.loc) == null ? void 0 : (_node$key$loc3$end = _node$key$loc3.end) == null ? void 0 : _node$key$loc3$end.line; + if (endLine) + this.catchUp(endLine); + this.tsPrintClassMemberModifiers(node2); + this._methodHead(node2); + } + function StaticBlock(node2) { + this.word("static"); + this.space(); + this.tokenChar(123); + if (node2.body.length === 0) { + this.tokenChar(125); + } else { + this.newline(); + this.printSequence(node2.body, node2, { + indent: true + }); + this.sourceWithOffset("end", node2.loc, 0, -1); + this.rightBrace(); + } + } + } +}); + +// node_modules/@babel/generator/lib/generators/methods.js +var require_methods = __commonJS({ + "node_modules/@babel/generator/lib/generators/methods.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.ArrowFunctionExpression = ArrowFunctionExpression; + exports.FunctionDeclaration = exports.FunctionExpression = FunctionExpression; + exports._functionHead = _functionHead; + exports._methodHead = _methodHead; + exports._param = _param; + exports._parameters = _parameters; + exports._params = _params; + exports._predicate = _predicate; + var _t = require_lib3(); + var { + isIdentifier + } = _t; + function _params(node2, idNode, parentNode) { + this.print(node2.typeParameters, node2); + const nameInfo = _getFuncIdName.call(this, idNode, parentNode); + if (nameInfo) { + this.sourceIdentifierName(nameInfo.name, nameInfo.pos); + } + this.tokenChar(40); + this._parameters(node2.params, node2); + this.tokenChar(41); + const noLineTerminator = node2.type === "ArrowFunctionExpression"; + this.print(node2.returnType, node2, noLineTerminator); + this._noLineTerminator = noLineTerminator; + } + function _parameters(parameters, parent) { + const paramLength = parameters.length; + for (let i = 0; i < paramLength; i++) { + this._param(parameters[i], parent); + if (i < parameters.length - 1) { + this.tokenChar(44); + this.space(); + } + } + } + function _param(parameter, parent) { + this.printJoin(parameter.decorators, parameter); + this.print(parameter, parent); + if (parameter.optional) { + this.tokenChar(63); + } + this.print(parameter.typeAnnotation, parameter); + } + function _methodHead(node2) { + const kind = node2.kind; + const key = node2.key; + if (kind === "get" || kind === "set") { + this.word(kind); + this.space(); + } + if (node2.async) { + this.word("async", true); + this.space(); + } + if (kind === "method" || kind === "init") { + if (node2.generator) { + this.tokenChar(42); + } + } + if (node2.computed) { + this.tokenChar(91); + this.print(key, node2); + this.tokenChar(93); + } else { + this.print(key, node2); + } + if (node2.optional) { + this.tokenChar(63); + } + this._params(node2, node2.computed && node2.key.type !== "StringLiteral" ? void 0 : node2.key, void 0); + } + function _predicate(node2, noLineTerminatorAfter) { + if (node2.predicate) { + if (!node2.returnType) { + this.tokenChar(58); + } + this.space(); + this.print(node2.predicate, node2, noLineTerminatorAfter); + } + } + function _functionHead(node2, parent) { + if (node2.async) { + this.word("async"); + this._endsWithInnerRaw = false; + this.space(); + } + this.word("function"); + if (node2.generator) { + this._endsWithInnerRaw = false; + this.tokenChar(42); + } + this.space(); + if (node2.id) { + this.print(node2.id, node2); + } + this._params(node2, node2.id, parent); + if (node2.type !== "TSDeclareFunction") { + this._predicate(node2); + } + } + function FunctionExpression(node2, parent) { + this._functionHead(node2, parent); + this.space(); + this.print(node2.body, node2); + } + function ArrowFunctionExpression(node2, parent) { + if (node2.async) { + this.word("async", true); + this.space(); + } + let firstParam; + if (!this.format.retainLines && node2.params.length === 1 && isIdentifier(firstParam = node2.params[0]) && !hasTypesOrComments(node2, firstParam)) { + this.print(firstParam, node2, true); + } else { + this._params(node2, void 0, parent); + } + this._predicate(node2, true); + this.space(); + this.printInnerComments(); + this.token("=>"); + this.space(); + this.print(node2.body, node2); + } + function hasTypesOrComments(node2, param) { + var _param$leadingComment, _param$trailingCommen; + return !!(node2.typeParameters || node2.returnType || node2.predicate || param.typeAnnotation || param.optional || (_param$leadingComment = param.leadingComments) != null && _param$leadingComment.length || (_param$trailingCommen = param.trailingComments) != null && _param$trailingCommen.length); + } + function _getFuncIdName(idNode, parent) { + let id = idNode; + if (!id && parent) { + const parentType = parent.type; + if (parentType === "VariableDeclarator") { + id = parent.id; + } else if (parentType === "AssignmentExpression" || parentType === "AssignmentPattern") { + id = parent.left; + } else if (parentType === "ObjectProperty" || parentType === "ClassProperty") { + if (!parent.computed || parent.key.type === "StringLiteral") { + id = parent.key; + } + } else if (parentType === "ClassPrivateProperty" || parentType === "ClassAccessorProperty") { + id = parent.key; + } + } + if (!id) + return; + let nameInfo; + if (id.type === "Identifier") { + var _id$loc, _id$loc2; + nameInfo = { + pos: (_id$loc = id.loc) == null ? void 0 : _id$loc.start, + name: ((_id$loc2 = id.loc) == null ? void 0 : _id$loc2.identifierName) || id.name + }; + } else if (id.type === "PrivateName") { + var _id$loc3; + nameInfo = { + pos: (_id$loc3 = id.loc) == null ? void 0 : _id$loc3.start, + name: "#" + id.id.name + }; + } else if (id.type === "StringLiteral") { + var _id$loc4; + nameInfo = { + pos: (_id$loc4 = id.loc) == null ? void 0 : _id$loc4.start, + name: id.value + }; + } + return nameInfo; + } + } +}); + +// node_modules/@babel/generator/lib/generators/modules.js +var require_modules = __commonJS({ + "node_modules/@babel/generator/lib/generators/modules.js"(exports) { + "use strict"; + init_process(); + init_buffer(); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.ExportAllDeclaration = ExportAllDeclaration; + exports.ExportDefaultDeclaration = ExportDefaultDeclaration; + exports.ExportDefaultSpecifier = ExportDefaultSpecifier; + exports.ExportNamedDeclaration = ExportNamedDeclaration; + exports.ExportNamespaceSpecifier = ExportNamespaceSpecifier; + exports.ExportSpecifier = ExportSpecifier; + exports.ImportAttribute = ImportAttribute; + exports.ImportDeclaration = ImportDeclaration; + exports.ImportDefaultSpecifier = ImportDefaultSpecifier; + exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier; + exports.ImportSpecifier = ImportSpecifier; + exports._printAssertions = _printAssertions; + var _t = require_lib3(); + var { + isClassDeclaration, + isExportDefaultSpecifier, + isExportNamespaceSpecifier, + isImportDefaultSpecifier, + isImportNamespaceSpecifier, + isStatement + } = _t; + function ImportSpecifier(node2) { + if (node2.importKind === "type" || node2.importKind === "typeof") { + this.word(node2.importKind); + this.space(); + } + this.print(node2.imported, node2); + if (node2.local && node2.local.name !== node2.imported.name) { + this.space(); + this.word("as"); + this.space(); + this.print(node2.local, node2); + } + } + function ImportDefaultSpecifier(node2) { + this.print(node2.local, node2); + } + function ExportDefaultSpecifier(node2) { + this.print(node2.exported, node2); + } + function ExportSpecifier(node2) { + if (node2.exportKind === "type") { + this.word("type"); + this.space(); + } + this.print(node2.local, node2); + if (node2.exported && node2.local.name !== node2.exported.name) { + this.space(); + this.word("as"); + this.space(); + this.print(node2.exported, node2); + } + } + function ExportNamespaceSpecifier(node2) { + this.tokenChar(42); + this.space(); + this.word("as"); + this.space(); + this.print(node2.exported, node2); + } + function _printAssertions(node2) { + this.word("assert"); + this.space(); + this.tokenChar(123); + this.space(); + this.printList(node2.assertions, node2); + this.space(); + this.tokenChar(125); + } + function ExportAllDeclaration(node2) { + var _node$assertions; + this.word("export"); + this.space(); + if (node2.exportKind === "type") { + this.word("type"); + this.space(); + } + this.tokenChar(42); + this.space(); + this.word("from"); + this.space(); + if ((_node$assertions = node2.assertions) != null && _node$assertions.length) { + this.print(node2.source, node2, true); + this.space(); + this._printAssertions(node2); + } else { + this.print(node2.source, node2); + } + this.semicolon(); + } + function maybePrintDecoratorsBeforeExport(printer, node2) { + if (isClassDeclaration(node2.declaration) && printer._shouldPrintDecoratorsBeforeExport(node2)) { + printer.printJoin(node2.declaration.decorators, node2); + } + } + function ExportNamedDeclaration(node2) { + maybePrintDecoratorsBeforeExport(this, node2); + this.word("export"); + this.space(); + if (node2.declaration) { + const declar = node2.declaration; + this.print(declar, node2); + if (!isStatement(declar)) + this.semicolon(); + } else { + if (node2.exportKind === "type") { + this.word("type"); + this.space(); + } + const specifiers = node2.specifiers.slice(0); + let hasSpecial = false; + for (; ; ) { + const first = specifiers[0]; + if (isExportDefaultSpecifier(first) || isExportNamespaceSpecifier(first)) { + hasSpecial = true; + this.print(specifiers.shift(), node2); + if (specifiers.length) { + this.tokenChar(44); + this.space(); + } + } else { + break; + } + } + if (specifiers.length || !specifiers.length && !hasSpecial) { + this.tokenChar(123); + if (specifiers.length) { + this.space(); + this.printList(specifiers, node2); + this.space(); + } + this.tokenChar(125); + } + if (node2.source) { + var _node$assertions2; + this.space(); + this.word("from"); + this.space(); + if ((_node$assertions2 = node2.assertions) != null && _node$assertions2.length) { + this.print(node2.source, node2, true); + this.space(); + this._printAssertions(node2); + } else { + this.print(node2.source, node2); + } + } + this.semicolon(); + } + } + function ExportDefaultDeclaration(node2) { + maybePrintDecoratorsBeforeExport(this, node2); + this.word("export"); + this.noIndentInnerCommentsHere(); + this.space(); + this.word("default"); + this.space(); + const declar = node2.declaration; + this.print(declar, node2); + if (!isStatement(declar)) + this.semicolon(); + } + function ImportDeclaration(node2) { + var _node$assertions3; + this.word("import"); + this.space(); + const isTypeKind = node2.importKind === "type" || node2.importKind === "typeof"; + if (isTypeKind) { + this.noIndentInnerCommentsHere(); + this.word(node2.importKind); + this.space(); + } else if (node2.module) { + this.noIndentInnerCommentsHere(); + this.word("module"); + this.space(); + } + const specifiers = node2.specifiers.slice(0); + const hasSpecifiers = !!specifiers.length; + while (hasSpecifiers) { + const first = specifiers[0]; + if (isImportDefaultSpecifier(first) || isImportNamespaceSpecifier(first)) { + this.print(specifiers.shift(), node2); + if (specifiers.length) { + this.tokenChar(44); + this.space(); + } + } else { + break; + } + } + if (specifiers.length) { + this.tokenChar(123); + this.space(); + this.printList(specifiers, node2); + this.space(); + this.tokenChar(125); + } else if (isTypeKind && !hasSpecifiers) { + this.tokenChar(123); + this.tokenChar(125); + } + if (hasSpecifiers || isTypeKind) { + this.space(); + this.word("from"); + this.space(); + } + if ((_node$assertions3 = node2.assertions) != null && _node$assertions3.length) { + this.print(node2.source, node2, true); + this.space(); + this._printAssertions(node2); + } else { + this.print(node2.source, node2); + } + { + var _node$attributes; + if ((_node$attributes = node2.attributes) != null && _node$attributes.length) { + this.space(); + this.word("with"); + this.space(); + this.printList(node2.attributes, node2); + } + } + this.semicolon(); + } + function ImportAttribute(node2) { + this.print(node2.key); + this.tokenChar(58); + this.space(); + this.print(node2.value); + } + function ImportNamespaceSpecifier(node2) { + this.tokenChar(42); + this.space(); + this.word("as"); + this.space(); + this.print(node2.local, node2); + } + } +}); + +// node_modules/jsesc/jsesc.js +var require_jsesc = __commonJS({ + "node_modules/jsesc/jsesc.js"(exports, module) { + "use strict"; + init_process(); + init_buffer(); + var object = {}; + var hasOwnProperty2 = object.hasOwnProperty; + var forOwn = (object2, callback) => { + for (const key in object2) { + if (hasOwnProperty2.call(object2, key)) { + callback(key, object2[key]); + } + } + }; + var extend = (destination, source) => { + if (!source) { + return destination; + } + forOwn(source, (key, value) => { + destination[key] = value; + }); + return destination; + }; + var forEach = (array, callback) => { + const length2 = array.length; + let index = -1; + while (++index < length2) { + callback(array[index]); + } + }; + var toString4 = object.toString; + var isArray3 = Array.isArray; + var isBuffer3 = Buffer2.isBuffer; + var isObject2 = (value) => { + return toString4.call(value) == "[object Object]"; + }; + var isString2 = (value) => { + return typeof value == "string" || toString4.call(value) == "[object String]"; + }; + var isNumber2 = (value) => { + return typeof value == "number" || toString4.call(value) == "[object Number]"; + }; + var isFunction2 = (value) => { + return typeof value == "function"; + }; + var isMap = (value) => { + return toString4.call(value) == "[object Map]"; + }; + var isSet = (value) => { + return toString4.call(value) == "[object Set]"; + }; + var singleEscapes = { + '"': '\\"', + "'": "\\'", + "\\": "\\\\", + "\b": "\\b", + "\f": "\\f", + "\n": "\\n", + "\r": "\\r", + " ": "\\t" + // `\v` is omitted intentionally, because in IE < 9, '\v' == 'v'. + // '\v': '\\x0B' + }; + var regexSingleEscape = /["'\\\b\f\n\r\t]/; + var regexDigit = /[0-9]/; + var regexWhitelist = /[ !#-&\(-\[\]-_a-~]/; + var jsesc = (argument, options) => { + const increaseIndentation = () => { + oldIndent = indent; + ++options.indentLevel; + indent = options.indent.repeat(options.indentLevel); + }; + const defaults = { + "escapeEverything": false, + "minimal": false, + "isScriptContext": false, + "quotes": "single", + "wrap": false, + "es6": false, + "json": false, + "compact": true, + "lowercaseHex": false, + "numbers": "decimal", + "indent": " ", + "indentLevel": 0, + "__inline1__": false, + "__inline2__": false + }; + const json = options && options.json; + if (json) { + defaults.quotes = "double"; + defaults.wrap = true; + } + options = extend(defaults, options); + if (options.quotes != "single" && options.quotes != "double" && options.quotes != "backtick") { + options.quotes = "single"; + } + const quote = options.quotes == "double" ? '"' : options.quotes == "backtick" ? "`" : "'"; + const compact = options.compact; + const lowercaseHex = options.lowercaseHex; + let indent = options.indent.repeat(options.indentLevel); + let oldIndent = ""; + const inline1 = options.__inline1__; + const inline2 = options.__inline2__; + const newLine = compact ? "" : "\n"; + let result; + let isEmpty = true; + const useBinNumbers = options.numbers == "binary"; + const useOctNumbers = options.numbers == "octal"; + const useDecNumbers = options.numbers == "decimal"; + const useHexNumbers = options.numbers == "hexadecimal"; + if (json && argument && isFunction2(argument.toJSON)) { + argument = argument.toJSON(); + } + if (!isString2(argument)) { + if (isMap(argument)) { + if (argument.size == 0) { + return "new Map()"; + } + if (!compact) { + options.__inline1__ = true; + options.__inline2__ = false; + } + return "new Map(" + jsesc(Array.from(argument), options) + ")"; + } + if (isSet(argument)) { + if (argument.size == 0) { + return "new Set()"; + } + return "new Set(" + jsesc(Array.from(argument), options) + ")"; + } + if (isBuffer3(argument)) { + if (argument.length == 0) { + return "Buffer.from([])"; + } + return "Buffer.from(" + jsesc(Array.from(argument), options) + ")"; + } + if (isArray3(argument)) { + result = []; + options.wrap = true; + if (inline1) { + options.__inline1__ = false; + options.__inline2__ = true; + } + if (!inline2) { + increaseIndentation(); + } + forEach(argument, (value) => { + isEmpty = false; + if (inline2) { + options.__inline2__ = false; + } + result.push( + (compact || inline2 ? "" : indent) + jsesc(value, options) + ); + }); + if (isEmpty) { + return "[]"; + } + if (inline2) { + return "[" + result.join(", ") + "]"; + } + return "[" + newLine + result.join("," + newLine) + newLine + (compact ? "" : oldIndent) + "]"; + } else if (isNumber2(argument)) { + if (json) { + return JSON.stringify(argument); + } + if (useDecNumbers) { + return String(argument); + } + if (useHexNumbers) { + let hexadecimal = argument.toString(16); + if (!lowercaseHex) { + hexadecimal = hexadecimal.toUpperCase(); + } + return "0x" + hexadecimal; + } + if (useBinNumbers) { + return "0b" + argument.toString(2); + } + if (useOctNumbers) { + return "0o" + argument.toString(8); + } + } else if (!isObject2(argument)) { + if (json) { + return JSON.stringify(argument) || "null"; + } + return String(argument); + } else { + result = []; + options.wrap = true; + increaseIndentation(); + forOwn(argument, (key, value) => { + isEmpty = false; + result.push( + (compact ? "" : indent) + jsesc(key, options) + ":" + (compact ? "" : " ") + jsesc(value, options) + ); + }); + if (isEmpty) { + return "{}"; + } + return "{" + newLine + result.join("," + newLine) + newLine + (compact ? "" : oldIndent) + "}"; + } + } + const string = argument; + let index = -1; + const length2 = string.length; + result = ""; + while (++index < length2) { + const character2 = string.charAt(index); + if (options.es6) { + const first = string.charCodeAt(index); + if ( + // check if it’s the start of a surrogate pair + first >= 55296 && first <= 56319 && // high surrogate + length2 > index + 1 + ) { + const second = string.charCodeAt(index + 1); + if (second >= 56320 && second <= 57343) { + const codePoint = (first - 55296) * 1024 + second - 56320 + 65536; + let hexadecimal2 = codePoint.toString(16); + if (!lowercaseHex) { + hexadecimal2 = hexadecimal2.toUpperCase(); + } + result += "\\u{" + hexadecimal2 + "}"; + ++index; + continue; + } + } + } + if (!options.escapeEverything) { + if (regexWhitelist.test(character2)) { + result += character2; + continue; + } + if (character2 == '"') { + result += quote == character2 ? '\\"' : character2; + continue; + } + if (character2 == "`") { + result += quote == character2 ? "\\`" : character2; + continue; + } + if (character2 == "'") { + result += quote == character2 ? "\\'" : character2; + continue; + } + } + if (character2 == "\0" && !json && !regexDigit.test(string.charAt(index + 1))) { + result += "\\0"; + continue; + } + if (regexSingleEscape.test(character2)) { + result += singleEscapes[character2]; + continue; + } + const charCode = character2.charCodeAt(0); + if (options.minimal && charCode != 8232 && charCode != 8233) { + result += character2; + continue; + } + let hexadecimal = charCode.toString(16); + if (!lowercaseHex) { + hexadecimal = hexadecimal.toUpperCase(); + } + const longhand = hexadecimal.length > 2 || json; + const escaped = "\\" + (longhand ? "u" : "x") + ("0000" + hexadecimal).slice(longhand ? -4 : -2); + result += escaped; + continue; + } + if (options.wrap) { + result = quote + result + quote; + } + if (quote == "`") { + result = result.replace(/\$\{/g, "\\${"); + } + if (options.isScriptContext) { + return result.replace(/<\/(script|style)/gi, "<\\/$1").replace(//, + greedy: true + }, + "prolog": { + pattern: /<\?[\s\S]+?\?>/, + greedy: true + }, + "doctype": { + // https://www.w3.org/TR/xml/#NT-doctypedecl + pattern: /"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i, + greedy: true, + inside: { + "internal-subset": { + pattern: /(^[^\[]*\[)[\s\S]+(?=\]>$)/, + lookbehind: true, + greedy: true, + inside: null + // see below + }, + "string": { + pattern: /"[^"]*"|'[^']*'/, + greedy: true + }, + "punctuation": /^$|[[\]]/, + "doctype-tag": /^DOCTYPE/i, + "name": /[^\s<>'"]+/ + } + }, + "cdata": { + pattern: //i, + greedy: true + }, + "tag": { + pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/, + greedy: true, + inside: { + "tag": { + pattern: /^<\/?[^\s>\/]+/, + inside: { + "punctuation": /^<\/?/, + "namespace": /^[^\s>\/:]+:/ + } + }, + "special-attr": [], + "attr-value": { + pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/, + inside: { + "punctuation": [ + { + pattern: /^=/, + alias: "attr-equals" + }, + { + pattern: /^(\s*)["']|["']$/, + lookbehind: true + } + ] + } + }, + "punctuation": /\/?>/, + "attr-name": { + pattern: /[^\s>\/]+/, + inside: { + "namespace": /^[^\s>\/:]+:/ + } + } + } + }, + "entity": [ + { + pattern: /&[\da-z]{1,8};/i, + alias: "named-entity" + }, + /&#x?[\da-f]{1,8};/i + ] + }; + Prism3.languages.markup["tag"].inside["attr-value"].inside["entity"] = Prism3.languages.markup["entity"]; + Prism3.languages.markup["doctype"].inside["internal-subset"].inside = Prism3.languages.markup; + Prism3.hooks.add("wrap", function(env2) { + if (env2.type === "entity") { + env2.attributes["title"] = env2.content.replace(/&/, "&"); + } + }); + Object.defineProperty(Prism3.languages.markup.tag, "addInlined", { + /** + * Adds an inlined language to markup. + * + * An example of an inlined language is CSS with `