From aefc103c0799a76b3ff86012c759b01e0f5045cc Mon Sep 17 00:00:00 2001 From: jaywcjlove <398188662@qq.com> Date: Sun, 9 Jan 2022 02:06:57 +0800 Subject: [PATCH] chore: remove website/build folder. --- .gitignore | 1 + website/build/asset-manifest.json | 20 ------- website/build/favicon.ico | Bin 3870 -> 0 bytes website/build/index.html | 1 - website/build/static/css/main.d65020bd.css | 2 - .../build/static/css/main.d65020bd.css.map | 1 - website/build/static/js/main.aa4010c3.js | 3 -- .../static/js/main.aa4010c3.js.LICENSE.txt | 49 ------------------ website/build/static/js/main.aa4010c3.js.map | 1 - .../build/static/js/react-vendor.8c727079.js | 3 -- .../js/react-vendor.8c727079.js.LICENSE.txt | 26 ---------- .../static/js/react-vendor.8c727079.js.map | 1 - .../static/js/refractor-vendor.6e0e2eba.js | 2 - .../js/refractor-vendor.6e0e2eba.js.map | 1 - .../logo.6ce24c58023cc2f8fd88fe9d219db6c6.svg | 1 - 15 files changed, 1 insertion(+), 111 deletions(-) delete mode 100644 website/build/asset-manifest.json delete mode 100644 website/build/favicon.ico delete mode 100644 website/build/index.html delete mode 100644 website/build/static/css/main.d65020bd.css delete mode 100644 website/build/static/css/main.d65020bd.css.map delete mode 100644 website/build/static/js/main.aa4010c3.js delete mode 100644 website/build/static/js/main.aa4010c3.js.LICENSE.txt delete mode 100644 website/build/static/js/main.aa4010c3.js.map delete mode 100644 website/build/static/js/react-vendor.8c727079.js delete mode 100644 website/build/static/js/react-vendor.8c727079.js.LICENSE.txt delete mode 100644 website/build/static/js/react-vendor.8c727079.js.map delete mode 100644 website/build/static/js/refractor-vendor.6e0e2eba.js delete mode 100644 website/build/static/js/refractor-vendor.6e0e2eba.js.map delete mode 100644 website/build/static/media/logo.6ce24c58023cc2f8fd88fe9d219db6c6.svg diff --git a/.gitignore b/.gitignore index 9fae2880..a44c11d6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ node_modules dist +build lib esm cjs diff --git a/website/build/asset-manifest.json b/website/build/asset-manifest.json deleted file mode 100644 index 05fadf20..00000000 --- a/website/build/asset-manifest.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "files": { - "main.css": "/static/css/main.d65020bd.css", - "main.js": "/static/js/main.aa4010c3.js", - "refractor-vendor.js": "/static/js/refractor-vendor.6e0e2eba.js", - "react-vendor.js": "/static/js/react-vendor.8c727079.js", - "static/media/logo.svg": "/static/media/logo.6ce24c58023cc2f8fd88fe9d219db6c6.svg", - "index.html": "/index.html", - "main.d65020bd.css.map": "/static/css/main.d65020bd.css.map", - "main.aa4010c3.js.map": "/static/js/main.aa4010c3.js.map", - "refractor-vendor.6e0e2eba.js.map": "/static/js/refractor-vendor.6e0e2eba.js.map", - "react-vendor.8c727079.js.map": "/static/js/react-vendor.8c727079.js.map" - }, - "entrypoints": [ - "static/js/refractor-vendor.6e0e2eba.js", - "static/js/react-vendor.8c727079.js", - "static/css/main.d65020bd.css", - "static/js/main.aa4010c3.js" - ] -} \ No newline at end of file diff --git a/website/build/favicon.ico b/website/build/favicon.ico deleted file mode 100644 index a11777cc471a4344702741ab1c8a588998b1311a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3870 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ diff --git a/website/build/index.html b/website/build/index.html deleted file mode 100644 index 4c2df008..00000000 --- a/website/build/index.html +++ /dev/null @@ -1 +0,0 @@ -React Monorepo Template
\ No newline at end of file diff --git a/website/build/static/css/main.d65020bd.css b/website/build/static/css/main.d65020bd.css deleted file mode 100644 index cd15455c..00000000 --- a/website/build/static/css/main.d65020bd.css +++ /dev/null @@ -1,2 +0,0 @@ -.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}@-webkit-keyframes octocat-wave{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}.wmde-markdown{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:16px;line-height:1.5}.wmde-markdown>:first-child{margin-top:0!important}.wmde-markdown>:last-child{margin-bottom:0!important}.wmde-markdown pre:hover .copied,.wmde-markdown pre[class*=language-]:hover .copied{visibility:visible}.wmde-markdown pre .copied,.wmde-markdown pre[class*=language-] .copied{background:#e3e3e3;border-radius:5px;color:#a5afbb;cursor:pointer;display:flex;font-size:12px;padding:6px;position:absolute;right:6px;top:6px;transition:all .3s;visibility:hidden}.wmde-markdown pre .copied:before,.wmde-markdown pre[class*=language-] .copied:before{content:" ";height:100%;left:0;position:absolute;top:0;width:100%}.wmde-markdown pre .copied .octicon-copy,.wmde-markdown pre[class*=language-] .copied .octicon-copy{display:block}.wmde-markdown pre .copied.active .octicon-copy,.wmde-markdown pre .copied .octicon-check,.wmde-markdown pre[class*=language-] .copied.active .octicon-copy,.wmde-markdown pre[class*=language-] .copied .octicon-check{display:none}.wmde-markdown pre .copied.active .octicon-check,.wmde-markdown pre[class*=language-] .copied.active .octicon-check{display:block}.wmde-markdown pre .copied.active,.wmde-markdown pre .copied:active,.wmde-markdown pre .copied:hover,.wmde-markdown pre[class*=language-] .copied.active,.wmde-markdown pre[class*=language-] .copied:active,.wmde-markdown pre[class*=language-] .copied:hover{background:#2e9b33;color:#fff}.wmde-markdown code[class*=language-],.wmde-markdown pre[class*=language-]{word-wrap:normal;color:#000;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}.wmde-markdown pre code{background-color:#f6f8fa;border-radius:6px;display:block;font-size:85%;line-height:1.45;overflow:auto;padding:16px}.wmde-markdown pre{background-color:#f6f8fa;border-radius:3px;line-height:1.45;margin-bottom:18px;overflow-x:auto;position:relative}.wmde-markdown code,.wmde-markdown tt{background-color:rgba(27,31,35,.05);border-radius:3px;font-size:85%;margin:0;padding:.2em .4em}.wmde-markdown code,.wmde-markdown pre,.wmde-markdown tt{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.wmde-markdown img{max-width:100%}.wmde-markdown input{margin:0 .2em .25em -1.6em;vertical-align:middle}.wmde-markdown input+p{display:inline}.wmde-markdown h1,.wmde-markdown h2{border-bottom:1px solid #eaecef;padding-bottom:.3em}.wmde-markdown h1,.wmde-markdown h2,.wmde-markdown h3,.wmde-markdown h4,.wmde-markdown h5,.wmde-markdown h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.wmde-markdown h1 .anchor,.wmde-markdown h2 .anchor,.wmde-markdown h3 .anchor,.wmde-markdown h4 .anchor,.wmde-markdown h5 .anchor,.wmde-markdown h6 .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.wmde-markdown h1 .octicon-link,.wmde-markdown h2 .octicon-link,.wmde-markdown h3 .octicon-link,.wmde-markdown h4 .octicon-link,.wmde-markdown h5 .octicon-link,.wmde-markdown h6 .octicon-link{vertical-align:middle;visibility:hidden}.wmde-markdown h1:hover .octicon-link,.wmde-markdown h2:hover .octicon-link,.wmde-markdown h3:hover .octicon-link,.wmde-markdown h4:hover .octicon-link,.wmde-markdown h5:hover .octicon-link,.wmde-markdown h6:hover .octicon-link{visibility:visible}.wmde-markdown h1{font-size:2em}.wmde-markdown h2{font-size:1.5em}.wmde-markdown h3{font-size:1.25em}.wmde-markdown h4{font-size:1em}.wmde-markdown h5{font-size:.875em}.wmde-markdown h6{font-size:.85em}.wmde-markdown ol,.wmde-markdown ul{padding-left:2em}.wmde-markdown ol>p,.wmde-markdown ul>p{margin-bottom:0}.wmde-markdown ul{list-style:disc none outside;list-style:initial;margin-bottom:16px;margin-top:0}.wmde-markdown li{display:list-item}.wmde-markdown ol ol,.wmde-markdown ol ul,.wmde-markdown ul ol,.wmde-markdown ul ul{margin-bottom:0;margin-top:0}.wmde-markdown ul ul ul{list-style-type:square}.wmde-markdown ul ul{list-style-type:circle}.wmde-markdown ul{list-style-type:disc}.wmde-markdown>blockquote,.wmde-markdown>blockquote blockquote{border-left:.25em solid #dfe2e5;color:#6a737d;margin:0;padding:0 1em}.wmde-markdown>blockquote>:last-child,.wmde-markdown>blockquote blockquote>:last-child{margin-bottom:0}.wmde-markdown>blockquote>:first-child,.wmde-markdown>blockquote blockquote>:first-child{margin-top:0}.wmde-markdown hr{border:0;border-top:2px dotted #eee;height:1px;margin:1.5em auto}.wmde-markdown>blockquote table,.wmde-markdown>table{border-collapse:collapse;border-spacing:0;display:block;font-size:14px;overflow:auto;width:100%}.wmde-markdown>blockquote table tr,.wmde-markdown>table tr{background-color:#fff;border-top:1px solid #c6cbd1}.wmde-markdown>blockquote table td,.wmde-markdown>blockquote table th,.wmde-markdown>table td,.wmde-markdown>table th{border:1px solid #dfe2e5;padding:6px 13px}.wmde-markdown blockquote,.wmde-markdown details,.wmde-markdown dl,.wmde-markdown ol,.wmde-markdown p,.wmde-markdown pre,.wmde-markdown table,.wmde-markdown ul{margin-bottom:16px;margin-top:0}.wmde-markdown a{color:#0366d6;text-decoration:none}.wmde-markdown a:hover{text-decoration:underline}.wmde-markdown .namespace{opacity:.7}.wmde-markdown .token.important{font-weight:400}.wmde-markdown .token.bold{font-weight:700}.wmde-markdown .token.italic{font-style:italic}.wmde-markdown .token.entity{cursor:help}.wmde-markdown kbd{background-color:#fafbfc;border:1px solid #d1d5da;border-radius:3px;box-shadow:inset 0 -1px 0 #d1d5da;color:#56595d;display:inline-block;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:10px;line-height:10px;padding:2px 4px;vertical-align:middle}.wmde-markdown-color .token.tag .attr-value{color:#032f62}.wmde-markdown-color .token.boolean,.wmde-markdown-color .token.constant,.wmde-markdown-color .token.deleted,.wmde-markdown-color .token.function-name,.wmde-markdown-color .token.number,.wmde-markdown-color .token.property,.wmde-markdown-color .token.symbol,.wmde-markdown-color .token.tag{color:#0060c9}.wmde-markdown-color .token.punctuation{color:#a0a0a0}.wmde-markdown-color code[class*=language-]{color:#000}.wmde-markdown-color code[class*=language-] .token.attr-name,.wmde-markdown-color code[class*=language-] .token.builtin,.wmde-markdown-color code[class*=language-] .token.char,.wmde-markdown-color code[class*=language-] .token.function,.wmde-markdown-color code[class*=language-] .token.selector,.wmde-markdown-color code[class*=language-] .token.string{color:#6f42c1}.wmde-markdown-color code[class*=language-] .token.inserted{background-color:#f0fff4;color:#22863a}.wmde-markdown-color code[class*=language-] .token.deleted{background-color:#ffeef0;color:#b31d28}.wmde-markdown-color code[class*=language-] .token.class-name{color:#6f42c1}.wmde-markdown-color code[class*=language-] .code-block{color:#032f62}.wmde-markdown-color code[class*=language-] .token.block-comment,.wmde-markdown-color code[class*=language-] .token.cdata,.wmde-markdown-color code[class*=language-] .token.comment,.wmde-markdown-color code[class*=language-] .token.doctype,.wmde-markdown-color code[class*=language-] .token.prolog{color:#7d8b99}.wmde-markdown-color code[class*=language-] .token.punctuation{color:#a0a0a0}.wmde-markdown-color code[class*=language-] .token.entity,.wmde-markdown-color code[class*=language-] .token.operator,.wmde-markdown-color code[class*=language-] .token.url,.wmde-markdown-color code[class*=language-] .token.variable{background:hsla(0,0%,100%,.5);color:#d73a49}.wmde-markdown-color code[class*=language-] .token.atrule,.wmde-markdown-color code[class*=language-] .token.attr-value{color:#004698}.wmde-markdown-color code[class*=language-] .token.keyword{color:#d63200}.wmde-markdown-color code[class*=language-] .token.important,.wmde-markdown-color code[class*=language-] .token.regex{color:#e90}.wmde-markdown-color code[class*=language-] .token.string{color:#0a53c1}.App_app__ozyN1{background-color:#fff;padding-bottom:70px}.App_content__uFknh{background-color:#fff;border-radius:5px;margin:0 auto;max-width:750px;overflow:auto;padding:16px;text-align:left}.App_header__G9FVm{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 80px);padding-bottom:30px;text-align:center}.App_logo__8q6ZT{max-width:210px}.App_info__vaSms{color:#969ca7;font-size:21px;max-width:520px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace} -/*# sourceMappingURL=main.d65020bd.css.map*/ \ No newline at end of file diff --git a/website/build/static/css/main.d65020bd.css.map b/website/build/static/css/main.d65020bd.css.map deleted file mode 100644 index 60ccadc4..00000000 --- a/website/build/static/css/main.d65020bd.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/main.d65020bd.css","mappings":"AAAA,+BACE,+CAAiD,CACzC,uCACV,CACA,gCACE,MAEE,2BAA4B,CACpB,mBACV,CACA,QAEE,gCAAiC,CACzB,wBACV,CACA,QAEE,+BAAgC,CACxB,uBACV,CACF,CACA,wBACE,MAEE,2BAA4B,CACpB,mBACV,CACA,QAEE,gCAAiC,CACzB,wBACV,CACA,QAEE,+BAAgC,CACxB,uBACV,CACF,CACA,yBACE,+BACE,sBAAuB,CACf,cACV,CACA,yBACE,+CAAiD,CACzC,uCACV,CACF,CC/CA,eAGE,iHAAyH,CAFzH,cAAe,CACf,eAEF,CACA,4BACE,sBACF,CACA,2BACE,yBACF,CACA,oFAEE,kBACF,CACA,wEAUE,kBAAmB,CADnB,iBAAkB,CAHlB,aAAc,CADd,cAAe,CAFf,YAAa,CASb,cAAe,CADf,WAAY,CAPZ,iBAAkB,CAIlB,SAAU,CADV,OAAQ,CAMR,kBAAoB,CAXpB,iBAYF,CACA,sFAEE,WAAY,CAGZ,WAAY,CAEZ,MAAO,CAJP,iBAAkB,CAGlB,KAAM,CAFN,UAIF,CACA,oGAEE,aACF,CAKA,wNAEE,YACF,CACA,oHAEE,aACF,CACA,gQAME,kBAAmB,CACnB,UACF,CACA,2EAOE,gBAAiB,CALjB,UAAY,CAMZ,oBAAqB,CACb,gBAAa,CAAb,YAAa,CANrB,eAAgB,CAChB,eAAgB,CAEhB,iBAAkB,CADlB,mBAKF,CACA,wBAME,wBAAyB,CACzB,iBAAkB,CANlB,aAAc,CAGd,aAAc,CACd,gBAAiB,CAFjB,aAAc,CADd,YAMF,CACA,mBAKE,wBAAyB,CACzB,iBAAkB,CAJlB,gBAAiB,CADjB,kBAAmB,CAGnB,eAAgB,CADhB,iBAIF,CACA,sCAEE,mCAAwC,CACxC,iBAAkB,CAClB,aAAc,CACd,QAAS,CACT,iBACF,CACA,yDAGE,mEACF,CACA,mBACE,cACF,CACA,qBAEE,0BAA6B,CAD7B,qBAEF,CACA,uBACE,cACF,CACA,oCAEE,+BAAgC,CAChC,mBACF,CACA,4GAME,eAAgB,CAChB,gBAAiB,CACjB,kBAAmB,CACnB,eACF,CACA,4JAME,UAAW,CAGX,aAAc,CADd,iBAAkB,CADlB,iBAGF,CACA,gMAOE,qBAAsB,CADtB,iBAEF,CACA,oOAME,kBACF,CACA,kBACE,aACF,CACA,kBACE,eACF,CACA,kBACE,gBACF,CACA,kBACE,aACF,CACA,kBACE,gBACF,CACA,kBACE,eACF,CACA,oCAEE,gBACF,CACA,wCAEE,eACF,CACA,kBAGE,4BAAmB,CAAnB,kBAAmB,CAFnB,kBAAmB,CACnB,YAEF,CACA,kBACE,iBACF,CACA,oFAKE,eAAgB,CADhB,YAEF,CACA,wBACE,sBACF,CACA,qBACE,sBACF,CACA,kBACE,oBACF,CACA,+DAGE,+BAAiC,CACjC,aAAc,CAFd,QAAS,CAGT,aACF,CACA,uFAEE,eACF,CACA,yFAEE,YACF,CACA,kBAEE,QAAS,CACT,0BAA2B,CAC3B,UAAW,CAHX,iBAIF,CACA,qDAKE,wBAAyB,CACzB,gBAAiB,CAJjB,aAAc,CAKd,cAAe,CAJf,aAAc,CACd,UAIF,CACA,2DAEE,qBAAsB,CACtB,4BACF,CACA,sHAIE,wBAAyB,CACzB,gBACF,CACA,gKAQE,kBAAmB,CACnB,YACF,CACA,iBACE,aAAc,CACd,oBACF,CACA,uBACE,yBACF,CACA,0BACE,UACF,CACA,gCACE,eACF,CACA,2BACE,eACF,CACA,6BACE,iBACF,CACA,6BACE,WACF,CACA,mBACE,wBAAyB,CAEzB,wBAAyB,CACzB,iBAAkB,CAClB,iCAAkC,CAClC,aAAc,CACd,oBAAqB,CAErB,wFAA+F,CAD/F,cAAe,CAEf,gBAAiB,CACjB,eAAgB,CAChB,qBACF,CCzSA,4CACE,aACF,CACA,kSAQE,aACF,CACA,wCACE,aACF,CACA,4CACE,UACF,CACA,kWAME,aACF,CACA,4DAEE,wBAAyB,CADzB,aAEF,CACA,2DAEE,wBAAyB,CADzB,aAEF,CACA,8DACE,aACF,CACA,wDACE,aACF,CACA,0SAKE,aACF,CACA,+DACE,aACF,CACA,yOAKE,6BAAoC,CADpC,aAEF,CACA,wHAEE,aACF,CACA,2DACE,aACF,CACA,sHAEE,UACF,CACA,0DACE,aACF,CCvEA,gBAEE,qBAAsB,CADtB,mBAEF,CAEA,oBAKE,qBAAsB,CAEtB,iBAAkB,CANlB,aAAc,CAEd,eAAgB,CAChB,aAAc,CAEd,YAAa,CAJb,eAKF,CAGA,mBAKE,kBAAmB,CAJnB,wBAAyB,CAQzB,UAAY,CANZ,YAAa,CACb,qBAAsB,CAEtB,sBAAuB,CAJvB,6BAA8B,CAK9B,mBAAoB,CACpB,iBAAF,CAIA,iBACE,eAFF,CAKA,iBAGE,aAAc,CAFd,cAAe,CACf,eAFF,CC/BA,KAME,kCAAmC,CACnC,iCAAkC,CAJlC,mIAEY,CAJZ,QAAS,CACT,SAMF,CAEA,KACE,uEAEF","sources":["../../node_modules/@uiw/react-github-corners/esm/style/index.css","../../node_modules/@uiw/react-markdown-preview/esm/styles/markdown.css","../../node_modules/@uiw/react-markdown-preview/esm/styles/markdowncolor.css","App.module.less","index.css"],"sourcesContent":[".github-corner:hover .octo-arm {\n -webkit-animation: octocat-wave 560ms ease-in-out;\n animation: octocat-wave 560ms ease-in-out;\n}\n@-webkit-keyframes octocat-wave {\n 0%,\n 100% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n 20%,\n 60% {\n -webkit-transform: rotate(-25deg);\n transform: rotate(-25deg);\n }\n 40%,\n 80% {\n -webkit-transform: rotate(10deg);\n transform: rotate(10deg);\n }\n}\n@keyframes octocat-wave {\n 0%,\n 100% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n 20%,\n 60% {\n -webkit-transform: rotate(-25deg);\n transform: rotate(-25deg);\n }\n 40%,\n 80% {\n -webkit-transform: rotate(10deg);\n transform: rotate(10deg);\n }\n}\n@media (max-width: 500px) {\n .github-corner:hover .octo-arm {\n -webkit-animation: none;\n animation: none;\n }\n .github-corner .octo-arm {\n -webkit-animation: octocat-wave 560ms ease-in-out;\n animation: octocat-wave 560ms ease-in-out;\n }\n}\n",".wmde-markdown {\n font-size: 16px;\n line-height: 1.5;\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;\n}\n.wmde-markdown > :first-child {\n margin-top: 0 !important;\n}\n.wmde-markdown > :last-child {\n margin-bottom: 0 !important;\n}\n.wmde-markdown pre[class*='language-']:hover .copied,\n.wmde-markdown pre:hover .copied {\n visibility: visible;\n}\n.wmde-markdown pre[class*='language-'] .copied,\n.wmde-markdown pre .copied {\n visibility: hidden;\n display: flex;\n position: absolute;\n cursor: pointer;\n color: #a5afbb;\n top: 6px;\n right: 6px;\n border-radius: 5px;\n background: #e3e3e3;\n padding: 6px;\n font-size: 12px;\n transition: all 0.3s;\n}\n.wmde-markdown pre[class*='language-'] .copied::before,\n.wmde-markdown pre .copied::before {\n content: ' ';\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n}\n.wmde-markdown pre[class*='language-'] .copied .octicon-copy,\n.wmde-markdown pre .copied .octicon-copy {\n display: block;\n}\n.wmde-markdown pre[class*='language-'] .copied .octicon-check,\n.wmde-markdown pre .copied .octicon-check {\n display: none;\n}\n.wmde-markdown pre[class*='language-'] .copied.active .octicon-copy,\n.wmde-markdown pre .copied.active .octicon-copy {\n display: none;\n}\n.wmde-markdown pre[class*='language-'] .copied.active .octicon-check,\n.wmde-markdown pre .copied.active .octicon-check {\n display: block;\n}\n.wmde-markdown pre[class*='language-'] .copied:hover,\n.wmde-markdown pre .copied:hover,\n.wmde-markdown pre[class*='language-'] .copied:active,\n.wmde-markdown pre .copied:active,\n.wmde-markdown pre[class*='language-'] .copied.active,\n.wmde-markdown pre .copied.active {\n background: #2e9b33;\n color: #fff;\n}\n.wmde-markdown code[class*='language-'],\n.wmde-markdown pre[class*='language-'] {\n color: black;\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n -webkit-hyphens: none;\n hyphens: none;\n}\n.wmde-markdown pre code {\n display: block;\n padding: 16px;\n overflow: auto;\n font-size: 85%;\n line-height: 1.45;\n background-color: #f6f8fa;\n border-radius: 6px;\n}\n.wmde-markdown pre {\n margin-bottom: 18px;\n line-height: 1.45;\n position: relative;\n overflow-x: auto;\n background-color: #f6f8fa;\n border-radius: 3px;\n}\n.wmde-markdown code,\n.wmde-markdown tt {\n background-color: rgba(27, 31, 35, 0.05);\n border-radius: 3px;\n font-size: 85%;\n margin: 0;\n padding: 0.2em 0.4em;\n}\n.wmde-markdown pre,\n.wmde-markdown code,\n.wmde-markdown tt {\n font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;\n}\n.wmde-markdown img {\n max-width: 100%;\n}\n.wmde-markdown input {\n vertical-align: middle;\n margin: 0 0.2em 0.25em -1.6em;\n}\n.wmde-markdown input + p {\n display: inline;\n}\n.wmde-markdown h1,\n.wmde-markdown h2 {\n border-bottom: 1px solid #eaecef;\n padding-bottom: 0.3em;\n}\n.wmde-markdown h1,\n.wmde-markdown h2,\n.wmde-markdown h3,\n.wmde-markdown h4,\n.wmde-markdown h5,\n.wmde-markdown h6 {\n font-weight: 600;\n line-height: 1.25;\n margin-bottom: 16px;\n margin-top: 24px;\n}\n.wmde-markdown h1 .anchor,\n.wmde-markdown h2 .anchor,\n.wmde-markdown h3 .anchor,\n.wmde-markdown h4 .anchor,\n.wmde-markdown h5 .anchor,\n.wmde-markdown h6 .anchor {\n float: left;\n padding-right: 4px;\n margin-left: -20px;\n line-height: 1;\n}\n.wmde-markdown h1 .octicon-link,\n.wmde-markdown h2 .octicon-link,\n.wmde-markdown h3 .octicon-link,\n.wmde-markdown h4 .octicon-link,\n.wmde-markdown h5 .octicon-link,\n.wmde-markdown h6 .octicon-link {\n visibility: hidden;\n vertical-align: middle;\n}\n.wmde-markdown h1:hover .octicon-link,\n.wmde-markdown h2:hover .octicon-link,\n.wmde-markdown h3:hover .octicon-link,\n.wmde-markdown h4:hover .octicon-link,\n.wmde-markdown h5:hover .octicon-link,\n.wmde-markdown h6:hover .octicon-link {\n visibility: visible;\n}\n.wmde-markdown h1 {\n font-size: 2em;\n}\n.wmde-markdown h2 {\n font-size: 1.5em;\n}\n.wmde-markdown h3 {\n font-size: 1.25em;\n}\n.wmde-markdown h4 {\n font-size: 1em;\n}\n.wmde-markdown h5 {\n font-size: 0.875em;\n}\n.wmde-markdown h6 {\n font-size: 0.85em;\n}\n.wmde-markdown ol,\n.wmde-markdown ul {\n padding-left: 2em;\n}\n.wmde-markdown ol > p,\n.wmde-markdown ul > p {\n margin-bottom: 0;\n}\n.wmde-markdown ul {\n margin-bottom: 16px;\n margin-top: 0;\n list-style: initial;\n}\n.wmde-markdown li {\n display: list-item;\n}\n.wmde-markdown ul ul,\n.wmde-markdown ul ol,\n.wmde-markdown ol ol,\n.wmde-markdown ol ul {\n margin-top: 0;\n margin-bottom: 0;\n}\n.wmde-markdown ul ul ul {\n list-style-type: square;\n}\n.wmde-markdown ul ul {\n list-style-type: circle;\n}\n.wmde-markdown ul {\n list-style-type: disc;\n}\n.wmde-markdown > blockquote,\n.wmde-markdown > blockquote blockquote {\n margin: 0;\n border-left: 0.25em solid #dfe2e5;\n color: #6a737d;\n padding: 0 1em;\n}\n.wmde-markdown > blockquote > :last-child,\n.wmde-markdown > blockquote blockquote > :last-child {\n margin-bottom: 0;\n}\n.wmde-markdown > blockquote > :first-child,\n.wmde-markdown > blockquote blockquote > :first-child {\n margin-top: 0;\n}\n.wmde-markdown hr {\n margin: 1.5em auto;\n border: 0;\n border-top: 2px dotted #eee;\n height: 1px;\n}\n.wmde-markdown > table,\n.wmde-markdown > blockquote table {\n display: block;\n overflow: auto;\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n font-size: 14px;\n}\n.wmde-markdown > table tr,\n.wmde-markdown > blockquote table tr {\n background-color: #fff;\n border-top: 1px solid #c6cbd1;\n}\n.wmde-markdown > table td,\n.wmde-markdown > blockquote table td,\n.wmde-markdown > table th,\n.wmde-markdown > blockquote table th {\n border: 1px solid #dfe2e5;\n padding: 6px 13px;\n}\n.wmde-markdown blockquote,\n.wmde-markdown details,\n.wmde-markdown dl,\n.wmde-markdown ol,\n.wmde-markdown p,\n.wmde-markdown pre,\n.wmde-markdown table,\n.wmde-markdown ul {\n margin-bottom: 16px;\n margin-top: 0;\n}\n.wmde-markdown a {\n color: #0366d6;\n text-decoration: none;\n}\n.wmde-markdown a:hover {\n text-decoration: underline;\n}\n.wmde-markdown .namespace {\n opacity: 0.7;\n}\n.wmde-markdown .token.important {\n font-weight: normal;\n}\n.wmde-markdown .token.bold {\n font-weight: bold;\n}\n.wmde-markdown .token.italic {\n font-style: italic;\n}\n.wmde-markdown .token.entity {\n cursor: help;\n}\n.wmde-markdown kbd {\n background-color: #fafbfc;\n border-bottom-color: #d1d5da;\n border: 1px solid #d1d5da;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 #d1d5da;\n color: #56595d;\n display: inline-block;\n font-size: 10px;\n font-family: ui-monospace, SFMono-Regular, SF Mono, Consolas, Liberation Mono, Menlo, monospace;\n line-height: 10px;\n padding: 2px 4px;\n vertical-align: middle;\n}\n",".wmde-markdown-color .token.tag .attr-value {\n color: #032f62;\n}\n.wmde-markdown-color .token.property,\n.wmde-markdown-color .token.tag,\n.wmde-markdown-color .token.boolean,\n.wmde-markdown-color .token.number,\n.wmde-markdown-color .token.function-name,\n.wmde-markdown-color .token.constant,\n.wmde-markdown-color .token.symbol,\n.wmde-markdown-color .token.deleted {\n color: #0060c9;\n}\n.wmde-markdown-color .token.punctuation {\n color: #a0a0a0;\n}\n.wmde-markdown-color code[class*='language-'] {\n color: black;\n}\n.wmde-markdown-color code[class*='language-'] .token.selector,\n.wmde-markdown-color code[class*='language-'] .token.attr-name,\n.wmde-markdown-color code[class*='language-'] .token.string,\n.wmde-markdown-color code[class*='language-'] .token.char,\n.wmde-markdown-color code[class*='language-'] .token.function,\n.wmde-markdown-color code[class*='language-'] .token.builtin {\n color: #6f42c1;\n}\n.wmde-markdown-color code[class*='language-'] .token.inserted {\n color: #22863a;\n background-color: #f0fff4;\n}\n.wmde-markdown-color code[class*='language-'] .token.deleted {\n color: #b31d28;\n background-color: #ffeef0;\n}\n.wmde-markdown-color code[class*='language-'] .token.class-name {\n color: #6f42c1;\n}\n.wmde-markdown-color code[class*='language-'] .code-block {\n color: #032f62;\n}\n.wmde-markdown-color code[class*='language-'] .token.comment,\n.wmde-markdown-color code[class*='language-'] .token.block-comment,\n.wmde-markdown-color code[class*='language-'] .token.prolog,\n.wmde-markdown-color code[class*='language-'] .token.doctype,\n.wmde-markdown-color code[class*='language-'] .token.cdata {\n color: #7d8b99;\n}\n.wmde-markdown-color code[class*='language-'] .token.punctuation {\n color: #a0a0a0;\n}\n.wmde-markdown-color code[class*='language-'] .token.operator,\n.wmde-markdown-color code[class*='language-'] .token.entity,\n.wmde-markdown-color code[class*='language-'] .token.url,\n.wmde-markdown-color code[class*='language-'] .token.variable {\n color: #d73a49;\n background: rgba(255, 255, 255, 0.5);\n}\n.wmde-markdown-color code[class*='language-'] .token.atrule,\n.wmde-markdown-color code[class*='language-'] .token.attr-value {\n color: #004698;\n}\n.wmde-markdown-color code[class*='language-'] .token.keyword {\n color: #d63200;\n}\n.wmde-markdown-color code[class*='language-'] .token.regex,\n.wmde-markdown-color code[class*='language-'] .token.important {\n color: #e90;\n}\n.wmde-markdown-color code[class*='language-'] .token.string {\n color: #0a53c1;\n}\n",".app {\n padding-bottom: 70px;\n background-color: #fff;\n}\n\n.content {\n margin: 0 auto;\n text-align: left;\n max-width: 750px;\n overflow: auto;\n background-color: #fff;\n padding: 16px;\n border-radius: 5px;\n}\n\n.header {\n background-color: #282c34;\n min-height: calc(100vh - 80px);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding-bottom: 30px;\n text-align: center;\n color: white;\n}\n\n.logo {\n max-width: 210px;\n}\n\n.info {\n font-size: 21px;\n max-width: 520px;\n color: #969ca7;\n}\n","body {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, \"Courier New\",\n monospace;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/website/build/static/js/main.aa4010c3.js b/website/build/static/js/main.aa4010c3.js deleted file mode 100644 index 975f3b42..00000000 --- a/website/build/static/js/main.aa4010c3.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see main.aa4010c3.js.LICENSE.txt */ -!function(){var e={5365:function(e){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return u=e.done,e},e:function(e){s=!0,a=e},f:function(){try{u||null==n.return||n.return()}finally{if(s)throw a}}}},e.exports.__esModule=!0,e.exports.default=e.exports},9484:function(e,t,n){var r=n(8620),i=n(7321),o=n(7066);e.exports=function(e){var t=i();return function(){var n,i=r(e);if(t){var a=r(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return o(this,n)}},e.exports.__esModule=!0,e.exports.default=e.exports},5526:function(e){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.__esModule=!0,e.exports.default=e.exports},3854:function(e,t,n){var r=n(3515);function i(){return"undefined"!==typeof Reflect&&Reflect.get?(e.exports=i=Reflect.get,e.exports.__esModule=!0,e.exports.default=e.exports):(e.exports=i=function(e,t,n){var i=r(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(arguments.length<3?e:n):o.value}},e.exports.__esModule=!0,e.exports.default=e.exports),i.apply(this,arguments)}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},8620:function(e){function t(n){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},4422:function(e,t,n){var r=n(7276);e.exports=function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&r(e,t)},e.exports.__esModule=!0,e.exports.default=e.exports},7321:function(e){e.exports=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}},e.exports.__esModule=!0,e.exports.default=e.exports},7066:function(e,t,n){var r=n(1873).default,i=n(4647);e.exports=function(e,t){if(t&&("object"===r(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return i(e)},e.exports.__esModule=!0,e.exports.default=e.exports},7276:function(e){function t(n,r){return e.exports=t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n,r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},3515:function(e,t,n){var r=n(8620);e.exports=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=r(e)););return e},e.exports.__esModule=!0,e.exports.default=e.exports},1873:function(e){function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},4595:function(e,t,n){var r=n(5365);e.exports=function(e,t){if(e){if("string"===typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},3191:function(e,t,n){"use strict";var r={};n.r(r),n.d(r,{attentionMarkers:function(){return Yt},contentInitial:function(){return Ht},disable:function(){return Wt},document:function(){return Bt},flow:function(){return Gt},flowInitial:function(){return Ut},insideSpan:function(){return zt},string:function(){return Kt},text:function(){return jt}});var i={};n.r(i),n.d(i,{boolean:function(){return zn},booleanish:function(){return Yn},commaOrSpaceSeparated:function(){return Xn},commaSeparated:function(){return Vn},number:function(){return Qn},overloadedBoolean:function(){return Wn},spaceSeparated:function(){return qn}});var o=n(1473),a=n(7510);function u(){return u=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}var l=n(9286),c=["size","fixed","bottom","zIndex","className","bgColor","color","position"];function f(e){void 0===e&&(e={});var t=e,n=t.size,r=void 0===n?80:n,i=t.fixed,o=void 0!==i&&i,a=t.bottom,f=t.zIndex,p=t.className,h=t.bgColor,d=void 0===h?"#151513":h,m=t.color,E=void 0===m?"#fff":m,T=t.position,g=void 0===T?"right":T,v=s(e,c),A="left"===g?{left:0,transform:"scale(-1, 1)"}:{right:0};return a&&(A.bottom=0,A.top="initial",A.transform="left"===g?"scale(-1, -1)":"scale(1, -1)"),(0,l.jsx)("a",u({href:e.href,"aria-label":"View source on GitHub"},v,{className:"github-corner "+(p||""),children:(0,l.jsxs)("svg",{width:r,height:r,viewBox:"0 0 250 250",style:u({fill:d,color:E,position:o?"fixed":"absolute",border:0,top:0,zIndex:f},A),"aria-hidden":"true",children:[(0,l.jsx)("path",{d:"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"}),(0,l.jsx)("path",{d:"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2",fill:"currentColor",style:{transformOrigin:"130px 106px"},className:"octo-arm"}),(0,l.jsx)("path",{d:"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z",fill:"currentColor",className:"octo-body"})]})}))}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length){for(;o--;)if(47===e.charCodeAt(o)){if(n){r=o+1;break}}else i<0&&(n=!0,i=o+1);return i<0?"":e.slice(r,i)}if(t===e)return"";var a=-1,u=t.length-1;for(;o--;)if(47===e.charCodeAt(o)){if(n){r=o+1;break}}else a<0&&(n=!0,a=o+1),u>-1&&(e.charCodeAt(o)===t.charCodeAt(u--)?u<0&&(i=o):(u=-1,i=a));r===i?i=a:i<0&&(i=e.length);return e.slice(r,i)},dirname:function(e){if(B(e),0===e.length)return".";var t,n=-1,r=e.length;for(;--r;)if(47===e.charCodeAt(r)){if(t){n=r;break}}else t||(t=!0);return n<0?47===e.charCodeAt(0)?"/":".":1===n&&47===e.charCodeAt(0)?"//":e.slice(0,n)},extname:function(e){B(e);var t,n=e.length,r=-1,i=0,o=-1,a=0;for(;n--;){var u=e.charCodeAt(n);if(47!==u)r<0&&(t=!0,r=n+1),46===u?o<0?o=n:1!==a&&(a=1):o>-1&&(a=-1);else if(t){i=n+1;break}}if(o<0||r<0||0===a||1===a&&o===r-1&&o===i+1)return"";return e.slice(o,r)},join:function(){for(var e,t=-1,n=arguments.length,r=new Array(n),i=0;i2){if((r=i.lastIndexOf("/"))!==i.length-1){r<0?(i="",o=0):o=(i=i.slice(0,r)).length-1-i.lastIndexOf("/"),a=s,u=0;continue}}else if(i.length>0){i="",o=0,a=s,u=0;continue}t&&(i=i.length>0?i+"/..":"..",o=2)}else i.length>0?i+="/"+e.slice(a+1,s):i=e.slice(a+1,s),o=s-a-1;a=s,u=0}else 46===n&&u>-1?u++:u=-1}return i}(e,!t);return 0!==n.length||t||(n="."),n.length>0&&47===e.charCodeAt(e.length-1)&&(n+="/"),t?"/"+n:n}function B(e){if("string"!==typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}var H={cwd:function(){return"/"}};function U(e){return null!==e&&"object"===typeof e&&e.href&&e.origin}function G(e){if("string"===typeof e)e=new URL(e);else if(!U(e)){var t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if("file:"!==e.protocol){var n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return function(e){if(""!==e.hostname){var t=new TypeError('File URL host must be "localhost" or empty on darwin');throw t.code="ERR_INVALID_FILE_URL_HOST",t}var n=e.pathname,r=-1;for(;++ro.length;s&&o.push(r);try{u=e.apply(void 0,o)}catch(c){var l=c;if(s&&n)throw l;return r(l)}s||(u instanceof Promise?u.then(i,r):u instanceof Error?r(u):i(u))};function r(e){if(!n){n=!0;for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o1?s-1:0),c=1;c1?n-1:0),u=1;uo?0:o+t:t>o?o:t,n=n>0?n:0,r.length<1e4)(i=Array.from(r)).unshift(t,n),[].splice.apply(e,i);else for(n&&[].splice.apply(e,[t,n]);a0?(ce(e,e.length,0,t),e):t}var pe={}.hasOwnProperty;function he(e){for(var t={},n=-1;++nr))return;for(var l,c,f=i.events.length,p=f;p--;)if("exit"===i.events[p][0]&&"chunkFlow"===i.events[p][1].type){if(l){c=i.events[p][1].end;break}l=!0}for(T(a),s=f;st;){var r=o[n];i.containerState=r[1],r[0].exit.call(i,e)}o.length=t}function g(){t.write([null]),n=void 0,t=void 0,i.containerState._closeFlow=void 0}}},Ie={tokenize:function(e,t,n){return be(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}};var Re={tokenize:function(e,t,n){return be(e,(function(e){return null===e||ke(e)?t(e):n(e)}),"linePrefix")},partial:!0};function Le(e){for(var t,n,r,i,o,a,u,s={},l=-1;++l=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}},partial:!0};var Be={tokenize:function(e){var t=this,n=e.attempt(Re,(function(r){if(null===r)return void e.consume(r);return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}),e.attempt(this.parser.constructs.flowInitial,r,be(e,e.attempt(this.parser.constructs.flow,r,e.attempt(Pe,r)),"linePrefix")));return n;function r(r){if(null!==r)return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n;e.consume(r)}}};var He={resolveAll:je()},Ue=Ke("string"),Ge=Ke("text");function Ke(e){return{tokenize:function(t){var n=this,r=this.parser.constructs[e],i=t.attempt(r,o,a);return o;function o(e){return s(e)?i(e):a(e)}function a(e){if(null!==e)return t.enter("data"),t.consume(e),u;t.consume(e)}function u(e){return s(e)?(t.exit("data"),i(e)):(t.consume(e),u)}function s(e){if(null===e)return!0;var t=r[e],i=-1;if(t)for(;++i-1&&(n[0]=n[0].slice(i)),a>0&&n.push(e[o].slice(0,a)));return n}(a,e)}function p(){return Object.assign({},r)}function h(){for(var e;r._indexl?n(i):(e.consume(i),d):41===i?c--?(e.consume(i),d):(e.exit("chunkString"),e.exit(u),e.exit(a),e.exit(r),t(i)):null===i||_e(i)?c?n(i):(e.exit("chunkString"),e.exit(u),e.exit(a),e.exit(r),t(i)):Ce(i)?n(i):(e.consume(i),92===i?m:d)}function m(t){return 40===t||41===t||92===t?(e.consume(t),d):d(t)}}function et(e,t,n,r,i,o){var a,u=this,s=0;return function(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),e.enter(o),l};function l(f){return null===f||91===f||93===f&&!a||94===f&&!s&&"_hiddenFootnoteSupport"in u.parser.constructs||s>999?n(f):93===f?(e.exit(o),e.enter(i),e.consume(f),e.exit(i),e.exit(r),t):ke(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),l):(e.enter("chunkString",{contentType:"string"}),c(f))}function c(t){return null===t||91===t||93===t||ke(t)||s++>999?(e.exit("chunkString"),l(t)):(e.consume(t),a=a||!De(t),92===t?f:c)}function f(t){return 91===t||92===t||93===t?(e.consume(t),s++,c):c(t)}}function tt(e,t,n,r,i,o){var a;return function(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),a=40===t?41:t,u};function u(n){return n===a?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(o),s(n))}function s(t){return t===a?(e.exit(o),u(a)):null===t?n(t):ke(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),be(e,s,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),l(t))}function l(t){return t===a||null===t||ke(t)?(e.exit("chunkString"),s(t)):(e.consume(t),92===t?c:l)}function c(t){return t===a||92===t?(e.consume(t),l):l(t)}}function nt(e,t){var n;return function r(i){if(ke(i))return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r;if(De(i))return be(e,r,n?"linePrefix":"lineSuffix")(i);return t(i)}}function rt(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var it={name:"definition",tokenize:function(e,t,n){var r,i=this;return function(t){return e.enter("definition"),et.call(i,e,o,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(t)};function o(t){return r=rt(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),nt(e,Je(e,e.attempt(ot,be(e,a,"whitespace"),be(e,a,"whitespace")),n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):n(t)}function a(o){return null===o||ke(o)?(e.exit("definition"),i.parser.defined.includes(r)||i.parser.defined.push(r),t(o)):n(o)}}},ot={tokenize:function(e,t,n){return function(t){return _e(t)?nt(e,r)(t):n(t)};function r(t){return 34===t||39===t||40===t?tt(e,be(e,i,"whitespace"),n,"definitionTitle","definitionTitleMarker","definitionTitleString")(t):n(t)}function i(e){return null===e||ke(e)?t(e):n(e)}},partial:!0};var at={name:"codeIndented",tokenize:function(e,t,n){var r=this;return function(t){return e.enter("codeIndented"),be(e,i,"linePrefix",5)(t)};function i(e){var t=r.events[r.events.length-1];return t&&"linePrefix"===t[1].type&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return null===t?u(t):ke(t)?e.attempt(ut,o,u)(t):(e.enter("codeFlowValue"),a(t))}function a(t){return null===t||ke(t)?(e.exit("codeFlowValue"),o(t)):(e.consume(t),a)}function u(n){return e.exit("codeIndented"),t(n)}}},ut={tokenize:function(e,t,n){var r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):ke(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i):be(e,o,"linePrefix",5)(t)}function o(e){var o=r.events[r.events.length-1];return o&&"linePrefix"===o[1].type&&o[2].sliceSerialize(o[1],!0).length>=4?t(e):ke(e)?i(e):n(e)}},partial:!0};var st={name:"headingAtx",tokenize:function(e,t,n){var r=this,i=0;return function(t){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),o(t)};function o(u){return 35===u&&i++<6?(e.consume(u),o):null===u||_e(u)?(e.exit("atxHeadingSequence"),r.interrupt?t(u):a(u)):n(u)}function a(n){return 35===n?(e.enter("atxHeadingSequence"),u(n)):null===n||ke(n)?(e.exit("atxHeading"),t(n)):De(n)?be(e,a,"whitespace")(n):(e.enter("atxHeadingText"),s(n))}function u(t){return 35===t?(e.consume(t),u):(e.exit("atxHeadingSequence"),a(t))}function s(t){return null===t||35===t||_e(t)?(e.exit("atxHeadingText"),a(t)):(e.consume(t),s)}},resolve:function(e,t){var n,r,i=e.length-2,o=3;"whitespace"===e[o][1].type&&(o+=2);i-2>o&&"whitespace"===e[i][1].type&&(i-=2);"atxHeadingSequence"===e[i][1].type&&(o===i-1||i-4>o&&"whitespace"===e[i-2][1].type)&&(i-=o+1===i?2:4);i>o&&(n={type:"atxHeadingText",start:e[o][1].start,end:e[i][1].end},r={type:"chunkText",start:e[o][1].start,end:e[i][1].end,contentType:"text"},ce(e,o,i-o+1,[["enter",n,t],["enter",r,t],["exit",r,t],["exit",n,t]]));return e}};var lt={name:"setextUnderline",tokenize:function(e,t,n){var r,i,o=this,a=o.events.length;for(;a--;)if("lineEnding"!==o.events[a][1].type&&"linePrefix"!==o.events[a][1].type&&"content"!==o.events[a][1].type){i="paragraph"===o.events[a][1].type;break}return function(t){if(!o.parser.lazy[o.now().line]&&(o.interrupt||i))return e.enter("setextHeadingLine"),e.enter("setextHeadingLineSequence"),r=t,u(t);return n(t)};function u(t){return t===r?(e.consume(t),u):(e.exit("setextHeadingLineSequence"),be(e,s,"lineSuffix")(t))}function s(r){return null===r||ke(r)?(e.exit("setextHeadingLine"),t(r)):n(r)}},resolveTo:function(e,t){var n,r,i,o=e.length;for(;o--;)if("enter"===e[o][0]){if("content"===e[o][1].type){n=o;break}"paragraph"===e[o][1].type&&(r=o)}else"content"===e[o][1].type&&e.splice(o,1),i||"definition"!==e[o][1].type||(i=o);var a={type:"setextHeading",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)};e[r][1].type="setextHeadingText",i?(e.splice(r,0,["enter",a,t]),e.splice(i+1,0,["exit",e[n][1],t]),e[n][1].end=Object.assign({},e[i][1].end)):e[n][1]=a;return e.push(["exit",a,t]),e}};var ct=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","source","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ft=["pre","script","style","textarea"],pt={name:"htmlFlow",tokenize:function(e,t,n){var r,i,o,a,u,s=this;return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),l};function l(a){return 33===a?(e.consume(a),c):47===a?(e.consume(a),h):63===a?(e.consume(a),r=3,s.interrupt?t:L):Ee(a)?(e.consume(a),o=String.fromCharCode(a),i=!0,d):n(a)}function c(i){return 45===i?(e.consume(i),r=2,f):91===i?(e.consume(i),r=5,o="CDATA[",a=0,p):Ee(i)?(e.consume(i),r=4,s.interrupt?t:L):n(i)}function f(r){return 45===r?(e.consume(r),s.interrupt?t:L):n(r)}function p(r){return r===o.charCodeAt(a++)?(e.consume(r),a===o.length?s.interrupt?t:N:p):n(r)}function h(t){return Ee(t)?(e.consume(t),o=String.fromCharCode(t),d):n(t)}function d(a){return null===a||47===a||62===a||_e(a)?47!==a&&i&&ft.includes(o.toLowerCase())?(r=1,s.interrupt?t(a):N(a)):ct.includes(o.toLowerCase())?(r=6,47===a?(e.consume(a),m):s.interrupt?t(a):N(a)):(r=7,s.interrupt&&!s.parser.lazy[s.now().line]?n(a):i?T(a):E(a)):45===a||ve(a)?(e.consume(a),o+=String.fromCharCode(a),d):n(a)}function m(r){return 62===r?(e.consume(r),s.interrupt?t:N):n(r)}function E(t){return De(t)?(e.consume(t),E):k(t)}function T(t){return 47===t?(e.consume(t),k):58===t||95===t||Ee(t)?(e.consume(t),g):De(t)?(e.consume(t),T):k(t)}function g(t){return 45===t||46===t||58===t||95===t||ve(t)?(e.consume(t),g):v(t)}function v(t){return 61===t?(e.consume(t),A):De(t)?(e.consume(t),v):T(t)}function A(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),u=t,y):De(t)?(e.consume(t),A):(u=null,C(t))}function y(t){return null===t||ke(t)?n(t):t===u?(e.consume(t),_):(e.consume(t),y)}function C(t){return null===t||34===t||39===t||60===t||61===t||62===t||96===t||_e(t)?v(t):(e.consume(t),C)}function _(e){return 47===e||62===e||De(e)?T(e):n(e)}function k(t){return 62===t?(e.consume(t),D):n(t)}function D(t){return De(t)?(e.consume(t),D):null===t||ke(t)?N(t):n(t)}function N(t){return 45===t&&2===r?(e.consume(t),F):60===t&&1===r?(e.consume(t),x):62===t&&4===r?(e.consume(t),M):63===t&&3===r?(e.consume(t),L):93===t&&5===r?(e.consume(t),R):!ke(t)||6!==r&&7!==r?null===t||ke(t)?O(t):(e.consume(t),N):e.check(ht,M,O)(t)}function O(t){return e.exit("htmlFlowData"),S(t)}function S(t){return null===t?P(t):ke(t)?e.attempt({tokenize:b,partial:!0},S,P)(t):(e.enter("htmlFlowData"),N(t))}function b(e,t,n){return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),r};function r(e){return s.parser.lazy[s.now().line]?n(e):t(e)}}function F(t){return 45===t?(e.consume(t),L):N(t)}function x(t){return 47===t?(e.consume(t),o="",I):N(t)}function I(t){return 62===t&&ft.includes(o.toLowerCase())?(e.consume(t),M):Ee(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),I):N(t)}function R(t){return 93===t?(e.consume(t),L):N(t)}function L(t){return 62===t?(e.consume(t),M):45===t&&2===r?(e.consume(t),L):N(t)}function M(t){return null===t||ke(t)?(e.exit("htmlFlowData"),P(t)):(e.consume(t),M)}function P(n){return e.exit("htmlFlow"),t(n)}},resolveTo:function(e){var t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2));return e},concrete:!0},ht={tokenize:function(e,t,n){return function(r){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),e.attempt(Re,t,n)}},partial:!0};var dt={name:"codeFenced",tokenize:function(e,t,n){var r,i=this,o={tokenize:function(e,t,n){var i=0;return be(e,o,"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function o(t){return e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),a(t)}function a(t){return t===r?(e.consume(t),i++,a):i1&&e[c][1].end.offset-e[c][1].start.offset>1?2:1;var f=Object.assign({},e[n][1].end),p=Object.assign({},e[c][1].start);Ot(f,-u),Ot(p,u),o={type:u>1?"strongSequence":"emphasisSequence",start:f,end:Object.assign({},e[n][1].end)},a={type:u>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[c][1].start),end:p},i={type:u>1?"strongText":"emphasisText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[c][1].start)},r={type:u>1?"strong":"emphasis",start:Object.assign({},o.start),end:Object.assign({},a.end)},e[n][1].end=Object.assign({},o.start),e[c][1].start=Object.assign({},a.end),s=[],e[n][1].end.offset-e[n][1].start.offset&&(s=fe(s,[["enter",e[n][1],t],["exit",e[n][1],t]])),s=fe(s,[["enter",r,t],["enter",o,t],["exit",o,t],["enter",i,t]]),s=fe(s,Ye(t.parser.constructs.insideSpan.null,e.slice(n+1,c),t)),s=fe(s,[["exit",i,t],["enter",a,t],["exit",a,t],["exit",r,t]]),e[c][1].end.offset-e[c][1].start.offset?(l=2,s=fe(s,[["enter",e[c][1],t],["exit",e[c][1],t]])):l=0,ce(e,n-1,c-n+3,s),c=n+s.length-l-2;break}c=-1;for(;++c13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||65535===(65535&n)||65534===(65535&n)||n>1114111?"\ufffd":String.fromCharCode(n)}var Vt=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Xt(e){return e.replace(Vt,$t)}function $t(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){var r=n.charCodeAt(1),i=120===r||88===r;return qt(n.slice(i?2:1),i?16:10)}return Et(n)||e}var Zt={}.hasOwnProperty,Jt=function(e,t,n){return"string"!==typeof t&&(n=t,t=void 0),function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=en({transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:s(ie),autolinkProtocol:S,autolinkEmail:S,atxHeading:s(ee),blockQuote:s(V),characterEscape:S,characterReference:S,codeFenced:s(X),codeFencedFenceInfo:l,codeFencedFenceMeta:l,codeIndented:s(X,l),codeText:s($,l),codeTextData:S,data:S,codeFlowValue:S,definition:s(Z),definitionDestinationString:l,definitionLabelString:l,definitionTitleString:l,emphasis:s(J),hardBreakEscape:s(te),hardBreakTrailing:s(te),htmlFlow:s(ne,l),htmlFlowData:S,htmlText:s(ne,l),htmlTextData:S,image:s(re),label:l,link:s(ie),listItem:s(ae),listItemValue:m,listOrdered:s(oe,d),listUnordered:s(oe),paragraph:s(se),reference:j,referenceString:l,resourceDestinationString:l,resourceTitleString:l,setextHeading:s(ee),strong:s(le),thematicBreak:s(fe)},exit:{atxHeading:f(),atxHeadingSequence:k,autolink:f(),autolinkEmail:q,autolinkProtocol:Q,blockQuote:f(),characterEscapeValue:b,characterReferenceMarkerHexadecimal:Y,characterReferenceMarkerNumeric:Y,characterReferenceValue:W,codeFenced:f(v),codeFencedFence:g,codeFencedFenceInfo:E,codeFencedFenceMeta:T,codeFlowValue:b,codeIndented:f(A),codeText:f(M),codeTextData:b,data:b,definition:f(),definitionDestinationString:_,definitionLabelString:y,definitionTitleString:C,emphasis:f(),hardBreakEscape:f(I),hardBreakTrailing:f(I),htmlFlow:f(R),htmlFlowData:b,htmlText:f(L),htmlTextData:b,image:f(w),label:H,labelText:B,lineEnding:F,link:f(P),listItem:f(),listOrdered:f(),listUnordered:f(),paragraph:f(),referenceString:z,resourceDestinationString:U,resourceTitleString:G,resource:K,setextHeading:f(O),setextHeadingLineSequence:N,setextHeadingText:D,strong:f(),thematicBreak:f()}},e.mdastExtensions||[]),n={};return r;function r(e){for(var n={type:"root",children:[]},r=[],s=[],f={stack:[n],tokenStack:r,config:t,enter:c,exit:p,buffer:l,resume:h,setData:o,getData:a},d=-1;++d0){var E=r[r.length-1];(E[1]||nn).call(f,void 0,E[0])}for(n.position={start:u(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:u(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},d=-1;++d0&&void 0!==arguments[0]?arguments[0]:{}).extensions||[])),content:t(Fe),document:t(xe),flow:t(Be),string:t(Ue),text:t(Ge)};return e;function t(t){return function(n){return We(e,t,n)}}}(n).document().write(function(){var e,t=1,n="",r=!0;return function(i,o,a){var u,s,l,c,f,p=[];for(i=n+i.toString(o),l=0,n="",r&&(65279===i.charCodeAt(0)&&l++,r=void 0);l":"")+")"}));return f;function f(){var l,c,f,p=[];if((!t||i(a,u,s[s.length-1]||null))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[true,e];return[e]}(n(a,s)),false===p[0]))return p;if(a.children&&"skip"!==p[0])for(c=(r?a.children.length:-1)+o,f=s.concat(a);c>-1&&c-1?n.offset:null}}}var En=function(e,t,n,r){"function"===typeof t&&"function"!==typeof n&&(r=n,n=t,t=null);var i=sn(t),o=r?-1:1;!function e(a,u,s){var l,c="object"===typeof a&&null!==a?a:{};"string"===typeof c.type&&(l="string"===typeof c.tagName?c.tagName:"string"===typeof c.name?c.name:void 0,Object.defineProperty(f,"name",{value:"node ("+c.type+(l?"<"+l+">":"")+")"}));return f;function f(){var l,c,f,p=[];if((!t||i(a,u,s[s.length-1]||null))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[true,e];return[e]}(n(a,s)),false===p[0]))return p;if(a.children&&"skip"!==p[0])for(c=(r?a.children.length:-1)+o,f=s.concat(a);c>-1&&c0&&n.push(un("text","\n")),n}function On(e,t){var n={},r=t.ordered?"ol":"ul",i=kn(e,t),o=-1;for("number"===typeof t.start&&1!==t.start&&(n.start=t.start);++o1:t}var In={blockquote:function(e,t){return e(t,"blockquote",Nn(kn(e,t),!0))},break:function(e,t){return[e(t,"br"),un("text","\n")]},code:function(e,t){var n=t.value?t.value+"\n":"",r=t.lang&&t.lang.match(/^[^ \t]+(?=[ \t]|$)/),i={};r&&(i.className=["language-"+r]);var o=e(t,"code",i,[un("text",n)]);return t.meta&&(o.data={meta:t.meta}),e(t.position,"pre",[o])},delete:function(e,t){return e(t,"del",kn(e,t))},emphasis:function(e,t){return e(t,"em",kn(e,t))},footnoteReference:Sn,footnote:function(e,t){for(var n=e.footnoteById,r=e.footnoteOrder,i=1;i in n;)i++;var o=String(i);return r.push(o),n[o]={type:"footnoteDefinition",identifier:o,children:[{type:"paragraph",children:t.children}],position:t.position},Sn(e,{type:"footnoteReference",identifier:o,position:t.position})},heading:function(e,t){return e(t,"h"+t.depth,kn(e,t))},html:function(e,t){return e.dangerous?e.augment(t,un("raw",t.value)):null},imageReference:function(e,t){var n=e.definition(t.identifier);if(!n)return Fn(e,t);var r={src:bn(n.url||""),alt:t.alt};return null!==n.title&&void 0!==n.title&&(r.title=n.title),e(t,"img",r)},image:function(e,t){var n={src:bn(t.url),alt:t.alt};return null!==t.title&&void 0!==t.title&&(n.title=t.title),e(t,"img",n)},inlineCode:function(e,t){return e(t,"code",[un("text",t.value.replace(/\r?\n|\r/g," "))])},linkReference:function(e,t){var n=e.definition(t.identifier);if(!n)return Fn(e,t);var r={href:bn(n.url||"")};return null!==n.title&&void 0!==n.title&&(r.title=n.title),e(t,"a",r,kn(e,t))},link:function(e,t){var n={href:bn(t.url)};return null!==t.title&&void 0!==t.title&&(n.title=t.title),e(t,"a",n,kn(e,t))},listItem:function(e,t,n){var r,i=kn(e,t),o=n?function(e){var t=e.spread,n=e.children,r=-1;for(;!t&&++r0&&r.children.unshift(un("text"," ")),r.children.unshift(e(null,"input",{type:"checkbox",checked:t.checked,disabled:!0})),a.className=["task-list-item"]);for(var s=-1;++s":"")+")"}));return f;function f(){var l,c,f,p=[];if((!t||i(a,u,s[s.length-1]||null))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[true,e];return[e]}(n(a,s)),false===p[0]))return p;if(a.children&&"skip"!==p[0])for(c=(r?a.children.length:-1)+o,f=s.concat(a);c>-1&&c4&&"data"===n.slice(0,4)&&gr.test(t)){if("-"===t.charAt(4)){var o=t.slice(5).replace(vr,_r);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{var a=t.slice(4);if(!vr.test(a)){var u=a.replace(Ar,Cr);"-"!==u.charAt(0)&&(u="-"+u),t="data"+u}}i=Jn}return new i(r,t)}function Cr(e){return"-"+e.toLowerCase()}function _r(e){return e.charAt(1).toUpperCase()}var kr={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"};function Dr(e){var t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function Nr(e){return e.join(" ").trim()}function Or(e){for(var t,n,r=[],i=String(e||""),o=i.indexOf(","),a=0;!t;)-1===o&&(o=i.length,t=!0),!(n=i.slice(a,o).trim())&&t||r.push(n),a=o+1,o=i.indexOf(",",a);return r}function Sr(e,t){var n=t||{};return""===e[e.length-1]&&(e=e.concat("")),e.join((n.padRight?" ":"")+","+(!1===n.padLeft?"":" ")).trim()}var br=n(1358),Fr={}.hasOwnProperty,xr=new Set(["table","thead","tbody","tfoot","tr"]);function Ir(e,t){for(var n,r=[],i=-1;++i0?o.createElement(d,l,f):o.createElement(d,l)}function Lr(e,t){for(var n=-1,r=0;++n for more info)")),delete Br[t]}var r=Z().use(rn).use(e.remarkPlugins||e.plugins||[]).use(wn,{allowDangerousHtml:!0}).use(e.rehypePlugins||[]).use(dr,e),i=new j;"string"===typeof e.children?i.value=e.children:void 0!==e.children&&null!==e.children&&console.warn("[react-markdown] Warning: please pass a string as `children` (not: `".concat(e.children,"`)"));var a=r.runSync(r.parse(i),i);if("root"!==a.type)throw new TypeError("Expected a `root` node");var u=o.createElement(o.Fragment,{},Ir({options:e,schema:fr,listDepth:0},a));return e.className&&(u=o.createElement("div",{className:e.className},u)),u}Hr.defaultProps={transformLinkUri:function(e){var t=(e||"").trim(),n=t.charAt(0);if("#"===n||"/"===n)return t;var r=t.indexOf(":");if(-1===r)return t;for(var i=-1;++ii||-1!==(i=t.indexOf("#"))&&r>i?t:"javascript:void(0)"}},Hr.propTypes={children:Bn.string,className:Bn.string,allowElement:Bn.func,allowedElements:Bn.arrayOf(Bn.string),disallowedElements:Bn.arrayOf(Bn.string),unwrapDisallowed:Bn.bool,remarkPlugins:Bn.arrayOf(Bn.oneOfType([Bn.object,Bn.func,Bn.arrayOf(Bn.oneOfType([Bn.object,Bn.func]))])),rehypePlugins:Bn.arrayOf(Bn.oneOfType([Bn.object,Bn.func,Bn.arrayOf(Bn.oneOfType([Bn.object,Bn.func]))])),sourcePos:Bn.bool,rawSourcePos:Bn.bool,skipHtml:Bn.bool,includeElementIndex:Bn.bool,transformLinkUri:Bn.oneOfType([Bn.func,Bn.bool]),linkTarget:Bn.oneOfType([Bn.func,Bn.string]),transformImageUri:Bn.func,components:Bn.object};for(var Ur={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(t){return 87===t||119===t?(e.consume(t),i):n(t)}function i(t){return 87===t||119===t?(e.consume(t),o):n(t)}function o(t){return 46===t?(e.consume(t),a):n(t)}function a(e){return null===e||ke(e)?n(e):t(e)}},partial:!0},Gr={tokenize:function(e,t,n){var r,i;return o;function o(t){return 38===t?e.check(zr,u,a)(t):46===t||95===t?e.check(jr,u,a)(t):null===t||Ce(t)||Ne(t)||45!==t&&Oe(t)?u(t):(e.consume(t),o)}function a(t){return 46===t?(i=r,r=void 0,e.consume(t),o):(95===t&&(r=!0),e.consume(t),o)}function u(e){return i||r?n(e):t(e)}},partial:!0},Kr={tokenize:function(e,t){var n=0;return r;function r(a){return 38===a?e.check(zr,t,i)(a):(40===a&&n++,41===a?e.check(jr,o,i)(a):Zr(a)?t(a):$r(a)?e.check(jr,t,i)(a):(e.consume(a),r))}function i(t){return e.consume(t),r}function o(e){return--n<0?t(e):i(e)}},partial:!0},jr={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(i){return $r(i)?(e.consume(i),r):Zr(i)?t(i):n(i)}},partial:!0},zr={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(t){return Ee(t)?(e.consume(t),r):59===t?(e.consume(t),i):n(t)}function i(e){return Zr(e)?t(e):n(e)}},partial:!0},Yr={tokenize:function(e,t,n){var r=this;return function(t){if(87!==t&&119!==t||!ei(r.previous)||ri(r.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(Ur,e.attempt(Gr,e.attempt(Kr,i),n),n)(t)};function i(n){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(n)}},previous:ei},Wr={tokenize:function(e,t,n){var r=this;return function(t){if(72!==t&&104!==t||!ti(r.previous)||ri(r.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),e.consume(t),i};function i(t){return 84===t||116===t?(e.consume(t),o):n(t)}function o(t){return 84===t||116===t?(e.consume(t),a):n(t)}function a(t){return 80===t||112===t?(e.consume(t),u):n(t)}function u(t){return 83===t||115===t?(e.consume(t),s):s(t)}function s(t){return 58===t?(e.consume(t),l):n(t)}function l(t){return 47===t?(e.consume(t),c):n(t)}function c(t){return 47===t?(e.consume(t),f):n(t)}function f(t){return null===t||Ce(t)||Ne(t)||Oe(t)?n(t):e.attempt(Gr,e.attempt(Kr,p),n)(t)}function p(n){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(n)}},previous:ti},Qr={tokenize:function(e,t,n){var r,i,o=this;return function(t){if(!Jr(t)||!ni(o.previous)||ri(o.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),a(t)};function a(t){return Jr(t)?(e.consume(t),a):64===t?(e.consume(t),u):n(t)}function u(t){return 46===t?e.check(jr,f,s)(t):45===t||95===t?e.check(jr,n,l)(t):ve(t)?(!i&&Te(t)&&(i=!0),e.consume(t),u):f(t)}function s(t){return e.consume(t),r=!0,i=void 0,u}function l(t){return e.consume(t),c}function c(t){return 46===t?e.check(jr,n,s)(t):u(t)}function f(o){return r&&!i?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(o)):n(o)}},previous:ni},qr={},Vr={text:qr},Xr=48;Xr<123;)qr[Xr]=Qr,58===++Xr?Xr=65:91===Xr&&(Xr=97);function $r(e){return 33===e||34===e||39===e||41===e||42===e||44===e||46===e||58===e||59===e||60===e||63===e||95===e||126===e}function Zr(e){return null===e||60===e||_e(e)}function Jr(e){return 43===e||45===e||46===e||95===e||ve(e)}function ei(e){return null===e||40===e||42===e||95===e||126===e||_e(e)}function ti(e){return null===e||!Ee(e)}function ni(e){return 47!==e&&ti(e)}function ri(e){for(var t=e.length,n=!1;t--;){var r=e[t][1];if(("labelLink"===r.type||"labelImage"===r.type)&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}qr[43]=Qr,qr[45]=Qr,qr[46]=Qr,qr[95]=Qr,qr[72]=[Qr,Wr],qr[104]=[Qr,Wr],qr[87]=[Qr,Yr],qr[119]=[Qr,Yr];var ii={tokenize:function(e,t,n){var r=this;return be(e,(function(e){var i=r.events[r.events.length-1];return i&&"gfmFootnoteDefinitionIndent"===i[1].type&&4===i[2].sliceSerialize(i[1],!0).length?t(e):n(e)}),"gfmFootnoteDefinitionIndent",5)},partial:!0};function oi(){var e;return{document:Qe({},91,{tokenize:li,continuation:{tokenize:ci},exit:fi}),text:(e={},Qe(e,91,{tokenize:si}),Qe(e,93,{add:"after",tokenize:ai,resolveTo:ui}),e)}}function ai(e,t,n){for(var r,i=this,o=i.events.length,a=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);o--;){var u=i.events[o][1];if("labelImage"===u.type){r=u;break}if("gfmFootnoteCall"===u.type||"labelLink"===u.type||"label"===u.type||"image"===u.type||"link"===u.type)break}return function(o){if(!r||!r._balanced)return n(o);var u=rt(i.sliceSerialize({start:r.end,end:i.now()}));if(94!==u.charCodeAt(0)||!a.includes(u.slice(1)))return n(o);return e.enter("gfmFootnoteCallLabelMarker"),e.consume(o),e.exit("gfmFootnoteCallLabelMarker"),t(o)}}function ui(e,t){for(var n=e.length;n--;)if("labelImage"===e[n][1].type&&"enter"===e[n][0]){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";var r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;var o={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},u=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",o,t],["enter",a,t],["exit",a,t],["exit",o,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice.apply(e,[n,e.length-n+1].concat(u)),e}function si(e,t,n){var r,i=this,o=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]),a=0;return function(t){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(t),e.exit("gfmFootnoteCallLabelMarker"),u};function u(t){return 94!==t?n(t):(e.enter("gfmFootnoteCallMarker"),e.consume(t),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",s)}function s(u){var c;return null===u||91===u||a++>999?n(u):93===u?r?(e.exit("chunkString"),c=e.exit("gfmFootnoteCallString"),o.includes(rt(i.sliceSerialize(c)))?function(n){return e.enter("gfmFootnoteCallLabelMarker"),e.consume(n),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t}(u):n(u)):n(u):(e.consume(u),_e(u)||(r=!0),92===u?l:s)}function l(t){return 91===t||92===t||93===t?(e.consume(t),a++,s):s(t)}}function li(e,t,n){var r,i,o=this,a=o.parser.gfmFootnotes||(o.parser.gfmFootnotes=[]),u=0;return function(t){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),s};function s(t){return 94===t?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),l):n(t)}function l(t){var a;return null===t||91===t||u>999?n(t):93===t?i?(a=e.exit("gfmFootnoteDefinitionLabelString"),r=rt(o.sliceSerialize(a)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),p):n(t):ke(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),u++,l):(e.enter("chunkString").contentType="string",c(t))}function c(t){return null===t||ke(t)||91===t||93===t||u>999?(e.exit("chunkString"),l(t)):(_e(t)||(i=!0),u++,e.consume(t),92===t?f:c)}function f(t){return 91===t||92===t||93===t?(e.consume(t),u++,c):c(t)}function p(t){return 58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),be(e,h,"gfmFootnoteDefinitionWhitespace")):n(t)}function h(e){return a.includes(r)||a.push(r),t(e)}}function ci(e,t,n){return e.check(Re,t,e.attempt(ii,t,n))}function fi(e){e.exit("gfmFootnoteDefinition")}function pi(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.singleTilde,n={tokenize:i,resolveAll:r};return null!==t&&void 0!==t||(t=!0),{text:Qe({},126,n),insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){for(var n=-1;++n1?r(o):(e.consume(o),a++,u);if(a<2&&!t)return r(o);var l=e.exit("strikethroughSequenceTemporary"),c=Dt(o);return l._open=!c||2===c&&Boolean(s),l._close=!s||2===s&&Boolean(c),n(o)}}}var hi={flow:{null:{tokenize:function(e,t,n){var r,i,o=this,a=[],u=0;return function(t){if(e.enter("table")._align=a,e.enter("tableHead"),e.enter("tableRow"),124===t)return s(t);return u++,e.enter("temporaryTableCellContent"),f(t)};function s(t){return e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),r=!0,l}function l(t){return null===t||ke(t)?function(t){if(null===t)return n(t);e.exit("tableRow"),e.exit("tableHead");var r=o.interrupt;return o.interrupt=!0,e.attempt({tokenize:S,partial:!0},(function(t){return o.interrupt=r,e.enter("tableDelimiterRow"),h(t)}),(function(e){return o.interrupt=r,n(e)}))(t)}(t):De(t)?(e.enter("whitespace"),e.consume(t),c):(r&&(r=void 0,u++),124===t?s(t):(e.enter("temporaryTableCellContent"),f(t)))}function c(t){return De(t)?(e.consume(t),c):(e.exit("whitespace"),l(t))}function f(t){return null===t||124===t||_e(t)?(e.exit("temporaryTableCellContent"),l(t)):(e.consume(t),92===t?p:f)}function p(t){return 92===t||124===t?(e.consume(t),f):f(t)}function h(t){return null===t||ke(t)?g(t):De(t)?(e.enter("whitespace"),e.consume(t),d):45===t?(e.enter("tableDelimiterFiller"),e.consume(t),i=!0,a.push("none"),m):58===t?(e.enter("tableDelimiterAlignment"),e.consume(t),e.exit("tableDelimiterAlignment"),a.push("left"),E):124===t?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),h):n(t)}function d(t){return De(t)?(e.consume(t),d):(e.exit("whitespace"),h(t))}function m(t){return 45===t?(e.consume(t),m):(e.exit("tableDelimiterFiller"),58===t?(e.enter("tableDelimiterAlignment"),e.consume(t),e.exit("tableDelimiterAlignment"),a[a.length-1]="left"===a[a.length-1]?"center":"right",T):h(t))}function E(t){return 45===t?(e.enter("tableDelimiterFiller"),e.consume(t),i=!0,m):n(t)}function T(t){return null===t||ke(t)?g(t):De(t)?(e.enter("whitespace"),e.consume(t),d):124===t?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),h):n(t)}function g(t){return e.exit("tableDelimiterRow"),i&&u===a.length?null===t?v(t):e.check(di,v,e.attempt({tokenize:S,partial:!0},be(e,A,"linePrefix",4),v))(t):n(t)}function v(n){return e.exit("table"),t(n)}function A(t){return e.enter("tableBody"),y(t)}function y(t){return e.enter("tableRow"),124===t?C(t):(e.enter("temporaryTableCellContent"),D(t))}function C(t){return e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),_}function _(t){return null===t||ke(t)?function(t){if(e.exit("tableRow"),null===t)return O(t);return e.check(di,O,e.attempt({tokenize:S,partial:!0},be(e,y,"linePrefix",4),O))(t)}(t):De(t)?(e.enter("whitespace"),e.consume(t),k):124===t?C(t):(e.enter("temporaryTableCellContent"),D(t))}function k(t){return De(t)?(e.consume(t),k):(e.exit("whitespace"),_(t))}function D(t){return null===t||124===t||_e(t)?(e.exit("temporaryTableCellContent"),_(t)):(e.consume(t),92===t?N:D)}function N(t){return 92===t||124===t?(e.consume(t),D):D(t)}function O(t){return e.exit("tableBody"),v(t)}function S(e,t,n){return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),be(e,r,"linePrefix")};function r(r){if(o.parser.lazy[o.now().line]||null===r||ke(r))return n(r);var i=o.events[o.events.length-1];return!o.parser.constructs.disable.null.includes("codeIndented")&&i&&"linePrefix"===i[1].type&&i[2].sliceSerialize(i[1],!0).length>=4?n(r):(o._gfmTableDynamicInterruptHack=!0,e.check(o.parser.constructs.flow,(function(e){return o._gfmTableDynamicInterruptHack=!1,n(e)}),(function(e){return o._gfmTableDynamicInterruptHack=!1,t(e)}))(r))}}},resolve:function(e,t){var n,r,i,o,a,u,s,l=-1;for(;++l0?{type:"text",value:f}:void 0),!1!==f){var p;if(o!==n&&l.push({type:"text",value:e.value.slice(o,n)}),Array.isArray(f))(p=l).push.apply(p,m(f));else f&&l.push(f);o=n+c[0].length}if(!r.global)break;c=r.exec(e.value)}if(void 0===n)l=[e],a--;else{var h;o?\]}]+$/.exec(e);if(o)for(e=e.slice(0,o.index),t=(i=o[0]).indexOf(")"),n=vi(e,"("),r=vi(e,")");-1!==t&&n>r;)e+=i.slice(0,t+1),t=(i=i.slice(t+1)).indexOf(")"),r++;return[e,i]}(n+r);if(!a[0])return!1;var u={type:"link",title:null,url:o+t+a[0],children:[{type:"text",value:t+a[0]}]};return a[1]?[u,{type:"text",value:a[1]}]:u}function Fi(e,t,n,r){return!(!xi(r,!0)||/[_-\d]$/.test(n))&&{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function xi(e,t){var n=e.input.charCodeAt(e.index-1);return(0===e.index||Ne(n)||Oe(n))&&(!t||47!==n)}function Ii(e){return e.label||!e.identifier?e.label||"":Xt(e.identifier)}function Ri(e,t){var n=t.indexStack,r=e.children||[],i=[],o=-1;for(n.push(-1);++o=m||(E+1":"")+")"}));return f;function f(){var l,c,f,p=[];if((!t||i(a,u,s[s.length-1]||null))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[true,e];return[e]}(n(a,s)),p[0]===Ki))return p;if(a.children&&"skip"!==p[0])for(c=(r?a.children.length:-1)+o,f=s.concat(a);c>-1&&c for more info)"),zi=!0);Yi||function(e,t,n,r){"function"===typeof t&&"function"!==typeof n&&(r=n,n=t,t=null),ji(e,t,(function(e,t){var r=t[t.length-1];return n(e,r?r.children.indexOf(e):null,r)}),r)}(e,"list",(function(){return console.warn("[mdast-util-gfm-footnote] Warning: Found a list in a footnote definition. GitHub currently crahes on lists in footnotes (see for more info)"),Yi=!0,Ki}));return u},footnoteReference:e}};function e(e,t,n){var r=n.enter("footnoteReference"),i=n.enter("reference"),o=Hi(n,Ii(e),{before:"^",after:"]"});return i(),r(),"[^"+o+"]"}}function Qi(e,t,n){var r=t.indexStack,i=e.children||[],o=[],a=-1,u=n.before;for(r.push(-1);++a0&&("\r"===u||"\n"===u)&&"html"===s.type&&(o[o.length-1]=o[o.length-1].replace(/(\r?\n|\r)$/," "),u=" "),o.push(t.handle(s,e,t,{before:u,after:l})),u=o[o.length-1].slice(-1)}return r.pop(),o.join("")}var qi={canContainEols:["delete"],enter:{strikethrough:function(e){this.enter({type:"delete",children:[]},e)}},exit:{strikethrough:function(e){this.exit(e)}}},Vi={unsafe:[{character:"~",inConstruct:"phrasing"}],handlers:{delete:Xi}};function Xi(e,t,n){var r=n.enter("emphasis"),i=Qi(e,n,{before:"~",after:"~"});return r(),"~~"+i+"~~"}function $i(e,t,n){for(var r=e.value||"",i="`",o=-1;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++o1&&void 0!==arguments[1]?arguments[1]:{},n=(t.align||[]).concat(),r=t.stringLength||Ji,i=[],o=[],a=[],u=[],s=0,l=-1;++ls&&(s=e[l].length);++pu[p])&&(u[p]=d)}c.push(h)}o[l]=c,a[l]=f}var m=-1;if("object"===typeof n&&"length"in n)for(;++mu[m]&&(u[m]=C),g[m]=C),T[m]=_}o.splice(1,0,T),a.splice(1,0,g),l=-1;for(var k=[];++l-1?t.start:1)+(!1===n.options.incrementListMarker?0:t.children.indexOf(e))+i);var o=i.length+1;("tab"===r||"mixed"===r&&(t&&"list"===t.type&&t.spread||e.spread))&&(o=4*Math.ceil(o/4));var a=n.enter("listItem"),u=Mi(Ri(e,n),(function(e,t,n){if(t)return(n?"":" ".repeat(o))+e;return(n?i:i+" ".repeat(o-i.length))+e}));return a(),u}var uo={exit:{taskListCheckValueChecked:lo,taskListCheckValueUnchecked:lo,paragraph:function(e){var t,n=this.stack[this.stack.length-2],r=this.stack[this.stack.length-1],i=n.children,o=r.children[0],a=-1;if(n&&"listItem"===n.type&&"boolean"===typeof n.checked&&o&&"text"===o.type){for(;++a0&&void 0!==arguments[0]?arguments[0]:{},t=this.data();function n(e,n){(t[e]?t[e]:t[e]=[]).push(n)}n("micromarkExtensions",gi(e)),n("fromMarkdownExtensions",co()),n("toMarkdownExtensions",fo(e))}var ho=n(8026),mo={}.hasOwnProperty;function Eo(e,t){var n=t&&e&&"object"===typeof e&&"element"===e.type&&e.properties&&mo.call(e.properties,t)&&e.properties[t];return null!==n&&void 0!==n&&!1!==n}function To(e){var t=e&&"element"===e.type&&e.tagName.toLowerCase()||"",n=2===t.length&&104===t.charCodeAt(0)?t.charCodeAt(1):0;return n>48&&n<55?n-48:null}function go(e){return"text"===e.type?e.value:"children"in e?vo(e):""}function vo(e){for(var t=-1,n=[];++t":"")+")"}));return f;function f(){var l,c,f,p=[];if((!t||i(a,u,s[s.length-1]||null))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[true,e];return[e]}(n(a,s)),false===p[0]))return p;if(a.children&&"skip"!==p[0])for(c=(r?a.children.length:-1)+o,f=s.concat(a);c>-1&&c1?n-1:0),i=1;i":"")+")"}));return f;function f(){var l,c,f,p=[];if((!t||i(a,u,s[s.length-1]||null))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[true,e];return[e]}(n(a,s)),false===p[0]))return p;if(a.children&&p[0]!==So)for(c=(r?a.children.length:-1)+o,f=s.concat(a);c>-1&&c0&&void 0!==arguments[0]?arguments[0]:{},n=t.properties,r=t.behaviour||t.behavior||"prepend",i=t.content||xo,o=t.group,a=ko(t.test);return"wrap"===r?e=l:"before"===r||"after"===r?e=s:(n||(n={ariaHidden:"true",tabIndex:-1}),e=u),function(t){Fo(t,"element",(function(t,n,r){if(To(t)&&Eo(t,"id")&&a(t,n,r))return e(t,n,r)}))};function u(e){return e.children["prepend"===r?"unshift":"push"](p(e,V(!0,{},n),c(i,e))),[So]}function s(e,t,a){var u;if("number"===typeof t&&a){var s=p(e,V(!0,{},n),c(i,e)),l="before"===r?[s,e]:[e,s];if(o){var h=f(o,e);h&&!Array.isArray(h)&&"element"===h.type&&(h.children=l,l=[h])}return(u=a.children).splice.apply(u,[t,1].concat(m(l))),[So,t+l.length]}}function l(e){return e.children=[p(e,V(!0,{},n),e.children)],[So]}function c(e,t){var n=f(e,t);return Array.isArray(n)?n:[n]}function f(e,t){return"function"===typeof e?e(t):V(!0,Array.isArray(e)?[]:{},e)}function p(e,t,n){return{type:"element",tagName:"a",properties:Object.assign({},t,{href:"#"+(e.properties||{}).id}),children:n}}}var Ro=n(7986);var Lo=function(e,t,n,r){"function"===typeof t&&"function"!==typeof n&&(r=n,n=t,t=null);var i=sn(t),o=r?-1:1;!function e(a,u,s){var l,c="object"===typeof a&&null!==a?a:{};"string"===typeof c.type&&(l="string"===typeof c.tagName?c.tagName:"string"===typeof c.name?c.name:void 0,Object.defineProperty(f,"name",{value:"node ("+c.type+(l?"<"+l+">":"")+")"}));return f;function f(){var l,c,f,p=[];if((!t||i(a,u,s[s.length-1]||null))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[true,e];return[e]}(n(a,s)),false===p[0]))return p;if(a.children&&"skip"!==p[0])for(c=(r?a.children.length:-1)+o,f=s.concat(a);c>-1&&c1&&void 0!==arguments[1]?arguments[1]:"div",o=e||"",a={},u=0;u2?s-2:0),c=2;c-1&&ee)return{line:t+1,column:e-(n[t-1]||0)+1,offset:e};return{line:void 0,column:void 0,offset:void 0}},toOffset:function(e){var t,r=e&&e.line,i=e&&e.column;return"number"!==typeof r||"number"!==typeof i||Number.isNaN(r)||Number.isNaN(i)||!(r-1 in n)||(t=(n[r-2]||0)+i-1||0),t>-1&&t0?e.call(t,a,u,s):e.call(t,a,u)}function la(e,t,n,r,i){var o,a=yr(r.schema,t);void 0===n||null===n||"number"===typeof n&&Number.isNaN(n)||!1===n&&(r.vue||r.vdom||r.hyperscript)||!n&&a.boolean&&(r.vue||r.vdom||r.hyperscript)||(Array.isArray(n)&&(n=a.commaSeparated?Sr(n):Nr(n)),a.boolean&&r.hyperscript&&(n=""),"style"===a.property&&"string"===typeof n&&(r.react||r.vue||r.vdom)&&(n=function(e,t){var n={};try{br(e,(function(e,t){"-ms-"===e.slice(0,4)&&(e="ms-"+e.slice(4)),n[e.replace(/-([a-z])/g,(function(e,t){return t.toUpperCase()}))]=t}))}catch(r){throw r.message=t+"[style]"+r.message.slice("undefined".length),r}return n}(n,i)),r.vue?"style"!==a.property&&(o="attrs"):a.mustUseProperty||(r.vdom?"style"!==a.property&&(o="attributes"):r.hyperscript&&(o="attrs")),o?e[o]=Object.assign(e[o]||{},Qe({},a.attribute,n)):a.space&&r.react?e[na[a.property]||a.property]=n:e[a.attribute]=n)}function ca(e){return"context"in e&&"cleanup"in e}var fa={}.hasOwnProperty;function pa(e,t){var n=t||{};function r(t){var n=r.invalid,i=r.handlers;if(t&&fa.call(t,e)&&(n=fa.call(i,t[e])?i[t[e]]:r.unknown),n)return n.apply(this,arguments)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}var ha={}.hasOwnProperty,da=pa("type",{handlers:{root:function(e,t){var n={nodeName:"#document",mode:(e.data||{}).quirksMode?"quirks":"no-quirks",childNodes:[]};return n.childNodes=ma(e.children,n,t),Ea(e,n)},element:function(e,t){var n=t.space;return ua((function(n,r){var i,o,a,u,s,l=[];for(a in r)ha.call(r,a)&&!1!==r[a]&&((i=yr(t,a)).boolean&&!r[a]||(o={name:a,value:!0===r[a]?"":String(r[a])},i.space&&"html"!==i.space&&"svg"!==i.space&&((u=a.indexOf(":"))<0?o.prefix="":(o.name=a.slice(u+1),o.prefix=a.slice(0,u)),o.namespace=Wo[i.space]),l.push(o)));"html"===t.space&&"svg"===e.tagName&&(t=pr);(s=Ea(e,{nodeName:n,tagName:n,attrs:l,namespaceURI:Wo[t.space],childNodes:[],parentNode:void 0})).childNodes=ma(e.children,s,t),"template"===n&&(s.content=function(e,t){var n={nodeName:"#document-fragment",childNodes:[]};return n.childNodes=ma(e.children,n,t),Ea(e,n)}(e.content,t));return s}),Object.assign({},e,{children:[]}),{space:n})},text:function(e){return Ea(e,{nodeName:"#text",value:e.value,parentNode:void 0})},comment:function(e){return Ea(e,{nodeName:"#comment",data:e.value,parentNode:void 0})},doctype:function(e){return Ea(e,{nodeName:"#documentType",name:"html",publicId:"",systemId:"",parentNode:void 0})}}});function ma(e,t,n){var r,i=-1,o=[];if(e)for(;++i1&&void 0!==arguments[1]?arguments[1]:{};return ea(r)?(n=r,t={}):(n=r.file,t=r),Vo({schema:"svg"===t.space?pr:fr,file:n,verbose:t.verbose,location:!1},e)}(function(e){var t="root"===e.type?e.children[0]:e;return Boolean(t&&("doctype"===t.type||"element"===t.type&&"html"===t.tagName))}(t)?function(){var e=f.treeAdapter.createDocument();if(f._bootstrap(e,void 0),!(o=f.tokenizer))throw new Error("Expected `tokenizer`");return a=o.preprocessor,s=o.__mixins[0],u=s.posTracker,p(t),e}():function(){var e={nodeName:"template",tagName:"template",attrs:[],namespaceURI:Wo.html,childNodes:[]},n={nodeName:"documentmock",tagName:"documentmock",attrs:[],namespaceURI:Wo.html,childNodes:[]},r={nodeName:"#document-fragment",childNodes:[]};if(f._bootstrap(n,e),f._pushTmplInsertionMode("IN_TEMPLATE_MODE"),f._initTokenizerForFragmentParsing(),f._insertFakeRootElement(),f._resetInsertionMode(),f._findFormInFragmentContext(),!(o=f.tokenizer))throw new Error("Expected `tokenizer`");return a=o.preprocessor,s=o.__mixins[0],u=s.posTracker,p(t),f._adoptNodes(n.childNodes[0],r),r}(),n);return i&&function(e,t,n,r){"function"===typeof t&&"function"!==typeof n&&(r=n,n=t,t=null),Lo(e,t,(function(e,t){var r=t[t.length-1];return n(e,r?r.children.indexOf(e):null,r)}),r)}(h,"comment",(function(e,t,n){var r=e;if(r.value.stitch&&null!==n&&null!==t)return n.children[t]=r.value.stitch,t})),"root"!==t.type&&"root"===h.type&&1===h.children.length?h.children[0]:h;function d(e){var t=-1;if(e)for(;++t0&&void 0!==arguments[0]?arguments[0]:{};return function(t,n){return Aa(t,n,e)}}var Na=function(e,t,n,r){"function"===typeof t&&"function"!==typeof n&&(r=n,n=t,t=null);var i=sn(t),o=r?-1:1;!function e(a,u,s){var l,c="object"===typeof a&&null!==a?a:{};"string"===typeof c.type&&(l="string"===typeof c.tagName?c.tagName:"string"===typeof c.name?c.name:void 0,Object.defineProperty(f,"name",{value:"node ("+c.type+(l?"<"+l+">":"")+")"}));return f;function f(){var l,c,f,p=[];if((!t||i(a,u,s[s.length-1]||null))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[true,e];return[e]}(n(a,s)),false===p[0]))return p;if(a.children&&"skip"!==p[0])for(c=(r?a.children.length:-1)+o,f=s.concat(a);c>-1&&c0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=n;i1){var i=e.children[0];if(i&&"code"===i.tagName&&"number"===typeof n){var o=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;t>-1;){if(!e[--t])return;if(e[t]&&e[t].value&&""!==e[t].value.replace(/(\n|\s)/g,"")||"text"!==e[t].type){if(!/^rehype:/.test(e[t].value)||"comment"!==e[t].type)return;return e[t]}}}(r.children,n);if(o){var a=Sa(o);Object.keys(a).length>0&&(e.properties=an(an({},e.properties),{"data-type":"rehyp"}),i.properties=ba(i.properties,a,t.properties))}}}if(/^(em|strong|b|a|i|p|pre|kbd|blockquote|h(1|2|3|4|5|6)|code|table|img|del|ul|ol)$/.test(e.tagName)&&r&&Array.isArray(r.children)&&"number"===typeof n){var u=Oa(r.children,n);if(u){var s=Sa(u);Object.keys(s).length>0&&(e.properties=ba(e.properties,s,t.properties))}}}))}},Ia=n(1864),Ra=n.n(Ia);var La=function(e,t,n,r){"function"===typeof t&&"function"!==typeof n&&(r=n,n=t,t=null);var i=sn(t),o=r?-1:1;!function e(a,u,s){var l,c="object"===typeof a&&null!==a?a:{};"string"===typeof c.type&&(l="string"===typeof c.tagName?c.tagName:"string"===typeof c.name?c.name:void 0,Object.defineProperty(f,"name",{value:"node ("+c.type+(l?"<"+l+">":"")+")"}));return f;function f(){var l,c,f,p=[];if((!t||i(a,u,s[s.length-1]||null))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[true,e];return[e]}(n(a,s)),false===p[0]))return p;if(a.children&&"skip"!==p[0])for(c=(r?a.children.length:-1)+o,f=s.concat(a);c>-1&&c":"")+")"}));return f;function f(){var l,c,f,p=[];if((!t||i(a,u,s[s.length-1]||null))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[true,e];return[e]}(n(a,s)),p[0]===Ka))return p;if(a.children&&p[0]!==Ga)for(c=(r?a.children.length:-1)+o,f=s.concat(a);c>-1&&c":Ja,"+":function(e,t,n,r,i){if(!r||null===n)return;eu(e,r,i,n+1,!0)},"~":function(e,t,n,r,i){if(!r||null===n)return;eu(e,r,i,n+1)}}});function $a(e,t,n,r,i){Xa(e,t,n,r,i)}function Za(e,t,n,r,i){var o=i.iterator;i.iterator=function e(t,n,r,i,a){if(!o)throw new Error("Expected `iterator`");if(a.iterator=o,o(t,n,r,i,a),a.iterator=e,a.one&&a.found)return;Ja(t,n,r,i,a)},Ja(e,t,n,r,i)}function Ja(e,t,n,r,i){(function(e){return Array.isArray(e.children)})(t)&&0!==t.children.length&&eu(e,t,i)}function eu(e,t,n,r,i){var o=n.index?function(e,t){var r=u,i=Va.call(l,e.tagName)?l[e.tagName]:0;d(e.tagName),c.push((function(){n.elementIndex=r,n.typeIndex=i,n.elementCount=u,n.typeCount=l[e.tagName],h(e,t)}))}:h,a=t.children,u=0,s=-1,l={},c=[];if(void 0!==r&&null!==r||(r=0),!(r>=a.length)){if(n.index)for(;++s0;return i.shallow=o,i.one=a,i.scopeElements=u,l},lang:function(e,t,n,r,i){return""!==i.language&&void 0!==i.language&&null!==i.language&&nu(i.language,Or(e.value)).length>0},"last-child":function(e,t,n,r,i){return fu(i,e),Boolean(i.elementCount&&i.elementIndex===i.elementCount-1)},"last-of-type":function(e,t,n,r,i){return fu(i,e),"number"===typeof i.typeIndex&&"number"===typeof i.typeCount&&i.typeIndex===i.typeCount-1},matches:au,not:function(e,t,n,r,i){return!au(e,t,n,r,i)},"nth-child":function(e,t,n,r,i){return fu(i,e),"number"===typeof i.elementIndex&&e.value(i.elementIndex)},"nth-last-child":function(e,t,n,r,i){return fu(i,e),Boolean("number"===typeof i.elementCount&&"number"===typeof i.elementIndex&&e.value(i.elementCount-i.elementIndex-1))},"nth-of-type":function(e,t,n,r,i){return fu(i,e),"number"===typeof i.typeIndex&&e.value(i.typeIndex)},"nth-last-of-type":function(e,t,n,r,i){return fu(i,e),"number"===typeof i.typeCount&&"number"===typeof i.typeIndex&&e.value(i.typeCount-1-i.typeIndex)},"only-child":function(e,t,n,r,i){return fu(i,e),1===i.elementCount},"only-of-type":function(e,t,n,r,i){return fu(i,e),1===i.typeCount},optional:function(e,t){return!su(e,t)},"read-only":function(e,t,n,r,i){return!lu(e,t,n,r,i)},"read-write":lu,required:su,root:function(e,t,n,r,i){return Boolean((!r||"root"===r.type)&&i.schema&&("html"===i.schema.space||"svg"===i.schema.space)&&_o(t,["html","svg"]))},scope:function(e,t,n,r,i){return Boolean(_o(t)&&i.scopeElements&&i.scopeElements.includes(t))}}});function ou(e,t,n,r,i){for(var o=e.pseudos,a=-1;++a","+","~");var Ou=function(e){var t=e||{},n=t.selector,r=t.rewrite;return function(e){if(r&&"function"===typeof r)if(n&&"string"===typeof n){var t=Nu(n,e);t&&t.length>0&&Ma(e,t,(function(e,t,n){r(e,t,n)}))}else Ma(e,(function(e,t,n){r(e,t,n)}))}},Su={type:"element",tagName:"svg",properties:{className:"octicon octicon-link",viewBox:"0 0 16 16",version:"1.1",width:"16",height:"16",ariaHidden:"true"},children:[{type:"element",tagName:"path",children:[],properties:{fillRule:"evenodd",d:"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"}}]},bu=n(556),Fu=n.n(bu);var xu=["prefixCls","className","source","style","onScroll","onMouseOver","warpperElement"],Iu=function(e,t,n){if("element"===e.type&&n&&"root"===n.type&&/h(1|2|3|4|5|6)/.test(e.tagName)){var r=e.children&&e.children[0];r&&r.properties&&"true"===r.properties.ariaHidden&&(r.properties=u({class:"anchor"},r.properties),r.children=[Su])}if("element"===e.type&&"pre"===e.tagName){var i=Ru(e.children);e.children.push((void 0===(o=i)&&(o="test"),{type:"element",tagName:"div",properties:{onClick:function(e){var t=e.target;t.classList.add("active"),Fu()(t.dataset.code,(function(){setTimeout((function(){t.classList.remove("active")}),2e3)}))},"data-code":o,class:"copied"},children:[{type:"element",tagName:"svg",properties:{className:"octicon-copy",ariaHidden:"true",viewBox:"0 0 16 16",fill:"currentColor",height:12,width:12},children:[{type:"element",tagName:"path",properties:{fillRule:"evenodd",d:"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"},children:[]},{type:"element",tagName:"path",properties:{fillRule:"evenodd",d:"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"},children:[]}]},{type:"element",tagName:"svg",properties:{className:"octicon-check",ariaHidden:"true",viewBox:"0 0 16 16",fill:"currentColor",height:12,width:12},children:[{type:"element",tagName:"path",properties:{fillRule:"evenodd",d:"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"},children:[]}]}]}))}var o},Ru=function e(t,n){return void 0===t&&(t=[]),void 0===n&&(n=""),t.forEach((function(t){"text"===t.type?n+=t.value:"element"===t.type&&t.children&&Array.isArray(t.children)&&(n+=e(t.children))})),n},Lu=o.forwardRef((function(e,t){var n=e.prefixCls,r=void 0===n?"wmde-markdown wmde-markdown-color":n,i=e.className,a=e.source,c=e.style,f=e.onScroll,p=e.onMouseOver,h=e.warpperElement,d=void 0===h?{}:h,E=s(e,xu),T=o.createRef();(0,o.useImperativeHandle)(t,(function(){return u({},e,{mdp:T})}),[T,e]);var g=(r||"")+" "+(i||"");return(0,l.jsx)("div",u({ref:T,onScroll:f,onMouseOver:p},d,{className:g,style:c,children:(0,l.jsx)(Hr,u({},E,{rehypePlugins:[[Ra(),{ignoreMissing:!0}],Da,Co,Io,[Ou,{rewrite:Iu}],[xa,{properties:"attr"}]].concat(m(E.rehypePlugins||[])),remarkPlugins:[].concat(m(E.remarkPlugins||[]),[po]),children:a||""}))}))})),Mu="App_app__ozyN1",Pu="App_content__uFknh",wu="App_header__G9FVm",Bu="App_logo__8q6ZT",Hu="App_info__vaSms";var Uu=n.p+"static/media/logo.6ce24c58023cc2f8fd88fe9d219db6c6.svg";function Gu(){return(0,l.jsxs)("div",{className:Mu,children:[(0,l.jsx)(f,{fixed:!0,target:"__blank",zIndex:10,href:"https://github.com/uiwjs/react-monorepo-template"}),(0,l.jsxs)("header",{className:wu,children:[(0,l.jsx)("img",{src:Uu,className:Bu,alt:"react logo"}),(0,l.jsxs)("h1",{children:["React Monorepo Template ","1.0.0"]}),(0,l.jsx)("p",{className:Hu,children:"Simple React package development project example template."})]}),(0,l.jsx)(Lu,{source:"react-monorepo-template\n===\n\nSimple React package development project example template.\n\n## Directory Structure\n\n```bash\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 core # \ud83d\udce6 package @vue-monorepo-template/base\n\u2502 \u251c\u2500\u2500 README.md\n\u2502 \u251c\u2500\u2500 cjs # \ud83d\udd04 Compiled cjs directory\n\u2502 \u251c\u2500\u2500 esm # \ud83d\udd04 Compiled esm directory\n\u2502 \u251c\u2500\u2500 src # Package source directory\n\u2502 \u251c\u2500\u2500 dist.css\n\u2502 \u251c\u2500\u2500 package.json\n\u2502 \u251c\u2500\u2500 test\n\u2502 \u2514\u2500\u2500 tsconfig.json\n\u251c\u2500\u2500 lerna.json\n\u251c\u2500\u2500 package.json\n\u251c\u2500\u2500 tsconfig.json\n\u2514\u2500\u2500 website # \ud83d\udc1d Package example test, website\n \u251c\u2500\u2500 README.md\n \u251c\u2500\u2500 package.json\n \u251c\u2500\u2500 public\n \u251c\u2500\u2500 src\n \u2514\u2500\u2500 tsconfig.json\n```\n\n## Development\n\n1. Install\n\n```bash\nnpm install\n```\n\n2. Dependencies in the installation package and example\n\n```bash\nnpm run hoist\n```\n\n3. To develop, run the self-reloading build:\n\n```bash\nnpm run build # Compile packages \ud83d\udce6 @uiw/react-monorepo-template\nnpm run watch # Real-time compilation \ud83d\udce6 @uiw/react-monorepo-template\n```\n\n4. Run Document Website Environment:\n\n```bash\nnpm run start\n```\n\n5. To contribute, please fork repos, add your patch and tests for it (in the `test/` folder) and submit a pull request.\n\n```\nnpm run test\n```\n\n## License\n\nLicensed under the MIT License.",className:Pu})]})}a.render((0,l.jsx)(o.StrictMode,{children:(0,l.jsx)(Gu,{})}),document.getElementById("root"))},1864:function(e,t,n){"use strict";var r=n(8217).default,i=n(3220),o=n(1094),a=n(4508);e.exports=function(e){return(e=e||{}).alias&&a.alias(e.alias),function(e){i(e,"element",t)};function t(t,n,i){if(i&&"pre"===i.tagName&&"code"===t.tagName){var u=function(e){var t,n=e.properties.className||[],i=r(n);try{for(i.s();!(t=i.n()).done;){var o=t.value;if("language-"===o.slice(0,9))return o.slice(9).toLowerCase()}}catch(a){i.e(a)}finally{i.f()}return null}(t);if(null!==u){var s;try{i.properties.className=(i.properties.className||[]).concat("language-"+u),s=a.highlight(o(t),u)}catch(l){if(e.ignoreMissing&&/Unknown language/.test(l.message))return;throw l}t.children=s}}}}},556:function(e){e.exports=function(){"use strict";function e(e,t){var n=document.createElement("textarea");n.value=e,n.setAttribute("readonly",""),n.style={position:"absolute",left:"-9999px"},document.body.appendChild(n);var r=document.getSelection().rangeCount>0&&document.getSelection().getRangeAt(0);n.select();var i=!1;try{i=!!document.execCommand("copy")}catch(o){i=!1}document.body.removeChild(n),r&&document.getSelection&&(document.getSelection().removeAllRanges(),document.getSelection().addRange(r)),t&&t(i)}return e}()},5986:function(e){e.exports={trueFunc:function(){return!0},falseFunc:function(){return!1}}},1038:function(e,t,n){"use strict";var r=n(9856),i=n(2121),o=function(){function e(){this.pseudos={},this.attrEqualityMods={},this.ruleNestingOperators={},this.substitutesEnabled=!1}return e.prototype.registerSelectorPseudos=function(){for(var e=[],t=0;t=u)throw Error("Expected symbol but end of file reached.");if(s=e.charAt(t),r.identSpecialChars[s])n+=s;else{if(r.isHex(s)){var i=s;for(t++,s=e.charAt(t);r.isHex(s);)i+=s,t++,s=e.charAt(t);" "===s&&(t++,s=e.charAt(t)),n+=String.fromCharCode(parseInt(i,16));continue}n+=s}}t++,s=e.charAt(t)}return n}function f(){s=e.charAt(t);for(var n=!1;" "===s||"\t"===s||"\n"===s||"\r"===s||"\f"===s;)n=!0,t++,s=e.charAt(t);return n}function p(){var n=h();if(!n)return null;var r=n;for(s=e.charAt(t);","===s;){if(t++,f(),"selectors"!==r.type&&(r={type:"selectors",selectors:[n]}),!(n=h()))throw Error('Rule expected after ",".');r.selectors.push(n)}return r}function h(){f();var n={type:"ruleSet"},r=d();if(!r)return null;for(var i=n;r&&(r.type="rule",i.rule=r,i=r,f(),s=e.charAt(t),!(t>=u||","===s||")"===s));)if(o[s]){var a=s;if(t++,f(),!(r=d()))throw Error('Rule expected after "'+a+'".');r.nestingOperator=a}else(r=d())&&(r.nestingOperator=null);return n}function d(){for(var o=null;t=u)throw Error('Expected "=" but end of file reached.');if("="!==s)throw Error('Expected "=" but "'+s+'" found.');h.operator=d+"=",t++,f();var m="";if(h.valueType="string",'"'===s)m=l('"',r.doubleQuotesEscapeChars);else if("'"===s)m=l("'",r.singleQuoteEscapeChars);else if(a&&"$"===s)t++,m=c(),h.valueType="substitute";else{for(;t=u)throw Error('Expected "]" but end of file reached.');if("]"!==s)throw Error('Expected "]" but "'+s+'" found.');t++,h.value=m}((o=o||{}).attrs=o.attrs||[]).push(h)}else{if(":"!==s)break;t++;var E=c(),T={name:E};if("("===s){t++;var g="";if(f(),"selector"===n[E])T.valueType="selector",g=p();else{if(T.valueType=n[E]||"string",'"'===s)g=l('"',r.doubleQuotesEscapeChars);else if("'"===s)g=l("'",r.singleQuoteEscapeChars);else if(a&&"$"===s)t++,g=c(),T.valueType="substitute";else{for(;t=u)throw Error('Expected ")" but end of file reached.');if(")"!==s)throw Error('Expected ")" but "'+s+'" found.');t++,T.value=g}((o=o||{}).pseudos=o.pseudos||[]).push(T)}return o}return function(){var n=p();if(t="a"&&e<="z"||e>="A"&&e<="Z"||"-"===e||"_"===e},t.isIdent=function(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||"-"===e||"_"===e},t.isHex=function(e){return e>="a"&&e<="f"||e>="A"&&e<="F"||e>="0"&&e<="9"},t.escapeIdentifier=function(e){for(var n=e.length,r="",i=0;i="A"&&o<="Z"||o>="a"&&o<="z"||0!==i&&o>="0"&&o<="9")r+=o;else{var a=o.charCodeAt(0);if(55296===(63488&a)){var u=e.charCodeAt(i++);if(55296!==(64512&a)||56320!==(64512&u))throw Error("UCS-2(decode): illegal sequence");a=((1023&a)<<10)+(1023&u)+65536}r+="\\"+a.toString(16)+" "}i++}return r},t.escapeStr=function(e){for(var n,r=e.length,i="",o=0;o":!0,"?":!0,"@":!0,"[":!0,"\\":!0,"]":!0,"^":!0,"`":!0,"{":!0,"|":!0,"}":!0,"~":!0},t.strReplacementsRev={"\n":"\\n","\r":"\\r","\t":"\\t","\f":"\\f","\v":"\\v"},t.singleQuoteEscapeChars={n:"\n",r:"\r",t:"\t",f:"\f","\\":"\\","'":"'"},t.doubleQuotesEscapeChars={n:"\n",r:"\r",t:"\t",f:"\f","\\":"\\",'"':'"'}},7362:function(e){"use strict";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=function(e){return"function"===typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},a=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var r,i=t.call(e,"constructor"),o=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!i&&!o)return!1;for(r in e);return"undefined"===typeof r||t.call(e,r)},u=function(e,t){r&&"__proto__"===t.name?r(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},s=function(e,n){if("__proto__"===n){if(!t.call(e,n))return;if(i)return i(e,n).value}return e[n]};e.exports=function e(){var t,n,r,i,l,c,f=arguments[0],p=1,h=arguments.length,d=!1;for("boolean"===typeof f&&(d=f,f=arguments[1]||{},p=2),(null==f||"object"!==typeof f&&"function"!==typeof f)&&(f={});p4&&n.slice(0,4)===a&&u.test(t)&&("-"===t.charAt(4)?p=function(e){var t=e.slice(5).replace(s,f);return a+t.charAt(0).toUpperCase()+t.slice(1)}(t):t=function(e){var t=e.slice(4);if(s.test(t))return e;"-"!==(t=t.replace(l,c)).charAt(0)&&(t="-"+t);return a+t}(t),h=i);return new h(p,t)};var u=/^data[-\w.:]+$/i,s=/-[a-z]/g,l=/[A-Z]/g;function c(e){return"-"+e.toLowerCase()}function f(e){return e.charAt(1).toUpperCase()}},9361:function(e,t,n){"use strict";var r=n(7670),i=n(5523),o=n(2055),a=n(1707),u=n(5885),s=n(5839);e.exports=r([o,i,a,u,s])},5885:function(e,t,n){"use strict";var r=n(347),i=n(7460),o=r.booleanish,a=r.number,u=r.spaceSeparated;e.exports=i({transform:function(e,t){return"role"===t?t:"aria-"+t.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:o,ariaAutoComplete:null,ariaBusy:o,ariaChecked:o,ariaColCount:a,ariaColIndex:a,ariaColSpan:a,ariaControls:u,ariaCurrent:null,ariaDescribedBy:u,ariaDetails:null,ariaDisabled:o,ariaDropEffect:u,ariaErrorMessage:null,ariaExpanded:o,ariaFlowTo:u,ariaGrabbed:o,ariaHasPopup:null,ariaHidden:o,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:u,ariaLevel:a,ariaLive:null,ariaModal:o,ariaMultiLine:o,ariaMultiSelectable:o,ariaOrientation:null,ariaOwns:u,ariaPlaceholder:null,ariaPosInSet:a,ariaPressed:o,ariaReadOnly:o,ariaRelevant:null,ariaRequired:o,ariaRoleDescription:u,ariaRowCount:a,ariaRowIndex:a,ariaRowSpan:a,ariaSelected:o,ariaSetSize:a,ariaSort:null,ariaValueMax:a,ariaValueMin:a,ariaValueNow:a,ariaValueText:null,role:null}})},5839:function(e,t,n){"use strict";var r=n(347),i=n(7460),o=n(5228),a=r.boolean,u=r.overloadedBoolean,s=r.booleanish,l=r.number,c=r.spaceSeparated,f=r.commaSeparated;e.exports=i({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:o,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:f,acceptCharset:c,accessKey:c,action:null,allow:null,allowFullScreen:a,allowPaymentRequest:a,allowUserMedia:a,alt:null,as:null,async:a,autoCapitalize:null,autoComplete:c,autoFocus:a,autoPlay:a,capture:a,charSet:null,checked:a,cite:null,className:c,cols:l,colSpan:null,content:null,contentEditable:s,controls:a,controlsList:c,coords:l|f,crossOrigin:null,data:null,dateTime:null,decoding:null,default:a,defer:a,dir:null,dirName:null,disabled:a,download:u,draggable:s,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:a,formTarget:null,headers:c,height:l,hidden:a,high:l,href:null,hrefLang:null,htmlFor:c,httpEquiv:c,id:null,imageSizes:null,imageSrcSet:f,inputMode:null,integrity:null,is:null,isMap:a,itemId:null,itemProp:c,itemRef:c,itemScope:a,itemType:c,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:a,low:l,manifest:null,max:null,maxLength:l,media:null,method:null,min:null,minLength:l,multiple:a,muted:a,name:null,nonce:null,noModule:a,noValidate:a,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextMenu:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:a,optimum:l,pattern:null,ping:c,placeholder:null,playsInline:a,poster:null,preload:null,readOnly:a,referrerPolicy:null,rel:c,required:a,reversed:a,rows:l,rowSpan:l,sandbox:c,scope:null,scoped:a,seamless:a,selected:a,shape:null,size:l,sizes:null,slot:null,span:l,spellCheck:s,src:null,srcDoc:null,srcLang:null,srcSet:f,start:l,step:null,style:null,tabIndex:l,target:null,title:null,translate:null,type:null,typeMustMatch:a,useMap:null,value:s,width:l,wrap:null,align:null,aLink:null,archive:c,axis:null,background:null,bgColor:null,border:l,borderColor:null,bottomMargin:l,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:a,declare:a,event:null,face:null,frame:null,frameBorder:null,hSpace:l,leftMargin:l,link:null,longDesc:null,lowSrc:null,marginHeight:l,marginWidth:l,noResize:a,noHref:a,noShade:a,noWrap:a,object:null,profile:null,prompt:null,rev:null,rightMargin:l,rules:null,scheme:null,scrolling:s,standby:null,summary:null,text:null,topMargin:l,valueType:null,version:null,vAlign:null,vLink:null,vSpace:l,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:a,disableRemotePlayback:a,prefix:null,property:null,results:l,security:null,unselectable:null}})},5228:function(e,t,n){"use strict";var r=n(3169);e.exports=function(e,t){return r(e,t.toLowerCase())}},3169:function(e){"use strict";e.exports=function(e,t){return t in e?e[t]:t}},7460:function(e,t,n){"use strict";var r=n(5278),i=n(9268),o=n(6045);e.exports=function(e){var t,n,a=e.space,u=e.mustUseProperty||[],s=e.attributes||{},l=e.properties,c=e.transform,f={},p={};for(t in l)n=new o(t,c(s,t),l[t],a),-1!==u.indexOf(t)&&(n.mustUseProperty=!0),f[t]=n,p[r(t)]=t,p[r(n.attribute)]=t;return new i(f,p,a)}},6045:function(e,t,n){"use strict";var r=n(8685),i=n(347);e.exports=u,u.prototype=new r,u.prototype.defined=!0;var o=["boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated"],a=o.length;function u(e,t,n,u){var l,c=-1;for(s(this,"space",u),r.call(this,e,t);++c=97&&t<=122||t>=65&&t<=90}},6702:function(e,t,n){"use strict";var r=n(3945),i=n(2396);e.exports=function(e){return r(e)||i(e)}},4940:function(e){e.exports=function(e){return null!=e&&null!=e.constructor&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},2396:function(e){"use strict";e.exports=function(e){var t="string"===typeof e?e.charCodeAt(0):e;return t>=48&&t<=57}},9528:function(e){"use strict";e.exports=function(e){var t="string"===typeof e?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}},4677:function(e){"use strict";var t={};function n(e,r,i){var o,a,u,s,l,c="";for("string"!==typeof r&&(i=r,r=n.defaultChars),"undefined"===typeof i&&(i=!0),l=function(e){var n,r,i=t[e];if(i)return i;for(i=t[e]=[],n=0;n<128;n++)r=String.fromCharCode(n),/^[0-9a-z]$/i.test(r)?i.push(r):i.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2));for(n=0;n=55296&&u<=57343){if(u>=55296&&u<=56319&&o+1=56320&&s<=57343){c+=encodeURIComponent(e[o]+e[o+1]),o++;continue}c+="%EF%BF%BD"}else c+=encodeURIComponent(e[o]);return c}n.defaultChars=";/?:@&=+$,-_.!~*'()#",n.componentChars="-_.!~*'()",e.exports=n},9509:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compile=void 0;var r=n(5986);t.compile=function(e){var t=e[0],n=e[1]-1;if(n<0&&t<=0)return r.falseFunc;if(-1===t)return function(e){return e<=n};if(0===t)return function(e){return e===n};if(1===t)return n<0?r.trueFunc:function(e){return e>=n};var i=Math.abs(t),o=(n%i+i)%i;return t>1?function(e){return e>=n&&e%i===o}:function(e){return e<=n&&e%i===o}}},3051:function(e,t,n){"use strict";var r=n(1475);var i=n(9509);t.ZP=function(e){return(0,i.compile)((0,r.parse)(e))}},1475:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=void 0;var n=new Set([9,10,12,13,32]),r="0".charCodeAt(0),i="9".charCodeAt(0);t.parse=function(e){if("even"===(e=e.trim().toLowerCase()))return[2,0];if("odd"===e)return[2,1];var t=0,o=0,a=s(),u=l();if(t=r&&e.charCodeAt(t)<=i;)o=10*o+(e.charCodeAt(t)-r),t++;return t===n?null:o}function c(){for(;t65535&&(N+=c((C-=65536)>>>10|55296),C=56320|1023&C),C=N+c(C))):F!==h&&k(4,L)),C?(te(),I=J(),Q=M-1,V+=M-b+1,Z.push(C),(R=J()).offset++,H&&H.call(K,C,{start:I,end:R},e.slice(b-1,M)),I=R):(p=e.slice(b-1,M),$+=p,V+=p.length,Q=M-1)}else 10===y&&(X++,q++,V=0),y===y?($+=c(y),V++):te();return Z.join("");function J(){return{line:X,column:V,offset:Q+(z.offset||0)}}function ee(e,t){var n=J();n.column+=t,n.offset+=t,U.call(j,g[e],n,e)}function te(){$&&(Z.push($),B&&B.call(G,$,{start:I,end:J()}),$="")}}(e,a)};var l={}.hasOwnProperty,c=String.fromCharCode,f=Function.prototype,p={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},h="named",d="hexadecimal",m="decimal",E={hexadecimal:16,decimal:10},T={};T.named=u,T[m]=o,T[d]=a;var g={};function v(e){return e>=55296&&e<=57343||e>1114111}function A(e){return e>=1&&e<=8||11===e||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||65535===(65535&e)||65534===(65535&e)}g[1]="Named character references must be terminated by a semicolon",g[2]="Numeric character references must be terminated by a semicolon",g[3]="Named character references cannot be empty",g[4]="Numeric character references cannot be empty",g[5]="Named character references must be known",g[6]="Numeric character references cannot be disallowed",g[7]="Numeric character references cannot be outside the permissible Unicode range"},9548:function(e,t,n){"use strict";var r=n(7246).DOCUMENT_MODE,i="html",o=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],a=o.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]),u=["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"],s=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],l=s.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]);function c(e){var t=-1!==e.indexOf('"')?"'":'"';return t+e+t}function f(e,t){for(var n=0;n-1)return r.QUIRKS;var c=null===t?a:o;if(f(n,c))return r.QUIRKS;if(f(n,c=null===t?s:l))return r.LIMITED_QUIRKS}return r.NO_QUIRKS},t.serializeContent=function(e,t,n){var r="!DOCTYPE ";return e&&(r+=e),t?r+=" PUBLIC "+c(t):n&&(r+=" SYSTEM"),null!==n&&(r+=" "+c(n)),r}},8240:function(e){"use strict";e.exports={controlCharacterInInputStream:"control-character-in-input-stream",noncharacterInInputStream:"noncharacter-in-input-stream",surrogateInInputStream:"surrogate-in-input-stream",nonVoidHtmlElementStartTagWithTrailingSolidus:"non-void-html-element-start-tag-with-trailing-solidus",endTagWithAttributes:"end-tag-with-attributes",endTagWithTrailingSolidus:"end-tag-with-trailing-solidus",unexpectedSolidusInTag:"unexpected-solidus-in-tag",unexpectedNullCharacter:"unexpected-null-character",unexpectedQuestionMarkInsteadOfTagName:"unexpected-question-mark-instead-of-tag-name",invalidFirstCharacterOfTagName:"invalid-first-character-of-tag-name",unexpectedEqualsSignBeforeAttributeName:"unexpected-equals-sign-before-attribute-name",missingEndTagName:"missing-end-tag-name",unexpectedCharacterInAttributeName:"unexpected-character-in-attribute-name",unknownNamedCharacterReference:"unknown-named-character-reference",missingSemicolonAfterCharacterReference:"missing-semicolon-after-character-reference",unexpectedCharacterAfterDoctypeSystemIdentifier:"unexpected-character-after-doctype-system-identifier",unexpectedCharacterInUnquotedAttributeValue:"unexpected-character-in-unquoted-attribute-value",eofBeforeTagName:"eof-before-tag-name",eofInTag:"eof-in-tag",missingAttributeValue:"missing-attribute-value",missingWhitespaceBetweenAttributes:"missing-whitespace-between-attributes",missingWhitespaceAfterDoctypePublicKeyword:"missing-whitespace-after-doctype-public-keyword",missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers:"missing-whitespace-between-doctype-public-and-system-identifiers",missingWhitespaceAfterDoctypeSystemKeyword:"missing-whitespace-after-doctype-system-keyword",missingQuoteBeforeDoctypePublicIdentifier:"missing-quote-before-doctype-public-identifier",missingQuoteBeforeDoctypeSystemIdentifier:"missing-quote-before-doctype-system-identifier",missingDoctypePublicIdentifier:"missing-doctype-public-identifier",missingDoctypeSystemIdentifier:"missing-doctype-system-identifier",abruptDoctypePublicIdentifier:"abrupt-doctype-public-identifier",abruptDoctypeSystemIdentifier:"abrupt-doctype-system-identifier",cdataInHtmlContent:"cdata-in-html-content",incorrectlyOpenedComment:"incorrectly-opened-comment",eofInScriptHtmlCommentLikeText:"eof-in-script-html-comment-like-text",eofInDoctype:"eof-in-doctype",nestedComment:"nested-comment",abruptClosingOfEmptyComment:"abrupt-closing-of-empty-comment",eofInComment:"eof-in-comment",incorrectlyClosedComment:"incorrectly-closed-comment",eofInCdata:"eof-in-cdata",absenceOfDigitsInNumericCharacterReference:"absence-of-digits-in-numeric-character-reference",nullCharacterReference:"null-character-reference",surrogateCharacterReference:"surrogate-character-reference",characterReferenceOutsideUnicodeRange:"character-reference-outside-unicode-range",controlCharacterReference:"control-character-reference",noncharacterCharacterReference:"noncharacter-character-reference",missingWhitespaceBeforeDoctypeName:"missing-whitespace-before-doctype-name",missingDoctypeName:"missing-doctype-name",invalidCharacterSequenceAfterDoctypeName:"invalid-character-sequence-after-doctype-name",duplicateAttribute:"duplicate-attribute",nonConformingDoctype:"non-conforming-doctype",missingDoctype:"missing-doctype",misplacedDoctype:"misplaced-doctype",endTagWithoutMatchingOpenElement:"end-tag-without-matching-open-element",closingOfElementWithOpenChildElements:"closing-of-element-with-open-child-elements",disallowedContentInNoscriptInHead:"disallowed-content-in-noscript-in-head",openElementsLeftAfterEof:"open-elements-left-after-eof",abandonedHeadElementChild:"abandoned-head-element-child",misplacedStartTagForHeadElement:"misplaced-start-tag-for-head-element",nestedNoscriptInHead:"nested-noscript-in-head",eofInElementThatCanContainOnlyText:"eof-in-element-that-can-contain-only-text"}},6424:function(e,t,n){"use strict";var r,i=n(5526).default,o=n(1310),a=n(7246),u=a.TAG_NAMES,s=a.NAMESPACES,l=a.ATTRS,c="text/html",f="application/xhtml+xml",p={attributename:"attributeName",attributetype:"attributeType",basefrequency:"baseFrequency",baseprofile:"baseProfile",calcmode:"calcMode",clippathunits:"clipPathUnits",diffuseconstant:"diffuseConstant",edgemode:"edgeMode",filterunits:"filterUnits",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",limitingconeangle:"limitingConeAngle",markerheight:"markerHeight",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textlength:"textLength",viewbox:"viewBox",viewtarget:"viewTarget",xchannelselector:"xChannelSelector",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan"},h={"xlink:actuate":{prefix:"xlink",name:"actuate",namespace:s.XLINK},"xlink:arcrole":{prefix:"xlink",name:"arcrole",namespace:s.XLINK},"xlink:href":{prefix:"xlink",name:"href",namespace:s.XLINK},"xlink:role":{prefix:"xlink",name:"role",namespace:s.XLINK},"xlink:show":{prefix:"xlink",name:"show",namespace:s.XLINK},"xlink:title":{prefix:"xlink",name:"title",namespace:s.XLINK},"xlink:type":{prefix:"xlink",name:"type",namespace:s.XLINK},"xml:base":{prefix:"xml",name:"base",namespace:s.XML},"xml:lang":{prefix:"xml",name:"lang",namespace:s.XML},"xml:space":{prefix:"xml",name:"space",namespace:s.XML},xmlns:{prefix:"",name:"xmlns",namespace:s.XMLNS},"xmlns:xlink":{prefix:"xmlns",name:"xlink",namespace:s.XMLNS}},d=t.SVG_TAG_NAMES_ADJUSTMENT_MAP={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient",textpath:"textPath"},m=(i(r={},u.B,!0),i(r,u.BIG,!0),i(r,u.BLOCKQUOTE,!0),i(r,u.BODY,!0),i(r,u.BR,!0),i(r,u.CENTER,!0),i(r,u.CODE,!0),i(r,u.DD,!0),i(r,u.DIV,!0),i(r,u.DL,!0),i(r,u.DT,!0),i(r,u.EM,!0),i(r,u.EMBED,!0),i(r,u.H1,!0),i(r,u.H2,!0),i(r,u.H3,!0),i(r,u.H4,!0),i(r,u.H5,!0),i(r,u.H6,!0),i(r,u.HEAD,!0),i(r,u.HR,!0),i(r,u.I,!0),i(r,u.IMG,!0),i(r,u.LI,!0),i(r,u.LISTING,!0),i(r,u.MENU,!0),i(r,u.META,!0),i(r,u.NOBR,!0),i(r,u.OL,!0),i(r,u.P,!0),i(r,u.PRE,!0),i(r,u.RUBY,!0),i(r,u.S,!0),i(r,u.SMALL,!0),i(r,u.SPAN,!0),i(r,u.STRONG,!0),i(r,u.STRIKE,!0),i(r,u.SUB,!0),i(r,u.SUP,!0),i(r,u.TABLE,!0),i(r,u.TT,!0),i(r,u.U,!0),i(r,u.UL,!0),i(r,u.VAR,!0),r);t.causesExit=function(e){var t=e.tagName;return!!(t===u.FONT&&(null!==o.getTokenAttr(e,l.COLOR)||null!==o.getTokenAttr(e,l.SIZE)||null!==o.getTokenAttr(e,l.FACE)))||m[t]},t.adjustTokenMathMLAttrs=function(e){for(var t=0;t=55296&&e<=57343},t.isSurrogatePair=function(e){return e>=56320&&e<=57343},t.getSurrogatePairCodePoint=function(e,t){return 1024*(e-55296)+9216+t},t.isControlCodePoint=function(e){return 32!==e&&10!==e&&13!==e&&9!==e&&12!==e&&e>=1&&e<=31||e>=127&&e<=159},t.isUndefinedCodePoint=function(e){return e>=64976&&e<=65007||n.indexOf(e)>-1}},2810:function(e,t,n){"use strict";var r=n(9372).default,i=n(5816).default,o=n(4422).default,a=n(9484).default,u=function(e){o(n,e);var t=a(n);function n(e,i){var o;return r(this,n),(o=t.call(this,e)).posTracker=null,o.onParseError=i.onParseError,o}return i(n,[{key:"_setErrorLocation",value:function(e){e.startLine=e.endLine=this.posTracker.line,e.startCol=e.endCol=this.posTracker.col,e.startOffset=e.endOffset=this.posTracker.offset}},{key:"_reportError",value:function(e){var t={code:e,startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1};this._setErrorLocation(t),this.onParseError(t)}},{key:"_getOverriddenMethods",value:function(e){return{_err:function(t){e._reportError(t)}}}}]),n}(n(4433));e.exports=u},2425:function(e,t,n){"use strict";var r=n(9372).default,i=n(5816).default,o=n(4422).default,a=n(9484).default,u=n(2810),s=n(3462),l=n(3549),c=n(4433),f=function(e){o(n,e);var t=a(n);function n(e,i){var o;return r(this,n),(o=t.call(this,e,i)).opts=i,o.ctLoc=null,o.locBeforeToken=!1,o}return i(n,[{key:"_setErrorLocation",value:function(e){this.ctLoc&&(e.startLine=this.ctLoc.startLine,e.startCol=this.ctLoc.startCol,e.startOffset=this.ctLoc.startOffset,e.endLine=this.locBeforeToken?this.ctLoc.startLine:this.ctLoc.endLine,e.endCol=this.locBeforeToken?this.ctLoc.startCol:this.ctLoc.endCol,e.endOffset=this.locBeforeToken?this.ctLoc.startOffset:this.ctLoc.endOffset)}},{key:"_getOverriddenMethods",value:function(e,t){return{_bootstrap:function(n,r){t._bootstrap.call(this,n,r),c.install(this.tokenizer,s,e.opts),c.install(this.tokenizer,l)},_processInputToken:function(n){e.ctLoc=n.location,t._processInputToken.call(this,n)},_err:function(t,n){e.locBeforeToken=n&&n.beforeToken,e._reportError(t)}}}}]),n}(u);e.exports=f},3540:function(e,t,n){"use strict";var r=n(9372).default,i=n(5816).default,o=n(3854).default,a=n(8620).default,u=n(4422).default,s=n(9484).default,l=n(2810),c=n(3155),f=n(4433),p=function(e){u(n,e);var t=s(n);function n(e,i){var o;return r(this,n),(o=t.call(this,e,i)).posTracker=f.install(e,c),o.lastErrOffset=-1,o}return i(n,[{key:"_reportError",value:function(e){this.lastErrOffset!==this.posTracker.offset&&(this.lastErrOffset=this.posTracker.offset,o(a(n.prototype),"_reportError",this).call(this,e))}}]),n}(l);e.exports=p},3462:function(e,t,n){"use strict";var r=n(5816).default,i=n(9372).default,o=n(4422).default,a=n(9484).default,u=n(2810),s=n(3540),l=n(4433),c=function(e){o(n,e);var t=a(n);function n(e,r){var o;i(this,n),o=t.call(this,e,r);var a=l.install(e.preprocessor,s,r);return o.posTracker=a.posTracker,o}return r(n)}(u);e.exports=c},8097:function(e,t,n){"use strict";var r=n(9372).default,i=n(5816).default,o=n(4422).default,a=n(9484).default,u=function(e){o(n,e);var t=a(n);function n(e,i){var o;return r(this,n),(o=t.call(this,e)).onItemPop=i.onItemPop,o}return i(n,[{key:"_getOverriddenMethods",value:function(e,t){return{pop:function(){e.onItemPop(this.current),t.pop.call(this)},popAllUpToHtmlElement:function(){for(var n=this.stackTop;n>0;n--)e.onItemPop(this.items[n]);t.popAllUpToHtmlElement.call(this)},remove:function(n){e.onItemPop(this.current),t.remove.call(this,n)}}}}]),n}(n(4433));e.exports=u},8967:function(e,t,n){"use strict";var r=n(9372).default,i=n(5816).default,o=n(4422).default,a=n(9484).default,u=n(4433),s=n(1310),l=n(3549),c=n(8097),f=n(7246).TAG_NAMES,p=function(e){o(n,e);var t=a(n);function n(e){var i;return r(this,n),(i=t.call(this,e)).parser=e,i.treeAdapter=i.parser.treeAdapter,i.posTracker=null,i.lastStartTagToken=null,i.lastFosterParentingLocation=null,i.currentToken=null,i}return i(n,[{key:"_setStartLocation",value:function(e){var t=null;this.lastStartTagToken&&((t=Object.assign({},this.lastStartTagToken.location)).startTag=this.lastStartTagToken.location),this.treeAdapter.setNodeSourceCodeLocation(e,t)}},{key:"_setEndLocation",value:function(e,t){if(this.treeAdapter.getNodeSourceCodeLocation(e)&&t.location){var n=t.location,r=this.treeAdapter.getTagName(e),i={};t.type===s.END_TAG_TOKEN&&r===t.tagName?(i.endTag=Object.assign({},n),i.endLine=n.endLine,i.endCol=n.endCol,i.endOffset=n.endOffset):(i.endLine=n.startLine,i.endCol=n.startCol,i.endOffset=n.startOffset),this.treeAdapter.updateNodeSourceCodeLocation(e,i)}}},{key:"_getOverriddenMethods",value:function(e,t){return{_bootstrap:function(n,r){t._bootstrap.call(this,n,r),e.lastStartTagToken=null,e.lastFosterParentingLocation=null,e.currentToken=null;var i=u.install(this.tokenizer,l);e.posTracker=i.posTracker,u.install(this.openElements,c,{onItemPop:function(t){e._setEndLocation(t,e.currentToken)}})},_runParsingLoop:function(n){t._runParsingLoop.call(this,n);for(var r=this.openElements.stackTop;r>=0;r--)e._setEndLocation(this.openElements.items[r],e.currentToken)},_processTokenInForeignContent:function(n){e.currentToken=n,t._processTokenInForeignContent.call(this,n)},_processToken:function(n){if(e.currentToken=n,t._processToken.call(this,n),n.type===s.END_TAG_TOKEN&&(n.tagName===f.HTML||n.tagName===f.BODY&&this.openElements.hasInScope(f.BODY)))for(var r=this.openElements.stackTop;r>=0;r--){var i=this.openElements.items[r];if(this.treeAdapter.getTagName(i)===n.tagName){e._setEndLocation(i,n);break}}},_setDocumentType:function(e){t._setDocumentType.call(this,e);for(var n=this.treeAdapter.getChildNodes(this.document),r=n.length,i=0;i=3)for(var r=this.treeAdapter.getAttrList(t).length,i=this.treeAdapter.getTagName(t),o=this.treeAdapter.getNamespaceURI(t),a=this.length-1;a>=0;a--){var u=this.entries[a];if(u.type===e.MARKER_ENTRY)break;var s=u.element,l=this.treeAdapter.getAttrList(s);this.treeAdapter.getTagName(s)===i&&this.treeAdapter.getNamespaceURI(s)===o&&l.length===r&&n.push({idx:a,attrs:l})}return n.length<3?[]:n}},{key:"_ensureNoahArkCondition",value:function(e){var t=this._getNoahArkConditionCandidates(e),n=t.length;if(n){for(var r=this.treeAdapter.getAttrList(e),i=r.length,o=Object.create(null),a=0;a=2;f--)this.entries.splice(t[f].idx,1),this.length--}}},{key:"insertMarker",value:function(){this.entries.push({type:e.MARKER_ENTRY}),this.length++}},{key:"pushElement",value:function(t,n){this._ensureNoahArkCondition(t),this.entries.push({type:e.ELEMENT_ENTRY,element:t,token:n}),this.length++}},{key:"insertElementAfterBookmark",value:function(t,n){for(var r=this.length-1;r>=0&&this.entries[r]!==this.bookmark;r--);this.entries.splice(r+1,0,{type:e.ELEMENT_ENTRY,element:t,token:n}),this.length++}},{key:"removeEntry",value:function(e){for(var t=this.length-1;t>=0;t--)if(this.entries[t]===e){this.entries.splice(t,1),this.length--;break}}},{key:"clearToLastMarker",value:function(){for(;this.length;){var t=this.entries.pop();if(this.length--,t.type===e.MARKER_ENTRY)break}}},{key:"getElementEntryInScopeWithTagName",value:function(t){for(var n=this.length-1;n>=0;n--){var r=this.entries[n];if(r.type===e.MARKER_ENTRY)return null;if(this.treeAdapter.getTagName(r.element)===t)return r}return null}},{key:"getElementEntry",value:function(t){for(var n=this.length-1;n>=0;n--){var r=this.entries[n];if(r.type===e.ELEMENT_ENTRY&&r.element===t)return r}return null}}]),e}();o.MARKER_ENTRY="MARKER_ENTRY",o.ELEMENT_ENTRY="ELEMENT_ENTRY",e.exports=o},7986:function(e,t,n){"use strict";var r,i,o,a,u,s,l,c,f,p,h,d,m,E,T,g,v,A,y,C,_,k,D,N,O,S,b=n(9372).default,F=n(5816).default,x=n(5526).default,I=n(1310),R=n(5557),L=n(5468),M=n(8967),P=n(2425),w=n(4433),B=n(8653),H=n(9416),U=n(9548),G=n(6424),K=n(8240),j=n(2525),z=n(7246),Y=z.TAG_NAMES,W=z.NAMESPACES,Q=z.ATTRS,q={scriptingEnabled:!0,sourceCodeLocationInfo:!1,onParseError:null,treeAdapter:B},V="hidden",X="INITIAL_MODE",$="BEFORE_HTML_MODE",Z="BEFORE_HEAD_MODE",J="IN_HEAD_MODE",ee="IN_HEAD_NO_SCRIPT_MODE",te="AFTER_HEAD_MODE",ne="IN_BODY_MODE",re="TEXT_MODE",ie="IN_TABLE_MODE",oe="IN_TABLE_TEXT_MODE",ae="IN_CAPTION_MODE",ue="IN_COLUMN_GROUP_MODE",se="IN_TABLE_BODY_MODE",le="IN_ROW_MODE",ce="IN_CELL_MODE",fe="IN_SELECT_MODE",pe="IN_SELECT_IN_TABLE_MODE",he="IN_TEMPLATE_MODE",de="AFTER_BODY_MODE",me="IN_FRAMESET_MODE",Ee="AFTER_FRAMESET_MODE",Te="AFTER_AFTER_BODY_MODE",ge="AFTER_AFTER_FRAMESET_MODE",ve=(x(r={},Y.TR,le),x(r,Y.TBODY,se),x(r,Y.THEAD,se),x(r,Y.TFOOT,se),x(r,Y.CAPTION,ae),x(r,Y.COLGROUP,ue),x(r,Y.TABLE,ie),x(r,Y.BODY,ne),x(r,Y.FRAMESET,me),r),Ae=(x(i={},Y.CAPTION,ie),x(i,Y.COLGROUP,ie),x(i,Y.TBODY,ie),x(i,Y.TFOOT,ie),x(i,Y.THEAD,ie),x(i,Y.COL,ue),x(i,Y.TR,se),x(i,Y.TD,le),x(i,Y.TH,le),i),ye=(x(S={},X,(x(o={},I.CHARACTER_TOKEN,Pe),x(o,I.NULL_CHARACTER_TOKEN,Pe),x(o,I.WHITESPACE_CHARACTER_TOKEN,Fe),x(o,I.COMMENT_TOKEN,Ie),x(o,I.DOCTYPE_TOKEN,(function(e,t){e._setDocumentType(t);var n=t.forceQuirks?z.DOCUMENT_MODE.QUIRKS:U.getDocumentMode(t);U.isConforming(t)||e._err(K.nonConformingDoctype);e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=$})),x(o,I.START_TAG_TOKEN,Pe),x(o,I.END_TAG_TOKEN,Pe),x(o,I.EOF_TOKEN,Pe),o)),x(S,$,(x(a={},I.CHARACTER_TOKEN,we),x(a,I.NULL_CHARACTER_TOKEN,we),x(a,I.WHITESPACE_CHARACTER_TOKEN,Fe),x(a,I.COMMENT_TOKEN,Ie),x(a,I.DOCTYPE_TOKEN,Fe),x(a,I.START_TAG_TOKEN,(function(e,t){t.tagName===Y.HTML?(e._insertElement(t,W.HTML),e.insertionMode=Z):we(e,t)})),x(a,I.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n!==Y.HTML&&n!==Y.HEAD&&n!==Y.BODY&&n!==Y.BR||we(e,t)})),x(a,I.EOF_TOKEN,we),a)),x(S,Z,(x(u={},I.CHARACTER_TOKEN,Be),x(u,I.NULL_CHARACTER_TOKEN,Be),x(u,I.WHITESPACE_CHARACTER_TOKEN,Fe),x(u,I.COMMENT_TOKEN,Ie),x(u,I.DOCTYPE_TOKEN,xe),x(u,I.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.HTML?nt(e,t):n===Y.HEAD?(e._insertElement(t,W.HTML),e.headElement=e.openElements.current,e.insertionMode=J):Be(e,t)})),x(u,I.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.HEAD||n===Y.BODY||n===Y.HTML||n===Y.BR?Be(e,t):e._err(K.endTagWithoutMatchingOpenElement)})),x(u,I.EOF_TOKEN,Be),u)),x(S,J,(x(s={},I.CHARACTER_TOKEN,Ge),x(s,I.NULL_CHARACTER_TOKEN,Ge),x(s,I.WHITESPACE_CHARACTER_TOKEN,Le),x(s,I.COMMENT_TOKEN,Ie),x(s,I.DOCTYPE_TOKEN,xe),x(s,I.START_TAG_TOKEN,He),x(s,I.END_TAG_TOKEN,Ue),x(s,I.EOF_TOKEN,Ge),s)),x(S,ee,(x(l={},I.CHARACTER_TOKEN,Ke),x(l,I.NULL_CHARACTER_TOKEN,Ke),x(l,I.WHITESPACE_CHARACTER_TOKEN,Le),x(l,I.COMMENT_TOKEN,Ie),x(l,I.DOCTYPE_TOKEN,xe),x(l,I.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.HTML?nt(e,t):n===Y.BASEFONT||n===Y.BGSOUND||n===Y.HEAD||n===Y.LINK||n===Y.META||n===Y.NOFRAMES||n===Y.STYLE?He(e,t):n===Y.NOSCRIPT?e._err(K.nestedNoscriptInHead):Ke(e,t)})),x(l,I.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.NOSCRIPT?(e.openElements.pop(),e.insertionMode=J):n===Y.BR?Ke(e,t):e._err(K.endTagWithoutMatchingOpenElement)})),x(l,I.EOF_TOKEN,Ke),l)),x(S,te,(x(c={},I.CHARACTER_TOKEN,je),x(c,I.NULL_CHARACTER_TOKEN,je),x(c,I.WHITESPACE_CHARACTER_TOKEN,Le),x(c,I.COMMENT_TOKEN,Ie),x(c,I.DOCTYPE_TOKEN,xe),x(c,I.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.HTML?nt(e,t):n===Y.BODY?(e._insertElement(t,W.HTML),e.framesetOk=!1,e.insertionMode=ne):n===Y.FRAMESET?(e._insertElement(t,W.HTML),e.insertionMode=me):n===Y.BASE||n===Y.BASEFONT||n===Y.BGSOUND||n===Y.LINK||n===Y.META||n===Y.NOFRAMES||n===Y.SCRIPT||n===Y.STYLE||n===Y.TEMPLATE||n===Y.TITLE?(e._err(K.abandonedHeadElementChild),e.openElements.push(e.headElement),He(e,t),e.openElements.remove(e.headElement)):n===Y.HEAD?e._err(K.misplacedStartTagForHeadElement):je(e,t)})),x(c,I.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.BODY||n===Y.HTML||n===Y.BR?je(e,t):n===Y.TEMPLATE?Ue(e,t):e._err(K.endTagWithoutMatchingOpenElement)})),x(c,I.EOF_TOKEN,je),c)),x(S,ne,(x(f={},I.CHARACTER_TOKEN,Ye),x(f,I.NULL_CHARACTER_TOKEN,Fe),x(f,I.WHITESPACE_CHARACTER_TOKEN,ze),x(f,I.COMMENT_TOKEN,Ie),x(f,I.DOCTYPE_TOKEN,Fe),x(f,I.START_TAG_TOKEN,nt),x(f,I.END_TAG_TOKEN,at),x(f,I.EOF_TOKEN,ut),f)),x(S,re,(x(p={},I.CHARACTER_TOKEN,Le),x(p,I.NULL_CHARACTER_TOKEN,Le),x(p,I.WHITESPACE_CHARACTER_TOKEN,Le),x(p,I.COMMENT_TOKEN,Fe),x(p,I.DOCTYPE_TOKEN,Fe),x(p,I.START_TAG_TOKEN,Fe),x(p,I.END_TAG_TOKEN,(function(e,t){t.tagName===Y.SCRIPT&&(e.pendingScript=e.openElements.current);e.openElements.pop(),e.insertionMode=e.originalInsertionMode})),x(p,I.EOF_TOKEN,(function(e,t){e._err(K.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e._processToken(t)})),p)),x(S,ie,(x(h={},I.CHARACTER_TOKEN,st),x(h,I.NULL_CHARACTER_TOKEN,st),x(h,I.WHITESPACE_CHARACTER_TOKEN,st),x(h,I.COMMENT_TOKEN,Ie),x(h,I.DOCTYPE_TOKEN,Fe),x(h,I.START_TAG_TOKEN,lt),x(h,I.END_TAG_TOKEN,ct),x(h,I.EOF_TOKEN,ut),h)),x(S,oe,(x(d={},I.CHARACTER_TOKEN,(function(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0})),x(d,I.NULL_CHARACTER_TOKEN,Fe),x(d,I.WHITESPACE_CHARACTER_TOKEN,(function(e,t){e.pendingCharacterTokens.push(t)})),x(d,I.COMMENT_TOKEN,pt),x(d,I.DOCTYPE_TOKEN,pt),x(d,I.START_TAG_TOKEN,pt),x(d,I.END_TAG_TOKEN,pt),x(d,I.EOF_TOKEN,pt),d)),x(S,ae,(x(m={},I.CHARACTER_TOKEN,Ye),x(m,I.NULL_CHARACTER_TOKEN,Fe),x(m,I.WHITESPACE_CHARACTER_TOKEN,ze),x(m,I.COMMENT_TOKEN,Ie),x(m,I.DOCTYPE_TOKEN,Fe),x(m,I.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.CAPTION||n===Y.COL||n===Y.COLGROUP||n===Y.TBODY||n===Y.TD||n===Y.TFOOT||n===Y.TH||n===Y.THEAD||n===Y.TR?e.openElements.hasInTableScope(Y.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(Y.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=ie,e._processToken(t)):nt(e,t)})),x(m,I.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.CAPTION||n===Y.TABLE?e.openElements.hasInTableScope(Y.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(Y.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=ie,n===Y.TABLE&&e._processToken(t)):n!==Y.BODY&&n!==Y.COL&&n!==Y.COLGROUP&&n!==Y.HTML&&n!==Y.TBODY&&n!==Y.TD&&n!==Y.TFOOT&&n!==Y.TH&&n!==Y.THEAD&&n!==Y.TR&&at(e,t)})),x(m,I.EOF_TOKEN,ut),m)),x(S,ue,(x(E={},I.CHARACTER_TOKEN,ht),x(E,I.NULL_CHARACTER_TOKEN,ht),x(E,I.WHITESPACE_CHARACTER_TOKEN,Le),x(E,I.COMMENT_TOKEN,Ie),x(E,I.DOCTYPE_TOKEN,Fe),x(E,I.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.HTML?nt(e,t):n===Y.COL?(e._appendElement(t,W.HTML),t.ackSelfClosing=!0):n===Y.TEMPLATE?He(e,t):ht(e,t)})),x(E,I.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.COLGROUP?e.openElements.currentTagName===Y.COLGROUP&&(e.openElements.pop(),e.insertionMode=ie):n===Y.TEMPLATE?Ue(e,t):n!==Y.COL&&ht(e,t)})),x(E,I.EOF_TOKEN,ut),E)),x(S,se,(x(T={},I.CHARACTER_TOKEN,st),x(T,I.NULL_CHARACTER_TOKEN,st),x(T,I.WHITESPACE_CHARACTER_TOKEN,st),x(T,I.COMMENT_TOKEN,Ie),x(T,I.DOCTYPE_TOKEN,Fe),x(T,I.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.TR?(e.openElements.clearBackToTableBodyContext(),e._insertElement(t,W.HTML),e.insertionMode=le):n===Y.TH||n===Y.TD?(e.openElements.clearBackToTableBodyContext(),e._insertFakeElement(Y.TR),e.insertionMode=le,e._processToken(t)):n===Y.CAPTION||n===Y.COL||n===Y.COLGROUP||n===Y.TBODY||n===Y.TFOOT||n===Y.THEAD?e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=ie,e._processToken(t)):lt(e,t)})),x(T,I.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.TBODY||n===Y.TFOOT||n===Y.THEAD?e.openElements.hasInTableScope(n)&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=ie):n===Y.TABLE?e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=ie,e._processToken(t)):(n!==Y.BODY&&n!==Y.CAPTION&&n!==Y.COL&&n!==Y.COLGROUP||n!==Y.HTML&&n!==Y.TD&&n!==Y.TH&&n!==Y.TR)&&ct(e,t)})),x(T,I.EOF_TOKEN,ut),T)),x(S,le,(x(g={},I.CHARACTER_TOKEN,st),x(g,I.NULL_CHARACTER_TOKEN,st),x(g,I.WHITESPACE_CHARACTER_TOKEN,st),x(g,I.COMMENT_TOKEN,Ie),x(g,I.DOCTYPE_TOKEN,Fe),x(g,I.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.TH||n===Y.TD?(e.openElements.clearBackToTableRowContext(),e._insertElement(t,W.HTML),e.insertionMode=ce,e.activeFormattingElements.insertMarker()):n===Y.CAPTION||n===Y.COL||n===Y.COLGROUP||n===Y.TBODY||n===Y.TFOOT||n===Y.THEAD||n===Y.TR?e.openElements.hasInTableScope(Y.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=se,e._processToken(t)):lt(e,t)})),x(g,I.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.TR?e.openElements.hasInTableScope(Y.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=se):n===Y.TABLE?e.openElements.hasInTableScope(Y.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=se,e._processToken(t)):n===Y.TBODY||n===Y.TFOOT||n===Y.THEAD?(e.openElements.hasInTableScope(n)||e.openElements.hasInTableScope(Y.TR))&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=se,e._processToken(t)):(n!==Y.BODY&&n!==Y.CAPTION&&n!==Y.COL&&n!==Y.COLGROUP||n!==Y.HTML&&n!==Y.TD&&n!==Y.TH)&&ct(e,t)})),x(g,I.EOF_TOKEN,ut),g)),x(S,ce,(x(v={},I.CHARACTER_TOKEN,Ye),x(v,I.NULL_CHARACTER_TOKEN,Fe),x(v,I.WHITESPACE_CHARACTER_TOKEN,ze),x(v,I.COMMENT_TOKEN,Ie),x(v,I.DOCTYPE_TOKEN,Fe),x(v,I.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.CAPTION||n===Y.COL||n===Y.COLGROUP||n===Y.TBODY||n===Y.TD||n===Y.TFOOT||n===Y.TH||n===Y.THEAD||n===Y.TR?(e.openElements.hasInTableScope(Y.TD)||e.openElements.hasInTableScope(Y.TH))&&(e._closeTableCell(),e._processToken(t)):nt(e,t)})),x(v,I.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.TD||n===Y.TH?e.openElements.hasInTableScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=le):n===Y.TABLE||n===Y.TBODY||n===Y.TFOOT||n===Y.THEAD||n===Y.TR?e.openElements.hasInTableScope(n)&&(e._closeTableCell(),e._processToken(t)):n!==Y.BODY&&n!==Y.CAPTION&&n!==Y.COL&&n!==Y.COLGROUP&&n!==Y.HTML&&at(e,t)})),x(v,I.EOF_TOKEN,ut),v)),x(S,fe,(x(A={},I.CHARACTER_TOKEN,Le),x(A,I.NULL_CHARACTER_TOKEN,Fe),x(A,I.WHITESPACE_CHARACTER_TOKEN,Le),x(A,I.COMMENT_TOKEN,Ie),x(A,I.DOCTYPE_TOKEN,Fe),x(A,I.START_TAG_TOKEN,dt),x(A,I.END_TAG_TOKEN,mt),x(A,I.EOF_TOKEN,ut),A)),x(S,pe,(x(y={},I.CHARACTER_TOKEN,Le),x(y,I.NULL_CHARACTER_TOKEN,Fe),x(y,I.WHITESPACE_CHARACTER_TOKEN,Le),x(y,I.COMMENT_TOKEN,Ie),x(y,I.DOCTYPE_TOKEN,Fe),x(y,I.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.CAPTION||n===Y.TABLE||n===Y.TBODY||n===Y.TFOOT||n===Y.THEAD||n===Y.TR||n===Y.TD||n===Y.TH?(e.openElements.popUntilTagNamePopped(Y.SELECT),e._resetInsertionMode(),e._processToken(t)):dt(e,t)})),x(y,I.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.CAPTION||n===Y.TABLE||n===Y.TBODY||n===Y.TFOOT||n===Y.THEAD||n===Y.TR||n===Y.TD||n===Y.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(Y.SELECT),e._resetInsertionMode(),e._processToken(t)):mt(e,t)})),x(y,I.EOF_TOKEN,ut),y)),x(S,he,(x(C={},I.CHARACTER_TOKEN,Ye),x(C,I.NULL_CHARACTER_TOKEN,Fe),x(C,I.WHITESPACE_CHARACTER_TOKEN,ze),x(C,I.COMMENT_TOKEN,Ie),x(C,I.DOCTYPE_TOKEN,Fe),x(C,I.START_TAG_TOKEN,(function(e,t){var n=t.tagName;if(n===Y.BASE||n===Y.BASEFONT||n===Y.BGSOUND||n===Y.LINK||n===Y.META||n===Y.NOFRAMES||n===Y.SCRIPT||n===Y.STYLE||n===Y.TEMPLATE||n===Y.TITLE)He(e,t);else{var r=Ae[n]||ne;e._popTmplInsertionMode(),e._pushTmplInsertionMode(r),e.insertionMode=r,e._processToken(t)}})),x(C,I.END_TAG_TOKEN,(function(e,t){t.tagName===Y.TEMPLATE&&Ue(e,t)})),x(C,I.EOF_TOKEN,Et),C)),x(S,de,(x(_={},I.CHARACTER_TOKEN,Tt),x(_,I.NULL_CHARACTER_TOKEN,Tt),x(_,I.WHITESPACE_CHARACTER_TOKEN,ze),x(_,I.COMMENT_TOKEN,(function(e,t){e._appendCommentNode(t,e.openElements.items[0])})),x(_,I.DOCTYPE_TOKEN,Fe),x(_,I.START_TAG_TOKEN,(function(e,t){t.tagName===Y.HTML?nt(e,t):Tt(e,t)})),x(_,I.END_TAG_TOKEN,(function(e,t){t.tagName===Y.HTML?e.fragmentContext||(e.insertionMode=Te):Tt(e,t)})),x(_,I.EOF_TOKEN,Me),_)),x(S,me,(x(k={},I.CHARACTER_TOKEN,Fe),x(k,I.NULL_CHARACTER_TOKEN,Fe),x(k,I.WHITESPACE_CHARACTER_TOKEN,Le),x(k,I.COMMENT_TOKEN,Ie),x(k,I.DOCTYPE_TOKEN,Fe),x(k,I.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.HTML?nt(e,t):n===Y.FRAMESET?e._insertElement(t,W.HTML):n===Y.FRAME?(e._appendElement(t,W.HTML),t.ackSelfClosing=!0):n===Y.NOFRAMES&&He(e,t)})),x(k,I.END_TAG_TOKEN,(function(e,t){t.tagName!==Y.FRAMESET||e.openElements.isRootHtmlElementCurrent()||(e.openElements.pop(),e.fragmentContext||e.openElements.currentTagName===Y.FRAMESET||(e.insertionMode=Ee))})),x(k,I.EOF_TOKEN,Me),k)),x(S,Ee,(x(D={},I.CHARACTER_TOKEN,Fe),x(D,I.NULL_CHARACTER_TOKEN,Fe),x(D,I.WHITESPACE_CHARACTER_TOKEN,Le),x(D,I.COMMENT_TOKEN,Ie),x(D,I.DOCTYPE_TOKEN,Fe),x(D,I.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.HTML?nt(e,t):n===Y.NOFRAMES&&He(e,t)})),x(D,I.END_TAG_TOKEN,(function(e,t){t.tagName===Y.HTML&&(e.insertionMode=ge)})),x(D,I.EOF_TOKEN,Me),D)),x(S,Te,(x(N={},I.CHARACTER_TOKEN,gt),x(N,I.NULL_CHARACTER_TOKEN,gt),x(N,I.WHITESPACE_CHARACTER_TOKEN,ze),x(N,I.COMMENT_TOKEN,Re),x(N,I.DOCTYPE_TOKEN,Fe),x(N,I.START_TAG_TOKEN,(function(e,t){t.tagName===Y.HTML?nt(e,t):gt(e,t)})),x(N,I.END_TAG_TOKEN,gt),x(N,I.EOF_TOKEN,Me),N)),x(S,ge,(x(O={},I.CHARACTER_TOKEN,Fe),x(O,I.NULL_CHARACTER_TOKEN,Fe),x(O,I.WHITESPACE_CHARACTER_TOKEN,ze),x(O,I.COMMENT_TOKEN,Re),x(O,I.DOCTYPE_TOKEN,Fe),x(O,I.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===Y.HTML?nt(e,t):n===Y.NOFRAMES&&He(e,t)})),x(O,I.END_TAG_TOKEN,Fe),x(O,I.EOF_TOKEN,Me),O)),S),Ce=function(){function e(t){b(this,e),this.options=H(q,t),this.treeAdapter=this.options.treeAdapter,this.pendingScript=null,this.options.sourceCodeLocationInfo&&w.install(this,M),this.options.onParseError&&w.install(this,P,{onParseError:this.options.onParseError})}return F(e,[{key:"parse",value:function(e){var t=this.treeAdapter.createDocument();return this._bootstrap(t,null),this.tokenizer.write(e,!0),this._runParsingLoop(null),t}},{key:"parseFragment",value:function(e,t){t||(t=this.treeAdapter.createElement(Y.TEMPLATE,W.HTML,[]));var n=this.treeAdapter.createElement("documentmock",W.HTML,[]);this._bootstrap(n,t),this.treeAdapter.getTagName(t)===Y.TEMPLATE&&this._pushTmplInsertionMode(he),this._initTokenizerForFragmentParsing(),this._insertFakeRootElement(),this._resetInsertionMode(),this._findFormInFragmentContext(),this.tokenizer.write(e,!0),this._runParsingLoop(null);var r=this.treeAdapter.getFirstChild(n),i=this.treeAdapter.createDocumentFragment();return this._adoptNodes(r,i),i}},{key:"_bootstrap",value:function(e,t){this.tokenizer=new I(this.options),this.stopped=!1,this.insertionMode=X,this.originalInsertionMode="",this.document=e,this.fragmentContext=t,this.headElement=null,this.formElement=null,this.openElements=new R(this.document,this.treeAdapter),this.activeFormattingElements=new L(this.treeAdapter),this.tmplInsertionModeStack=[],this.tmplInsertionModeStackTop=-1,this.currentTmplInsertionMode=null,this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1}},{key:"_err",value:function(){}},{key:"_runParsingLoop",value:function(e){for(;!this.stopped;){this._setupTokenizerCDATAMode();var t=this.tokenizer.getNextToken();if(t.type===I.HIBERNATION_TOKEN)break;if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.type===I.WHITESPACE_CHARACTER_TOKEN&&"\n"===t.chars[0])){if(1===t.chars.length)continue;t.chars=t.chars.substr(1)}if(this._processInputToken(t),e&&this.pendingScript)break}}},{key:"runParsingLoopForCurrentChunk",value:function(e,t){if(this._runParsingLoop(t),t&&this.pendingScript){var n=this.pendingScript;return this.pendingScript=null,void t(n)}e&&e()}},{key:"_setupTokenizerCDATAMode",value:function(){var e=this._getAdjustedCurrentElement();this.tokenizer.allowCDATA=e&&e!==this.document&&this.treeAdapter.getNamespaceURI(e)!==W.HTML&&!this._isIntegrationPoint(e)}},{key:"_switchToTextParsing",value:function(e,t){this._insertElement(e,W.HTML),this.tokenizer.state=t,this.originalInsertionMode=this.insertionMode,this.insertionMode=re}},{key:"switchToPlaintextParsing",value:function(){this.insertionMode=re,this.originalInsertionMode=ne,this.tokenizer.state=I.MODE.PLAINTEXT}},{key:"_getAdjustedCurrentElement",value:function(){return 0===this.openElements.stackTop&&this.fragmentContext?this.fragmentContext:this.openElements.current}},{key:"_findFormInFragmentContext",value:function(){var e=this.fragmentContext;do{if(this.treeAdapter.getTagName(e)===Y.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}while(e)}},{key:"_initTokenizerForFragmentParsing",value:function(){if(this.treeAdapter.getNamespaceURI(this.fragmentContext)===W.HTML){var e=this.treeAdapter.getTagName(this.fragmentContext);e===Y.TITLE||e===Y.TEXTAREA?this.tokenizer.state=I.MODE.RCDATA:e===Y.STYLE||e===Y.XMP||e===Y.IFRAME||e===Y.NOEMBED||e===Y.NOFRAMES||e===Y.NOSCRIPT?this.tokenizer.state=I.MODE.RAWTEXT:e===Y.SCRIPT?this.tokenizer.state=I.MODE.SCRIPT_DATA:e===Y.PLAINTEXT&&(this.tokenizer.state=I.MODE.PLAINTEXT)}}},{key:"_setDocumentType",value:function(e){var t=e.name||"",n=e.publicId||"",r=e.systemId||"";this.treeAdapter.setDocumentType(this.document,t,n,r)}},{key:"_attachElementToTree",value:function(e){if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{var t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.appendChild(t,e)}}},{key:"_appendElement",value:function(e,t){var n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n)}},{key:"_insertElement",value:function(e,t){var n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n),this.openElements.push(n)}},{key:"_insertFakeElement",value:function(e){var t=this.treeAdapter.createElement(e,W.HTML,[]);this._attachElementToTree(t),this.openElements.push(t)}},{key:"_insertTemplate",value:function(e){var t=this.treeAdapter.createElement(e.tagName,W.HTML,e.attrs),n=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(t,n),this._attachElementToTree(t),this.openElements.push(t)}},{key:"_insertFakeRootElement",value:function(){var e=this.treeAdapter.createElement(Y.HTML,W.HTML,[]);this.treeAdapter.appendChild(this.openElements.current,e),this.openElements.push(e)}},{key:"_appendCommentNode",value:function(e,t){var n=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(t,n)}},{key:"_insertCharacters",value:function(e){if(this._shouldFosterParentOnInsertion())this._fosterParentText(e.chars);else{var t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.insertText(t,e.chars)}}},{key:"_adoptNodes",value:function(e,t){for(var n=this.treeAdapter.getFirstChild(e);n;n=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(n),this.treeAdapter.appendChild(t,n)}},{key:"_shouldProcessTokenInForeignContent",value:function(e){var t=this._getAdjustedCurrentElement();if(!t||t===this.document)return!1;var n=this.treeAdapter.getNamespaceURI(t);if(n===W.HTML)return!1;if(this.treeAdapter.getTagName(t)===Y.ANNOTATION_XML&&n===W.MATHML&&e.type===I.START_TAG_TOKEN&&e.tagName===Y.SVG)return!1;var r=e.type===I.CHARACTER_TOKEN||e.type===I.NULL_CHARACTER_TOKEN||e.type===I.WHITESPACE_CHARACTER_TOKEN;return(!(e.type===I.START_TAG_TOKEN&&e.tagName!==Y.MGLYPH&&e.tagName!==Y.MALIGNMARK)&&!r||!this._isIntegrationPoint(t,W.MATHML))&&((e.type!==I.START_TAG_TOKEN&&!r||!this._isIntegrationPoint(t,W.HTML))&&e.type!==I.EOF_TOKEN)}},{key:"_processToken",value:function(e){ye[this.insertionMode][e.type](this,e)}},{key:"_processTokenInBodyMode",value:function(e){ye.IN_BODY_MODE[e.type](this,e)}},{key:"_processTokenInForeignContent",value:function(e){e.type===I.CHARACTER_TOKEN?function(e,t){e._insertCharacters(t),e.framesetOk=!1}(this,e):e.type===I.NULL_CHARACTER_TOKEN?function(e,t){t.chars=j.REPLACEMENT_CHARACTER,e._insertCharacters(t)}(this,e):e.type===I.WHITESPACE_CHARACTER_TOKEN?Le(this,e):e.type===I.COMMENT_TOKEN?Ie(this,e):e.type===I.START_TAG_TOKEN?function(e,t){if(G.causesExit(t)&&!e.fragmentContext){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==W.HTML&&!e._isIntegrationPoint(e.openElements.current);)e.openElements.pop();e._processToken(t)}else{var n=e._getAdjustedCurrentElement(),r=e.treeAdapter.getNamespaceURI(n);r===W.MATHML?G.adjustTokenMathMLAttrs(t):r===W.SVG&&(G.adjustTokenSVGTagName(t),G.adjustTokenSVGAttrs(t)),G.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,r):e._insertElement(t,r),t.ackSelfClosing=!0}}(this,e):e.type===I.END_TAG_TOKEN&&function(e,t){for(var n=e.openElements.stackTop;n>0;n--){var r=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(r)===W.HTML){e._processToken(t);break}if(e.treeAdapter.getTagName(r).toLowerCase()===t.tagName){e.openElements.popUntilElementPopped(r);break}}}(this,e)}},{key:"_processInputToken",value:function(e){this._shouldProcessTokenInForeignContent(e)?this._processTokenInForeignContent(e):this._processToken(e),e.type===I.START_TAG_TOKEN&&e.selfClosing&&!e.ackSelfClosing&&this._err(K.nonVoidHtmlElementStartTagWithTrailingSolidus)}},{key:"_isIntegrationPoint",value:function(e,t){var n=this.treeAdapter.getTagName(e),r=this.treeAdapter.getNamespaceURI(e),i=this.treeAdapter.getAttrList(e);return G.isIntegrationPoint(n,r,i,t)}},{key:"_reconstructActiveFormattingElements",value:function(){var e=this.activeFormattingElements.length;if(e){var t=e,n=null;do{if(t--,(n=this.activeFormattingElements.entries[t]).type===L.MARKER_ENTRY||this.openElements.contains(n.element)){t++;break}}while(t>0);for(var r=t;r=0;e--){var n=this.openElements.items[e];0===e&&(t=!0,this.fragmentContext&&(n=this.fragmentContext));var r=this.treeAdapter.getTagName(n),i=ve[r];if(i){this.insertionMode=i;break}if(!(t||r!==Y.TD&&r!==Y.TH)){this.insertionMode=ce;break}if(!t&&r===Y.HEAD){this.insertionMode=J;break}if(r===Y.SELECT){this._resetInsertionModeForSelect(e);break}if(r===Y.TEMPLATE){this.insertionMode=this.currentTmplInsertionMode;break}if(r===Y.HTML){this.insertionMode=this.headElement?te:Z;break}if(t){this.insertionMode=ne;break}}}},{key:"_resetInsertionModeForSelect",value:function(e){if(e>0)for(var t=e-1;t>0;t--){var n=this.openElements.items[t],r=this.treeAdapter.getTagName(n);if(r===Y.TEMPLATE)break;if(r===Y.TABLE)return void(this.insertionMode=pe)}this.insertionMode=fe}},{key:"_pushTmplInsertionMode",value:function(e){this.tmplInsertionModeStack.push(e),this.tmplInsertionModeStackTop++,this.currentTmplInsertionMode=e}},{key:"_popTmplInsertionMode",value:function(){this.tmplInsertionModeStack.pop(),this.tmplInsertionModeStackTop--,this.currentTmplInsertionMode=this.tmplInsertionModeStack[this.tmplInsertionModeStackTop]}},{key:"_isElementCausesFosterParenting",value:function(e){var t=this.treeAdapter.getTagName(e);return t===Y.TABLE||t===Y.TBODY||t===Y.TFOOT||t===Y.THEAD||t===Y.TR}},{key:"_shouldFosterParentOnInsertion",value:function(){return this.fosterParentingEnabled&&this._isElementCausesFosterParenting(this.openElements.current)}},{key:"_findFosterParentingLocation",value:function(){for(var e={parent:null,beforeElement:null},t=this.openElements.stackTop;t>=0;t--){var n=this.openElements.items[t],r=this.treeAdapter.getTagName(n),i=this.treeAdapter.getNamespaceURI(n);if(r===Y.TEMPLATE&&i===W.HTML){e.parent=this.treeAdapter.getTemplateContent(n);break}if(r===Y.TABLE){e.parent=this.treeAdapter.getParentNode(n),e.parent?e.beforeElement=n:e.parent=this.openElements.items[t-1];break}}return e.parent||(e.parent=this.openElements.items[0]),e}},{key:"_fosterParentElement",value:function(e){var t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertBefore(t.parent,e,t.beforeElement):this.treeAdapter.appendChild(t.parent,e)}},{key:"_fosterParentText",value:function(e){var t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertTextBefore(t.parent,e,t.beforeElement):this.treeAdapter.insertText(t.parent,e)}},{key:"_isSpecialElement",value:function(e){var t=this.treeAdapter.getTagName(e),n=this.treeAdapter.getNamespaceURI(e);return z.SPECIAL_ELEMENTS[n][t]}}]),e}();function _e(e,t){var n=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);return n?e.openElements.contains(n.element)?e.openElements.hasInScope(t.tagName)||(n=null):(e.activeFormattingElements.removeEntry(n),n=null):ot(e,t),n}function ke(e,t){for(var n=null,r=e.openElements.stackTop;r>=0;r--){var i=e.openElements.items[r];if(i===t.element)break;e._isSpecialElement(i)&&(n=i)}return n||(e.openElements.popUntilElementPopped(t.element),e.activeFormattingElements.removeEntry(t)),n}function De(e,t,n){for(var r=t,i=e.openElements.getCommonAncestor(t),o=0,a=i;a!==n;o++,a=i){i=e.openElements.getCommonAncestor(a);var u=e.activeFormattingElements.getElementEntry(a),s=u&&o>=3;!u||s?(s&&e.activeFormattingElements.removeEntry(u),e.openElements.remove(a)):(a=Ne(e,u),r===t&&(e.activeFormattingElements.bookmark=u),e.treeAdapter.detachNode(r),e.treeAdapter.appendChild(a,r),r=a)}return r}function Ne(e,t){var n=e.treeAdapter.getNamespaceURI(t.element),r=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,r),t.element=r,r}function Oe(e,t,n){if(e._isElementCausesFosterParenting(t))e._fosterParentElement(n);else{var r=e.treeAdapter.getTagName(t),i=e.treeAdapter.getNamespaceURI(t);r===Y.TEMPLATE&&i===W.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function Se(e,t,n){var r=e.treeAdapter.getNamespaceURI(n.element),i=n.token,o=e.treeAdapter.createElement(i.tagName,r,i.attrs);e._adoptNodes(t,o),e.treeAdapter.appendChild(t,o),e.activeFormattingElements.insertElementAfterBookmark(o,n.token),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,o)}function be(e,t){for(var n,r=0;r<8&&(n=_e(e,t));r++){var i=ke(e,n);if(!i)break;e.activeFormattingElements.bookmark=n;var o=De(e,i,n.element),a=e.openElements.getCommonAncestor(n.element);e.treeAdapter.detachNode(o),Oe(e,a,o),Se(e,i,n)}}function Fe(){}function xe(e){e._err(K.misplacedDoctype)}function Ie(e,t){e._appendCommentNode(t,e.openElements.currentTmplContent||e.openElements.current)}function Re(e,t){e._appendCommentNode(t,e.document)}function Le(e,t){e._insertCharacters(t)}function Me(e){e.stopped=!0}function Pe(e,t){e._err(K.missingDoctype,{beforeToken:!0}),e.treeAdapter.setDocumentMode(e.document,z.DOCUMENT_MODE.QUIRKS),e.insertionMode=$,e._processToken(t)}function we(e,t){e._insertFakeRootElement(),e.insertionMode=Z,e._processToken(t)}function Be(e,t){e._insertFakeElement(Y.HEAD),e.headElement=e.openElements.current,e.insertionMode=J,e._processToken(t)}function He(e,t){var n=t.tagName;n===Y.HTML?nt(e,t):n===Y.BASE||n===Y.BASEFONT||n===Y.BGSOUND||n===Y.LINK||n===Y.META?(e._appendElement(t,W.HTML),t.ackSelfClosing=!0):n===Y.TITLE?e._switchToTextParsing(t,I.MODE.RCDATA):n===Y.NOSCRIPT?e.options.scriptingEnabled?e._switchToTextParsing(t,I.MODE.RAWTEXT):(e._insertElement(t,W.HTML),e.insertionMode=ee):n===Y.NOFRAMES||n===Y.STYLE?e._switchToTextParsing(t,I.MODE.RAWTEXT):n===Y.SCRIPT?e._switchToTextParsing(t,I.MODE.SCRIPT_DATA):n===Y.TEMPLATE?(e._insertTemplate(t,W.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=he,e._pushTmplInsertionMode(he)):n===Y.HEAD?e._err(K.misplacedStartTagForHeadElement):Ge(e,t)}function Ue(e,t){var n=t.tagName;n===Y.HEAD?(e.openElements.pop(),e.insertionMode=te):n===Y.BODY||n===Y.BR||n===Y.HTML?Ge(e,t):n===Y.TEMPLATE&&e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagName!==Y.TEMPLATE&&e._err(K.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(Y.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode()):e._err(K.endTagWithoutMatchingOpenElement)}function Ge(e,t){e.openElements.pop(),e.insertionMode=te,e._processToken(t)}function Ke(e,t){var n=t.type===I.EOF_TOKEN?K.openElementsLeftAfterEof:K.disallowedContentInNoscriptInHead;e._err(n),e.openElements.pop(),e.insertionMode=J,e._processToken(t)}function je(e,t){e._insertFakeElement(Y.BODY),e.insertionMode=ne,e._processToken(t)}function ze(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function Ye(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function We(e,t){e.openElements.hasInButtonScope(Y.P)&&e._closePElement(),e._insertElement(t,W.HTML)}function Qe(e,t){e.openElements.hasInButtonScope(Y.P)&&e._closePElement(),e._insertElement(t,W.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function qe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function Ve(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function Xe(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,W.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function $e(e,t){e._appendElement(t,W.HTML),t.ackSelfClosing=!0}function Ze(e,t){e._switchToTextParsing(t,I.MODE.RAWTEXT)}function Je(e,t){e.openElements.currentTagName===Y.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML)}function et(e,t){e.openElements.hasInScope(Y.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,W.HTML)}function tt(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML)}function nt(e,t){var n=t.tagName;switch(n.length){case 1:n===Y.I||n===Y.S||n===Y.B||n===Y.U?qe(e,t):n===Y.P?We(e,t):n===Y.A?function(e,t){var n=e.activeFormattingElements.getElementEntryInScopeWithTagName(Y.A);n&&(be(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):tt(e,t);break;case 2:n===Y.DL||n===Y.OL||n===Y.UL?We(e,t):n===Y.H1||n===Y.H2||n===Y.H3||n===Y.H4||n===Y.H5||n===Y.H6?function(e,t){e.openElements.hasInButtonScope(Y.P)&&e._closePElement();var n=e.openElements.currentTagName;n!==Y.H1&&n!==Y.H2&&n!==Y.H3&&n!==Y.H4&&n!==Y.H5&&n!==Y.H6||e.openElements.pop(),e._insertElement(t,W.HTML)}(e,t):n===Y.LI||n===Y.DD||n===Y.DT?function(e,t){e.framesetOk=!1;for(var n=t.tagName,r=e.openElements.stackTop;r>=0;r--){var i=e.openElements.items[r],o=e.treeAdapter.getTagName(i),a=null;if(n===Y.LI&&o===Y.LI?a=Y.LI:n!==Y.DD&&n!==Y.DT||o!==Y.DD&&o!==Y.DT||(a=o),a){e.openElements.generateImpliedEndTagsWithExclusion(a),e.openElements.popUntilTagNamePopped(a);break}if(o!==Y.ADDRESS&&o!==Y.DIV&&o!==Y.P&&e._isSpecialElement(i))break}e.openElements.hasInButtonScope(Y.P)&&e._closePElement(),e._insertElement(t,W.HTML)}(e,t):n===Y.EM||n===Y.TT?qe(e,t):n===Y.BR?Xe(e,t):n===Y.HR?function(e,t){e.openElements.hasInButtonScope(Y.P)&&e._closePElement(),e._appendElement(t,W.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}(e,t):n===Y.RB?et(e,t):n===Y.RT||n===Y.RP?function(e,t){e.openElements.hasInScope(Y.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(Y.RTC),e._insertElement(t,W.HTML)}(e,t):n!==Y.TH&&n!==Y.TD&&n!==Y.TR&&tt(e,t);break;case 3:n===Y.DIV||n===Y.DIR||n===Y.NAV?We(e,t):n===Y.PRE?Qe(e,t):n===Y.BIG?qe(e,t):n===Y.IMG||n===Y.WBR?Xe(e,t):n===Y.XMP?function(e,t){e.openElements.hasInButtonScope(Y.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,I.MODE.RAWTEXT)}(e,t):n===Y.SVG?function(e,t){e._reconstructActiveFormattingElements(),G.adjustTokenSVGAttrs(t),G.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,W.SVG):e._insertElement(t,W.SVG),t.ackSelfClosing=!0}(e,t):n===Y.RTC?et(e,t):n!==Y.COL&&tt(e,t);break;case 4:n===Y.HTML?function(e,t){0===e.openElements.tmplCount&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}(e,t):n===Y.BASE||n===Y.LINK||n===Y.META?He(e,t):n===Y.BODY?function(e,t){var n=e.openElements.tryPeekProperlyNestedBodyElement();n&&0===e.openElements.tmplCount&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}(e,t):n===Y.MAIN||n===Y.MENU?We(e,t):n===Y.FORM?function(e,t){var n=e.openElements.tmplCount>0;e.formElement&&!n||(e.openElements.hasInButtonScope(Y.P)&&e._closePElement(),e._insertElement(t,W.HTML),n||(e.formElement=e.openElements.current))}(e,t):n===Y.CODE||n===Y.FONT?qe(e,t):n===Y.NOBR?function(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(Y.NOBR)&&(be(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,W.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):n===Y.AREA?Xe(e,t):n===Y.MATH?function(e,t){e._reconstructActiveFormattingElements(),G.adjustTokenMathMLAttrs(t),G.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,W.MATHML):e._insertElement(t,W.MATHML),t.ackSelfClosing=!0}(e,t):n===Y.MENU?function(e,t){e.openElements.hasInButtonScope(Y.P)&&e._closePElement(),e._insertElement(t,W.HTML)}(e,t):n!==Y.HEAD&&tt(e,t);break;case 5:n===Y.STYLE||n===Y.TITLE?He(e,t):n===Y.ASIDE?We(e,t):n===Y.SMALL?qe(e,t):n===Y.TABLE?function(e,t){e.treeAdapter.getDocumentMode(e.document)!==z.DOCUMENT_MODE.QUIRKS&&e.openElements.hasInButtonScope(Y.P)&&e._closePElement(),e._insertElement(t,W.HTML),e.framesetOk=!1,e.insertionMode=ie}(e,t):n===Y.EMBED?Xe(e,t):n===Y.INPUT?function(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,W.HTML);var n=I.getTokenAttr(t,Q.TYPE);n&&n.toLowerCase()===V||(e.framesetOk=!1),t.ackSelfClosing=!0}(e,t):n===Y.PARAM||n===Y.TRACK?$e(e,t):n===Y.IMAGE?function(e,t){t.tagName=Y.IMG,Xe(e,t)}(e,t):n!==Y.FRAME&&n!==Y.TBODY&&n!==Y.TFOOT&&n!==Y.THEAD&&tt(e,t);break;case 6:n===Y.SCRIPT?He(e,t):n===Y.CENTER||n===Y.FIGURE||n===Y.FOOTER||n===Y.HEADER||n===Y.HGROUP||n===Y.DIALOG?We(e,t):n===Y.BUTTON?function(e,t){e.openElements.hasInScope(Y.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(Y.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML),e.framesetOk=!1}(e,t):n===Y.STRIKE||n===Y.STRONG?qe(e,t):n===Y.APPLET||n===Y.OBJECT?Ve(e,t):n===Y.KEYGEN?Xe(e,t):n===Y.SOURCE?$e(e,t):n===Y.IFRAME?function(e,t){e.framesetOk=!1,e._switchToTextParsing(t,I.MODE.RAWTEXT)}(e,t):n===Y.SELECT?function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML),e.framesetOk=!1,e.insertionMode===ie||e.insertionMode===ae||e.insertionMode===se||e.insertionMode===le||e.insertionMode===ce?e.insertionMode=pe:e.insertionMode=fe}(e,t):n===Y.OPTION?Je(e,t):tt(e,t);break;case 7:n===Y.BGSOUND?He(e,t):n===Y.DETAILS||n===Y.ADDRESS||n===Y.ARTICLE||n===Y.SECTION||n===Y.SUMMARY?We(e,t):n===Y.LISTING?Qe(e,t):n===Y.MARQUEE?Ve(e,t):n===Y.NOEMBED?Ze(e,t):n!==Y.CAPTION&&tt(e,t);break;case 8:n===Y.BASEFONT?He(e,t):n===Y.FRAMESET?function(e,t){var n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,W.HTML),e.insertionMode=me)}(e,t):n===Y.FIELDSET?We(e,t):n===Y.TEXTAREA?function(e,t){e._insertElement(t,W.HTML),e.skipNextNewLine=!0,e.tokenizer.state=I.MODE.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=re}(e,t):n===Y.TEMPLATE?He(e,t):n===Y.NOSCRIPT?e.options.scriptingEnabled?Ze(e,t):tt(e,t):n===Y.OPTGROUP?Je(e,t):n!==Y.COLGROUP&&tt(e,t);break;case 9:n===Y.PLAINTEXT?function(e,t){e.openElements.hasInButtonScope(Y.P)&&e._closePElement(),e._insertElement(t,W.HTML),e.tokenizer.state=I.MODE.PLAINTEXT}(e,t):tt(e,t);break;case 10:n===Y.BLOCKQUOTE||n===Y.FIGCAPTION?We(e,t):tt(e,t);break;default:tt(e,t)}}function rt(e,t){var n=t.tagName;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}function it(e,t){var n=t.tagName;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}function ot(e,t){for(var n=t.tagName,r=e.openElements.stackTop;r>0;r--){var i=e.openElements.items[r];if(e.treeAdapter.getTagName(i)===n){e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilElementPopped(i);break}if(e._isSpecialElement(i))break}}function at(e,t){var n=t.tagName;switch(n.length){case 1:n===Y.A||n===Y.B||n===Y.I||n===Y.S||n===Y.U?be(e,t):n===Y.P?function(e){e.openElements.hasInButtonScope(Y.P)||e._insertFakeElement(Y.P),e._closePElement()}(e):ot(e,t);break;case 2:n===Y.DL||n===Y.UL||n===Y.OL?rt(e,t):n===Y.LI?function(e){e.openElements.hasInListItemScope(Y.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(Y.LI),e.openElements.popUntilTagNamePopped(Y.LI))}(e):n===Y.DD||n===Y.DT?function(e,t){var n=t.tagName;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}(e,t):n===Y.H1||n===Y.H2||n===Y.H3||n===Y.H4||n===Y.H5||n===Y.H6?function(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}(e):n===Y.BR?function(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(Y.BR),e.openElements.pop(),e.framesetOk=!1}(e):n===Y.EM||n===Y.TT?be(e,t):ot(e,t);break;case 3:n===Y.BIG?be(e,t):n===Y.DIR||n===Y.DIV||n===Y.NAV||n===Y.PRE?rt(e,t):ot(e,t);break;case 4:n===Y.BODY?function(e){e.openElements.hasInScope(Y.BODY)&&(e.insertionMode=de)}(e):n===Y.HTML?function(e,t){e.openElements.hasInScope(Y.BODY)&&(e.insertionMode=de,e._processToken(t))}(e,t):n===Y.FORM?function(e){var t=e.openElements.tmplCount>0,n=e.formElement;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(Y.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(Y.FORM):e.openElements.remove(n))}(e):n===Y.CODE||n===Y.FONT||n===Y.NOBR?be(e,t):n===Y.MAIN||n===Y.MENU?rt(e,t):ot(e,t);break;case 5:n===Y.ASIDE?rt(e,t):n===Y.SMALL?be(e,t):ot(e,t);break;case 6:n===Y.CENTER||n===Y.FIGURE||n===Y.FOOTER||n===Y.HEADER||n===Y.HGROUP||n===Y.DIALOG?rt(e,t):n===Y.APPLET||n===Y.OBJECT?it(e,t):n===Y.STRIKE||n===Y.STRONG?be(e,t):ot(e,t);break;case 7:n===Y.ADDRESS||n===Y.ARTICLE||n===Y.DETAILS||n===Y.SECTION||n===Y.SUMMARY||n===Y.LISTING?rt(e,t):n===Y.MARQUEE?it(e,t):ot(e,t);break;case 8:n===Y.FIELDSET?rt(e,t):n===Y.TEMPLATE?Ue(e,t):ot(e,t);break;case 10:n===Y.BLOCKQUOTE||n===Y.FIGCAPTION?rt(e,t):ot(e,t);break;default:ot(e,t)}}function ut(e,t){e.tmplInsertionModeStackTop>-1?Et(e,t):e.stopped=!0}function st(e,t){var n=e.openElements.currentTagName;n===Y.TABLE||n===Y.TBODY||n===Y.TFOOT||n===Y.THEAD||n===Y.TR?(e.pendingCharacterTokens=[],e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=oe,e._processToken(t)):ft(e,t)}function lt(e,t){var n=t.tagName;switch(n.length){case 2:n===Y.TD||n===Y.TH||n===Y.TR?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(Y.TBODY),e.insertionMode=se,e._processToken(t)}(e,t):ft(e,t);break;case 3:n===Y.COL?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(Y.COLGROUP),e.insertionMode=ue,e._processToken(t)}(e,t):ft(e,t);break;case 4:n===Y.FORM?function(e,t){e.formElement||0!==e.openElements.tmplCount||(e._insertElement(t,W.HTML),e.formElement=e.openElements.current,e.openElements.pop())}(e,t):ft(e,t);break;case 5:n===Y.TABLE?function(e,t){e.openElements.hasInTableScope(Y.TABLE)&&(e.openElements.popUntilTagNamePopped(Y.TABLE),e._resetInsertionMode(),e._processToken(t))}(e,t):n===Y.STYLE?He(e,t):n===Y.TBODY||n===Y.TFOOT||n===Y.THEAD?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,W.HTML),e.insertionMode=se}(e,t):n===Y.INPUT?function(e,t){var n=I.getTokenAttr(t,Q.TYPE);n&&n.toLowerCase()===V?e._appendElement(t,W.HTML):ft(e,t),t.ackSelfClosing=!0}(e,t):ft(e,t);break;case 6:n===Y.SCRIPT?He(e,t):ft(e,t);break;case 7:n===Y.CAPTION?function(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,W.HTML),e.insertionMode=ae}(e,t):ft(e,t);break;case 8:n===Y.COLGROUP?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,W.HTML),e.insertionMode=ue}(e,t):n===Y.TEMPLATE?He(e,t):ft(e,t);break;default:ft(e,t)}}function ct(e,t){var n=t.tagName;n===Y.TABLE?e.openElements.hasInTableScope(Y.TABLE)&&(e.openElements.popUntilTagNamePopped(Y.TABLE),e._resetInsertionMode()):n===Y.TEMPLATE?Ue(e,t):n!==Y.BODY&&n!==Y.CAPTION&&n!==Y.COL&&n!==Y.COLGROUP&&n!==Y.HTML&&n!==Y.TBODY&&n!==Y.TD&&n!==Y.TFOOT&&n!==Y.TH&&n!==Y.THEAD&&n!==Y.TR&&ft(e,t)}function ft(e,t){var n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,e._processTokenInBodyMode(t),e.fosterParentingEnabled=n}function pt(e,t){var n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n0?(e.openElements.popUntilTagNamePopped(Y.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode(),e._processToken(t)):e.stopped=!0}function Tt(e,t){e.insertionMode=ne,e._processToken(t)}function gt(e,t){e.insertionMode=ne,e._processToken(t)}e.exports=Ce},5557:function(e,t,n){"use strict";var r=n(9372).default,i=n(5816).default,o=n(7246),a=o.TAG_NAMES,u=o.NAMESPACES;function s(e){switch(e.length){case 1:return e===a.P;case 2:return e===a.RB||e===a.RP||e===a.RT||e===a.DD||e===a.DT||e===a.LI;case 3:return e===a.RTC;case 6:return e===a.OPTION;case 8:return e===a.OPTGROUP}return!1}function l(e){switch(e.length){case 1:return e===a.P;case 2:return e===a.RB||e===a.RP||e===a.RT||e===a.DD||e===a.DT||e===a.LI||e===a.TD||e===a.TH||e===a.TR;case 3:return e===a.RTC;case 5:return e===a.TBODY||e===a.TFOOT||e===a.THEAD;case 6:return e===a.OPTION;case 7:return e===a.CAPTION;case 8:return e===a.OPTGROUP||e===a.COLGROUP}return!1}function c(e,t){switch(e.length){case 2:if(e===a.TD||e===a.TH)return t===u.HTML;if(e===a.MI||e===a.MO||e===a.MN||e===a.MS)return t===u.MATHML;break;case 4:if(e===a.HTML)return t===u.HTML;if(e===a.DESC)return t===u.SVG;break;case 5:if(e===a.TABLE)return t===u.HTML;if(e===a.MTEXT)return t===u.MATHML;if(e===a.TITLE)return t===u.SVG;break;case 6:return(e===a.APPLET||e===a.OBJECT)&&t===u.HTML;case 7:return(e===a.CAPTION||e===a.MARQUEE)&&t===u.HTML;case 8:return e===a.TEMPLATE&&t===u.HTML;case 13:return e===a.FOREIGN_OBJECT&&t===u.SVG;case 14:return e===a.ANNOTATION_XML&&t===u.MATHML}return!1}var f=function(){function e(t,n){r(this,e),this.stackTop=-1,this.items=[],this.current=t,this.currentTagName=null,this.currentTmplContent=null,this.tmplCount=0,this.treeAdapter=n}return i(e,[{key:"_indexOf",value:function(e){for(var t=-1,n=this.stackTop;n>=0;n--)if(this.items[n]===e){t=n;break}return t}},{key:"_isInTemplate",value:function(){return this.currentTagName===a.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===u.HTML}},{key:"_updateCurrentElement",value:function(){this.current=this.items[this.stackTop],this.currentTagName=this.current&&this.treeAdapter.getTagName(this.current),this.currentTmplContent=this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):null}},{key:"push",value:function(e){this.items[++this.stackTop]=e,this._updateCurrentElement(),this._isInTemplate()&&this.tmplCount++}},{key:"pop",value:function(){this.stackTop--,this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this._updateCurrentElement()}},{key:"replace",value:function(e,t){var n=this._indexOf(e);this.items[n]=t,n===this.stackTop&&this._updateCurrentElement()}},{key:"insertAfter",value:function(e,t){var n=this._indexOf(e)+1;this.items.splice(n,0,t),n===++this.stackTop&&this._updateCurrentElement()}},{key:"popUntilTagNamePopped",value:function(e){for(;this.stackTop>-1;){var t=this.currentTagName,n=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),t===e&&n===u.HTML)break}}},{key:"popUntilElementPopped",value:function(e){for(;this.stackTop>-1;){var t=this.current;if(this.pop(),t===e)break}}},{key:"popUntilNumberedHeaderPopped",value:function(){for(;this.stackTop>-1;){var e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===a.H1||e===a.H2||e===a.H3||e===a.H4||e===a.H5||e===a.H6&&t===u.HTML)break}}},{key:"popUntilTableCellPopped",value:function(){for(;this.stackTop>-1;){var e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===a.TD||e===a.TH&&t===u.HTML)break}}},{key:"popAllUpToHtmlElement",value:function(){this.stackTop=0,this._updateCurrentElement()}},{key:"clearBackToTableContext",value:function(){for(;this.currentTagName!==a.TABLE&&this.currentTagName!==a.TEMPLATE&&this.currentTagName!==a.HTML||this.treeAdapter.getNamespaceURI(this.current)!==u.HTML;)this.pop()}},{key:"clearBackToTableBodyContext",value:function(){for(;this.currentTagName!==a.TBODY&&this.currentTagName!==a.TFOOT&&this.currentTagName!==a.THEAD&&this.currentTagName!==a.TEMPLATE&&this.currentTagName!==a.HTML||this.treeAdapter.getNamespaceURI(this.current)!==u.HTML;)this.pop()}},{key:"clearBackToTableRowContext",value:function(){for(;this.currentTagName!==a.TR&&this.currentTagName!==a.TEMPLATE&&this.currentTagName!==a.HTML||this.treeAdapter.getNamespaceURI(this.current)!==u.HTML;)this.pop()}},{key:"remove",value:function(e){for(var t=this.stackTop;t>=0;t--)if(this.items[t]===e){this.items.splice(t,1),this.stackTop--,this._updateCurrentElement();break}}},{key:"tryPeekProperlyNestedBodyElement",value:function(){var e=this.items[1];return e&&this.treeAdapter.getTagName(e)===a.BODY?e:null}},{key:"contains",value:function(e){return this._indexOf(e)>-1}},{key:"getCommonAncestor",value:function(e){var t=this._indexOf(e);return--t>=0?this.items[t]:null}},{key:"isRootHtmlElementCurrent",value:function(){return 0===this.stackTop&&this.currentTagName===a.HTML}},{key:"hasInScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]),r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===u.HTML)return!0;if(c(n,r))return!1}return!0}},{key:"hasNumberedHeaderInScope",value:function(){for(var e=this.stackTop;e>=0;e--){var t=this.treeAdapter.getTagName(this.items[e]),n=this.treeAdapter.getNamespaceURI(this.items[e]);if((t===a.H1||t===a.H2||t===a.H3||t===a.H4||t===a.H5||t===a.H6)&&n===u.HTML)return!0;if(c(t,n))return!1}return!0}},{key:"hasInListItemScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]),r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===u.HTML)return!0;if((n===a.UL||n===a.OL)&&r===u.HTML||c(n,r))return!1}return!0}},{key:"hasInButtonScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]),r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===u.HTML)return!0;if(n===a.BUTTON&&r===u.HTML||c(n,r))return!1}return!0}},{key:"hasInTableScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===u.HTML){if(n===e)return!0;if(n===a.TABLE||n===a.TEMPLATE||n===a.HTML)return!1}}return!0}},{key:"hasTableBodyContextInTableScope",value:function(){for(var e=this.stackTop;e>=0;e--){var t=this.treeAdapter.getTagName(this.items[e]);if(this.treeAdapter.getNamespaceURI(this.items[e])===u.HTML){if(t===a.TBODY||t===a.THEAD||t===a.TFOOT)return!0;if(t===a.TABLE||t===a.HTML)return!1}}return!0}},{key:"hasInSelectScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===u.HTML){if(n===e)return!0;if(n!==a.OPTION&&n!==a.OPTGROUP)return!1}}return!0}},{key:"generateImpliedEndTags",value:function(){for(;s(this.currentTagName);)this.pop()}},{key:"generateImpliedEndTagsThoroughly",value:function(){for(;l(this.currentTagName);)this.pop()}},{key:"generateImpliedEndTagsWithExclusion",value:function(e){for(;s(this.currentTagName)&&this.currentTagName!==e;)this.pop()}}]),e}();e.exports=f},1310:function(e,t,n){"use strict";var r=n(9372).default,i=n(5816).default,o=n(6994),a=n(2525),u=n(5926),s=n(8240),l=a.CODE_POINTS,c=a.CODE_POINT_SEQUENCES,f={128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376},p="DATA_STATE",h="RCDATA_STATE",d="RAWTEXT_STATE",m="SCRIPT_DATA_STATE",E="PLAINTEXT_STATE",T="TAG_OPEN_STATE",g="END_TAG_OPEN_STATE",v="TAG_NAME_STATE",A="RCDATA_LESS_THAN_SIGN_STATE",y="RCDATA_END_TAG_OPEN_STATE",C="RCDATA_END_TAG_NAME_STATE",_="RAWTEXT_LESS_THAN_SIGN_STATE",k="RAWTEXT_END_TAG_OPEN_STATE",D="RAWTEXT_END_TAG_NAME_STATE",N="SCRIPT_DATA_LESS_THAN_SIGN_STATE",O="SCRIPT_DATA_END_TAG_OPEN_STATE",S="SCRIPT_DATA_END_TAG_NAME_STATE",b="SCRIPT_DATA_ESCAPE_START_STATE",F="SCRIPT_DATA_ESCAPE_START_DASH_STATE",x="SCRIPT_DATA_ESCAPED_STATE",I="SCRIPT_DATA_ESCAPED_DASH_STATE",R="SCRIPT_DATA_ESCAPED_DASH_DASH_STATE",L="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE",M="SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE",P="SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE",w="SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE",B="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",H="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE",U="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE",G="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE",K="SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE",j="BEFORE_ATTRIBUTE_NAME_STATE",z="ATTRIBUTE_NAME_STATE",Y="AFTER_ATTRIBUTE_NAME_STATE",W="BEFORE_ATTRIBUTE_VALUE_STATE",Q="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE",q="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE",V="ATTRIBUTE_VALUE_UNQUOTED_STATE",X="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE",$="SELF_CLOSING_START_TAG_STATE",Z="BOGUS_COMMENT_STATE",J="MARKUP_DECLARATION_OPEN_STATE",ee="COMMENT_START_STATE",te="COMMENT_START_DASH_STATE",ne="COMMENT_STATE",re="COMMENT_LESS_THAN_SIGN_STATE",ie="COMMENT_LESS_THAN_SIGN_BANG_STATE",oe="COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE",ae="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE",ue="COMMENT_END_DASH_STATE",se="COMMENT_END_STATE",le="COMMENT_END_BANG_STATE",ce="DOCTYPE_STATE",fe="BEFORE_DOCTYPE_NAME_STATE",pe="DOCTYPE_NAME_STATE",he="AFTER_DOCTYPE_NAME_STATE",de="AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE",me="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE",Ee="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE",Te="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE",ge="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE",ve="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE",Ae="AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE",ye="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE",Ce="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE",_e="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE",ke="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE",De="BOGUS_DOCTYPE_STATE",Ne="CDATA_SECTION_STATE",Oe="CDATA_SECTION_BRACKET_STATE",Se="CDATA_SECTION_END_STATE",be="CHARACTER_REFERENCE_STATE",Fe="NAMED_CHARACTER_REFERENCE_STATE",xe="AMBIGUOS_AMPERSAND_STATE",Ie="NUMERIC_CHARACTER_REFERENCE_STATE",Re="HEXADEMICAL_CHARACTER_REFERENCE_START_STATE",Le="DECIMAL_CHARACTER_REFERENCE_START_STATE",Me="HEXADEMICAL_CHARACTER_REFERENCE_STATE",Pe="DECIMAL_CHARACTER_REFERENCE_STATE",we="NUMERIC_CHARACTER_REFERENCE_END_STATE";function Be(e){return e===l.SPACE||e===l.LINE_FEED||e===l.TABULATION||e===l.FORM_FEED}function He(e){return e>=l.DIGIT_0&&e<=l.DIGIT_9}function Ue(e){return e>=l.LATIN_CAPITAL_A&&e<=l.LATIN_CAPITAL_Z}function Ge(e){return e>=l.LATIN_SMALL_A&&e<=l.LATIN_SMALL_Z}function Ke(e){return Ge(e)||Ue(e)}function je(e){return Ke(e)||He(e)}function ze(e){return e>=l.LATIN_CAPITAL_A&&e<=l.LATIN_CAPITAL_F}function Ye(e){return e>=l.LATIN_SMALL_A&&e<=l.LATIN_SMALL_F}function We(e){return e+32}function Qe(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(e>>>10&1023|55296)+String.fromCharCode(56320|1023&e))}function qe(e){return String.fromCharCode(We(e))}function Ve(e,t){for(var n=u[++e],r=++e,i=r+n-1;r<=i;){var o=r+i>>>1,a=u[o];if(at))return u[o+n];i=o-1}}return-1}var Xe=function(){function e(){r(this,e),this.preprocessor=new o,this.tokenQueue=[],this.allowCDATA=!1,this.state=p,this.returnState="",this.charRefCode=-1,this.tempBuff=[],this.lastStartTagName="",this.consumedAfterSnapshot=-1,this.active=!1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr=null}return i(e,[{key:"_err",value:function(){}},{key:"_errOnNextCodePoint",value:function(e){this._consume(),this._err(e),this._unconsume()}},{key:"getNextToken",value:function(){for(;!this.tokenQueue.length&&this.active;){this.consumedAfterSnapshot=0;var e=this._consume();this._ensureHibernation()||this[this.state](e)}return this.tokenQueue.shift()}},{key:"write",value:function(e,t){this.active=!0,this.preprocessor.write(e,t)}},{key:"insertHtmlAtCurrentPos",value:function(e){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e)}},{key:"_ensureHibernation",value:function(){if(this.preprocessor.endOfChunkHit){for(;this.consumedAfterSnapshot>0;this.consumedAfterSnapshot--)this.preprocessor.retreat();return this.active=!1,this.tokenQueue.push({type:e.HIBERNATION_TOKEN}),!0}return!1}},{key:"_consume",value:function(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}},{key:"_unconsume",value:function(){this.consumedAfterSnapshot--,this.preprocessor.retreat()}},{key:"_reconsumeInState",value:function(e){this.state=e,this._unconsume()}},{key:"_consumeSequenceIfMatch",value:function(e,t,n){for(var r=0,i=!0,o=e.length,a=0,u=t,s=void 0;a0&&(u=this._consume(),r++),u===l.EOF){i=!1;break}if(u!==(s=e[a])&&(n||u!==We(s))){i=!1;break}}if(!i)for(;r--;)this._unconsume();return i}},{key:"_isTempBufferEqualToScriptString",value:function(){if(this.tempBuff.length!==c.SCRIPT_STRING.length)return!1;for(var e=0;e0&&this._err(s.endTagWithAttributes),t.selfClosing&&this._err(s.endTagWithTrailingSolidus)),this.tokenQueue.push(t)}},{key:"_emitCurrentCharacterToken",value:function(){this.currentCharacterToken&&(this.tokenQueue.push(this.currentCharacterToken),this.currentCharacterToken=null)}},{key:"_emitEOFToken",value:function(){this._createEOFToken(),this._emitCurrentToken()}},{key:"_appendCharToCurrentCharacterToken",value:function(e,t){this.currentCharacterToken&&this.currentCharacterToken.type!==e&&this._emitCurrentCharacterToken(),this.currentCharacterToken?this.currentCharacterToken.chars+=t:this._createCharacterToken(e,t)}},{key:"_emitCodePoint",value:function(t){var n=e.CHARACTER_TOKEN;Be(t)?n=e.WHITESPACE_CHARACTER_TOKEN:t===l.NULL&&(n=e.NULL_CHARACTER_TOKEN),this._appendCharToCurrentCharacterToken(n,Qe(t))}},{key:"_emitSeveralCodePoints",value:function(e){for(var t=0;t-1;){var i=u[r],o=i<7;o&&1&i&&(t=2&i?[u[++r],u[++r]]:[u[++r]],n=0);var a=this._consume();if(this.tempBuff.push(a),n++,a===l.EOF)break;r=o?4&i?Ve(r,a):-1:a===i?++r:-1}for(;n--;)this.tempBuff.pop(),this._unconsume();return t}},{key:"_isCharacterReferenceInAttribute",value:function(){return this.returnState===Q||this.returnState===q||this.returnState===V}},{key:"_isCharacterReferenceAttributeQuirk",value:function(e){if(!e&&this._isCharacterReferenceInAttribute()){var t=this._consume();return this._unconsume(),t===l.EQUALS_SIGN||je(t)}return!1}},{key:"_flushCodePointsConsumedAsCharacterReference",value:function(){if(this._isCharacterReferenceInAttribute())for(var e=0;e")):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.state=x,this._emitChars(a.REPLACEMENT_CHARACTER)):e===l.EOF?(this._err(s.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=x,this._emitCodePoint(e))}},{key:L,value:function(e){e===l.SOLIDUS?(this.tempBuff=[],this.state=M):Ke(e)?(this.tempBuff=[],this._emitChars("<"),this._reconsumeInState(w)):(this._emitChars("<"),this._reconsumeInState(x))}},{key:M,value:function(e){Ke(e)?(this._createEndTagToken(),this._reconsumeInState(P)):(this._emitChars("")):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.state=B,this._emitChars(a.REPLACEMENT_CHARACTER)):e===l.EOF?(this._err(s.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=B,this._emitCodePoint(e))}},{key:G,value:function(e){e===l.SOLIDUS?(this.tempBuff=[],this.state=K,this._emitChars("/")):this._reconsumeInState(B)}},{key:K,value:function(e){Be(e)||e===l.SOLIDUS||e===l.GREATER_THAN_SIGN?(this.state=this._isTempBufferEqualToScriptString()?x:B,this._emitCodePoint(e)):Ue(e)?(this.tempBuff.push(We(e)),this._emitCodePoint(e)):Ge(e)?(this.tempBuff.push(e),this._emitCodePoint(e)):this._reconsumeInState(B)}},{key:j,value:function(e){Be(e)||(e===l.SOLIDUS||e===l.GREATER_THAN_SIGN||e===l.EOF?this._reconsumeInState(Y):e===l.EQUALS_SIGN?(this._err(s.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=z):(this._createAttr(""),this._reconsumeInState(z)))}},{key:z,value:function(e){Be(e)||e===l.SOLIDUS||e===l.GREATER_THAN_SIGN||e===l.EOF?(this._leaveAttrName(Y),this._unconsume()):e===l.EQUALS_SIGN?this._leaveAttrName(W):Ue(e)?this.currentAttr.name+=qe(e):e===l.QUOTATION_MARK||e===l.APOSTROPHE||e===l.LESS_THAN_SIGN?(this._err(s.unexpectedCharacterInAttributeName),this.currentAttr.name+=Qe(e)):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentAttr.name+=a.REPLACEMENT_CHARACTER):this.currentAttr.name+=Qe(e)}},{key:Y,value:function(e){Be(e)||(e===l.SOLIDUS?this.state=$:e===l.EQUALS_SIGN?this.state=W:e===l.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInTag),this._emitEOFToken()):(this._createAttr(""),this._reconsumeInState(z)))}},{key:W,value:function(e){Be(e)||(e===l.QUOTATION_MARK?this.state=Q:e===l.APOSTROPHE?this.state=q:e===l.GREATER_THAN_SIGN?(this._err(s.missingAttributeValue),this.state=p,this._emitCurrentToken()):this._reconsumeInState(V))}},{key:Q,value:function(e){e===l.QUOTATION_MARK?this.state=X:e===l.AMPERSAND?(this.returnState=Q,this.state=be):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentAttr.value+=a.REPLACEMENT_CHARACTER):e===l.EOF?(this._err(s.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Qe(e)}},{key:q,value:function(e){e===l.APOSTROPHE?this.state=X:e===l.AMPERSAND?(this.returnState=q,this.state=be):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentAttr.value+=a.REPLACEMENT_CHARACTER):e===l.EOF?(this._err(s.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Qe(e)}},{key:V,value:function(e){Be(e)?this._leaveAttrValue(j):e===l.AMPERSAND?(this.returnState=V,this.state=be):e===l.GREATER_THAN_SIGN?(this._leaveAttrValue(p),this._emitCurrentToken()):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentAttr.value+=a.REPLACEMENT_CHARACTER):e===l.QUOTATION_MARK||e===l.APOSTROPHE||e===l.LESS_THAN_SIGN||e===l.EQUALS_SIGN||e===l.GRAVE_ACCENT?(this._err(s.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=Qe(e)):e===l.EOF?(this._err(s.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Qe(e)}},{key:X,value:function(e){Be(e)?this._leaveAttrValue(j):e===l.SOLIDUS?this._leaveAttrValue($):e===l.GREATER_THAN_SIGN?(this._leaveAttrValue(p),this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInTag),this._emitEOFToken()):(this._err(s.missingWhitespaceBetweenAttributes),this._reconsumeInState(j))}},{key:$,value:function(e){e===l.GREATER_THAN_SIGN?(this.currentToken.selfClosing=!0,this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInTag),this._emitEOFToken()):(this._err(s.unexpectedSolidusInTag),this._reconsumeInState(j))}},{key:Z,value:function(e){e===l.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===l.EOF?(this._emitCurrentToken(),this._emitEOFToken()):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.data+=a.REPLACEMENT_CHARACTER):this.currentToken.data+=Qe(e)}},{key:J,value:function(e){this._consumeSequenceIfMatch(c.DASH_DASH_STRING,e,!0)?(this._createCommentToken(),this.state=ee):this._consumeSequenceIfMatch(c.DOCTYPE_STRING,e,!1)?this.state=ce:this._consumeSequenceIfMatch(c.CDATA_START_STRING,e,!0)?this.allowCDATA?this.state=Ne:(this._err(s.cdataInHtmlContent),this._createCommentToken(),this.currentToken.data="[CDATA[",this.state=Z):this._ensureHibernation()||(this._err(s.incorrectlyOpenedComment),this._createCommentToken(),this._reconsumeInState(Z))}},{key:ee,value:function(e){e===l.HYPHEN_MINUS?this.state=te:e===l.GREATER_THAN_SIGN?(this._err(s.abruptClosingOfEmptyComment),this.state=p,this._emitCurrentToken()):this._reconsumeInState(ne)}},{key:te,value:function(e){e===l.HYPHEN_MINUS?this.state=se:e===l.GREATER_THAN_SIGN?(this._err(s.abruptClosingOfEmptyComment),this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState(ne))}},{key:ne,value:function(e){e===l.HYPHEN_MINUS?this.state=ue:e===l.LESS_THAN_SIGN?(this.currentToken.data+="<",this.state=re):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.data+=a.REPLACEMENT_CHARACTER):e===l.EOF?(this._err(s.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.data+=Qe(e)}},{key:re,value:function(e){e===l.EXCLAMATION_MARK?(this.currentToken.data+="!",this.state=ie):e===l.LESS_THAN_SIGN?this.currentToken.data+="!":this._reconsumeInState(ne)}},{key:ie,value:function(e){e===l.HYPHEN_MINUS?this.state=oe:this._reconsumeInState(ne)}},{key:oe,value:function(e){e===l.HYPHEN_MINUS?this.state=ae:this._reconsumeInState(ue)}},{key:ae,value:function(e){e!==l.GREATER_THAN_SIGN&&e!==l.EOF&&this._err(s.nestedComment),this._reconsumeInState(se)}},{key:ue,value:function(e){e===l.HYPHEN_MINUS?this.state=se:e===l.EOF?(this._err(s.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState(ne))}},{key:se,value:function(e){e===l.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===l.EXCLAMATION_MARK?this.state=le:e===l.HYPHEN_MINUS?this.currentToken.data+="-":e===l.EOF?(this._err(s.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--",this._reconsumeInState(ne))}},{key:le,value:function(e){e===l.HYPHEN_MINUS?(this.currentToken.data+="--!",this.state=ue):e===l.GREATER_THAN_SIGN?(this._err(s.incorrectlyClosedComment),this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--!",this._reconsumeInState(ne))}},{key:ce,value:function(e){Be(e)?this.state=fe:e===l.GREATER_THAN_SIGN?this._reconsumeInState(fe):e===l.EOF?(this._err(s.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingWhitespaceBeforeDoctypeName),this._reconsumeInState(fe))}},{key:fe,value:function(e){Be(e)||(Ue(e)?(this._createDoctypeToken(qe(e)),this.state=pe):e===l.NULL?(this._err(s.unexpectedNullCharacter),this._createDoctypeToken(a.REPLACEMENT_CHARACTER),this.state=pe):e===l.GREATER_THAN_SIGN?(this._err(s.missingDoctypeName),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===l.EOF?(this._err(s.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._createDoctypeToken(Qe(e)),this.state=pe))}},{key:pe,value:function(e){Be(e)?this.state=he:e===l.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):Ue(e)?this.currentToken.name+=qe(e):e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.name+=a.REPLACEMENT_CHARACTER):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.name+=Qe(e)}},{key:he,value:function(e){Be(e)||(e===l.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this._consumeSequenceIfMatch(c.PUBLIC_STRING,e,!1)?this.state=de:this._consumeSequenceIfMatch(c.SYSTEM_STRING,e,!1)?this.state=Ae:this._ensureHibernation()||(this._err(s.invalidCharacterSequenceAfterDoctypeName),this.currentToken.forceQuirks=!0,this._reconsumeInState(De)))}},{key:de,value:function(e){Be(e)?this.state=me:e===l.QUOTATION_MARK?(this._err(s.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state=Ee):e===l.APOSTROPHE?(this._err(s.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state=Te):e===l.GREATER_THAN_SIGN?(this._err(s.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(De))}},{key:me,value:function(e){Be(e)||(e===l.QUOTATION_MARK?(this.currentToken.publicId="",this.state=Ee):e===l.APOSTROPHE?(this.currentToken.publicId="",this.state=Te):e===l.GREATER_THAN_SIGN?(this._err(s.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(De)))}},{key:Ee,value:function(e){e===l.QUOTATION_MARK?this.state=ge:e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.publicId+=a.REPLACEMENT_CHARACTER):e===l.GREATER_THAN_SIGN?(this._err(s.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=Qe(e)}},{key:Te,value:function(e){e===l.APOSTROPHE?this.state=ge:e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.publicId+=a.REPLACEMENT_CHARACTER):e===l.GREATER_THAN_SIGN?(this._err(s.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=Qe(e)}},{key:ge,value:function(e){Be(e)?this.state=ve:e===l.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===l.QUOTATION_MARK?(this._err(s.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state=Ce):e===l.APOSTROPHE?(this._err(s.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state=_e):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(De))}},{key:ve,value:function(e){Be(e)||(e===l.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=p):e===l.QUOTATION_MARK?(this.currentToken.systemId="",this.state=Ce):e===l.APOSTROPHE?(this.currentToken.systemId="",this.state=_e):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(De)))}},{key:Ae,value:function(e){Be(e)?this.state=ye:e===l.QUOTATION_MARK?(this._err(s.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state=Ce):e===l.APOSTROPHE?(this._err(s.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state=_e):e===l.GREATER_THAN_SIGN?(this._err(s.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(De))}},{key:ye,value:function(e){Be(e)||(e===l.QUOTATION_MARK?(this.currentToken.systemId="",this.state=Ce):e===l.APOSTROPHE?(this.currentToken.systemId="",this.state=_e):e===l.GREATER_THAN_SIGN?(this._err(s.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(De)))}},{key:Ce,value:function(e){e===l.QUOTATION_MARK?this.state=ke:e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.systemId+=a.REPLACEMENT_CHARACTER):e===l.GREATER_THAN_SIGN?(this._err(s.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=Qe(e)}},{key:_e,value:function(e){e===l.APOSTROPHE?this.state=ke:e===l.NULL?(this._err(s.unexpectedNullCharacter),this.currentToken.systemId+=a.REPLACEMENT_CHARACTER):e===l.GREATER_THAN_SIGN?(this._err(s.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=Qe(e)}},{key:ke,value:function(e){Be(e)||(e===l.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=p):e===l.EOF?(this._err(s.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(s.unexpectedCharacterAfterDoctypeSystemIdentifier),this._reconsumeInState(De)))}},{key:De,value:function(e){e===l.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=p):e===l.NULL?this._err(s.unexpectedNullCharacter):e===l.EOF&&(this._emitCurrentToken(),this._emitEOFToken())}},{key:Ne,value:function(e){e===l.RIGHT_SQUARE_BRACKET?this.state=Oe:e===l.EOF?(this._err(s.eofInCdata),this._emitEOFToken()):this._emitCodePoint(e)}},{key:Oe,value:function(e){e===l.RIGHT_SQUARE_BRACKET?this.state=Se:(this._emitChars("]"),this._reconsumeInState(Ne))}},{key:Se,value:function(e){e===l.GREATER_THAN_SIGN?this.state=p:e===l.RIGHT_SQUARE_BRACKET?this._emitChars("]"):(this._emitChars("]]"),this._reconsumeInState(Ne))}},{key:be,value:function(e){this.tempBuff=[l.AMPERSAND],e===l.NUMBER_SIGN?(this.tempBuff.push(e),this.state=Ie):je(e)?this._reconsumeInState(Fe):(this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}},{key:Fe,value:function(e){var t=this._matchNamedCharacterReference(e);if(this._ensureHibernation())this.tempBuff=[l.AMPERSAND];else if(t){var n=this.tempBuff[this.tempBuff.length-1]===l.SEMICOLON;this._isCharacterReferenceAttributeQuirk(n)||(n||this._errOnNextCodePoint(s.missingSemicolonAfterCharacterReference),this.tempBuff=t),this._flushCodePointsConsumedAsCharacterReference(),this.state=this.returnState}else this._flushCodePointsConsumedAsCharacterReference(),this.state=xe}},{key:xe,value:function(e){je(e)?this._isCharacterReferenceInAttribute()?this.currentAttr.value+=Qe(e):this._emitCodePoint(e):(e===l.SEMICOLON&&this._err(s.unknownNamedCharacterReference),this._reconsumeInState(this.returnState))}},{key:Ie,value:function(e){this.charRefCode=0,e===l.LATIN_SMALL_X||e===l.LATIN_CAPITAL_X?(this.tempBuff.push(e),this.state=Re):this._reconsumeInState(Le)}},{key:Re,value:function(e){!function(e){return He(e)||ze(e)||Ye(e)}(e)?(this._err(s.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)):this._reconsumeInState(Me)}},{key:Le,value:function(e){He(e)?this._reconsumeInState(Pe):(this._err(s.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}},{key:Me,value:function(e){ze(e)?this.charRefCode=16*this.charRefCode+e-55:Ye(e)?this.charRefCode=16*this.charRefCode+e-87:He(e)?this.charRefCode=16*this.charRefCode+e-48:e===l.SEMICOLON?this.state=we:(this._err(s.missingSemicolonAfterCharacterReference),this._reconsumeInState(we))}},{key:Pe,value:function(e){He(e)?this.charRefCode=10*this.charRefCode+e-48:e===l.SEMICOLON?this.state=we:(this._err(s.missingSemicolonAfterCharacterReference),this._reconsumeInState(we))}},{key:we,value:function(){if(this.charRefCode===l.NULL)this._err(s.nullCharacterReference),this.charRefCode=l.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(s.characterReferenceOutsideUnicodeRange),this.charRefCode=l.REPLACEMENT_CHARACTER;else if(a.isSurrogate(this.charRefCode))this._err(s.surrogateCharacterReference),this.charRefCode=l.REPLACEMENT_CHARACTER;else if(a.isUndefinedCodePoint(this.charRefCode))this._err(s.noncharacterCharacterReference);else if(a.isControlCodePoint(this.charRefCode)||this.charRefCode===l.CARRIAGE_RETURN){this._err(s.controlCharacterReference);var e=f[this.charRefCode];e&&(this.charRefCode=e)}this.tempBuff=[this.charRefCode],this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)}}]),e}();Xe.CHARACTER_TOKEN="CHARACTER_TOKEN",Xe.NULL_CHARACTER_TOKEN="NULL_CHARACTER_TOKEN",Xe.WHITESPACE_CHARACTER_TOKEN="WHITESPACE_CHARACTER_TOKEN",Xe.START_TAG_TOKEN="START_TAG_TOKEN",Xe.END_TAG_TOKEN="END_TAG_TOKEN",Xe.COMMENT_TOKEN="COMMENT_TOKEN",Xe.DOCTYPE_TOKEN="DOCTYPE_TOKEN",Xe.EOF_TOKEN="EOF_TOKEN",Xe.HIBERNATION_TOKEN="HIBERNATION_TOKEN",Xe.MODE={DATA:p,RCDATA:h,RAWTEXT:d,SCRIPT_DATA:m,PLAINTEXT:E},Xe.getTokenAttr=function(e,t){for(var n=e.attrs.length-1;n>=0;n--)if(e.attrs[n].name===t)return e.attrs[n].value;return null},e.exports=Xe},5926:function(e){"use strict";e.exports=new Uint16Array([4,52,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,106,303,412,810,1432,1701,1796,1987,2114,2360,2420,2484,3170,3251,4140,4393,4575,4610,5106,5512,5728,6117,6274,6315,6345,6427,6516,7002,7910,8733,9323,9870,10170,10631,10893,11318,11386,11467,12773,13092,14474,14922,15448,15542,16419,17666,18166,18611,19004,19095,19298,19397,4,16,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,140,150,158,169,176,194,199,210,216,222,226,242,256,266,283,294,108,105,103,5,198,1,59,148,1,198,80,5,38,1,59,156,1,38,99,117,116,101,5,193,1,59,167,1,193,114,101,118,101,59,1,258,4,2,105,121,182,191,114,99,5,194,1,59,189,1,194,59,1,1040,114,59,3,55349,56580,114,97,118,101,5,192,1,59,208,1,192,112,104,97,59,1,913,97,99,114,59,1,256,100,59,1,10835,4,2,103,112,232,237,111,110,59,1,260,102,59,3,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,1,8289,105,110,103,5,197,1,59,264,1,197,4,2,99,115,272,277,114,59,3,55349,56476,105,103,110,59,1,8788,105,108,100,101,5,195,1,59,292,1,195,109,108,5,196,1,59,301,1,196,4,8,97,99,101,102,111,114,115,117,321,350,354,383,388,394,400,405,4,2,99,114,327,336,107,115,108,97,115,104,59,1,8726,4,2,118,119,342,345,59,1,10983,101,100,59,1,8966,121,59,1,1041,4,3,99,114,116,362,369,379,97,117,115,101,59,1,8757,110,111,117,108,108,105,115,59,1,8492,97,59,1,914,114,59,3,55349,56581,112,102,59,3,55349,56633,101,118,101,59,1,728,99,114,59,1,8492,109,112,101,113,59,1,8782,4,14,72,79,97,99,100,101,102,104,105,108,111,114,115,117,442,447,456,504,542,547,569,573,577,616,678,784,790,796,99,121,59,1,1063,80,89,5,169,1,59,454,1,169,4,3,99,112,121,464,470,497,117,116,101,59,1,262,4,2,59,105,476,478,1,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,1,8517,108,101,121,115,59,1,8493,4,4,97,101,105,111,514,520,530,535,114,111,110,59,1,268,100,105,108,5,199,1,59,528,1,199,114,99,59,1,264,110,105,110,116,59,1,8752,111,116,59,1,266,4,2,100,110,553,560,105,108,108,97,59,1,184,116,101,114,68,111,116,59,1,183,114,59,1,8493,105,59,1,935,114,99,108,101,4,4,68,77,80,84,591,596,603,609,111,116,59,1,8857,105,110,117,115,59,1,8854,108,117,115,59,1,8853,105,109,101,115,59,1,8855,111,4,2,99,115,623,646,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8754,101,67,117,114,108,121,4,2,68,81,658,671,111,117,98,108,101,81,117,111,116,101,59,1,8221,117,111,116,101,59,1,8217,4,4,108,110,112,117,688,701,736,753,111,110,4,2,59,101,696,698,1,8759,59,1,10868,4,3,103,105,116,709,717,722,114,117,101,110,116,59,1,8801,110,116,59,1,8751,111,117,114,73,110,116,101,103,114,97,108,59,1,8750,4,2,102,114,742,745,59,1,8450,111,100,117,99,116,59,1,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8755,111,115,115,59,1,10799,99,114,59,3,55349,56478,112,4,2,59,67,803,805,1,8915,97,112,59,1,8781,4,11,68,74,83,90,97,99,101,102,105,111,115,834,850,855,860,865,888,903,916,921,1011,1415,4,2,59,111,840,842,1,8517,116,114,97,104,100,59,1,10513,99,121,59,1,1026,99,121,59,1,1029,99,121,59,1,1039,4,3,103,114,115,873,879,883,103,101,114,59,1,8225,114,59,1,8609,104,118,59,1,10980,4,2,97,121,894,900,114,111,110,59,1,270,59,1,1044,108,4,2,59,116,910,912,1,8711,97,59,1,916,114,59,3,55349,56583,4,2,97,102,927,998,4,2,99,109,933,992,114,105,116,105,99,97,108,4,4,65,68,71,84,950,957,978,985,99,117,116,101,59,1,180,111,4,2,116,117,964,967,59,1,729,98,108,101,65,99,117,116,101,59,1,733,114,97,118,101,59,1,96,105,108,100,101,59,1,732,111,110,100,59,1,8900,102,101,114,101,110,116,105,97,108,68,59,1,8518,4,4,112,116,117,119,1021,1026,1048,1249,102,59,3,55349,56635,4,3,59,68,69,1034,1036,1041,1,168,111,116,59,1,8412,113,117,97,108,59,1,8784,98,108,101,4,6,67,68,76,82,85,86,1065,1082,1101,1189,1211,1236,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8751,111,4,2,116,119,1089,1092,59,1,168,110,65,114,114,111,119,59,1,8659,4,2,101,111,1107,1141,102,116,4,3,65,82,84,1117,1124,1136,114,114,111,119,59,1,8656,105,103,104,116,65,114,114,111,119,59,1,8660,101,101,59,1,10980,110,103,4,2,76,82,1149,1177,101,102,116,4,2,65,82,1158,1165,114,114,111,119,59,1,10232,105,103,104,116,65,114,114,111,119,59,1,10234,105,103,104,116,65,114,114,111,119,59,1,10233,105,103,104,116,4,2,65,84,1199,1206,114,114,111,119,59,1,8658,101,101,59,1,8872,112,4,2,65,68,1218,1225,114,114,111,119,59,1,8657,111,119,110,65,114,114,111,119,59,1,8661,101,114,116,105,99,97,108,66,97,114,59,1,8741,110,4,6,65,66,76,82,84,97,1264,1292,1299,1352,1391,1408,114,114,111,119,4,3,59,66,85,1276,1278,1283,1,8595,97,114,59,1,10515,112,65,114,114,111,119,59,1,8693,114,101,118,101,59,1,785,101,102,116,4,3,82,84,86,1310,1323,1334,105,103,104,116,86,101,99,116,111,114,59,1,10576,101,101,86,101,99,116,111,114,59,1,10590,101,99,116,111,114,4,2,59,66,1345,1347,1,8637,97,114,59,1,10582,105,103,104,116,4,2,84,86,1362,1373,101,101,86,101,99,116,111,114,59,1,10591,101,99,116,111,114,4,2,59,66,1384,1386,1,8641,97,114,59,1,10583,101,101,4,2,59,65,1399,1401,1,8868,114,114,111,119,59,1,8615,114,114,111,119,59,1,8659,4,2,99,116,1421,1426,114,59,3,55349,56479,114,111,107,59,1,272,4,16,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1466,1470,1478,1489,1515,1520,1525,1536,1544,1593,1609,1617,1650,1664,1668,1677,71,59,1,330,72,5,208,1,59,1476,1,208,99,117,116,101,5,201,1,59,1487,1,201,4,3,97,105,121,1497,1503,1512,114,111,110,59,1,282,114,99,5,202,1,59,1510,1,202,59,1,1069,111,116,59,1,278,114,59,3,55349,56584,114,97,118,101,5,200,1,59,1534,1,200,101,109,101,110,116,59,1,8712,4,2,97,112,1550,1555,99,114,59,1,274,116,121,4,2,83,86,1563,1576,109,97,108,108,83,113,117,97,114,101,59,1,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9643,4,2,103,112,1599,1604,111,110,59,1,280,102,59,3,55349,56636,115,105,108,111,110,59,1,917,117,4,2,97,105,1624,1640,108,4,2,59,84,1631,1633,1,10869,105,108,100,101,59,1,8770,108,105,98,114,105,117,109,59,1,8652,4,2,99,105,1656,1660,114,59,1,8496,109,59,1,10867,97,59,1,919,109,108,5,203,1,59,1675,1,203,4,2,105,112,1683,1689,115,116,115,59,1,8707,111,110,101,110,116,105,97,108,69,59,1,8519,4,5,99,102,105,111,115,1713,1717,1722,1762,1791,121,59,1,1060,114,59,3,55349,56585,108,108,101,100,4,2,83,86,1732,1745,109,97,108,108,83,113,117,97,114,101,59,1,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9642,4,3,112,114,117,1770,1775,1781,102,59,3,55349,56637,65,108,108,59,1,8704,114,105,101,114,116,114,102,59,1,8497,99,114,59,1,8497,4,12,74,84,97,98,99,100,102,103,111,114,115,116,1822,1827,1834,1848,1855,1877,1882,1887,1890,1896,1978,1984,99,121,59,1,1027,5,62,1,59,1832,1,62,109,109,97,4,2,59,100,1843,1845,1,915,59,1,988,114,101,118,101,59,1,286,4,3,101,105,121,1863,1869,1874,100,105,108,59,1,290,114,99,59,1,284,59,1,1043,111,116,59,1,288,114,59,3,55349,56586,59,1,8921,112,102,59,3,55349,56638,101,97,116,101,114,4,6,69,70,71,76,83,84,1915,1933,1944,1953,1959,1971,113,117,97,108,4,2,59,76,1925,1927,1,8805,101,115,115,59,1,8923,117,108,108,69,113,117,97,108,59,1,8807,114,101,97,116,101,114,59,1,10914,101,115,115,59,1,8823,108,97,110,116,69,113,117,97,108,59,1,10878,105,108,100,101,59,1,8819,99,114,59,3,55349,56482,59,1,8811,4,8,65,97,99,102,105,111,115,117,2005,2012,2026,2032,2036,2049,2073,2089,82,68,99,121,59,1,1066,4,2,99,116,2018,2023,101,107,59,1,711,59,1,94,105,114,99,59,1,292,114,59,1,8460,108,98,101,114,116,83,112,97,99,101,59,1,8459,4,2,112,114,2055,2059,102,59,1,8461,105,122,111,110,116,97,108,76,105,110,101,59,1,9472,4,2,99,116,2079,2083,114,59,1,8459,114,111,107,59,1,294,109,112,4,2,68,69,2097,2107,111,119,110,72,117,109,112,59,1,8782,113,117,97,108,59,1,8783,4,14,69,74,79,97,99,100,102,103,109,110,111,115,116,117,2144,2149,2155,2160,2171,2189,2194,2198,2209,2245,2307,2329,2334,2341,99,121,59,1,1045,108,105,103,59,1,306,99,121,59,1,1025,99,117,116,101,5,205,1,59,2169,1,205,4,2,105,121,2177,2186,114,99,5,206,1,59,2184,1,206,59,1,1048,111,116,59,1,304,114,59,1,8465,114,97,118,101,5,204,1,59,2207,1,204,4,3,59,97,112,2217,2219,2238,1,8465,4,2,99,103,2225,2229,114,59,1,298,105,110,97,114,121,73,59,1,8520,108,105,101,115,59,1,8658,4,2,116,118,2251,2281,4,2,59,101,2257,2259,1,8748,4,2,103,114,2265,2271,114,97,108,59,1,8747,115,101,99,116,105,111,110,59,1,8898,105,115,105,98,108,101,4,2,67,84,2293,2300,111,109,109,97,59,1,8291,105,109,101,115,59,1,8290,4,3,103,112,116,2315,2320,2325,111,110,59,1,302,102,59,3,55349,56640,97,59,1,921,99,114,59,1,8464,105,108,100,101,59,1,296,4,2,107,109,2347,2352,99,121,59,1,1030,108,5,207,1,59,2358,1,207,4,5,99,102,111,115,117,2372,2386,2391,2397,2414,4,2,105,121,2378,2383,114,99,59,1,308,59,1,1049,114,59,3,55349,56589,112,102,59,3,55349,56641,4,2,99,101,2403,2408,114,59,3,55349,56485,114,99,121,59,1,1032,107,99,121,59,1,1028,4,7,72,74,97,99,102,111,115,2436,2441,2446,2452,2467,2472,2478,99,121,59,1,1061,99,121,59,1,1036,112,112,97,59,1,922,4,2,101,121,2458,2464,100,105,108,59,1,310,59,1,1050,114,59,3,55349,56590,112,102,59,3,55349,56642,99,114,59,3,55349,56486,4,11,74,84,97,99,101,102,108,109,111,115,116,2508,2513,2520,2562,2585,2981,2986,3004,3011,3146,3167,99,121,59,1,1033,5,60,1,59,2518,1,60,4,5,99,109,110,112,114,2532,2538,2544,2548,2558,117,116,101,59,1,313,98,100,97,59,1,923,103,59,1,10218,108,97,99,101,116,114,102,59,1,8466,114,59,1,8606,4,3,97,101,121,2570,2576,2582,114,111,110,59,1,317,100,105,108,59,1,315,59,1,1051,4,2,102,115,2591,2907,116,4,10,65,67,68,70,82,84,85,86,97,114,2614,2663,2672,2728,2735,2760,2820,2870,2888,2895,4,2,110,114,2620,2633,103,108,101,66,114,97,99,107,101,116,59,1,10216,114,111,119,4,3,59,66,82,2644,2646,2651,1,8592,97,114,59,1,8676,105,103,104,116,65,114,114,111,119,59,1,8646,101,105,108,105,110,103,59,1,8968,111,4,2,117,119,2679,2692,98,108,101,66,114,97,99,107,101,116,59,1,10214,110,4,2,84,86,2699,2710,101,101,86,101,99,116,111,114,59,1,10593,101,99,116,111,114,4,2,59,66,2721,2723,1,8643,97,114,59,1,10585,108,111,111,114,59,1,8970,105,103,104,116,4,2,65,86,2745,2752,114,114,111,119,59,1,8596,101,99,116,111,114,59,1,10574,4,2,101,114,2766,2792,101,4,3,59,65,86,2775,2777,2784,1,8867,114,114,111,119,59,1,8612,101,99,116,111,114,59,1,10586,105,97,110,103,108,101,4,3,59,66,69,2806,2808,2813,1,8882,97,114,59,1,10703,113,117,97,108,59,1,8884,112,4,3,68,84,86,2829,2841,2852,111,119,110,86,101,99,116,111,114,59,1,10577,101,101,86,101,99,116,111,114,59,1,10592,101,99,116,111,114,4,2,59,66,2863,2865,1,8639,97,114,59,1,10584,101,99,116,111,114,4,2,59,66,2881,2883,1,8636,97,114,59,1,10578,114,114,111,119,59,1,8656,105,103,104,116,97,114,114,111,119,59,1,8660,115,4,6,69,70,71,76,83,84,2922,2936,2947,2956,2962,2974,113,117,97,108,71,114,101,97,116,101,114,59,1,8922,117,108,108,69,113,117,97,108,59,1,8806,114,101,97,116,101,114,59,1,8822,101,115,115,59,1,10913,108,97,110,116,69,113,117,97,108,59,1,10877,105,108,100,101,59,1,8818,114,59,3,55349,56591,4,2,59,101,2992,2994,1,8920,102,116,97,114,114,111,119,59,1,8666,105,100,111,116,59,1,319,4,3,110,112,119,3019,3110,3115,103,4,4,76,82,108,114,3030,3058,3070,3098,101,102,116,4,2,65,82,3039,3046,114,114,111,119,59,1,10229,105,103,104,116,65,114,114,111,119,59,1,10231,105,103,104,116,65,114,114,111,119,59,1,10230,101,102,116,4,2,97,114,3079,3086,114,114,111,119,59,1,10232,105,103,104,116,97,114,114,111,119,59,1,10234,105,103,104,116,97,114,114,111,119,59,1,10233,102,59,3,55349,56643,101,114,4,2,76,82,3123,3134,101,102,116,65,114,114,111,119,59,1,8601,105,103,104,116,65,114,114,111,119,59,1,8600,4,3,99,104,116,3154,3158,3161,114,59,1,8466,59,1,8624,114,111,107,59,1,321,59,1,8810,4,8,97,99,101,102,105,111,115,117,3188,3192,3196,3222,3227,3237,3243,3248,112,59,1,10501,121,59,1,1052,4,2,100,108,3202,3213,105,117,109,83,112,97,99,101,59,1,8287,108,105,110,116,114,102,59,1,8499,114,59,3,55349,56592,110,117,115,80,108,117,115,59,1,8723,112,102,59,3,55349,56644,99,114,59,1,8499,59,1,924,4,9,74,97,99,101,102,111,115,116,117,3271,3276,3283,3306,3422,3427,4120,4126,4137,99,121,59,1,1034,99,117,116,101,59,1,323,4,3,97,101,121,3291,3297,3303,114,111,110,59,1,327,100,105,108,59,1,325,59,1,1053,4,3,103,115,119,3314,3380,3415,97,116,105,118,101,4,3,77,84,86,3327,3340,3365,101,100,105,117,109,83,112,97,99,101,59,1,8203,104,105,4,2,99,110,3348,3357,107,83,112,97,99,101,59,1,8203,83,112,97,99,101,59,1,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,1,8203,116,101,100,4,2,71,76,3389,3405,114,101,97,116,101,114,71,114,101,97,116,101,114,59,1,8811,101,115,115,76,101,115,115,59,1,8810,76,105,110,101,59,1,10,114,59,3,55349,56593,4,4,66,110,112,116,3437,3444,3460,3464,114,101,97,107,59,1,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,1,160,102,59,1,8469,4,13,59,67,68,69,71,72,76,78,80,82,83,84,86,3492,3494,3517,3536,3578,3657,3685,3784,3823,3860,3915,4066,4107,1,10988,4,2,111,117,3500,3510,110,103,114,117,101,110,116,59,1,8802,112,67,97,112,59,1,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,1,8742,4,3,108,113,120,3544,3552,3571,101,109,101,110,116,59,1,8713,117,97,108,4,2,59,84,3561,3563,1,8800,105,108,100,101,59,3,8770,824,105,115,116,115,59,1,8708,114,101,97,116,101,114,4,7,59,69,70,71,76,83,84,3600,3602,3609,3621,3631,3637,3650,1,8815,113,117,97,108,59,1,8817,117,108,108,69,113,117,97,108,59,3,8807,824,114,101,97,116,101,114,59,3,8811,824,101,115,115,59,1,8825,108,97,110,116,69,113,117,97,108,59,3,10878,824,105,108,100,101,59,1,8821,117,109,112,4,2,68,69,3666,3677,111,119,110,72,117,109,112,59,3,8782,824,113,117,97,108,59,3,8783,824,101,4,2,102,115,3692,3724,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3709,3711,3717,1,8938,97,114,59,3,10703,824,113,117,97,108,59,1,8940,115,4,6,59,69,71,76,83,84,3739,3741,3748,3757,3764,3777,1,8814,113,117,97,108,59,1,8816,114,101,97,116,101,114,59,1,8824,101,115,115,59,3,8810,824,108,97,110,116,69,113,117,97,108,59,3,10877,824,105,108,100,101,59,1,8820,101,115,116,101,100,4,2,71,76,3795,3812,114,101,97,116,101,114,71,114,101,97,116,101,114,59,3,10914,824,101,115,115,76,101,115,115,59,3,10913,824,114,101,99,101,100,101,115,4,3,59,69,83,3838,3840,3848,1,8832,113,117,97,108,59,3,10927,824,108,97,110,116,69,113,117,97,108,59,1,8928,4,2,101,105,3866,3881,118,101,114,115,101,69,108,101,109,101,110,116,59,1,8716,103,104,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3900,3902,3908,1,8939,97,114,59,3,10704,824,113,117,97,108,59,1,8941,4,2,113,117,3921,3973,117,97,114,101,83,117,4,2,98,112,3933,3952,115,101,116,4,2,59,69,3942,3945,3,8847,824,113,117,97,108,59,1,8930,101,114,115,101,116,4,2,59,69,3963,3966,3,8848,824,113,117,97,108,59,1,8931,4,3,98,99,112,3981,4e3,4045,115,101,116,4,2,59,69,3990,3993,3,8834,8402,113,117,97,108,59,1,8840,99,101,101,100,115,4,4,59,69,83,84,4015,4017,4025,4037,1,8833,113,117,97,108,59,3,10928,824,108,97,110,116,69,113,117,97,108,59,1,8929,105,108,100,101,59,3,8831,824,101,114,115,101,116,4,2,59,69,4056,4059,3,8835,8402,113,117,97,108,59,1,8841,105,108,100,101,4,4,59,69,70,84,4080,4082,4089,4100,1,8769,113,117,97,108,59,1,8772,117,108,108,69,113,117,97,108,59,1,8775,105,108,100,101,59,1,8777,101,114,116,105,99,97,108,66,97,114,59,1,8740,99,114,59,3,55349,56489,105,108,100,101,5,209,1,59,4135,1,209,59,1,925,4,14,69,97,99,100,102,103,109,111,112,114,115,116,117,118,4170,4176,4187,4205,4212,4217,4228,4253,4259,4292,4295,4316,4337,4346,108,105,103,59,1,338,99,117,116,101,5,211,1,59,4185,1,211,4,2,105,121,4193,4202,114,99,5,212,1,59,4200,1,212,59,1,1054,98,108,97,99,59,1,336,114,59,3,55349,56594,114,97,118,101,5,210,1,59,4226,1,210,4,3,97,101,105,4236,4241,4246,99,114,59,1,332,103,97,59,1,937,99,114,111,110,59,1,927,112,102,59,3,55349,56646,101,110,67,117,114,108,121,4,2,68,81,4272,4285,111,117,98,108,101,81,117,111,116,101,59,1,8220,117,111,116,101,59,1,8216,59,1,10836,4,2,99,108,4301,4306,114,59,3,55349,56490,97,115,104,5,216,1,59,4314,1,216,105,4,2,108,109,4323,4332,100,101,5,213,1,59,4330,1,213,101,115,59,1,10807,109,108,5,214,1,59,4344,1,214,101,114,4,2,66,80,4354,4380,4,2,97,114,4360,4364,114,59,1,8254,97,99,4,2,101,107,4372,4375,59,1,9182,101,116,59,1,9140,97,114,101,110,116,104,101,115,105,115,59,1,9180,4,9,97,99,102,104,105,108,111,114,115,4413,4422,4426,4431,4435,4438,4448,4471,4561,114,116,105,97,108,68,59,1,8706,121,59,1,1055,114,59,3,55349,56595,105,59,1,934,59,1,928,117,115,77,105,110,117,115,59,1,177,4,2,105,112,4454,4467,110,99,97,114,101,112,108,97,110,101,59,1,8460,102,59,1,8473,4,4,59,101,105,111,4481,4483,4526,4531,1,10939,99,101,100,101,115,4,4,59,69,83,84,4498,4500,4507,4519,1,8826,113,117,97,108,59,1,10927,108,97,110,116,69,113,117,97,108,59,1,8828,105,108,100,101,59,1,8830,109,101,59,1,8243,4,2,100,112,4537,4543,117,99,116,59,1,8719,111,114,116,105,111,110,4,2,59,97,4555,4557,1,8759,108,59,1,8733,4,2,99,105,4567,4572,114,59,3,55349,56491,59,1,936,4,4,85,102,111,115,4585,4594,4599,4604,79,84,5,34,1,59,4592,1,34,114,59,3,55349,56596,112,102,59,1,8474,99,114,59,3,55349,56492,4,12,66,69,97,99,101,102,104,105,111,114,115,117,4636,4642,4650,4681,4704,4763,4767,4771,5047,5069,5081,5094,97,114,114,59,1,10512,71,5,174,1,59,4648,1,174,4,3,99,110,114,4658,4664,4668,117,116,101,59,1,340,103,59,1,10219,114,4,2,59,116,4675,4677,1,8608,108,59,1,10518,4,3,97,101,121,4689,4695,4701,114,111,110,59,1,344,100,105,108,59,1,342,59,1,1056,4,2,59,118,4710,4712,1,8476,101,114,115,101,4,2,69,85,4722,4748,4,2,108,113,4728,4736,101,109,101,110,116,59,1,8715,117,105,108,105,98,114,105,117,109,59,1,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,1,10607,114,59,1,8476,111,59,1,929,103,104,116,4,8,65,67,68,70,84,85,86,97,4792,4840,4849,4905,4912,4972,5022,5040,4,2,110,114,4798,4811,103,108,101,66,114,97,99,107,101,116,59,1,10217,114,111,119,4,3,59,66,76,4822,4824,4829,1,8594,97,114,59,1,8677,101,102,116,65,114,114,111,119,59,1,8644,101,105,108,105,110,103,59,1,8969,111,4,2,117,119,4856,4869,98,108,101,66,114,97,99,107,101,116,59,1,10215,110,4,2,84,86,4876,4887,101,101,86,101,99,116,111,114,59,1,10589,101,99,116,111,114,4,2,59,66,4898,4900,1,8642,97,114,59,1,10581,108,111,111,114,59,1,8971,4,2,101,114,4918,4944,101,4,3,59,65,86,4927,4929,4936,1,8866,114,114,111,119,59,1,8614,101,99,116,111,114,59,1,10587,105,97,110,103,108,101,4,3,59,66,69,4958,4960,4965,1,8883,97,114,59,1,10704,113,117,97,108,59,1,8885,112,4,3,68,84,86,4981,4993,5004,111,119,110,86,101,99,116,111,114,59,1,10575,101,101,86,101,99,116,111,114,59,1,10588,101,99,116,111,114,4,2,59,66,5015,5017,1,8638,97,114,59,1,10580,101,99,116,111,114,4,2,59,66,5033,5035,1,8640,97,114,59,1,10579,114,114,111,119,59,1,8658,4,2,112,117,5053,5057,102,59,1,8477,110,100,73,109,112,108,105,101,115,59,1,10608,105,103,104,116,97,114,114,111,119,59,1,8667,4,2,99,104,5087,5091,114,59,1,8475,59,1,8625,108,101,68,101,108,97,121,101,100,59,1,10740,4,13,72,79,97,99,102,104,105,109,111,113,115,116,117,5134,5150,5157,5164,5198,5203,5259,5265,5277,5283,5374,5380,5385,4,2,67,99,5140,5146,72,99,121,59,1,1065,121,59,1,1064,70,84,99,121,59,1,1068,99,117,116,101,59,1,346,4,5,59,97,101,105,121,5176,5178,5184,5190,5195,1,10940,114,111,110,59,1,352,100,105,108,59,1,350,114,99,59,1,348,59,1,1057,114,59,3,55349,56598,111,114,116,4,4,68,76,82,85,5216,5227,5238,5250,111,119,110,65,114,114,111,119,59,1,8595,101,102,116,65,114,114,111,119,59,1,8592,105,103,104,116,65,114,114,111,119,59,1,8594,112,65,114,114,111,119,59,1,8593,103,109,97,59,1,931,97,108,108,67,105,114,99,108,101,59,1,8728,112,102,59,3,55349,56650,4,2,114,117,5289,5293,116,59,1,8730,97,114,101,4,4,59,73,83,85,5306,5308,5322,5367,1,9633,110,116,101,114,115,101,99,116,105,111,110,59,1,8851,117,4,2,98,112,5329,5347,115,101,116,4,2,59,69,5338,5340,1,8847,113,117,97,108,59,1,8849,101,114,115,101,116,4,2,59,69,5358,5360,1,8848,113,117,97,108,59,1,8850,110,105,111,110,59,1,8852,99,114,59,3,55349,56494,97,114,59,1,8902,4,4,98,99,109,112,5395,5420,5475,5478,4,2,59,115,5401,5403,1,8912,101,116,4,2,59,69,5411,5413,1,8912,113,117,97,108,59,1,8838,4,2,99,104,5426,5468,101,101,100,115,4,4,59,69,83,84,5440,5442,5449,5461,1,8827,113,117,97,108,59,1,10928,108,97,110,116,69,113,117,97,108,59,1,8829,105,108,100,101,59,1,8831,84,104,97,116,59,1,8715,59,1,8721,4,3,59,101,115,5486,5488,5507,1,8913,114,115,101,116,4,2,59,69,5498,5500,1,8835,113,117,97,108,59,1,8839,101,116,59,1,8913,4,11,72,82,83,97,99,102,104,105,111,114,115,5536,5546,5552,5567,5579,5602,5607,5655,5695,5701,5711,79,82,78,5,222,1,59,5544,1,222,65,68,69,59,1,8482,4,2,72,99,5558,5563,99,121,59,1,1035,121,59,1,1062,4,2,98,117,5573,5576,59,1,9,59,1,932,4,3,97,101,121,5587,5593,5599,114,111,110,59,1,356,100,105,108,59,1,354,59,1,1058,114,59,3,55349,56599,4,2,101,105,5613,5631,4,2,114,116,5619,5627,101,102,111,114,101,59,1,8756,97,59,1,920,4,2,99,110,5637,5647,107,83,112,97,99,101,59,3,8287,8202,83,112,97,99,101,59,1,8201,108,100,101,4,4,59,69,70,84,5668,5670,5677,5688,1,8764,113,117,97,108,59,1,8771,117,108,108,69,113,117,97,108,59,1,8773,105,108,100,101,59,1,8776,112,102,59,3,55349,56651,105,112,108,101,68,111,116,59,1,8411,4,2,99,116,5717,5722,114,59,3,55349,56495,114,111,107,59,1,358,4,14,97,98,99,100,102,103,109,110,111,112,114,115,116,117,5758,5789,5805,5823,5830,5835,5846,5852,5921,5937,6089,6095,6101,6108,4,2,99,114,5764,5774,117,116,101,5,218,1,59,5772,1,218,114,4,2,59,111,5781,5783,1,8607,99,105,114,59,1,10569,114,4,2,99,101,5796,5800,121,59,1,1038,118,101,59,1,364,4,2,105,121,5811,5820,114,99,5,219,1,59,5818,1,219,59,1,1059,98,108,97,99,59,1,368,114,59,3,55349,56600,114,97,118,101,5,217,1,59,5844,1,217,97,99,114,59,1,362,4,2,100,105,5858,5905,101,114,4,2,66,80,5866,5892,4,2,97,114,5872,5876,114,59,1,95,97,99,4,2,101,107,5884,5887,59,1,9183,101,116,59,1,9141,97,114,101,110,116,104,101,115,105,115,59,1,9181,111,110,4,2,59,80,5913,5915,1,8899,108,117,115,59,1,8846,4,2,103,112,5927,5932,111,110,59,1,370,102,59,3,55349,56652,4,8,65,68,69,84,97,100,112,115,5955,5985,5996,6009,6026,6033,6044,6075,114,114,111,119,4,3,59,66,68,5967,5969,5974,1,8593,97,114,59,1,10514,111,119,110,65,114,114,111,119,59,1,8645,111,119,110,65,114,114,111,119,59,1,8597,113,117,105,108,105,98,114,105,117,109,59,1,10606,101,101,4,2,59,65,6017,6019,1,8869,114,114,111,119,59,1,8613,114,114,111,119,59,1,8657,111,119,110,97,114,114,111,119,59,1,8661,101,114,4,2,76,82,6052,6063,101,102,116,65,114,114,111,119,59,1,8598,105,103,104,116,65,114,114,111,119,59,1,8599,105,4,2,59,108,6082,6084,1,978,111,110,59,1,933,105,110,103,59,1,366,99,114,59,3,55349,56496,105,108,100,101,59,1,360,109,108,5,220,1,59,6115,1,220,4,9,68,98,99,100,101,102,111,115,118,6137,6143,6148,6152,6166,6250,6255,6261,6267,97,115,104,59,1,8875,97,114,59,1,10987,121,59,1,1042,97,115,104,4,2,59,108,6161,6163,1,8873,59,1,10982,4,2,101,114,6172,6175,59,1,8897,4,3,98,116,121,6183,6188,6238,97,114,59,1,8214,4,2,59,105,6194,6196,1,8214,99,97,108,4,4,66,76,83,84,6209,6214,6220,6231,97,114,59,1,8739,105,110,101,59,1,124,101,112,97,114,97,116,111,114,59,1,10072,105,108,100,101,59,1,8768,84,104,105,110,83,112,97,99,101,59,1,8202,114,59,3,55349,56601,112,102,59,3,55349,56653,99,114,59,3,55349,56497,100,97,115,104,59,1,8874,4,5,99,101,102,111,115,6286,6292,6298,6303,6309,105,114,99,59,1,372,100,103,101,59,1,8896,114,59,3,55349,56602,112,102,59,3,55349,56654,99,114,59,3,55349,56498,4,4,102,105,111,115,6325,6330,6333,6339,114,59,3,55349,56603,59,1,926,112,102,59,3,55349,56655,99,114,59,3,55349,56499,4,9,65,73,85,97,99,102,111,115,117,6365,6370,6375,6380,6391,6405,6410,6416,6422,99,121,59,1,1071,99,121,59,1,1031,99,121,59,1,1070,99,117,116,101,5,221,1,59,6389,1,221,4,2,105,121,6397,6402,114,99,59,1,374,59,1,1067,114,59,3,55349,56604,112,102,59,3,55349,56656,99,114,59,3,55349,56500,109,108,59,1,376,4,8,72,97,99,100,101,102,111,115,6445,6450,6457,6472,6477,6501,6505,6510,99,121,59,1,1046,99,117,116,101,59,1,377,4,2,97,121,6463,6469,114,111,110,59,1,381,59,1,1047,111,116,59,1,379,4,2,114,116,6483,6497,111,87,105,100,116,104,83,112,97,99,101,59,1,8203,97,59,1,918,114,59,1,8488,112,102,59,1,8484,99,114,59,3,55349,56501,4,16,97,98,99,101,102,103,108,109,110,111,112,114,115,116,117,119,6550,6561,6568,6612,6622,6634,6645,6672,6699,6854,6870,6923,6933,6963,6974,6983,99,117,116,101,5,225,1,59,6559,1,225,114,101,118,101,59,1,259,4,6,59,69,100,105,117,121,6582,6584,6588,6591,6600,6609,1,8766,59,3,8766,819,59,1,8767,114,99,5,226,1,59,6598,1,226,116,101,5,180,1,59,6607,1,180,59,1,1072,108,105,103,5,230,1,59,6620,1,230,4,2,59,114,6628,6630,1,8289,59,3,55349,56606,114,97,118,101,5,224,1,59,6643,1,224,4,2,101,112,6651,6667,4,2,102,112,6657,6663,115,121,109,59,1,8501,104,59,1,8501,104,97,59,1,945,4,2,97,112,6678,6692,4,2,99,108,6684,6688,114,59,1,257,103,59,1,10815,5,38,1,59,6697,1,38,4,2,100,103,6705,6737,4,5,59,97,100,115,118,6717,6719,6724,6727,6734,1,8743,110,100,59,1,10837,59,1,10844,108,111,112,101,59,1,10840,59,1,10842,4,7,59,101,108,109,114,115,122,6753,6755,6758,6762,6814,6835,6848,1,8736,59,1,10660,101,59,1,8736,115,100,4,2,59,97,6770,6772,1,8737,4,8,97,98,99,100,101,102,103,104,6790,6793,6796,6799,6802,6805,6808,6811,59,1,10664,59,1,10665,59,1,10666,59,1,10667,59,1,10668,59,1,10669,59,1,10670,59,1,10671,116,4,2,59,118,6821,6823,1,8735,98,4,2,59,100,6830,6832,1,8894,59,1,10653,4,2,112,116,6841,6845,104,59,1,8738,59,1,197,97,114,114,59,1,9084,4,2,103,112,6860,6865,111,110,59,1,261,102,59,3,55349,56658,4,7,59,69,97,101,105,111,112,6886,6888,6891,6897,6900,6904,6908,1,8776,59,1,10864,99,105,114,59,1,10863,59,1,8778,100,59,1,8779,115,59,1,39,114,111,120,4,2,59,101,6917,6919,1,8776,113,59,1,8778,105,110,103,5,229,1,59,6931,1,229,4,3,99,116,121,6941,6946,6949,114,59,3,55349,56502,59,1,42,109,112,4,2,59,101,6957,6959,1,8776,113,59,1,8781,105,108,100,101,5,227,1,59,6972,1,227,109,108,5,228,1,59,6981,1,228,4,2,99,105,6989,6997,111,110,105,110,116,59,1,8755,110,116,59,1,10769,4,16,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,7036,7041,7119,7135,7149,7155,7219,7224,7347,7354,7463,7489,7786,7793,7814,7866,111,116,59,1,10989,4,2,99,114,7047,7094,107,4,4,99,101,112,115,7058,7064,7073,7080,111,110,103,59,1,8780,112,115,105,108,111,110,59,1,1014,114,105,109,101,59,1,8245,105,109,4,2,59,101,7088,7090,1,8765,113,59,1,8909,4,2,118,119,7100,7105,101,101,59,1,8893,101,100,4,2,59,103,7113,7115,1,8965,101,59,1,8965,114,107,4,2,59,116,7127,7129,1,9141,98,114,107,59,1,9142,4,2,111,121,7141,7146,110,103,59,1,8780,59,1,1073,113,117,111,59,1,8222,4,5,99,109,112,114,116,7167,7181,7188,7193,7199,97,117,115,4,2,59,101,7176,7178,1,8757,59,1,8757,112,116,121,118,59,1,10672,115,105,59,1,1014,110,111,117,59,1,8492,4,3,97,104,119,7207,7210,7213,59,1,946,59,1,8502,101,101,110,59,1,8812,114,59,3,55349,56607,103,4,7,99,111,115,116,117,118,119,7241,7262,7288,7305,7328,7335,7340,4,3,97,105,117,7249,7253,7258,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,4,3,100,112,116,7270,7275,7281,111,116,59,1,10752,108,117,115,59,1,10753,105,109,101,115,59,1,10754,4,2,113,116,7294,7300,99,117,112,59,1,10758,97,114,59,1,9733,114,105,97,110,103,108,101,4,2,100,117,7318,7324,111,119,110,59,1,9661,112,59,1,9651,112,108,117,115,59,1,10756,101,101,59,1,8897,101,100,103,101,59,1,8896,97,114,111,119,59,1,10509,4,3,97,107,111,7362,7436,7458,4,2,99,110,7368,7432,107,4,3,108,115,116,7377,7386,7394,111,122,101,110,103,101,59,1,10731,113,117,97,114,101,59,1,9642,114,105,97,110,103,108,101,4,4,59,100,108,114,7411,7413,7419,7425,1,9652,111,119,110,59,1,9662,101,102,116,59,1,9666,105,103,104,116,59,1,9656,107,59,1,9251,4,2,49,51,7442,7454,4,2,50,52,7448,7451,59,1,9618,59,1,9617,52,59,1,9619,99,107,59,1,9608,4,2,101,111,7469,7485,4,2,59,113,7475,7478,3,61,8421,117,105,118,59,3,8801,8421,116,59,1,8976,4,4,112,116,119,120,7499,7504,7517,7523,102,59,3,55349,56659,4,2,59,116,7510,7512,1,8869,111,109,59,1,8869,116,105,101,59,1,8904,4,12,68,72,85,86,98,100,104,109,112,116,117,118,7549,7571,7597,7619,7655,7660,7682,7708,7715,7721,7728,7750,4,4,76,82,108,114,7559,7562,7565,7568,59,1,9559,59,1,9556,59,1,9558,59,1,9555,4,5,59,68,85,100,117,7583,7585,7588,7591,7594,1,9552,59,1,9574,59,1,9577,59,1,9572,59,1,9575,4,4,76,82,108,114,7607,7610,7613,7616,59,1,9565,59,1,9562,59,1,9564,59,1,9561,4,7,59,72,76,82,104,108,114,7635,7637,7640,7643,7646,7649,7652,1,9553,59,1,9580,59,1,9571,59,1,9568,59,1,9579,59,1,9570,59,1,9567,111,120,59,1,10697,4,4,76,82,108,114,7670,7673,7676,7679,59,1,9557,59,1,9554,59,1,9488,59,1,9484,4,5,59,68,85,100,117,7694,7696,7699,7702,7705,1,9472,59,1,9573,59,1,9576,59,1,9516,59,1,9524,105,110,117,115,59,1,8863,108,117,115,59,1,8862,105,109,101,115,59,1,8864,4,4,76,82,108,114,7738,7741,7744,7747,59,1,9563,59,1,9560,59,1,9496,59,1,9492,4,7,59,72,76,82,104,108,114,7766,7768,7771,7774,7777,7780,7783,1,9474,59,1,9578,59,1,9569,59,1,9566,59,1,9532,59,1,9508,59,1,9500,114,105,109,101,59,1,8245,4,2,101,118,7799,7804,118,101,59,1,728,98,97,114,5,166,1,59,7812,1,166,4,4,99,101,105,111,7824,7829,7834,7846,114,59,3,55349,56503,109,105,59,1,8271,109,4,2,59,101,7841,7843,1,8765,59,1,8909,108,4,3,59,98,104,7855,7857,7860,1,92,59,1,10693,115,117,98,59,1,10184,4,2,108,109,7872,7885,108,4,2,59,101,7879,7881,1,8226,116,59,1,8226,112,4,3,59,69,101,7894,7896,7899,1,8782,59,1,10926,4,2,59,113,7905,7907,1,8783,59,1,8783,4,15,97,99,100,101,102,104,105,108,111,114,115,116,117,119,121,7942,8021,8075,8080,8121,8126,8157,8279,8295,8430,8446,8485,8491,8707,8726,4,3,99,112,114,7950,7956,8007,117,116,101,59,1,263,4,6,59,97,98,99,100,115,7970,7972,7977,7984,7998,8003,1,8745,110,100,59,1,10820,114,99,117,112,59,1,10825,4,2,97,117,7990,7994,112,59,1,10827,112,59,1,10823,111,116,59,1,10816,59,3,8745,65024,4,2,101,111,8013,8017,116,59,1,8257,110,59,1,711,4,4,97,101,105,117,8031,8046,8056,8061,4,2,112,114,8037,8041,115,59,1,10829,111,110,59,1,269,100,105,108,5,231,1,59,8054,1,231,114,99,59,1,265,112,115,4,2,59,115,8069,8071,1,10828,109,59,1,10832,111,116,59,1,267,4,3,100,109,110,8088,8097,8104,105,108,5,184,1,59,8095,1,184,112,116,121,118,59,1,10674,116,5,162,2,59,101,8112,8114,1,162,114,100,111,116,59,1,183,114,59,3,55349,56608,4,3,99,101,105,8134,8138,8154,121,59,1,1095,99,107,4,2,59,109,8146,8148,1,10003,97,114,107,59,1,10003,59,1,967,114,4,7,59,69,99,101,102,109,115,8174,8176,8179,8258,8261,8268,8273,1,9675,59,1,10691,4,3,59,101,108,8187,8189,8193,1,710,113,59,1,8791,101,4,2,97,100,8200,8223,114,114,111,119,4,2,108,114,8210,8216,101,102,116,59,1,8634,105,103,104,116,59,1,8635,4,5,82,83,97,99,100,8235,8238,8241,8246,8252,59,1,174,59,1,9416,115,116,59,1,8859,105,114,99,59,1,8858,97,115,104,59,1,8861,59,1,8791,110,105,110,116,59,1,10768,105,100,59,1,10991,99,105,114,59,1,10690,117,98,115,4,2,59,117,8288,8290,1,9827,105,116,59,1,9827,4,4,108,109,110,112,8305,8326,8376,8400,111,110,4,2,59,101,8313,8315,1,58,4,2,59,113,8321,8323,1,8788,59,1,8788,4,2,109,112,8332,8344,97,4,2,59,116,8339,8341,1,44,59,1,64,4,3,59,102,108,8352,8354,8358,1,8705,110,59,1,8728,101,4,2,109,120,8365,8371,101,110,116,59,1,8705,101,115,59,1,8450,4,2,103,105,8382,8395,4,2,59,100,8388,8390,1,8773,111,116,59,1,10861,110,116,59,1,8750,4,3,102,114,121,8408,8412,8417,59,3,55349,56660,111,100,59,1,8720,5,169,2,59,115,8424,8426,1,169,114,59,1,8471,4,2,97,111,8436,8441,114,114,59,1,8629,115,115,59,1,10007,4,2,99,117,8452,8457,114,59,3,55349,56504,4,2,98,112,8463,8474,4,2,59,101,8469,8471,1,10959,59,1,10961,4,2,59,101,8480,8482,1,10960,59,1,10962,100,111,116,59,1,8943,4,7,100,101,108,112,114,118,119,8507,8522,8536,8550,8600,8697,8702,97,114,114,4,2,108,114,8516,8519,59,1,10552,59,1,10549,4,2,112,115,8528,8532,114,59,1,8926,99,59,1,8927,97,114,114,4,2,59,112,8545,8547,1,8630,59,1,10557,4,6,59,98,99,100,111,115,8564,8566,8573,8587,8592,8596,1,8746,114,99,97,112,59,1,10824,4,2,97,117,8579,8583,112,59,1,10822,112,59,1,10826,111,116,59,1,8845,114,59,1,10821,59,3,8746,65024,4,4,97,108,114,118,8610,8623,8663,8672,114,114,4,2,59,109,8618,8620,1,8631,59,1,10556,121,4,3,101,118,119,8632,8651,8656,113,4,2,112,115,8639,8645,114,101,99,59,1,8926,117,99,99,59,1,8927,101,101,59,1,8910,101,100,103,101,59,1,8911,101,110,5,164,1,59,8670,1,164,101,97,114,114,111,119,4,2,108,114,8684,8690,101,102,116,59,1,8630,105,103,104,116,59,1,8631,101,101,59,1,8910,101,100,59,1,8911,4,2,99,105,8713,8721,111,110,105,110,116,59,1,8754,110,116,59,1,8753,108,99,116,121,59,1,9005,4,19,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8773,8778,8783,8821,8839,8854,8887,8914,8930,8944,9036,9041,9058,9197,9227,9258,9281,9297,9305,114,114,59,1,8659,97,114,59,1,10597,4,4,103,108,114,115,8793,8799,8805,8809,103,101,114,59,1,8224,101,116,104,59,1,8504,114,59,1,8595,104,4,2,59,118,8816,8818,1,8208,59,1,8867,4,2,107,108,8827,8834,97,114,111,119,59,1,10511,97,99,59,1,733,4,2,97,121,8845,8851,114,111,110,59,1,271,59,1,1076,4,3,59,97,111,8862,8864,8880,1,8518,4,2,103,114,8870,8876,103,101,114,59,1,8225,114,59,1,8650,116,115,101,113,59,1,10871,4,3,103,108,109,8895,8902,8907,5,176,1,59,8900,1,176,116,97,59,1,948,112,116,121,118,59,1,10673,4,2,105,114,8920,8926,115,104,116,59,1,10623,59,3,55349,56609,97,114,4,2,108,114,8938,8941,59,1,8643,59,1,8642,4,5,97,101,103,115,118,8956,8986,8989,8996,9001,109,4,3,59,111,115,8965,8967,8983,1,8900,110,100,4,2,59,115,8975,8977,1,8900,117,105,116,59,1,9830,59,1,9830,59,1,168,97,109,109,97,59,1,989,105,110,59,1,8946,4,3,59,105,111,9009,9011,9031,1,247,100,101,5,247,2,59,111,9020,9022,1,247,110,116,105,109,101,115,59,1,8903,110,120,59,1,8903,99,121,59,1,1106,99,4,2,111,114,9048,9053,114,110,59,1,8990,111,112,59,1,8973,4,5,108,112,116,117,119,9070,9076,9081,9130,9144,108,97,114,59,1,36,102,59,3,55349,56661,4,5,59,101,109,112,115,9093,9095,9109,9116,9122,1,729,113,4,2,59,100,9102,9104,1,8784,111,116,59,1,8785,105,110,117,115,59,1,8760,108,117,115,59,1,8724,113,117,97,114,101,59,1,8865,98,108,101,98,97,114,119,101,100,103,101,59,1,8966,110,4,3,97,100,104,9153,9160,9172,114,114,111,119,59,1,8595,111,119,110,97,114,114,111,119,115,59,1,8650,97,114,112,111,111,110,4,2,108,114,9184,9190,101,102,116,59,1,8643,105,103,104,116,59,1,8642,4,2,98,99,9203,9211,107,97,114,111,119,59,1,10512,4,2,111,114,9217,9222,114,110,59,1,8991,111,112,59,1,8972,4,3,99,111,116,9235,9248,9252,4,2,114,121,9241,9245,59,3,55349,56505,59,1,1109,108,59,1,10742,114,111,107,59,1,273,4,2,100,114,9264,9269,111,116,59,1,8945,105,4,2,59,102,9276,9278,1,9663,59,1,9662,4,2,97,104,9287,9292,114,114,59,1,8693,97,114,59,1,10607,97,110,103,108,101,59,1,10662,4,2,99,105,9311,9315,121,59,1,1119,103,114,97,114,114,59,1,10239,4,18,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,9361,9376,9398,9439,9444,9447,9462,9495,9531,9585,9598,9614,9659,9755,9771,9792,9808,9826,4,2,68,111,9367,9372,111,116,59,1,10871,116,59,1,8785,4,2,99,115,9382,9392,117,116,101,5,233,1,59,9390,1,233,116,101,114,59,1,10862,4,4,97,105,111,121,9408,9414,9430,9436,114,111,110,59,1,283,114,4,2,59,99,9421,9423,1,8790,5,234,1,59,9428,1,234,108,111,110,59,1,8789,59,1,1101,111,116,59,1,279,59,1,8519,4,2,68,114,9453,9458,111,116,59,1,8786,59,3,55349,56610,4,3,59,114,115,9470,9472,9482,1,10906,97,118,101,5,232,1,59,9480,1,232,4,2,59,100,9488,9490,1,10902,111,116,59,1,10904,4,4,59,105,108,115,9505,9507,9515,9518,1,10905,110,116,101,114,115,59,1,9191,59,1,8467,4,2,59,100,9524,9526,1,10901,111,116,59,1,10903,4,3,97,112,115,9539,9544,9564,99,114,59,1,275,116,121,4,3,59,115,118,9554,9556,9561,1,8709,101,116,59,1,8709,59,1,8709,112,4,2,49,59,9571,9583,4,2,51,52,9577,9580,59,1,8196,59,1,8197,1,8195,4,2,103,115,9591,9594,59,1,331,112,59,1,8194,4,2,103,112,9604,9609,111,110,59,1,281,102,59,3,55349,56662,4,3,97,108,115,9622,9635,9640,114,4,2,59,115,9629,9631,1,8917,108,59,1,10723,117,115,59,1,10865,105,4,3,59,108,118,9649,9651,9656,1,949,111,110,59,1,949,59,1,1013,4,4,99,115,117,118,9669,9686,9716,9747,4,2,105,111,9675,9680,114,99,59,1,8790,108,111,110,59,1,8789,4,2,105,108,9692,9696,109,59,1,8770,97,110,116,4,2,103,108,9705,9710,116,114,59,1,10902,101,115,115,59,1,10901,4,3,97,101,105,9724,9729,9734,108,115,59,1,61,115,116,59,1,8799,118,4,2,59,68,9741,9743,1,8801,68,59,1,10872,112,97,114,115,108,59,1,10725,4,2,68,97,9761,9766,111,116,59,1,8787,114,114,59,1,10609,4,3,99,100,105,9779,9783,9788,114,59,1,8495,111,116,59,1,8784,109,59,1,8770,4,2,97,104,9798,9801,59,1,951,5,240,1,59,9806,1,240,4,2,109,114,9814,9822,108,5,235,1,59,9820,1,235,111,59,1,8364,4,3,99,105,112,9834,9838,9843,108,59,1,33,115,116,59,1,8707,4,2,101,111,9849,9859,99,116,97,116,105,111,110,59,1,8496,110,101,110,116,105,97,108,101,59,1,8519,4,12,97,99,101,102,105,106,108,110,111,112,114,115,9896,9910,9914,9921,9954,9960,9967,9989,9994,10027,10036,10164,108,108,105,110,103,100,111,116,115,101,113,59,1,8786,121,59,1,1092,109,97,108,101,59,1,9792,4,3,105,108,114,9929,9935,9950,108,105,103,59,1,64259,4,2,105,108,9941,9945,103,59,1,64256,105,103,59,1,64260,59,3,55349,56611,108,105,103,59,1,64257,108,105,103,59,3,102,106,4,3,97,108,116,9975,9979,9984,116,59,1,9837,105,103,59,1,64258,110,115,59,1,9649,111,102,59,1,402,4,2,112,114,1e4,10005,102,59,3,55349,56663,4,2,97,107,10011,10016,108,108,59,1,8704,4,2,59,118,10022,10024,1,8916,59,1,10969,97,114,116,105,110,116,59,1,10765,4,2,97,111,10042,10159,4,2,99,115,10048,10155,4,6,49,50,51,52,53,55,10062,10102,10114,10135,10139,10151,4,6,50,51,52,53,54,56,10076,10083,10086,10093,10096,10099,5,189,1,59,10081,1,189,59,1,8531,5,188,1,59,10091,1,188,59,1,8533,59,1,8537,59,1,8539,4,2,51,53,10108,10111,59,1,8532,59,1,8534,4,3,52,53,56,10122,10129,10132,5,190,1,59,10127,1,190,59,1,8535,59,1,8540,53,59,1,8536,4,2,54,56,10145,10148,59,1,8538,59,1,8541,56,59,1,8542,108,59,1,8260,119,110,59,1,8994,99,114,59,3,55349,56507,4,17,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,10206,10217,10247,10254,10268,10273,10358,10363,10374,10380,10385,10406,10458,10464,10470,10497,10610,4,2,59,108,10212,10214,1,8807,59,1,10892,4,3,99,109,112,10225,10231,10244,117,116,101,59,1,501,109,97,4,2,59,100,10239,10241,1,947,59,1,989,59,1,10886,114,101,118,101,59,1,287,4,2,105,121,10260,10265,114,99,59,1,285,59,1,1075,111,116,59,1,289,4,4,59,108,113,115,10283,10285,10288,10308,1,8805,59,1,8923,4,3,59,113,115,10296,10298,10301,1,8805,59,1,8807,108,97,110,116,59,1,10878,4,4,59,99,100,108,10318,10320,10324,10345,1,10878,99,59,1,10921,111,116,4,2,59,111,10332,10334,1,10880,4,2,59,108,10340,10342,1,10882,59,1,10884,4,2,59,101,10351,10354,3,8923,65024,115,59,1,10900,114,59,3,55349,56612,4,2,59,103,10369,10371,1,8811,59,1,8921,109,101,108,59,1,8503,99,121,59,1,1107,4,4,59,69,97,106,10395,10397,10400,10403,1,8823,59,1,10898,59,1,10917,59,1,10916,4,4,69,97,101,115,10416,10419,10434,10453,59,1,8809,112,4,2,59,112,10426,10428,1,10890,114,111,120,59,1,10890,4,2,59,113,10440,10442,1,10888,4,2,59,113,10448,10450,1,10888,59,1,8809,105,109,59,1,8935,112,102,59,3,55349,56664,97,118,101,59,1,96,4,2,99,105,10476,10480,114,59,1,8458,109,4,3,59,101,108,10489,10491,10494,1,8819,59,1,10894,59,1,10896,5,62,6,59,99,100,108,113,114,10512,10514,10527,10532,10538,10545,1,62,4,2,99,105,10520,10523,59,1,10919,114,59,1,10874,111,116,59,1,8919,80,97,114,59,1,10645,117,101,115,116,59,1,10876,4,5,97,100,101,108,115,10557,10574,10579,10599,10605,4,2,112,114,10563,10570,112,114,111,120,59,1,10886,114,59,1,10616,111,116,59,1,8919,113,4,2,108,113,10586,10592,101,115,115,59,1,8923,108,101,115,115,59,1,10892,101,115,115,59,1,8823,105,109,59,1,8819,4,2,101,110,10616,10626,114,116,110,101,113,113,59,3,8809,65024,69,59,3,8809,65024,4,10,65,97,98,99,101,102,107,111,115,121,10653,10658,10713,10718,10724,10760,10765,10786,10850,10875,114,114,59,1,8660,4,4,105,108,109,114,10668,10674,10678,10684,114,115,112,59,1,8202,102,59,1,189,105,108,116,59,1,8459,4,2,100,114,10690,10695,99,121,59,1,1098,4,3,59,99,119,10703,10705,10710,1,8596,105,114,59,1,10568,59,1,8621,97,114,59,1,8463,105,114,99,59,1,293,4,3,97,108,114,10732,10748,10754,114,116,115,4,2,59,117,10741,10743,1,9829,105,116,59,1,9829,108,105,112,59,1,8230,99,111,110,59,1,8889,114,59,3,55349,56613,115,4,2,101,119,10772,10779,97,114,111,119,59,1,10533,97,114,111,119,59,1,10534,4,5,97,109,111,112,114,10798,10803,10809,10839,10844,114,114,59,1,8703,116,104,116,59,1,8763,107,4,2,108,114,10816,10827,101,102,116,97,114,114,111,119,59,1,8617,105,103,104,116,97,114,114,111,119,59,1,8618,102,59,3,55349,56665,98,97,114,59,1,8213,4,3,99,108,116,10858,10863,10869,114,59,3,55349,56509,97,115,104,59,1,8463,114,111,107,59,1,295,4,2,98,112,10881,10887,117,108,108,59,1,8259,104,101,110,59,1,8208,4,15,97,99,101,102,103,105,106,109,110,111,112,113,115,116,117,10925,10936,10958,10977,10990,11001,11039,11045,11101,11192,11220,11226,11237,11285,11299,99,117,116,101,5,237,1,59,10934,1,237,4,3,59,105,121,10944,10946,10955,1,8291,114,99,5,238,1,59,10953,1,238,59,1,1080,4,2,99,120,10964,10968,121,59,1,1077,99,108,5,161,1,59,10975,1,161,4,2,102,114,10983,10986,59,1,8660,59,3,55349,56614,114,97,118,101,5,236,1,59,10999,1,236,4,4,59,105,110,111,11011,11013,11028,11034,1,8520,4,2,105,110,11019,11024,110,116,59,1,10764,116,59,1,8749,102,105,110,59,1,10716,116,97,59,1,8489,108,105,103,59,1,307,4,3,97,111,112,11053,11092,11096,4,3,99,103,116,11061,11065,11088,114,59,1,299,4,3,101,108,112,11073,11076,11082,59,1,8465,105,110,101,59,1,8464,97,114,116,59,1,8465,104,59,1,305,102,59,1,8887,101,100,59,1,437,4,5,59,99,102,111,116,11113,11115,11121,11136,11142,1,8712,97,114,101,59,1,8453,105,110,4,2,59,116,11129,11131,1,8734,105,101,59,1,10717,100,111,116,59,1,305,4,5,59,99,101,108,112,11154,11156,11161,11179,11186,1,8747,97,108,59,1,8890,4,2,103,114,11167,11173,101,114,115,59,1,8484,99,97,108,59,1,8890,97,114,104,107,59,1,10775,114,111,100,59,1,10812,4,4,99,103,112,116,11202,11206,11211,11216,121,59,1,1105,111,110,59,1,303,102,59,3,55349,56666,97,59,1,953,114,111,100,59,1,10812,117,101,115,116,5,191,1,59,11235,1,191,4,2,99,105,11243,11248,114,59,3,55349,56510,110,4,5,59,69,100,115,118,11261,11263,11266,11271,11282,1,8712,59,1,8953,111,116,59,1,8949,4,2,59,118,11277,11279,1,8948,59,1,8947,59,1,8712,4,2,59,105,11291,11293,1,8290,108,100,101,59,1,297,4,2,107,109,11305,11310,99,121,59,1,1110,108,5,239,1,59,11316,1,239,4,6,99,102,109,111,115,117,11332,11346,11351,11357,11363,11380,4,2,105,121,11338,11343,114,99,59,1,309,59,1,1081,114,59,3,55349,56615,97,116,104,59,1,567,112,102,59,3,55349,56667,4,2,99,101,11369,11374,114,59,3,55349,56511,114,99,121,59,1,1112,107,99,121,59,1,1108,4,8,97,99,102,103,104,106,111,115,11404,11418,11433,11438,11445,11450,11455,11461,112,112,97,4,2,59,118,11413,11415,1,954,59,1,1008,4,2,101,121,11424,11430,100,105,108,59,1,311,59,1,1082,114,59,3,55349,56616,114,101,101,110,59,1,312,99,121,59,1,1093,99,121,59,1,1116,112,102,59,3,55349,56668,99,114,59,3,55349,56512,4,23,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,11515,11538,11544,11555,11560,11721,11780,11818,11868,12136,12160,12171,12203,12208,12246,12275,12327,12509,12523,12569,12641,12732,12752,4,3,97,114,116,11523,11528,11532,114,114,59,1,8666,114,59,1,8656,97,105,108,59,1,10523,97,114,114,59,1,10510,4,2,59,103,11550,11552,1,8806,59,1,10891,97,114,59,1,10594,4,9,99,101,103,109,110,112,113,114,116,11580,11586,11594,11600,11606,11624,11627,11636,11694,117,116,101,59,1,314,109,112,116,121,118,59,1,10676,114,97,110,59,1,8466,98,100,97,59,1,955,103,4,3,59,100,108,11615,11617,11620,1,10216,59,1,10641,101,59,1,10216,59,1,10885,117,111,5,171,1,59,11634,1,171,114,4,8,59,98,102,104,108,112,115,116,11655,11657,11669,11673,11677,11681,11685,11690,1,8592,4,2,59,102,11663,11665,1,8676,115,59,1,10527,115,59,1,10525,107,59,1,8617,112,59,1,8619,108,59,1,10553,105,109,59,1,10611,108,59,1,8610,4,3,59,97,101,11702,11704,11709,1,10923,105,108,59,1,10521,4,2,59,115,11715,11717,1,10925,59,3,10925,65024,4,3,97,98,114,11729,11734,11739,114,114,59,1,10508,114,107,59,1,10098,4,2,97,107,11745,11758,99,4,2,101,107,11752,11755,59,1,123,59,1,91,4,2,101,115,11764,11767,59,1,10635,108,4,2,100,117,11774,11777,59,1,10639,59,1,10637,4,4,97,101,117,121,11790,11796,11811,11815,114,111,110,59,1,318,4,2,100,105,11802,11807,105,108,59,1,316,108,59,1,8968,98,59,1,123,59,1,1083,4,4,99,113,114,115,11828,11832,11845,11864,97,59,1,10550,117,111,4,2,59,114,11840,11842,1,8220,59,1,8222,4,2,100,117,11851,11857,104,97,114,59,1,10599,115,104,97,114,59,1,10571,104,59,1,8626,4,5,59,102,103,113,115,11880,11882,12008,12011,12031,1,8804,116,4,5,97,104,108,114,116,11895,11913,11935,11947,11996,114,114,111,119,4,2,59,116,11905,11907,1,8592,97,105,108,59,1,8610,97,114,112,111,111,110,4,2,100,117,11925,11931,111,119,110,59,1,8637,112,59,1,8636,101,102,116,97,114,114,111,119,115,59,1,8647,105,103,104,116,4,3,97,104,115,11959,11974,11984,114,114,111,119,4,2,59,115,11969,11971,1,8596,59,1,8646,97,114,112,111,111,110,115,59,1,8651,113,117,105,103,97,114,114,111,119,59,1,8621,104,114,101,101,116,105,109,101,115,59,1,8907,59,1,8922,4,3,59,113,115,12019,12021,12024,1,8804,59,1,8806,108,97,110,116,59,1,10877,4,5,59,99,100,103,115,12043,12045,12049,12070,12083,1,10877,99,59,1,10920,111,116,4,2,59,111,12057,12059,1,10879,4,2,59,114,12065,12067,1,10881,59,1,10883,4,2,59,101,12076,12079,3,8922,65024,115,59,1,10899,4,5,97,100,101,103,115,12095,12103,12108,12126,12131,112,112,114,111,120,59,1,10885,111,116,59,1,8918,113,4,2,103,113,12115,12120,116,114,59,1,8922,103,116,114,59,1,10891,116,114,59,1,8822,105,109,59,1,8818,4,3,105,108,114,12144,12150,12156,115,104,116,59,1,10620,111,111,114,59,1,8970,59,3,55349,56617,4,2,59,69,12166,12168,1,8822,59,1,10897,4,2,97,98,12177,12198,114,4,2,100,117,12184,12187,59,1,8637,4,2,59,108,12193,12195,1,8636,59,1,10602,108,107,59,1,9604,99,121,59,1,1113,4,5,59,97,99,104,116,12220,12222,12227,12235,12241,1,8810,114,114,59,1,8647,111,114,110,101,114,59,1,8990,97,114,100,59,1,10603,114,105,59,1,9722,4,2,105,111,12252,12258,100,111,116,59,1,320,117,115,116,4,2,59,97,12267,12269,1,9136,99,104,101,59,1,9136,4,4,69,97,101,115,12285,12288,12303,12322,59,1,8808,112,4,2,59,112,12295,12297,1,10889,114,111,120,59,1,10889,4,2,59,113,12309,12311,1,10887,4,2,59,113,12317,12319,1,10887,59,1,8808,105,109,59,1,8934,4,8,97,98,110,111,112,116,119,122,12345,12359,12364,12421,12446,12467,12474,12490,4,2,110,114,12351,12355,103,59,1,10220,114,59,1,8701,114,107,59,1,10214,103,4,3,108,109,114,12373,12401,12409,101,102,116,4,2,97,114,12382,12389,114,114,111,119,59,1,10229,105,103,104,116,97,114,114,111,119,59,1,10231,97,112,115,116,111,59,1,10236,105,103,104,116,97,114,114,111,119,59,1,10230,112,97,114,114,111,119,4,2,108,114,12433,12439,101,102,116,59,1,8619,105,103,104,116,59,1,8620,4,3,97,102,108,12454,12458,12462,114,59,1,10629,59,3,55349,56669,117,115,59,1,10797,105,109,101,115,59,1,10804,4,2,97,98,12480,12485,115,116,59,1,8727,97,114,59,1,95,4,3,59,101,102,12498,12500,12506,1,9674,110,103,101,59,1,9674,59,1,10731,97,114,4,2,59,108,12517,12519,1,40,116,59,1,10643,4,5,97,99,104,109,116,12535,12540,12548,12561,12564,114,114,59,1,8646,111,114,110,101,114,59,1,8991,97,114,4,2,59,100,12556,12558,1,8651,59,1,10605,59,1,8206,114,105,59,1,8895,4,6,97,99,104,105,113,116,12583,12589,12594,12597,12614,12635,113,117,111,59,1,8249,114,59,3,55349,56513,59,1,8624,109,4,3,59,101,103,12606,12608,12611,1,8818,59,1,10893,59,1,10895,4,2,98,117,12620,12623,59,1,91,111,4,2,59,114,12630,12632,1,8216,59,1,8218,114,111,107,59,1,322,5,60,8,59,99,100,104,105,108,113,114,12660,12662,12675,12680,12686,12692,12698,12705,1,60,4,2,99,105,12668,12671,59,1,10918,114,59,1,10873,111,116,59,1,8918,114,101,101,59,1,8907,109,101,115,59,1,8905,97,114,114,59,1,10614,117,101,115,116,59,1,10875,4,2,80,105,12711,12716,97,114,59,1,10646,4,3,59,101,102,12724,12726,12729,1,9667,59,1,8884,59,1,9666,114,4,2,100,117,12739,12746,115,104,97,114,59,1,10570,104,97,114,59,1,10598,4,2,101,110,12758,12768,114,116,110,101,113,113,59,3,8808,65024,69,59,3,8808,65024,4,14,68,97,99,100,101,102,104,105,108,110,111,112,115,117,12803,12809,12893,12908,12914,12928,12933,12937,13011,13025,13032,13049,13052,13069,68,111,116,59,1,8762,4,4,99,108,112,114,12819,12827,12849,12887,114,5,175,1,59,12825,1,175,4,2,101,116,12833,12836,59,1,9794,4,2,59,101,12842,12844,1,10016,115,101,59,1,10016,4,2,59,115,12855,12857,1,8614,116,111,4,4,59,100,108,117,12869,12871,12877,12883,1,8614,111,119,110,59,1,8615,101,102,116,59,1,8612,112,59,1,8613,107,101,114,59,1,9646,4,2,111,121,12899,12905,109,109,97,59,1,10793,59,1,1084,97,115,104,59,1,8212,97,115,117,114,101,100,97,110,103,108,101,59,1,8737,114,59,3,55349,56618,111,59,1,8487,4,3,99,100,110,12945,12954,12985,114,111,5,181,1,59,12952,1,181,4,4,59,97,99,100,12964,12966,12971,12976,1,8739,115,116,59,1,42,105,114,59,1,10992,111,116,5,183,1,59,12983,1,183,117,115,4,3,59,98,100,12995,12997,13e3,1,8722,59,1,8863,4,2,59,117,13006,13008,1,8760,59,1,10794,4,2,99,100,13017,13021,112,59,1,10971,114,59,1,8230,112,108,117,115,59,1,8723,4,2,100,112,13038,13044,101,108,115,59,1,8871,102,59,3,55349,56670,59,1,8723,4,2,99,116,13058,13063,114,59,3,55349,56514,112,111,115,59,1,8766,4,3,59,108,109,13077,13079,13087,1,956,116,105,109,97,112,59,1,8888,97,112,59,1,8888,4,24,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,13142,13165,13217,13229,13247,13330,13359,13414,13420,13508,13513,13579,13602,13626,13631,13762,13767,13855,13936,13995,14214,14285,14312,14432,4,2,103,116,13148,13152,59,3,8921,824,4,2,59,118,13158,13161,3,8811,8402,59,3,8811,824,4,3,101,108,116,13173,13200,13204,102,116,4,2,97,114,13181,13188,114,114,111,119,59,1,8653,105,103,104,116,97,114,114,111,119,59,1,8654,59,3,8920,824,4,2,59,118,13210,13213,3,8810,8402,59,3,8810,824,105,103,104,116,97,114,114,111,119,59,1,8655,4,2,68,100,13235,13241,97,115,104,59,1,8879,97,115,104,59,1,8878,4,5,98,99,110,112,116,13259,13264,13270,13275,13308,108,97,59,1,8711,117,116,101,59,1,324,103,59,3,8736,8402,4,5,59,69,105,111,112,13287,13289,13293,13298,13302,1,8777,59,3,10864,824,100,59,3,8779,824,115,59,1,329,114,111,120,59,1,8777,117,114,4,2,59,97,13316,13318,1,9838,108,4,2,59,115,13325,13327,1,9838,59,1,8469,4,2,115,117,13336,13344,112,5,160,1,59,13342,1,160,109,112,4,2,59,101,13352,13355,3,8782,824,59,3,8783,824,4,5,97,101,111,117,121,13371,13385,13391,13407,13411,4,2,112,114,13377,13380,59,1,10819,111,110,59,1,328,100,105,108,59,1,326,110,103,4,2,59,100,13399,13401,1,8775,111,116,59,3,10861,824,112,59,1,10818,59,1,1085,97,115,104,59,1,8211,4,7,59,65,97,100,113,115,120,13436,13438,13443,13466,13472,13478,13494,1,8800,114,114,59,1,8663,114,4,2,104,114,13450,13454,107,59,1,10532,4,2,59,111,13460,13462,1,8599,119,59,1,8599,111,116,59,3,8784,824,117,105,118,59,1,8802,4,2,101,105,13484,13489,97,114,59,1,10536,109,59,3,8770,824,105,115,116,4,2,59,115,13503,13505,1,8708,59,1,8708,114,59,3,55349,56619,4,4,69,101,115,116,13523,13527,13563,13568,59,3,8807,824,4,3,59,113,115,13535,13537,13559,1,8817,4,3,59,113,115,13545,13547,13551,1,8817,59,3,8807,824,108,97,110,116,59,3,10878,824,59,3,10878,824,105,109,59,1,8821,4,2,59,114,13574,13576,1,8815,59,1,8815,4,3,65,97,112,13587,13592,13597,114,114,59,1,8654,114,114,59,1,8622,97,114,59,1,10994,4,3,59,115,118,13610,13612,13623,1,8715,4,2,59,100,13618,13620,1,8956,59,1,8954,59,1,8715,99,121,59,1,1114,4,7,65,69,97,100,101,115,116,13647,13652,13656,13661,13665,13737,13742,114,114,59,1,8653,59,3,8806,824,114,114,59,1,8602,114,59,1,8229,4,4,59,102,113,115,13675,13677,13703,13725,1,8816,116,4,2,97,114,13684,13691,114,114,111,119,59,1,8602,105,103,104,116,97,114,114,111,119,59,1,8622,4,3,59,113,115,13711,13713,13717,1,8816,59,3,8806,824,108,97,110,116,59,3,10877,824,4,2,59,115,13731,13734,3,10877,824,59,1,8814,105,109,59,1,8820,4,2,59,114,13748,13750,1,8814,105,4,2,59,101,13757,13759,1,8938,59,1,8940,105,100,59,1,8740,4,2,112,116,13773,13778,102,59,3,55349,56671,5,172,3,59,105,110,13787,13789,13829,1,172,110,4,4,59,69,100,118,13800,13802,13806,13812,1,8713,59,3,8953,824,111,116,59,3,8949,824,4,3,97,98,99,13820,13823,13826,59,1,8713,59,1,8951,59,1,8950,105,4,2,59,118,13836,13838,1,8716,4,3,97,98,99,13846,13849,13852,59,1,8716,59,1,8958,59,1,8957,4,3,97,111,114,13863,13892,13899,114,4,4,59,97,115,116,13874,13876,13883,13888,1,8742,108,108,101,108,59,1,8742,108,59,3,11005,8421,59,3,8706,824,108,105,110,116,59,1,10772,4,3,59,99,101,13907,13909,13914,1,8832,117,101,59,1,8928,4,2,59,99,13920,13923,3,10927,824,4,2,59,101,13929,13931,1,8832,113,59,3,10927,824,4,4,65,97,105,116,13946,13951,13971,13982,114,114,59,1,8655,114,114,4,3,59,99,119,13961,13963,13967,1,8603,59,3,10547,824,59,3,8605,824,103,104,116,97,114,114,111,119,59,1,8603,114,105,4,2,59,101,13990,13992,1,8939,59,1,8941,4,7,99,104,105,109,112,113,117,14011,14036,14060,14080,14085,14090,14106,4,4,59,99,101,114,14021,14023,14028,14032,1,8833,117,101,59,1,8929,59,3,10928,824,59,3,55349,56515,111,114,116,4,2,109,112,14045,14050,105,100,59,1,8740,97,114,97,108,108,101,108,59,1,8742,109,4,2,59,101,14067,14069,1,8769,4,2,59,113,14075,14077,1,8772,59,1,8772,105,100,59,1,8740,97,114,59,1,8742,115,117,4,2,98,112,14098,14102,101,59,1,8930,101,59,1,8931,4,3,98,99,112,14114,14157,14171,4,4,59,69,101,115,14124,14126,14130,14133,1,8836,59,3,10949,824,59,1,8840,101,116,4,2,59,101,14141,14144,3,8834,8402,113,4,2,59,113,14151,14153,1,8840,59,3,10949,824,99,4,2,59,101,14164,14166,1,8833,113,59,3,10928,824,4,4,59,69,101,115,14181,14183,14187,14190,1,8837,59,3,10950,824,59,1,8841,101,116,4,2,59,101,14198,14201,3,8835,8402,113,4,2,59,113,14208,14210,1,8841,59,3,10950,824,4,4,103,105,108,114,14224,14228,14238,14242,108,59,1,8825,108,100,101,5,241,1,59,14236,1,241,103,59,1,8824,105,97,110,103,108,101,4,2,108,114,14254,14269,101,102,116,4,2,59,101,14263,14265,1,8938,113,59,1,8940,105,103,104,116,4,2,59,101,14279,14281,1,8939,113,59,1,8941,4,2,59,109,14291,14293,1,957,4,3,59,101,115,14301,14303,14308,1,35,114,111,59,1,8470,112,59,1,8199,4,9,68,72,97,100,103,105,108,114,115,14332,14338,14344,14349,14355,14369,14376,14408,14426,97,115,104,59,1,8877,97,114,114,59,1,10500,112,59,3,8781,8402,97,115,104,59,1,8876,4,2,101,116,14361,14365,59,3,8805,8402,59,3,62,8402,110,102,105,110,59,1,10718,4,3,65,101,116,14384,14389,14393,114,114,59,1,10498,59,3,8804,8402,4,2,59,114,14399,14402,3,60,8402,105,101,59,3,8884,8402,4,2,65,116,14414,14419,114,114,59,1,10499,114,105,101,59,3,8885,8402,105,109,59,3,8764,8402,4,3,65,97,110,14440,14445,14468,114,114,59,1,8662,114,4,2,104,114,14452,14456,107,59,1,10531,4,2,59,111,14462,14464,1,8598,119,59,1,8598,101,97,114,59,1,10535,4,18,83,97,99,100,101,102,103,104,105,108,109,111,112,114,115,116,117,118,14512,14515,14535,14560,14597,14603,14618,14643,14657,14662,14701,14741,14747,14769,14851,14877,14907,14916,59,1,9416,4,2,99,115,14521,14531,117,116,101,5,243,1,59,14529,1,243,116,59,1,8859,4,2,105,121,14541,14557,114,4,2,59,99,14548,14550,1,8858,5,244,1,59,14555,1,244,59,1,1086,4,5,97,98,105,111,115,14572,14577,14583,14587,14591,115,104,59,1,8861,108,97,99,59,1,337,118,59,1,10808,116,59,1,8857,111,108,100,59,1,10684,108,105,103,59,1,339,4,2,99,114,14609,14614,105,114,59,1,10687,59,3,55349,56620,4,3,111,114,116,14626,14630,14640,110,59,1,731,97,118,101,5,242,1,59,14638,1,242,59,1,10689,4,2,98,109,14649,14654,97,114,59,1,10677,59,1,937,110,116,59,1,8750,4,4,97,99,105,116,14672,14677,14693,14698,114,114,59,1,8634,4,2,105,114,14683,14687,114,59,1,10686,111,115,115,59,1,10683,110,101,59,1,8254,59,1,10688,4,3,97,101,105,14709,14714,14719,99,114,59,1,333,103,97,59,1,969,4,3,99,100,110,14727,14733,14736,114,111,110,59,1,959,59,1,10678,117,115,59,1,8854,112,102,59,3,55349,56672,4,3,97,101,108,14755,14759,14764,114,59,1,10679,114,112,59,1,10681,117,115,59,1,8853,4,7,59,97,100,105,111,115,118,14785,14787,14792,14831,14837,14841,14848,1,8744,114,114,59,1,8635,4,4,59,101,102,109,14802,14804,14817,14824,1,10845,114,4,2,59,111,14811,14813,1,8500,102,59,1,8500,5,170,1,59,14822,1,170,5,186,1,59,14829,1,186,103,111,102,59,1,8886,114,59,1,10838,108,111,112,101,59,1,10839,59,1,10843,4,3,99,108,111,14859,14863,14873,114,59,1,8500,97,115,104,5,248,1,59,14871,1,248,108,59,1,8856,105,4,2,108,109,14884,14893,100,101,5,245,1,59,14891,1,245,101,115,4,2,59,97,14901,14903,1,8855,115,59,1,10806,109,108,5,246,1,59,14914,1,246,98,97,114,59,1,9021,4,12,97,99,101,102,104,105,108,109,111,114,115,117,14948,14992,14996,15033,15038,15068,15090,15189,15192,15222,15427,15441,114,4,4,59,97,115,116,14959,14961,14976,14989,1,8741,5,182,2,59,108,14968,14970,1,182,108,101,108,59,1,8741,4,2,105,108,14982,14986,109,59,1,10995,59,1,11005,59,1,8706,121,59,1,1087,114,4,5,99,105,109,112,116,15009,15014,15019,15024,15027,110,116,59,1,37,111,100,59,1,46,105,108,59,1,8240,59,1,8869,101,110,107,59,1,8241,114,59,3,55349,56621,4,3,105,109,111,15046,15057,15063,4,2,59,118,15052,15054,1,966,59,1,981,109,97,116,59,1,8499,110,101,59,1,9742,4,3,59,116,118,15076,15078,15087,1,960,99,104,102,111,114,107,59,1,8916,59,1,982,4,2,97,117,15096,15119,110,4,2,99,107,15103,15115,107,4,2,59,104,15110,15112,1,8463,59,1,8462,118,59,1,8463,115,4,9,59,97,98,99,100,101,109,115,116,15140,15142,15148,15151,15156,15168,15171,15179,15184,1,43,99,105,114,59,1,10787,59,1,8862,105,114,59,1,10786,4,2,111,117,15162,15165,59,1,8724,59,1,10789,59,1,10866,110,5,177,1,59,15177,1,177,105,109,59,1,10790,119,111,59,1,10791,59,1,177,4,3,105,112,117,15200,15208,15213,110,116,105,110,116,59,1,10773,102,59,3,55349,56673,110,100,5,163,1,59,15220,1,163,4,10,59,69,97,99,101,105,110,111,115,117,15244,15246,15249,15253,15258,15334,15347,15367,15416,15421,1,8826,59,1,10931,112,59,1,10935,117,101,59,1,8828,4,2,59,99,15264,15266,1,10927,4,6,59,97,99,101,110,115,15280,15282,15290,15299,15303,15329,1,8826,112,112,114,111,120,59,1,10935,117,114,108,121,101,113,59,1,8828,113,59,1,10927,4,3,97,101,115,15311,15319,15324,112,112,114,111,120,59,1,10937,113,113,59,1,10933,105,109,59,1,8936,105,109,59,1,8830,109,101,4,2,59,115,15342,15344,1,8242,59,1,8473,4,3,69,97,115,15355,15358,15362,59,1,10933,112,59,1,10937,105,109,59,1,8936,4,3,100,102,112,15375,15378,15404,59,1,8719,4,3,97,108,115,15386,15392,15398,108,97,114,59,1,9006,105,110,101,59,1,8978,117,114,102,59,1,8979,4,2,59,116,15410,15412,1,8733,111,59,1,8733,105,109,59,1,8830,114,101,108,59,1,8880,4,2,99,105,15433,15438,114,59,3,55349,56517,59,1,968,110,99,115,112,59,1,8200,4,6,102,105,111,112,115,117,15462,15467,15472,15478,15485,15491,114,59,3,55349,56622,110,116,59,1,10764,112,102,59,3,55349,56674,114,105,109,101,59,1,8279,99,114,59,3,55349,56518,4,3,97,101,111,15499,15520,15534,116,4,2,101,105,15506,15515,114,110,105,111,110,115,59,1,8461,110,116,59,1,10774,115,116,4,2,59,101,15528,15530,1,63,113,59,1,8799,116,5,34,1,59,15540,1,34,4,21,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,15586,15609,15615,15620,15796,15855,15893,15931,15977,16001,16039,16183,16204,16222,16228,16285,16312,16318,16363,16408,16416,4,3,97,114,116,15594,15599,15603,114,114,59,1,8667,114,59,1,8658,97,105,108,59,1,10524,97,114,114,59,1,10511,97,114,59,1,10596,4,7,99,100,101,110,113,114,116,15636,15651,15656,15664,15687,15696,15770,4,2,101,117,15642,15646,59,3,8765,817,116,101,59,1,341,105,99,59,1,8730,109,112,116,121,118,59,1,10675,103,4,4,59,100,101,108,15675,15677,15680,15683,1,10217,59,1,10642,59,1,10661,101,59,1,10217,117,111,5,187,1,59,15694,1,187,114,4,11,59,97,98,99,102,104,108,112,115,116,119,15721,15723,15727,15739,15742,15746,15750,15754,15758,15763,15767,1,8594,112,59,1,10613,4,2,59,102,15733,15735,1,8677,115,59,1,10528,59,1,10547,115,59,1,10526,107,59,1,8618,112,59,1,8620,108,59,1,10565,105,109,59,1,10612,108,59,1,8611,59,1,8605,4,2,97,105,15776,15781,105,108,59,1,10522,111,4,2,59,110,15788,15790,1,8758,97,108,115,59,1,8474,4,3,97,98,114,15804,15809,15814,114,114,59,1,10509,114,107,59,1,10099,4,2,97,107,15820,15833,99,4,2,101,107,15827,15830,59,1,125,59,1,93,4,2,101,115,15839,15842,59,1,10636,108,4,2,100,117,15849,15852,59,1,10638,59,1,10640,4,4,97,101,117,121,15865,15871,15886,15890,114,111,110,59,1,345,4,2,100,105,15877,15882,105,108,59,1,343,108,59,1,8969,98,59,1,125,59,1,1088,4,4,99,108,113,115,15903,15907,15914,15927,97,59,1,10551,100,104,97,114,59,1,10601,117,111,4,2,59,114,15922,15924,1,8221,59,1,8221,104,59,1,8627,4,3,97,99,103,15939,15966,15970,108,4,4,59,105,112,115,15950,15952,15957,15963,1,8476,110,101,59,1,8475,97,114,116,59,1,8476,59,1,8477,116,59,1,9645,5,174,1,59,15975,1,174,4,3,105,108,114,15985,15991,15997,115,104,116,59,1,10621,111,111,114,59,1,8971,59,3,55349,56623,4,2,97,111,16007,16028,114,4,2,100,117,16014,16017,59,1,8641,4,2,59,108,16023,16025,1,8640,59,1,10604,4,2,59,118,16034,16036,1,961,59,1,1009,4,3,103,110,115,16047,16167,16171,104,116,4,6,97,104,108,114,115,116,16063,16081,16103,16130,16143,16155,114,114,111,119,4,2,59,116,16073,16075,1,8594,97,105,108,59,1,8611,97,114,112,111,111,110,4,2,100,117,16093,16099,111,119,110,59,1,8641,112,59,1,8640,101,102,116,4,2,97,104,16112,16120,114,114,111,119,115,59,1,8644,97,114,112,111,111,110,115,59,1,8652,105,103,104,116,97,114,114,111,119,115,59,1,8649,113,117,105,103,97,114,114,111,119,59,1,8605,104,114,101,101,116,105,109,101,115,59,1,8908,103,59,1,730,105,110,103,100,111,116,115,101,113,59,1,8787,4,3,97,104,109,16191,16196,16201,114,114,59,1,8644,97,114,59,1,8652,59,1,8207,111,117,115,116,4,2,59,97,16214,16216,1,9137,99,104,101,59,1,9137,109,105,100,59,1,10990,4,4,97,98,112,116,16238,16252,16257,16278,4,2,110,114,16244,16248,103,59,1,10221,114,59,1,8702,114,107,59,1,10215,4,3,97,102,108,16265,16269,16273,114,59,1,10630,59,3,55349,56675,117,115,59,1,10798,105,109,101,115,59,1,10805,4,2,97,112,16291,16304,114,4,2,59,103,16298,16300,1,41,116,59,1,10644,111,108,105,110,116,59,1,10770,97,114,114,59,1,8649,4,4,97,99,104,113,16328,16334,16339,16342,113,117,111,59,1,8250,114,59,3,55349,56519,59,1,8625,4,2,98,117,16348,16351,59,1,93,111,4,2,59,114,16358,16360,1,8217,59,1,8217,4,3,104,105,114,16371,16377,16383,114,101,101,59,1,8908,109,101,115,59,1,8906,105,4,4,59,101,102,108,16394,16396,16399,16402,1,9657,59,1,8885,59,1,9656,116,114,105,59,1,10702,108,117,104,97,114,59,1,10600,59,1,8478,4,19,97,98,99,100,101,102,104,105,108,109,111,112,113,114,115,116,117,119,122,16459,16466,16472,16572,16590,16672,16687,16746,16844,16850,16924,16963,16988,17115,17121,17154,17206,17614,17656,99,117,116,101,59,1,347,113,117,111,59,1,8218,4,10,59,69,97,99,101,105,110,112,115,121,16494,16496,16499,16513,16518,16531,16536,16556,16564,16569,1,8827,59,1,10932,4,2,112,114,16505,16508,59,1,10936,111,110,59,1,353,117,101,59,1,8829,4,2,59,100,16524,16526,1,10928,105,108,59,1,351,114,99,59,1,349,4,3,69,97,115,16544,16547,16551,59,1,10934,112,59,1,10938,105,109,59,1,8937,111,108,105,110,116,59,1,10771,105,109,59,1,8831,59,1,1089,111,116,4,3,59,98,101,16582,16584,16587,1,8901,59,1,8865,59,1,10854,4,7,65,97,99,109,115,116,120,16606,16611,16634,16642,16646,16652,16668,114,114,59,1,8664,114,4,2,104,114,16618,16622,107,59,1,10533,4,2,59,111,16628,16630,1,8600,119,59,1,8600,116,5,167,1,59,16640,1,167,105,59,1,59,119,97,114,59,1,10537,109,4,2,105,110,16659,16665,110,117,115,59,1,8726,59,1,8726,116,59,1,10038,114,4,2,59,111,16679,16682,3,55349,56624,119,110,59,1,8994,4,4,97,99,111,121,16697,16702,16716,16739,114,112,59,1,9839,4,2,104,121,16708,16713,99,121,59,1,1097,59,1,1096,114,116,4,2,109,112,16724,16729,105,100,59,1,8739,97,114,97,108,108,101,108,59,1,8741,5,173,1,59,16744,1,173,4,2,103,109,16752,16770,109,97,4,3,59,102,118,16762,16764,16767,1,963,59,1,962,59,1,962,4,8,59,100,101,103,108,110,112,114,16788,16790,16795,16806,16817,16828,16832,16838,1,8764,111,116,59,1,10858,4,2,59,113,16801,16803,1,8771,59,1,8771,4,2,59,69,16812,16814,1,10910,59,1,10912,4,2,59,69,16823,16825,1,10909,59,1,10911,101,59,1,8774,108,117,115,59,1,10788,97,114,114,59,1,10610,97,114,114,59,1,8592,4,4,97,101,105,116,16860,16883,16891,16904,4,2,108,115,16866,16878,108,115,101,116,109,105,110,117,115,59,1,8726,104,112,59,1,10803,112,97,114,115,108,59,1,10724,4,2,100,108,16897,16900,59,1,8739,101,59,1,8995,4,2,59,101,16910,16912,1,10922,4,2,59,115,16918,16920,1,10924,59,3,10924,65024,4,3,102,108,112,16932,16938,16958,116,99,121,59,1,1100,4,2,59,98,16944,16946,1,47,4,2,59,97,16952,16954,1,10692,114,59,1,9023,102,59,3,55349,56676,97,4,2,100,114,16970,16985,101,115,4,2,59,117,16978,16980,1,9824,105,116,59,1,9824,59,1,8741,4,3,99,115,117,16996,17028,17089,4,2,97,117,17002,17015,112,4,2,59,115,17009,17011,1,8851,59,3,8851,65024,112,4,2,59,115,17022,17024,1,8852,59,3,8852,65024,117,4,2,98,112,17035,17062,4,3,59,101,115,17043,17045,17048,1,8847,59,1,8849,101,116,4,2,59,101,17056,17058,1,8847,113,59,1,8849,4,3,59,101,115,17070,17072,17075,1,8848,59,1,8850,101,116,4,2,59,101,17083,17085,1,8848,113,59,1,8850,4,3,59,97,102,17097,17099,17112,1,9633,114,4,2,101,102,17106,17109,59,1,9633,59,1,9642,59,1,9642,97,114,114,59,1,8594,4,4,99,101,109,116,17131,17136,17142,17148,114,59,3,55349,56520,116,109,110,59,1,8726,105,108,101,59,1,8995,97,114,102,59,1,8902,4,2,97,114,17160,17172,114,4,2,59,102,17167,17169,1,9734,59,1,9733,4,2,97,110,17178,17202,105,103,104,116,4,2,101,112,17188,17197,112,115,105,108,111,110,59,1,1013,104,105,59,1,981,115,59,1,175,4,5,98,99,109,110,112,17218,17351,17420,17423,17427,4,9,59,69,100,101,109,110,112,114,115,17238,17240,17243,17248,17261,17267,17279,17285,17291,1,8834,59,1,10949,111,116,59,1,10941,4,2,59,100,17254,17256,1,8838,111,116,59,1,10947,117,108,116,59,1,10945,4,2,69,101,17273,17276,59,1,10955,59,1,8842,108,117,115,59,1,10943,97,114,114,59,1,10617,4,3,101,105,117,17299,17335,17339,116,4,3,59,101,110,17308,17310,17322,1,8834,113,4,2,59,113,17317,17319,1,8838,59,1,10949,101,113,4,2,59,113,17330,17332,1,8842,59,1,10955,109,59,1,10951,4,2,98,112,17345,17348,59,1,10965,59,1,10963,99,4,6,59,97,99,101,110,115,17366,17368,17376,17385,17389,17415,1,8827,112,112,114,111,120,59,1,10936,117,114,108,121,101,113,59,1,8829,113,59,1,10928,4,3,97,101,115,17397,17405,17410,112,112,114,111,120,59,1,10938,113,113,59,1,10934,105,109,59,1,8937,105,109,59,1,8831,59,1,8721,103,59,1,9834,4,13,49,50,51,59,69,100,101,104,108,109,110,112,115,17455,17462,17469,17476,17478,17481,17496,17509,17524,17530,17536,17548,17554,5,185,1,59,17460,1,185,5,178,1,59,17467,1,178,5,179,1,59,17474,1,179,1,8835,59,1,10950,4,2,111,115,17487,17491,116,59,1,10942,117,98,59,1,10968,4,2,59,100,17502,17504,1,8839,111,116,59,1,10948,115,4,2,111,117,17516,17520,108,59,1,10185,98,59,1,10967,97,114,114,59,1,10619,117,108,116,59,1,10946,4,2,69,101,17542,17545,59,1,10956,59,1,8843,108,117,115,59,1,10944,4,3,101,105,117,17562,17598,17602,116,4,3,59,101,110,17571,17573,17585,1,8835,113,4,2,59,113,17580,17582,1,8839,59,1,10950,101,113,4,2,59,113,17593,17595,1,8843,59,1,10956,109,59,1,10952,4,2,98,112,17608,17611,59,1,10964,59,1,10966,4,3,65,97,110,17622,17627,17650,114,114,59,1,8665,114,4,2,104,114,17634,17638,107,59,1,10534,4,2,59,111,17644,17646,1,8601,119,59,1,8601,119,97,114,59,1,10538,108,105,103,5,223,1,59,17664,1,223,4,13,97,98,99,100,101,102,104,105,111,112,114,115,119,17694,17709,17714,17737,17742,17749,17754,17860,17905,17957,17964,18090,18122,4,2,114,117,17700,17706,103,101,116,59,1,8982,59,1,964,114,107,59,1,9140,4,3,97,101,121,17722,17728,17734,114,111,110,59,1,357,100,105,108,59,1,355,59,1,1090,111,116,59,1,8411,108,114,101,99,59,1,8981,114,59,3,55349,56625,4,4,101,105,107,111,17764,17805,17836,17851,4,2,114,116,17770,17786,101,4,2,52,102,17777,17780,59,1,8756,111,114,101,59,1,8756,97,4,3,59,115,118,17795,17797,17802,1,952,121,109,59,1,977,59,1,977,4,2,99,110,17811,17831,107,4,2,97,115,17818,17826,112,112,114,111,120,59,1,8776,105,109,59,1,8764,115,112,59,1,8201,4,2,97,115,17842,17846,112,59,1,8776,105,109,59,1,8764,114,110,5,254,1,59,17858,1,254,4,3,108,109,110,17868,17873,17901,100,101,59,1,732,101,115,5,215,3,59,98,100,17884,17886,17898,1,215,4,2,59,97,17892,17894,1,8864,114,59,1,10801,59,1,10800,116,59,1,8749,4,3,101,112,115,17913,17917,17953,97,59,1,10536,4,4,59,98,99,102,17927,17929,17934,17939,1,8868,111,116,59,1,9014,105,114,59,1,10993,4,2,59,111,17945,17948,3,55349,56677,114,107,59,1,10970,97,59,1,10537,114,105,109,101,59,1,8244,4,3,97,105,112,17972,17977,18082,100,101,59,1,8482,4,7,97,100,101,109,112,115,116,17993,18051,18056,18059,18066,18072,18076,110,103,108,101,4,5,59,100,108,113,114,18009,18011,18017,18032,18035,1,9653,111,119,110,59,1,9663,101,102,116,4,2,59,101,18026,18028,1,9667,113,59,1,8884,59,1,8796,105,103,104,116,4,2,59,101,18045,18047,1,9657,113,59,1,8885,111,116,59,1,9708,59,1,8796,105,110,117,115,59,1,10810,108,117,115,59,1,10809,98,59,1,10701,105,109,101,59,1,10811,101,122,105,117,109,59,1,9186,4,3,99,104,116,18098,18111,18116,4,2,114,121,18104,18108,59,3,55349,56521,59,1,1094,99,121,59,1,1115,114,111,107,59,1,359,4,2,105,111,18128,18133,120,116,59,1,8812,104,101,97,100,4,2,108,114,18143,18154,101,102,116,97,114,114,111,119,59,1,8606,105,103,104,116,97,114,114,111,119,59,1,8608,4,18,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,18204,18209,18214,18234,18250,18268,18292,18308,18319,18343,18379,18397,18413,18504,18547,18553,18584,18603,114,114,59,1,8657,97,114,59,1,10595,4,2,99,114,18220,18230,117,116,101,5,250,1,59,18228,1,250,114,59,1,8593,114,4,2,99,101,18241,18245,121,59,1,1118,118,101,59,1,365,4,2,105,121,18256,18265,114,99,5,251,1,59,18263,1,251,59,1,1091,4,3,97,98,104,18276,18281,18287,114,114,59,1,8645,108,97,99,59,1,369,97,114,59,1,10606,4,2,105,114,18298,18304,115,104,116,59,1,10622,59,3,55349,56626,114,97,118,101,5,249,1,59,18317,1,249,4,2,97,98,18325,18338,114,4,2,108,114,18332,18335,59,1,8639,59,1,8638,108,107,59,1,9600,4,2,99,116,18349,18374,4,2,111,114,18355,18369,114,110,4,2,59,101,18363,18365,1,8988,114,59,1,8988,111,112,59,1,8975,114,105,59,1,9720,4,2,97,108,18385,18390,99,114,59,1,363,5,168,1,59,18395,1,168,4,2,103,112,18403,18408,111,110,59,1,371,102,59,3,55349,56678,4,6,97,100,104,108,115,117,18427,18434,18445,18470,18475,18494,114,114,111,119,59,1,8593,111,119,110,97,114,114,111,119,59,1,8597,97,114,112,111,111,110,4,2,108,114,18457,18463,101,102,116,59,1,8639,105,103,104,116,59,1,8638,117,115,59,1,8846,105,4,3,59,104,108,18484,18486,18489,1,965,59,1,978,111,110,59,1,965,112,97,114,114,111,119,115,59,1,8648,4,3,99,105,116,18512,18537,18542,4,2,111,114,18518,18532,114,110,4,2,59,101,18526,18528,1,8989,114,59,1,8989,111,112,59,1,8974,110,103,59,1,367,114,105,59,1,9721,99,114,59,3,55349,56522,4,3,100,105,114,18561,18566,18572,111,116,59,1,8944,108,100,101,59,1,361,105,4,2,59,102,18579,18581,1,9653,59,1,9652,4,2,97,109,18590,18595,114,114,59,1,8648,108,5,252,1,59,18601,1,252,97,110,103,108,101,59,1,10663,4,15,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,18643,18648,18661,18667,18847,18851,18857,18904,18909,18915,18931,18937,18943,18949,18996,114,114,59,1,8661,97,114,4,2,59,118,18656,18658,1,10984,59,1,10985,97,115,104,59,1,8872,4,2,110,114,18673,18679,103,114,116,59,1,10652,4,7,101,107,110,112,114,115,116,18695,18704,18711,18720,18742,18754,18810,112,115,105,108,111,110,59,1,1013,97,112,112,97,59,1,1008,111,116,104,105,110,103,59,1,8709,4,3,104,105,114,18728,18732,18735,105,59,1,981,59,1,982,111,112,116,111,59,1,8733,4,2,59,104,18748,18750,1,8597,111,59,1,1009,4,2,105,117,18760,18766,103,109,97,59,1,962,4,2,98,112,18772,18791,115,101,116,110,101,113,4,2,59,113,18784,18787,3,8842,65024,59,3,10955,65024,115,101,116,110,101,113,4,2,59,113,18803,18806,3,8843,65024,59,3,10956,65024,4,2,104,114,18816,18822,101,116,97,59,1,977,105,97,110,103,108,101,4,2,108,114,18834,18840,101,102,116,59,1,8882,105,103,104,116,59,1,8883,121,59,1,1074,97,115,104,59,1,8866,4,3,101,108,114,18865,18884,18890,4,3,59,98,101,18873,18875,18880,1,8744,97,114,59,1,8891,113,59,1,8794,108,105,112,59,1,8942,4,2,98,116,18896,18901,97,114,59,1,124,59,1,124,114,59,3,55349,56627,116,114,105,59,1,8882,115,117,4,2,98,112,18923,18927,59,3,8834,8402,59,3,8835,8402,112,102,59,3,55349,56679,114,111,112,59,1,8733,116,114,105,59,1,8883,4,2,99,117,18955,18960,114,59,3,55349,56523,4,2,98,112,18966,18981,110,4,2,69,101,18973,18977,59,3,10955,65024,59,3,8842,65024,110,4,2,69,101,18988,18992,59,3,10956,65024,59,3,8843,65024,105,103,122,97,103,59,1,10650,4,7,99,101,102,111,112,114,115,19020,19026,19061,19066,19072,19075,19089,105,114,99,59,1,373,4,2,100,105,19032,19055,4,2,98,103,19038,19043,97,114,59,1,10847,101,4,2,59,113,19050,19052,1,8743,59,1,8793,101,114,112,59,1,8472,114,59,3,55349,56628,112,102,59,3,55349,56680,59,1,8472,4,2,59,101,19081,19083,1,8768,97,116,104,59,1,8768,99,114,59,3,55349,56524,4,14,99,100,102,104,105,108,109,110,111,114,115,117,118,119,19125,19146,19152,19157,19173,19176,19192,19197,19202,19236,19252,19269,19286,19291,4,3,97,105,117,19133,19137,19142,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,116,114,105,59,1,9661,114,59,3,55349,56629,4,2,65,97,19163,19168,114,114,59,1,10234,114,114,59,1,10231,59,1,958,4,2,65,97,19182,19187,114,114,59,1,10232,114,114,59,1,10229,97,112,59,1,10236,105,115,59,1,8955,4,3,100,112,116,19210,19215,19230,111,116,59,1,10752,4,2,102,108,19221,19225,59,3,55349,56681,117,115,59,1,10753,105,109,101,59,1,10754,4,2,65,97,19242,19247,114,114,59,1,10233,114,114,59,1,10230,4,2,99,113,19258,19263,114,59,3,55349,56525,99,117,112,59,1,10758,4,2,112,116,19275,19281,108,117,115,59,1,10756,114,105,59,1,9651,101,101,59,1,8897,101,100,103,101,59,1,8896,4,8,97,99,101,102,105,111,115,117,19316,19335,19349,19357,19362,19367,19373,19379,99,4,2,117,121,19323,19332,116,101,5,253,1,59,19330,1,253,59,1,1103,4,2,105,121,19341,19346,114,99,59,1,375,59,1,1099,110,5,165,1,59,19355,1,165,114,59,3,55349,56630,99,121,59,1,1111,112,102,59,3,55349,56682,99,114,59,3,55349,56526,4,2,99,109,19385,19389,121,59,1,1102,108,5,255,1,59,19395,1,255,4,10,97,99,100,101,102,104,105,111,115,119,19419,19426,19441,19446,19462,19467,19472,19480,19486,19492,99,117,116,101,59,1,378,4,2,97,121,19432,19438,114,111,110,59,1,382,59,1,1079,111,116,59,1,380,4,2,101,116,19452,19458,116,114,102,59,1,8488,97,59,1,950,114,59,3,55349,56631,99,121,59,1,1078,103,114,97,114,114,59,1,8669,112,102,59,3,55349,56683,99,114,59,3,55349,56527,4,2,106,110,19498,19501,59,1,8205,106,59,1,8204])},6994:function(e,t,n){"use strict";var r=n(9372).default,i=n(5816).default,o=n(2525),a=n(8240),u=o.CODE_POINTS,s=function(){function e(){r(this,e),this.html=null,this.pos=-1,this.lastGapPos=-1,this.lastCharPos=-1,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536}return i(e,[{key:"_err",value:function(){}},{key:"_addGap",value:function(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}},{key:"_processSurrogate",value:function(e){if(this.pos!==this.lastCharPos){var t=this.html.charCodeAt(this.pos+1);if(o.isSurrogatePair(t))return this.pos++,this._addGap(),o.getSurrogatePairCodePoint(e,t)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,u.EOF;return this._err(a.surrogateInInputStream),e}},{key:"dropParsedChunk",value:function(){this.pos>this.bufferWaterline&&(this.lastCharPos-=this.pos,this.html=this.html.substring(this.pos),this.pos=0,this.lastGapPos=-1,this.gapStack=[])}},{key:"write",value:function(e,t){this.html?this.html+=e:this.html=e,this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1,this.lastChunkWritten=t}},{key:"insertHtmlAtCurrentPos",value:function(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1,this.html.length),this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1}},{key:"advance",value:function(){if(this.pos++,this.pos>this.lastCharPos)return this.endOfChunkHit=!this.lastChunkWritten,u.EOF;var e=this.html.charCodeAt(this.pos);return this.skipNextNewLine&&e===u.LINE_FEED?(this.skipNextNewLine=!1,this._addGap(),this.advance()):e===u.CARRIAGE_RETURN?(this.skipNextNewLine=!0,u.LINE_FEED):(this.skipNextNewLine=!1,o.isSurrogate(e)&&(e=this._processSurrogate(e)),e>31&&e<127||e===u.LINE_FEED||e===u.CARRIAGE_RETURN||e>159&&e<64976||this._checkForProblematicCharacters(e),e)}},{key:"_checkForProblematicCharacters",value:function(e){o.isControlCodePoint(e)?this._err(a.controlCharacterInInputStream):o.isUndefinedCodePoint(e)&&this._err(a.noncharacterInInputStream)}},{key:"retreat",value:function(){this.pos===this.lastGapPos&&(this.lastGapPos=this.gapStack.pop(),this.pos--),this.pos--}}]),e}();e.exports=s},8653:function(e,t,n){"use strict";var r=n(7246).DOCUMENT_MODE;t.createDocument=function(){return{nodeName:"#document",mode:r.NO_QUIRKS,childNodes:[]}},t.createDocumentFragment=function(){return{nodeName:"#document-fragment",childNodes:[]}},t.createElement=function(e,t,n){return{nodeName:e,tagName:e,attrs:n,namespaceURI:t,childNodes:[],parentNode:null}},t.createCommentNode=function(e){return{nodeName:"#comment",data:e,parentNode:null}};var i=function(e){return{nodeName:"#text",value:e,parentNode:null}},o=t.appendChild=function(e,t){e.childNodes.push(t),t.parentNode=e},a=t.insertBefore=function(e,t,n){var r=e.childNodes.indexOf(n);e.childNodes.splice(r,0,t),t.parentNode=e};t.setTemplateContent=function(e,t){e.content=t},t.getTemplateContent=function(e){return e.content},t.setDocumentType=function(e,t,n,r){for(var i=null,a=0;a=f.reach);_+=C.value.length,C=C.next){var k=C.value;if(t.length>e.length)return;if(!(k instanceof o)){var D,N=1;if(g){if(!(D=a(y,_,e,T)))break;var O=D.index,S=D.index+D[0].length,b=_;for(b+=C.value.length;O>=b;)b+=(C=C.next).value.length;if(_=b-=C.value.length,C.value instanceof o)continue;for(var F=C;F!==t.tail&&(bf.reach&&(f.reach=L);var M=C.prev;if(I&&(M=l(t,M,I),_+=I.length),c(t,M,N),C=l(t,M,new o(p,E?i.tokenize(x,E):x,v,x)),R&&l(t,C,R),N>1){var P={cause:p+","+d,reach:L};u(e,t,n,C.prev,_,P),f&&P.reach>f.reach&&(f.reach=P.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function c(e,t,n){for(var r=t.next,i=0;i"+o.content+""},!e.document)return e.addEventListener?(i.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var n=JSON.parse(t.data),r=n.language,o=n.code,a=n.immediateClose;e.postMessage(i.highlight(o,i.languages[r],r)),a&&e.close()}),!1),i):i;var f=i.util.currentScript();function p(){i.manual||i.highlightAll()}if(f&&(i.filename=f.src,f.hasAttribute("data-manual")&&(i.manual=!0)),!i.manual){var h=document.readyState;"loading"===h||"interactive"===h&&f&&f.defer?document.addEventListener("DOMContentLoaded",p):window.requestAnimationFrame?window.requestAnimationFrame(p):window.setTimeout(p,16)}return i}("undefined"!==typeof window?window:"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=r),"undefined"!==typeof n.g&&(n.g.Prism=r)},3453:function(e,t,n){"use strict";var r=n(6921);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,a){if(a!==r){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},2386:function(e,t,n){e.exports=n(3453)()},6921:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},7658:function(e,t){"use strict";var n=60103,r=60106,i=60107,o=60108,a=60114,u=60109,s=60110,l=60112,c=60113,f=60120,p=60115,h=60116,d=60121,m=60122,E=60117,T=60129,g=60131;if("function"===typeof Symbol&&Symbol.for){var v=Symbol.for;n=v("react.element"),r=v("react.portal"),i=v("react.fragment"),o=v("react.strict_mode"),a=v("react.profiler"),u=v("react.provider"),s=v("react.context"),l=v("react.forward_ref"),c=v("react.suspense"),f=v("react.suspense_list"),p=v("react.memo"),h=v("react.lazy"),d=v("react.block"),m=v("react.server.block"),E=v("react.fundamental"),T=v("react.debug_trace_mode"),g=v("react.legacy_hidden")}function A(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case i:case a:case o:case c:case f:return e;default:switch(e=e&&e.$$typeof){case s:case l:case h:case p:case u:return e;default:return t}}case r:return t}}}var y=u,C=n,_=l,k=i,D=h,N=p,O=r,S=a,b=o,F=c;t.ContextConsumer=s,t.ContextProvider=y,t.Element=C,t.ForwardRef=_,t.Fragment=k,t.Lazy=D,t.Memo=N,t.Portal=O,t.Profiler=S,t.StrictMode=b,t.Suspense=F,t.isAsyncMode=function(){return!1},t.isConcurrentMode=function(){return!1},t.isContextConsumer=function(e){return A(e)===s},t.isContextProvider=function(e){return A(e)===u},t.isElement=function(e){return"object"===typeof e&&null!==e&&e.$$typeof===n},t.isForwardRef=function(e){return A(e)===l},t.isFragment=function(e){return A(e)===i},t.isLazy=function(e){return A(e)===h},t.isMemo=function(e){return A(e)===p},t.isPortal=function(e){return A(e)===r},t.isProfiler=function(e){return A(e)===a},t.isStrictMode=function(e){return A(e)===o},t.isSuspense=function(e){return A(e)===c},t.isValidElementType=function(e){return"string"===typeof e||"function"===typeof e||e===i||e===a||e===T||e===o||e===c||e===f||e===g||"object"===typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===p||e.$$typeof===u||e.$$typeof===s||e.$$typeof===l||e.$$typeof===E||e.$$typeof===d||e[0]===m)},t.typeOf=A},8317:function(e,t,n){"use strict";e.exports=n(7658)},2560:function(e,t){"use strict";var n,r,i,o;if("object"===typeof performance&&"function"===typeof performance.now){var a=performance;t.unstable_now=function(){return a.now()}}else{var u=Date,s=u.now();t.unstable_now=function(){return u.now()-s}}if("undefined"===typeof window||"function"!==typeof MessageChannel){var l=null,c=null,f=function e(){if(null!==l)try{var n=t.unstable_now();l(!0,n),l=null}catch(r){throw setTimeout(e,0),r}};n=function(e){null!==l?setTimeout(n,0,e):(l=e,setTimeout(f,0))},r=function(e,t){c=setTimeout(e,t)},i=function(){clearTimeout(c)},t.unstable_shouldYield=function(){return!1},o=t.unstable_forceFrameRate=function(){}}else{var p=window.setTimeout,h=window.clearTimeout;if("undefined"!==typeof console){var d=window.cancelAnimationFrame;"function"!==typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!==typeof d&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var m=!1,E=null,T=-1,g=5,v=0;t.unstable_shouldYield=function(){return t.unstable_now()>=v},o=function(){},t.unstable_forceFrameRate=function(e){0>e||125>>1,i=e[r];if(!(void 0!==i&&0D(a,n))void 0!==s&&0>D(s,a)?(e[r]=s,e[u]=n,r=u):(e[r]=a,e[o]=n,r=o);else{if(!(void 0!==s&&0>D(s,n)))break e;e[r]=s,e[u]=n,r=u}}}return t}return null}function D(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var N=[],O=[],S=1,b=null,F=3,x=!1,I=!1,R=!1;function L(e){for(var t=_(O);null!==t;){if(null===t.callback)k(O);else{if(!(t.startTime<=e))break;k(O),t.sortIndex=t.expirationTime,C(N,t)}t=_(O)}}function M(e){if(R=!1,L(e),!I)if(null!==_(N))I=!0,n(P);else{var t=_(O);null!==t&&r(M,t.startTime-e)}}function P(e,n){I=!1,R&&(R=!1,i()),x=!0;var o=F;try{for(L(n),b=_(N);null!==b&&(!(b.expirationTime>n)||e&&!t.unstable_shouldYield());){var a=b.callback;if("function"===typeof a){b.callback=null,F=b.priorityLevel;var u=a(b.expirationTime<=n);n=t.unstable_now(),"function"===typeof u?b.callback=u:b===_(N)&&k(N),L(n)}else k(N);b=_(N)}if(null!==b)var s=!0;else{var l=_(O);null!==l&&r(M,l.startTime-n),s=!1}return s}finally{b=null,F=o,x=!1}}var w=o;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){I||x||(I=!0,n(P))},t.unstable_getCurrentPriorityLevel=function(){return F},t.unstable_getFirstCallbackNode=function(){return _(N)},t.unstable_next=function(e){switch(F){case 1:case 2:case 3:var t=3;break;default:t=F}var n=F;F=t;try{return e()}finally{F=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=w,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=F;F=e;try{return t()}finally{F=n}},t.unstable_scheduleCallback=function(e,o,a){var u=t.unstable_now();switch("object"===typeof a&&null!==a?a="number"===typeof(a=a.delay)&&0u?(e.sortIndex=a,C(O,e),null===_(N)&&e===_(O)&&(R?i():R=!0,r(M,a-u))):(e.sortIndex=s,C(N,e),I||x||(I=!0,n(P))),e},t.unstable_wrapCallback=function(e){var t=F;return function(){var n=F;F=t;try{return e.apply(this,arguments)}finally{F=n}}}},1067:function(e,t,n){"use strict";e.exports=n(2560)},1358:function(e,t,n){var r=n(7256);e.exports=function(e,t){var n,i=null;if(!e||"string"!==typeof e)return i;for(var o,a,u=r(e),s="function"===typeof t,l=0,c=u.length;l":""))+")");return m;function m(){var i,h,d=p.concat(r),m=[];if((!t||c(r,f,p[p.length-1]||null))&&(m=function(e){if(null!==e&&"object"===typeof e&&"length"in e)return e;if("number"===typeof e)return[o,e];return[e]}(n(r,p)),m[0]===u))return m;if(r.children&&m[0]!==a)for(h=(s?r.children.length:-1)+l;h>-1&&h","Iacute":"\xcd","Icirc":"\xce","Igrave":"\xcc","Iuml":"\xcf","LT":"<","Ntilde":"\xd1","Oacute":"\xd3","Ocirc":"\xd4","Ograve":"\xd2","Oslash":"\xd8","Otilde":"\xd5","Ouml":"\xd6","QUOT":"\\"","REG":"\xae","THORN":"\xde","Uacute":"\xda","Ucirc":"\xdb","Ugrave":"\xd9","Uuml":"\xdc","Yacute":"\xdd","aacute":"\xe1","acirc":"\xe2","acute":"\xb4","aelig":"\xe6","agrave":"\xe0","amp":"&","aring":"\xe5","atilde":"\xe3","auml":"\xe4","brvbar":"\xa6","ccedil":"\xe7","cedil":"\xb8","cent":"\xa2","copy":"\xa9","curren":"\xa4","deg":"\xb0","divide":"\xf7","eacute":"\xe9","ecirc":"\xea","egrave":"\xe8","eth":"\xf0","euml":"\xeb","frac12":"\xbd","frac14":"\xbc","frac34":"\xbe","gt":">","iacute":"\xed","icirc":"\xee","iexcl":"\xa1","igrave":"\xec","iquest":"\xbf","iuml":"\xef","laquo":"\xab","lt":"<","macr":"\xaf","micro":"\xb5","middot":"\xb7","nbsp":"\xa0","not":"\xac","ntilde":"\xf1","oacute":"\xf3","ocirc":"\xf4","ograve":"\xf2","ordf":"\xaa","ordm":"\xba","oslash":"\xf8","otilde":"\xf5","ouml":"\xf6","para":"\xb6","plusmn":"\xb1","pound":"\xa3","quot":"\\"","raquo":"\xbb","reg":"\xae","sect":"\xa7","shy":"\xad","sup1":"\xb9","sup2":"\xb2","sup3":"\xb3","szlig":"\xdf","thorn":"\xfe","times":"\xd7","uacute":"\xfa","ucirc":"\xfb","ugrave":"\xf9","uml":"\xa8","uuml":"\xfc","yacute":"\xfd","yen":"\xa5","yuml":"\xff"}')},59:function(e){"use strict";e.exports=JSON.parse('{"0":"\ufffd","128":"\u20ac","130":"\u201a","131":"\u0192","132":"\u201e","133":"\u2026","134":"\u2020","135":"\u2021","136":"\u02c6","137":"\u2030","138":"\u0160","139":"\u2039","140":"\u0152","142":"\u017d","145":"\u2018","146":"\u2019","147":"\u201c","148":"\u201d","149":"\u2022","150":"\u2013","151":"\u2014","152":"\u02dc","153":"\u2122","154":"\u0161","155":"\u203a","156":"\u0153","158":"\u017e","159":"\u0178"}')}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}n.m=e,function(){var e=[];n.O=function(t,r,i,o){if(!r){var a=1/0;for(c=0;c=o)&&Object.keys(n.O).every((function(e){return n.O[e](r[s])}))?r.splice(s--,1):(u=!1,o0&&e[c-1][2]>o;c--)e[c]=e[c-1];e[c]=[r,i,o]}}(),n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="./",function(){var e={179:0};n.O.j=function(t){return 0===e[t]};var t=function(t,r){var i,o,a=r[0],u=r[1],s=r[2],l=0;if(a.some((function(t){return 0!==e[t]}))){for(i in u)n.o(u,i)&&(n.m[i]=u[i]);if(s)var c=s(n)}for(t&&t(r);l - * @license MIT - */ - -/** - * Prism: Lightweight, robust, elegant syntax highlighting - * - * @license MIT - * @author Lea Verou - * @namespace - * @public - */ - -/** @license React v0.20.2 - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** @license React v17.0.2 - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ diff --git a/website/build/static/js/main.aa4010c3.js.map b/website/build/static/js/main.aa4010c3.js.map deleted file mode 100644 index f89878a9..00000000 --- a/website/build/static/js/main.aa4010c3.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/main.aa4010c3.js","mappings":"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,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,IAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,MAAM,GAAG,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,MAAM,GAAG,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,KAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,KAAK,GAAG,EAAE,GAAG,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,kFCFrvvEhmD,EAAUqiB,EAAQ,MACl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","sources":["../../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js","../../node_modules/@babel/runtime/helpers/createSuper.js","../../node_modules/@babel/runtime/helpers/defineProperty.js","../../node_modules/@babel/runtime/helpers/get.js","../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/inherits.js","../../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/superPropBase.js","../../node_modules/@babel/runtime/helpers/typeof.js","../../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../node_modules/@uiw/react-github-corners/src/index.tsx","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/createClass.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/inherits.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/typeof.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/createSuper.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/construct.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../../node_modules/unist-util-stringify-position/index.js","../../node_modules/vfile-message/index.js","../../node_modules/vfile/lib/minpath.browser.js","../../node_modules/vfile/lib/minproc.browser.js","../../node_modules/vfile/lib/minurl.shared.js","../../node_modules/vfile/lib/minurl.browser.js","../../node_modules/vfile/lib/index.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/toArray.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../node_modules/bail/index.js","../../node_modules/unified/node_modules/is-plain-obj/index.js","../../node_modules/trough/index.js","../../node_modules/unified/lib/index.js","../../node_modules/mdast-util-to-string/index.js","../../node_modules/micromark-util-chunked/index.js","../../node_modules/micromark-util-combine-extensions/index.js","../../node_modules/micromark-util-character/lib/unicode-punctuation-regex.js","../../node_modules/micromark-util-character/index.js","../../node_modules/micromark-factory-space/index.js","../../node_modules/micromark/lib/initialize/content.js","../../node_modules/micromark/lib/initialize/document.js","../../node_modules/micromark-core-commonmark/lib/blank-line.js","../../node_modules/micromark-util-subtokenize/index.js","../../node_modules/micromark-core-commonmark/lib/content.js","../../node_modules/micromark/lib/initialize/flow.js","../../node_modules/micromark/lib/initialize/text.js","../../node_modules/micromark-util-resolve-all/index.js","../../node_modules/micromark/lib/create-tokenizer.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../node_modules/micromark-core-commonmark/lib/thematic-break.js","../../node_modules/micromark-core-commonmark/lib/list.js","../../node_modules/micromark-core-commonmark/lib/block-quote.js","../../node_modules/micromark-factory-destination/index.js","../../node_modules/micromark-factory-label/index.js","../../node_modules/micromark-factory-title/index.js","../../node_modules/micromark-factory-whitespace/index.js","../../node_modules/micromark-util-normalize-identifier/index.js","../../node_modules/micromark-core-commonmark/lib/definition.js","../../node_modules/micromark-core-commonmark/lib/code-indented.js","../../node_modules/micromark-core-commonmark/lib/heading-atx.js","../../node_modules/micromark-core-commonmark/lib/setext-underline.js","../../node_modules/micromark-util-html-tag-name/index.js","../../node_modules/micromark-core-commonmark/lib/html-flow.js","../../node_modules/micromark-core-commonmark/lib/code-fenced.js","../../node_modules/decode-named-character-reference/index.dom.js","../../node_modules/micromark-core-commonmark/lib/character-reference.js","../../node_modules/micromark-core-commonmark/lib/character-escape.js","../../node_modules/micromark-core-commonmark/lib/line-ending.js","../../node_modules/micromark-core-commonmark/lib/label-end.js","../../node_modules/micromark-core-commonmark/lib/label-start-image.js","../../node_modules/micromark-util-classify-character/index.js","../../node_modules/micromark-core-commonmark/lib/attention.js","../../node_modules/micromark-core-commonmark/lib/autolink.js","../../node_modules/micromark-core-commonmark/lib/html-text.js","../../node_modules/micromark-core-commonmark/lib/label-start-link.js","../../node_modules/micromark-core-commonmark/lib/hard-break-escape.js","../../node_modules/micromark-core-commonmark/lib/code-text.js","../../node_modules/micromark/lib/constructs.js","../../node_modules/micromark/lib/preprocess.js","../../node_modules/micromark-util-decode-numeric-character-reference/index.js","../../node_modules/micromark-util-decode-string/index.js","../../node_modules/mdast-util-from-markdown/lib/index.js","../../node_modules/micromark/lib/postprocess.js","../../node_modules/micromark/lib/parse.js","../../node_modules/remark-parse/index.js","../../node_modules/remark-parse/lib/index.js","../javascript/esm|/Users/wangchujiang/git-project/@uiw/react/react-monorepo-template/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../node_modules/unist-builder/index.js","../../node_modules/unist-util-is/index.js","../../node_modules/mdast-util-to-hast/node_modules/unist-util-visit-parents/index.js","../../node_modules/mdast-util-to-hast/node_modules/unist-util-visit/index.js","../../node_modules/unist-util-position/index.js","../../node_modules/unist-util-visit-parents/index.js","../../node_modules/mdast-util-definitions/node_modules/unist-util-visit/index.js","../../node_modules/mdast-util-definitions/index.js","../../node_modules/mdast-util-to-hast/lib/traverse.js","../../node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","../../node_modules/mdast-util-to-hast/lib/wrap.js","../../node_modules/mdast-util-to-hast/lib/handlers/list.js","../../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","../../node_modules/mdast-util-to-hast/lib/revert.js","../../node_modules/mdast-util-to-hast/lib/handlers/list-item.js","../../node_modules/mdast-util-to-hast/lib/handlers/index.js","../../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","../../node_modules/mdast-util-to-hast/lib/handlers/break.js","../../node_modules/mdast-util-to-hast/lib/handlers/code.js","../../node_modules/mdast-util-to-hast/lib/handlers/delete.js","../../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","../../node_modules/mdast-util-to-hast/lib/handlers/footnote.js","../../node_modules/mdast-util-to-hast/lib/handlers/heading.js","../../node_modules/mdast-util-to-hast/lib/handlers/html.js","../../node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","../../node_modules/mdast-util-to-hast/lib/handlers/image.js","../../node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","../../node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","../../node_modules/mdast-util-to-hast/lib/handlers/link.js","../../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","../../node_modules/mdast-util-to-hast/lib/handlers/root.js","../../node_modules/mdast-util-to-hast/lib/handlers/strong.js","../../node_modules/mdast-util-to-hast/lib/handlers/table.js","../../node_modules/mdast-util-to-hast/lib/handlers/text.js","../../node_modules/mdast-util-to-hast/lib/index.js","../../node_modules/unist-util-generated/index.js","../../node_modules/mdast-util-to-hast/lib/footer.js","../../node_modules/remark-rehype/index.js","../../node_modules/property-information/lib/util/schema.js","../../node_modules/property-information/lib/util/merge.js","../../node_modules/property-information/lib/normalize.js","../../node_modules/property-information/lib/util/info.js","../../node_modules/property-information/lib/util/types.js","../../node_modules/property-information/lib/util/defined-info.js","../../node_modules/property-information/lib/util/create.js","../../node_modules/property-information/lib/xlink.js","../../node_modules/property-information/lib/xml.js","../../node_modules/property-information/lib/util/case-sensitive-transform.js","../../node_modules/property-information/lib/util/case-insensitive-transform.js","../../node_modules/property-information/lib/xmlns.js","../../node_modules/property-information/lib/aria.js","../../node_modules/property-information/lib/html.js","../../node_modules/property-information/lib/svg.js","../../node_modules/property-information/index.js","../../node_modules/react-markdown/node_modules/unist-util-visit-parents/index.js","../../node_modules/react-markdown/lib/rehype-filter.js","../../node_modules/react-markdown/node_modules/unist-util-visit/index.js","../../node_modules/react-markdown/lib/uri-transformer.js","../../node_modules/hast-util-whitespace/index.js","../../node_modules/property-information/lib/find.js","../../node_modules/property-information/lib/hast-to-react.js","../../node_modules/space-separated-tokens/index.js","../../node_modules/comma-separated-tokens/index.js","../../node_modules/react-markdown/lib/ast-to-react.js","../../node_modules/react-markdown/lib/react-markdown.js","../../node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js","../../node_modules/micromark-extension-gfm-footnote/lib/syntax.js","../../node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js","../../node_modules/micromark-extension-gfm-table/lib/syntax.js","../../node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js","../../node_modules/micromark-extension-gfm/index.js","../../node_modules/ccount/index.js","../../node_modules/mdast-util-find-and-replace/index.js","../../node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp/index.js","../../node_modules/mdast-util-gfm-autolink-literal/index.js","../../node_modules/mdast-util-to-markdown/lib/util/association.js","../../node_modules/mdast-util-to-markdown/lib/util/container-flow.js","../../node_modules/mdast-util-to-markdown/lib/util/indent-lines.js","../../node_modules/mdast-util-to-markdown/lib/util/pattern-compile.js","../../node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js","../../node_modules/mdast-util-to-markdown/lib/util/safe.js","../../node_modules/mdast-util-gfm-footnote/node_modules/unist-util-visit-parents/index.js","../../node_modules/mdast-util-gfm-footnote/node_modules/unist-util-visit/index.js","../../node_modules/mdast-util-gfm-footnote/index.js","../../node_modules/mdast-util-to-markdown/lib/util/container-phrasing.js","../../node_modules/mdast-util-gfm-strikethrough/index.js","../../node_modules/mdast-util-to-markdown/lib/handle/inline-code.js","../../node_modules/markdown-table/index.js","../../node_modules/mdast-util-gfm-table/index.js","../../node_modules/mdast-util-to-markdown/lib/handle/list-item.js","../../node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js","../../node_modules/mdast-util-to-markdown/lib/util/check-bullet.js","../../node_modules/mdast-util-gfm-task-list-item/index.js","../../node_modules/mdast-util-gfm/index.js","../../node_modules/remark-gfm/index.js","../../node_modules/hast-util-has-property/index.js","../../node_modules/hast-util-heading-rank/index.js","../../node_modules/rehype-slug/node_modules/hast-util-to-string/index.js","../../node_modules/rehype-slug/node_modules/unist-util-visit-parents/index.js","../../node_modules/rehype-slug/node_modules/unist-util-visit/index.js","../../node_modules/rehype-slug/index.js","../../node_modules/hast-util-is-element/index.js","../../node_modules/rehype-autolink-headings/node_modules/unist-util-visit-parents/index.js","../../node_modules/rehype-autolink-headings/node_modules/unist-util-visit/index.js","../../node_modules/rehype-autolink-headings/lib/index.js","../../node_modules/hast-util-raw/node_modules/unist-util-visit-parents/index.js","../../node_modules/hast-util-raw/node_modules/unist-util-visit/index.js","../../node_modules/hast-util-from-parse5/node_modules/hast-util-parse-selector/index.js","../../node_modules/hast-util-from-parse5/node_modules/hastscript/lib/core.js","../../node_modules/hast-util-from-parse5/node_modules/hastscript/lib/svg-case-sensitive-tag-names.js","../../node_modules/hast-util-from-parse5/node_modules/hastscript/lib/svg.js","../../node_modules/hast-util-from-parse5/node_modules/hastscript/lib/html.js","../../node_modules/web-namespaces/index.js","../../node_modules/hast-util-from-parse5/lib/index.js","../../node_modules/vfile-location/index.js","../../node_modules/hast-to-hyperscript/index.js","../../node_modules/zwitch/index.js","../../node_modules/hast-util-to-parse5/lib/index.js","../../node_modules/html-void-elements/index.js","../../node_modules/hast-util-raw/lib/index.js","../../node_modules/rehype-raw/index.js","../../node_modules/rehype-attr/node_modules/unist-util-visit-parents/index.js","../../node_modules/rehype-attr/node_modules/unist-util-visit/index.js","../../node_modules/rehype-attr/src/utils.ts","../../node_modules/rehype-attr/src/index.ts","../../node_modules/rehype-rewrite/node_modules/unist-util-visit-parents/index.js","../../node_modules/rehype-rewrite/node_modules/unist-util-visit/index.js","../../node_modules/direction/index.js","../../node_modules/hast-util-select/node_modules/hast-util-to-string/index.js","../../node_modules/hast-util-select/node_modules/unist-util-visit-parents/index.js","../../node_modules/hast-util-select/lib/util.js","../../node_modules/hast-util-select/lib/enter-state.js","../../node_modules/hast-util-select/node_modules/unist-util-visit/index.js","../../node_modules/hast-util-select/lib/nest.js","../../node_modules/bcp-47-match/index.js","../../node_modules/hast-util-select/lib/pseudo.js","../../node_modules/hast-util-select/lib/attribute.js","../../node_modules/hast-util-select/lib/test.js","../../node_modules/hast-util-select/lib/name.js","../../node_modules/hast-util-select/lib/class-name.js","../../node_modules/hast-util-select/lib/id.js","../../node_modules/hast-util-select/lib/any.js","../../node_modules/hast-util-select/lib/parse.js","../../node_modules/hast-util-select/index.js","../../node_modules/rehype-rewrite/src/index.ts","../../node_modules/@uiw/react-markdown-preview/src/nodes/octiconLink.ts","../../node_modules/@uiw/react-markdown-preview/src/index.tsx","../../node_modules/@uiw/react-markdown-preview/src/nodes/copy.ts","webpack://website/./src/App.module.less?e100","logo.svg","App.tsx","../../core/README.md","index.tsx","../../node_modules/@mapbox/rehype-prism/index.js","../../src/main.js","../../node_modules/boolbase/index.js","../../node_modules/css-selector-parser/lib/index.js","../../node_modules/css-selector-parser/lib/parser-context.js","../../node_modules/css-selector-parser/lib/render.js","../../node_modules/css-selector-parser/lib/utils.js","../../node_modules/extend/index.js","../../node_modules/github-slugger/index.js","../../node_modules/github-slugger/regex.js","../../node_modules/hast-util-parse-selector/index.js","../../node_modules/hast-util-to-string/index.js","../../node_modules/hastscript/factory.js","../../node_modules/hastscript/html.js","../../node_modules/hastscript/index.js","../../node_modules/hastscript/node_modules/comma-separated-tokens/index.js","../../node_modules/hastscript/node_modules/property-information/find.js","../../node_modules/hastscript/node_modules/property-information/html.js","../../node_modules/hastscript/node_modules/property-information/lib/aria.js","../../node_modules/hastscript/node_modules/property-information/lib/html.js","../../node_modules/hastscript/node_modules/property-information/lib/util/case-insensitive-transform.js","../../node_modules/hastscript/node_modules/property-information/lib/util/case-sensitive-transform.js","../../node_modules/hastscript/node_modules/property-information/lib/util/create.js","../../node_modules/hastscript/node_modules/property-information/lib/util/defined-info.js","../../node_modules/hastscript/node_modules/property-information/lib/util/info.js","../../node_modules/hastscript/node_modules/property-information/lib/util/merge.js","../../node_modules/hastscript/node_modules/property-information/lib/util/schema.js","../../node_modules/hastscript/node_modules/property-information/lib/util/types.js","../../node_modules/hastscript/node_modules/property-information/lib/xlink.js","../../node_modules/hastscript/node_modules/property-information/lib/xml.js","../../node_modules/hastscript/node_modules/property-information/lib/xmlns.js","../../node_modules/hastscript/node_modules/property-information/normalize.js","../../node_modules/hastscript/node_modules/space-separated-tokens/index.js","../../node_modules/inline-style-parser/index.js","../../node_modules/is-alphabetical/index.js","../../node_modules/is-alphanumerical/index.js","../../node_modules/is-buffer/index.js","../../node_modules/is-decimal/index.js","../../node_modules/is-hexadecimal/index.js","../../node_modules/mdurl/encode.js","../../node_modules/nth-check/lib/compile.js","../../node_modules/nth-check/lib/index.js","../../node_modules/nth-check/lib/parse.js","../../node_modules/object-assign/index.js","../../node_modules/parse-entities/decode-entity.browser.js","../../node_modules/parse-entities/index.js","../../node_modules/parse5/lib/common/doctype.js","../../node_modules/parse5/lib/common/error-codes.js","../../node_modules/parse5/lib/common/foreign-content.js","../../node_modules/parse5/lib/common/html.js","../../node_modules/parse5/lib/common/unicode.js","../../node_modules/parse5/lib/extensions/error-reporting/mixin-base.js","../../node_modules/parse5/lib/extensions/error-reporting/parser-mixin.js","../../node_modules/parse5/lib/extensions/error-reporting/preprocessor-mixin.js","../../node_modules/parse5/lib/extensions/error-reporting/tokenizer-mixin.js","../../node_modules/parse5/lib/extensions/location-info/open-element-stack-mixin.js","../../node_modules/parse5/lib/extensions/location-info/parser-mixin.js","../../node_modules/parse5/lib/extensions/location-info/tokenizer-mixin.js","../../node_modules/parse5/lib/extensions/position-tracking/preprocessor-mixin.js","../../node_modules/parse5/lib/parser/formatting-element-list.js","../../node_modules/parse5/lib/parser/index.js","../../node_modules/parse5/lib/parser/open-element-stack.js","../../node_modules/parse5/lib/tokenizer/index.js","../../node_modules/parse5/lib/tokenizer/named-entity-data.js","../../node_modules/parse5/lib/tokenizer/preprocessor.js","../../node_modules/parse5/lib/tree-adapters/default.js","../../node_modules/parse5/lib/utils/merge-options.js","../../node_modules/parse5/lib/utils/mixin.js","../../node_modules/prismjs/components/prism-core.js","../../node_modules/prop-types/factoryWithThrowingShims.js","../../node_modules/prop-types/index.js","../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../node_modules/react-is/cjs/react-is.production.min.js","../../node_modules/react-is/index.js","../../node_modules/scheduler/cjs/scheduler.production.min.js","../../node_modules/scheduler/index.js","../../node_modules/style-to-object/index.js","../../node_modules/unist-util-visit/index.js","../../node_modules/unist-util-visit/node_modules/unist-util-is/convert.js","../../node_modules/unist-util-visit/node_modules/unist-util-visit-parents/color.browser.js","../../node_modules/unist-util-visit/node_modules/unist-util-visit-parents/index.js","../../node_modules/xtend/immutable.js","../webpack/bootstrap","../webpack/runtime/chunk loaded","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../webpack/startup"],"sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nmodule.exports = _createForOfIteratorHelper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\n\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn.js\");\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}\n\nmodule.exports = _createSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var superPropBase = require(\"./superPropBase.js\");\n\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n\n return _get.apply(this, arguments);\n}\n\nmodule.exports = _get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nmodule.exports = _superPropBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","\nimport React from 'react';\nimport './style/index.css';\n\nexport interface GitHubCornersProps extends React.AnchorHTMLAttributes {\n /**\n * The link to your project page.\n */\n href?: string;\n /**\n * The width and height of the corner. \n * Default: `80`\n */\n size?: number;\n /**\n * The background color of the corner.\n * Default: `#151513`\n */\n bgColor?: string;\n /**\n * The Github logo color of the corner.\n * Default: `#fff`\n */\n color?: string;\n /**\n * The position of corner. \n * Default: `right`\n */\n position?: 'left' | 'right';\n /** Is it displayed at the bottom? */\n bottom?: boolean,\n /**\n * It is positioned relative to the initial containing block established.\n * Default: `false`\n */\n fixed?: boolean;\n /**\n * Sets the z-order of a positioned element and its descendants or flex items.\n */\n zIndex?: number;\n}\n\nexport default function githubCorners(props: GitHubCornersProps = {}) {\n const { size = 80, fixed = false, bottom, zIndex, className, bgColor = '#151513', color = '#fff', position = 'right', ...otherProps } = props;\n const styl: React.CSSProperties = position === 'left' ? { left: 0, transform: 'scale(-1, 1)' } : { right: 0 };\n if (bottom) {\n styl.bottom = 0;\n styl.top = 'initial';\n styl.transform = position === 'left' ? 'scale(-1, -1)' : 'scale(1, -1)';\n }\n return (\n
\n \n \n \n \n \n \n )\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","var own = {}.hasOwnProperty\n\n/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n */\n\n/**\n * Stringify one point, a position (start and end points), or a node’s\n * positional information.\n *\n * @param {Node|Position|Point} [value]\n * @returns {string}\n */\nexport function stringifyPosition(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if (own.call(value, 'position') || own.call(value, 'type')) {\n // @ts-ignore looks like a node.\n return position(value.position)\n }\n\n // Position.\n if (own.call(value, 'start') || own.call(value, 'end')) {\n // @ts-ignore looks like a position.\n return position(value)\n }\n\n // Point.\n if (own.call(value, 'line') || own.call(value, 'column')) {\n // @ts-ignore looks like a point.\n return point(value)\n }\n\n // ?\n return ''\n}\n\n/**\n * @param {Point} point\n * @returns {string}\n */\nfunction point(point) {\n return index(point && point.line) + ':' + index(point && point.column)\n}\n\n/**\n * @param {Position} pos\n * @returns {string}\n */\nfunction position(pos) {\n return point(pos && pos.start) + '-' + point(pos && pos.end)\n}\n\n/**\n * @param {number} value\n * @returns {number}\n */\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n */\n\nimport {stringifyPosition} from 'unist-util-stringify-position'\n\nexport class VFileMessage extends Error {\n /**\n * Constructor of a message for `reason` at `place` from `origin`.\n * When an error is passed in as `reason`, copies the `stack`.\n *\n * @param {string|Error} reason Reason for message (`string` or `Error`). Uses the stack and message of the error if given.\n * @param {Node|Position|Point} [place] Place at which the message occurred in a file (`Node`, `Position`, or `Point`, optional).\n * @param {string} [origin] Place in code the message originates from (`string`, optional).\n */\n constructor(reason, place, origin) {\n /** @type {[string?, string?]} */\n var parts = [null, null]\n /** @type {Position} */\n var position = {\n start: {line: null, column: null},\n end: {line: null, column: null}\n }\n /** @type {number} */\n var index\n\n super()\n\n if (typeof place === 'string') {\n origin = place\n place = null\n }\n\n if (typeof origin === 'string') {\n index = origin.indexOf(':')\n\n if (index === -1) {\n parts[1] = origin\n } else {\n parts[0] = origin.slice(0, index)\n parts[1] = origin.slice(index + 1)\n }\n }\n\n if (place) {\n // Node.\n if ('type' in place || 'position' in place) {\n if (place.position) {\n position = place.position\n }\n }\n // Position.\n else if ('start' in place || 'end' in place) {\n // @ts-ignore Looks like a position.\n position = place\n }\n // Point.\n else if ('line' in place || 'column' in place) {\n // @ts-ignore Looks like a point.\n position.start = place\n }\n }\n\n // Fields from `Error`\n this.name = stringifyPosition(place) || '1:1'\n this.message = typeof reason === 'object' ? reason.message : reason\n this.stack = typeof reason === 'object' ? reason.stack : ''\n\n /**\n * Reason for message.\n * @type {string}\n */\n this.reason = this.message\n /**\n * If true, marks associated file as no longer processable.\n * @type {boolean?}\n */\n // eslint-disable-next-line no-unused-expressions\n this.fatal\n /**\n * Starting line of error.\n * @type {number?}\n */\n this.line = position.start.line\n /**\n * Starting column of error.\n * @type {number?}\n */\n this.column = position.start.column\n /**\n * Namespace of warning.\n * @type {string?}\n */\n this.source = parts[0]\n /**\n * Category of message.\n * @type {string?}\n */\n this.ruleId = parts[1]\n /**\n * Full range information, when available.\n * Has start and end properties, both set to an object with line and column, set to number?.\n * @type {Position?}\n */\n this.position = position\n\n // The following fields are “well known”.\n // Not standard.\n // Feel free to add other non-standard fields to your messages.\n\n /* eslint-disable no-unused-expressions */\n /**\n * You can use this to specify the source value that’s being reported, which\n * is deemed incorrect.\n * @type {string?}\n */\n this.actual\n /**\n * You can use this to suggest values that should be used instead of\n * `actual`, one or more values that are deemed as acceptable.\n * @type {Array?}\n */\n this.expected\n /**\n * You may add a file property with a path of a file (used throughout the VFile ecosystem).\n * @type {string?}\n */\n this.file\n /**\n * You may add a url property with a link to documentation for the message.\n * @type {string?}\n */\n this.url\n /**\n * You may add a note property with a long form description of the message (supported by vfile-reporter).\n * @type {string?}\n */\n this.note\n /* eslint-enable no-unused-expressions */\n }\n}\n\nVFileMessage.prototype.file = ''\nVFileMessage.prototype.name = ''\nVFileMessage.prototype.reason = ''\nVFileMessage.prototype.message = ''\nVFileMessage.prototype.stack = ''\nVFileMessage.prototype.fatal = null\nVFileMessage.prototype.column = null\nVFileMessage.prototype.line = null\nVFileMessage.prototype.source = null\nVFileMessage.prototype.ruleId = null\nVFileMessage.prototype.position = null\n","// A derivative work based on:\n// .\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// .\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexport const path = {basename, dirname, extname, join, sep: '/'}\n\n/* eslint-disable max-depth, complexity */\n\n/**\n * @param {string} path\n * @param {string} [ext]\n * @returns {string}\n */\nfunction basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n let start = 0\n let end = -1\n let index = path.length\n /** @type {boolean|undefined} */\n let seenNonSlash\n\n if (ext === undefined || ext.length === 0 || ext.length > path.length) {\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (ext === path) {\n return ''\n }\n\n let firstNonSlashEnd = -1\n let extIndex = ext.length - 1\n\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extIndex > -1) {\n // Try to match the explicit extension.\n if (path.charCodeAt(index) === ext.charCodeAt(extIndex--)) {\n if (extIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\n/**\n * @param {string} path\n * @returns {string}\n */\nfunction dirname(path) {\n assertPath(path)\n\n if (path.length === 0) {\n return '.'\n }\n\n let end = -1\n let index = path.length\n /** @type {boolean|undefined} */\n let unmatchedSlash\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.charCodeAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.charCodeAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\n/**\n * @param {string} path\n * @returns {string}\n */\nfunction extname(path) {\n assertPath(path)\n\n let index = path.length\n\n let end = -1\n let startPart = 0\n let startDot = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n let preDotState = 0\n /** @type {boolean|undefined} */\n let unmatchedSlash\n\n while (index--) {\n const code = path.charCodeAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\n/**\n * @param {Array.} segments\n * @returns {string}\n */\nfunction join(...segments) {\n let index = -1\n /** @type {string|undefined} */\n let joined\n\n while (++index < segments.length) {\n assertPath(segments[index])\n\n if (segments[index]) {\n joined =\n joined === undefined ? segments[index] : joined + '/' + segments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n/**\n * Note: `normalize` is not exposed as `path.normalize`, so some code is\n * manually removed from it.\n *\n * @param {string} path\n * @returns {string}\n */\nfunction normalize(path) {\n assertPath(path)\n\n const absolute = path.charCodeAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n let value = normalizeString(path, !absolute)\n\n if (value.length === 0 && !absolute) {\n value = '.'\n }\n\n if (value.length > 0 && path.charCodeAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n/**\n * Resolve `.` and `..` elements in a path with directory names.\n *\n * @param {string} path\n * @param {boolean} allowAboveRoot\n * @returns {string}\n */\nfunction normalizeString(path, allowAboveRoot) {\n let result = ''\n let lastSegmentLength = 0\n let lastSlash = -1\n let dots = 0\n let index = -1\n /** @type {number|undefined} */\n let code\n /** @type {number} */\n let lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.charCodeAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.charCodeAt(result.length - 1) !== 46 /* `.` */ ||\n result.charCodeAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length > 0) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length > 0 ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length > 0) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\n/**\n * @param {string} path\n */\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n\n/* eslint-enable max-depth, complexity */\n","// Somewhat based on:\n// .\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexport const proc = {cwd}\n\nfunction cwd() {\n return '/'\n}\n","/**\n * @typedef URL\n * @property {string} hash\n * @property {string} host\n * @property {string} hostname\n * @property {string} href\n * @property {string} origin\n * @property {string} password\n * @property {string} pathname\n * @property {string} port\n * @property {string} protocol\n * @property {string} search\n * @property {any} searchParams\n * @property {string} username\n * @property {() => string} toString\n * @property {() => string} toJSON\n */\n\n/**\n * @param {unknown} fileURLOrPath\n * @returns {fileURLOrPath is URL}\n */\n// From: \nexport function isUrl(fileURLOrPath) {\n return (\n fileURLOrPath !== null &&\n typeof fileURLOrPath === 'object' &&\n // @ts-expect-error: indexable.\n fileURLOrPath.href &&\n // @ts-expect-error: indexable.\n fileURLOrPath.origin\n )\n}\n","/// \n\nimport {isUrl} from './minurl.shared.js'\n\n// See: \n\n/**\n * @param {string|URL} path\n */\nexport function urlToPath(path) {\n if (typeof path === 'string') {\n path = new URL(path)\n } else if (!isUrl(path)) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' +\n path +\n '`'\n )\n error.code = 'ERR_INVALID_ARG_TYPE'\n throw error\n }\n\n if (path.protocol !== 'file:') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError('The URL must be of scheme file')\n error.code = 'ERR_INVALID_URL_SCHEME'\n throw error\n }\n\n return getPathFromURLPosix(path)\n}\n\n/**\n * @param {URL} url\n */\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n )\n error.code = 'ERR_INVALID_FILE_URL_HOST'\n throw error\n }\n\n const pathname = url.pathname\n let index = -1\n\n while (++index < pathname.length) {\n if (\n pathname.charCodeAt(index) === 37 /* `%` */ &&\n pathname.charCodeAt(index + 1) === 50 /* `2` */\n ) {\n const third = pathname.charCodeAt(index + 2)\n if (third === 70 /* `F` */ || third === 102 /* `f` */) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL path must not include encoded / characters'\n )\n error.code = 'ERR_INVALID_FILE_URL_PATH'\n throw error\n }\n }\n }\n\n return decodeURIComponent(pathname)\n}\n\nexport {isUrl} from './minurl.shared.js'\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {import('./minurl.shared.js').URL} URL\n * @typedef {import('..').VFileData} VFileData\n * @typedef {import('..').VFileValue} VFileValue\n *\n * @typedef {'ascii'|'utf8'|'utf-8'|'utf16le'|'ucs2'|'ucs-2'|'base64'|'base64url'|'latin1'|'binary'|'hex'} BufferEncoding\n * Encodings supported by the buffer class.\n * This is a copy of the typing from Node, copied to prevent Node globals from\n * being needed.\n * Copied from: \n *\n *\n * @typedef {VFileValue|VFileOptions|VFile|URL} VFileCompatible\n * Things that can be passed to the constructor.\n *\n * @typedef VFileCoreOptions\n * @property {VFileValue} [value]\n * @property {string} [cwd]\n * @property {Array.} [history]\n * @property {string|URL} [path]\n * @property {string} [basename]\n * @property {string} [stem]\n * @property {string} [extname]\n * @property {string} [dirname]\n * @property {VFileData} [data]\n *\n * @typedef {{[key: string]: unknown} & VFileCoreOptions} VFileOptions\n * Configuration: a bunch of keys that will be shallow copied over to the new\n * file.\n *\n * @typedef {Object.} VFileReporterSettings\n * @typedef {(files: VFile[], options: T) => string} VFileReporter\n */\n\nimport buffer from 'is-buffer'\nimport {VFileMessage} from 'vfile-message'\nimport {path} from './minpath.js'\nimport {proc} from './minproc.js'\nimport {urlToPath, isUrl} from './minurl.js'\n\n// Order of setting (least specific to most), we need this because otherwise\n// `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n// stem can be set.\nconst order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * If `options` is `string` or `Buffer`, treats it as `{value: options}`.\n * If `options` is a `VFile`, shallow copies its data over to the new file.\n * All other given fields are set on the newly created `VFile`.\n *\n * Path related properties are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * It’s not possible to set either `dirname` or `extname` without setting\n * either `history`, `path`, `basename`, or `stem` as well.\n *\n * @param {VFileCompatible} [value]\n */\n constructor(value) {\n /** @type {VFileOptions} */\n let options\n\n if (!value) {\n options = {}\n } else if (typeof value === 'string' || buffer(value)) {\n // @ts-expect-error Looks like a buffer.\n options = {value}\n } else if (isUrl(value)) {\n options = {path: value}\n } else {\n // @ts-expect-error Looks like file or options.\n options = value\n }\n\n /**\n * Place to store custom information.\n * It’s OK to store custom data directly on the file, moving it to `data`\n * gives a little more privacy.\n * @type {VFileData}\n */\n this.data = {}\n\n /**\n * List of messages associated with the file.\n * @type {Array.}\n */\n this.messages = []\n\n /**\n * List of file paths the file moved between.\n * @type {Array.}\n */\n this.history = []\n\n /**\n * Base of `path`.\n * Defaults to `process.cwd()` (`/` in browsers).\n * @type {string}\n */\n this.cwd = proc.cwd()\n\n /* eslint-disable no-unused-expressions */\n /**\n * Raw value.\n * @type {VFileValue}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n\n /**\n * Whether a file was saved to disk.\n * This is used by vfile reporters.\n * @type {boolean}\n */\n this.stored\n\n /**\n * Sometimes files have a non-string representation.\n * This can be stored in the `result` field.\n * One example is when turning markdown into React nodes.\n * This is used by unified to store non-string results.\n * @type {unknown}\n */\n this.result\n\n /**\n * Sometimes files have a source map associated with them.\n * This can be stored in the `map` field.\n * This should be a `RawSourceMap` type from the `source-map` module.\n * @type {unknown}\n */\n this.map\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const prop = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (prop in options && options[prop] !== undefined) {\n // @ts-expect-error: TS is confused by the different types for `history`.\n this[prop] = prop === 'history' ? [...options[prop]] : options[prop]\n }\n }\n\n /** @type {string} */\n let prop\n\n // Set non-path related properties.\n for (prop in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(prop)) this[prop] = options[prop]\n }\n }\n\n /**\n * Access full path (`~/index.min.js`).\n *\n * @returns {string}\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set full path (`~/index.min.js`).\n * Cannot be nullified.\n *\n * @param {string|URL} path\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Access parent path (`~`).\n */\n get dirname() {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined\n }\n\n /**\n * Set parent path (`~`).\n * Cannot be set if there's no `path` yet.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = path.join(dirname || '', this.basename)\n }\n\n /**\n * Access basename (including extname) (`index.min.js`).\n */\n get basename() {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined\n }\n\n /**\n * Set basename (`index.min.js`).\n * Cannot contain path separators.\n * Cannot be nullified either (use `file.path = file.dirname` instead).\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = path.join(this.dirname || '', basename)\n }\n\n /**\n * Access extname (including dot) (`.js`).\n */\n get extname() {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined\n }\n\n /**\n * Set extname (including dot) (`.js`).\n * Cannot be set if there's no `path` yet and cannot contain path separators.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.charCodeAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = path.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Access stem (w/o extname) (`index.min`).\n */\n get stem() {\n return typeof this.path === 'string'\n ? path.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set stem (w/o extname) (`index.min`).\n * Cannot be nullified, and cannot contain path separators.\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = path.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n /**\n * Serialize the file.\n *\n * @param {BufferEncoding} [encoding='utf8'] If `file.value` is a buffer, `encoding` is used to serialize buffers.\n * @returns {string}\n */\n toString(encoding) {\n return (this.value || '').toString(encoding)\n }\n\n /**\n * Create a message and associates it w/ the file.\n *\n * @param {string|Error} reason Reason for message (`string` or `Error`). Uses the stack and message of the error if given.\n * @param {Node|Position|Point} [place] Place at which the message occurred in a file (`Node`, `Position`, or `Point`, optional).\n * @param {string} [origin] Place in code the message originates from (`string`, optional).\n * @returns {VFileMessage}\n */\n message(reason, place, origin) {\n const message = new VFileMessage(reason, place, origin)\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Info: create a message, associate it with the file, and mark the fatality\n * as `null`.\n * Calls `message()` internally.\n *\n * @param {string|Error} reason Reason for message (`string` or `Error`). Uses the stack and message of the error if given.\n * @param {Node|Position|Point} [place] Place at which the message occurred in a file (`Node`, `Position`, or `Point`, optional).\n * @param {string} [origin] Place in code the message originates from (`string`, optional).\n * @returns {VFileMessage}\n */\n info(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = null\n\n return message\n }\n\n /**\n * Fail: create a message, associate it with the file, mark the fatality as\n * `true`.\n * Note: fatal errors mean a file is no longer processable.\n * Calls `message()` internally.\n *\n * @param {string|Error} reason Reason for message (`string` or `Error`). Uses the stack and message of the error if given.\n * @param {Node|Position|Point} [place] Place at which the message occurred in a file (`Node`, `Position`, or `Point`, optional).\n * @param {string} [origin] Place in code the message originates from (`string`, optional).\n * @returns {never}\n */\n fail(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = true\n\n throw message\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string|undefined} part\n * @param {string} name\n * @returns {void}\n */\nfunction assertPart(part, name) {\n if (part && part.includes(path.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + path.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string|undefined} part\n * @param {string} name\n * @returns {asserts part is string}\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string|undefined} path\n * @param {string} name\n * @returns {asserts path is string}\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n","export default function isPlainObject(value) {\n\tif (Object.prototype.toString.call(value) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn prototype === null || prototype === Object.prototype;\n}\n","/**\n * @typedef {(error?: Error|null|undefined, ...output: any[]) => void} Callback\n * @typedef {(...input: any[]) => any} Middleware\n *\n * @typedef {(...input: any[]) => void} Run Call all middleware.\n * @typedef {(fn: Middleware) => Pipeline} Use Add `fn` (middleware) to the list.\n * @typedef {{run: Run, use: Use}} Pipeline\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n */\nexport function trough() {\n /** @type {Middleware[]} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we’re done.\n *\n * @param {Error|null|undefined} error\n * @param {any[]} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware`.\n * Can be sync or async; return a promise, receive a callback, or return new\n * values and errors.\n *\n * @param {Middleware} middleware\n * @param {Callback} callback\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @param {any[]} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware(...parameters)\n } catch (error) {\n /** @type {Error} */\n const exception = error\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result instanceof Promise) {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('vfile').VFileCompatible} VFileCompatible\n * @typedef {import('vfile').VFileValue} VFileValue\n * @typedef {import('..').Processor} Processor\n * @typedef {import('..').Plugin} Plugin\n * @typedef {import('..').Preset} Preset\n * @typedef {import('..').Pluggable} Pluggable\n * @typedef {import('..').PluggableList} PluggableList\n * @typedef {import('..').Transformer} Transformer\n * @typedef {import('..').Parser} Parser\n * @typedef {import('..').Compiler} Compiler\n * @typedef {import('..').RunCallback} RunCallback\n * @typedef {import('..').ProcessCallback} ProcessCallback\n *\n * @typedef Context\n * @property {Node} tree\n * @property {VFile} file\n */\n\nimport {bail} from 'bail'\nimport isBuffer from 'is-buffer'\nimport extend from 'extend'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\n\n// Expose a frozen processor.\nexport const unified = base().freeze()\n\nconst own = {}.hasOwnProperty\n\n// Function to create the first processor.\n/**\n * @returns {Processor}\n */\nfunction base() {\n const transformers = trough()\n /** @type {Processor['attachers']} */\n const attachers = []\n /** @type {Record} */\n let namespace = {}\n /** @type {boolean|undefined} */\n let frozen\n let freezeIndex = -1\n\n // Data management.\n // @ts-expect-error: overloads are handled.\n processor.data = data\n processor.Parser = undefined\n processor.Compiler = undefined\n\n // Lock.\n processor.freeze = freeze\n\n // Plugins.\n processor.attachers = attachers\n // @ts-expect-error: overloads are handled.\n processor.use = use\n\n // API.\n processor.parse = parse\n processor.stringify = stringify\n // @ts-expect-error: overloads are handled.\n processor.run = run\n processor.runSync = runSync\n // @ts-expect-error: overloads are handled.\n processor.process = process\n processor.processSync = processSync\n\n // Expose.\n return processor\n\n // Create a new processor based on the processor in the current scope.\n /** @type {Processor} */\n function processor() {\n const destination = base()\n let index = -1\n\n while (++index < attachers.length) {\n destination.use(...attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n /**\n * @param {string|Record} [key]\n * @param {unknown} [value]\n * @returns {unknown}\n */\n function data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n namespace[key] = value\n return processor\n }\n\n // Get `key`.\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n // Get space.\n return namespace\n }\n\n /** @type {Processor['freeze']} */\n function freeze() {\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n const [attacher, ...options] = attachers[freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[1] = undefined\n }\n\n /** @type {Transformer|void} */\n const transformer = attacher.call(processor, ...options)\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Number.POSITIVE_INFINITY\n\n return processor\n }\n\n /**\n * @param {Pluggable|null|undefined} [value]\n * @param {...unknown} options\n * @returns {Processor}\n */\n function use(value, ...options) {\n /** @type {Record|undefined} */\n let settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, ...options)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = Object.assign(namespace.settings || {}, settings)\n }\n\n return processor\n\n /**\n * @param {import('..').Pluggable} value\n * @returns {void}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...options] = value\n addPlugin(plugin, ...options)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {void}\n */\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = Object.assign(settings || {}, result.settings)\n }\n }\n\n /**\n * @param {PluggableList|null|undefined} [plugins]\n * @returns {void}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {...unknown} [value]\n * @returns {void}\n */\n function addPlugin(plugin, value) {\n let index = -1\n /** @type {Processor['attachers'][number]|undefined} */\n let entry\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entry = attachers[index]\n break\n }\n }\n\n if (entry) {\n if (isPlainObj(entry[1]) && isPlainObj(value)) {\n value = extend(true, entry[1], value)\n }\n\n entry[1] = value\n } else {\n // @ts-expect-error: fine.\n attachers.push([...arguments])\n }\n }\n }\n\n /** @type {Processor['parse']} */\n function parse(doc) {\n processor.freeze()\n const file = vfile(doc)\n const Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser, 'parse')) {\n // @ts-expect-error: `newable` checks this.\n return new Parser(String(file), file).parse()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n /** @type {Processor['stringify']} */\n function stringify(node, doc) {\n processor.freeze()\n const file = vfile(doc)\n const Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler, 'compile')) {\n // @ts-expect-error: `newable` checks this.\n return new Compiler(node, file).compile()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n /**\n * @param {Node} node\n * @param {VFileCompatible|RunCallback} [doc]\n * @param {RunCallback} [callback]\n * @returns {Promise|void}\n */\n function run(node, doc, callback) {\n assertNode(node)\n processor.freeze()\n\n if (!callback && typeof doc === 'function') {\n callback = doc\n doc = undefined\n }\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((node: Node) => void)} resolve\n * @param {(error: Error) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n // @ts-expect-error: `doc` can’t be a callback anymore, we checked.\n transformers.run(node, vfile(doc), done)\n\n /**\n * @param {Error|null} error\n * @param {Node} tree\n * @param {VFile} file\n * @returns {void}\n */\n function done(error, tree, file) {\n tree = tree || node\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(tree)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, tree, file)\n }\n }\n }\n }\n\n /** @type {Processor['runSync']} */\n function runSync(node, file) {\n /** @type {Node|undefined} */\n let result\n /** @type {boolean|undefined} */\n let complete\n\n processor.run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n // @ts-expect-error: we either bailed on an error or have a tree.\n return result\n\n /**\n * @param {Error|null} [error]\n * @param {Node} [tree]\n * @returns {void}\n */\n function done(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * @param {VFileCompatible} doc\n * @param {ProcessCallback} [callback]\n * @returns {Promise|undefined}\n */\n function process(doc, callback) {\n processor.freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((file: VFile) => void)} resolve\n * @param {(error?: Error|null|undefined) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n const file = vfile(doc)\n\n processor.run(processor.parse(file), file, (error, tree, file) => {\n if (error || !tree || !file) {\n done(error)\n } else {\n /** @type {unknown} */\n const result = processor.stringify(tree, file)\n\n if (result === undefined || result === null) {\n // Empty.\n } else if (looksLikeAVFileValue(result)) {\n file.value = result\n } else {\n file.result = result\n }\n\n done(error, file)\n }\n })\n\n /**\n * @param {Error|null|undefined} [error]\n * @param {VFile|undefined} [file]\n * @returns {void}\n */\n function done(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, file)\n }\n }\n }\n }\n\n /** @type {Processor['processSync']} */\n function processSync(doc) {\n /** @type {boolean|undefined} */\n let complete\n\n processor.freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n\n const file = vfile(doc)\n\n processor.process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n /**\n * @param {Error|null|undefined} [error]\n * @returns {void}\n */\n function done(error) {\n complete = true\n bail(error)\n }\n }\n}\n\n/**\n * Check if `value` is a constructor.\n *\n * @param {unknown} value\n * @param {string} name\n * @returns {boolean}\n */\nfunction newable(value, name) {\n return (\n typeof value === 'function' &&\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n value.prototype &&\n // A function with keys in its prototype is probably a constructor.\n // Classes’ prototype methods are not enumerable, so we check if some value\n // exists in the prototype.\n // type-coverage:ignore-next-line\n (keys(value.prototype) || name in value.prototype)\n )\n}\n\n/**\n * Check if `value` is an object with keys.\n *\n * @param {Record} value\n * @returns {boolean}\n */\nfunction keys(value) {\n /** @type {string} */\n let key\n\n for (key in value) {\n if (own.call(value, key)) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is VFileValue}\n */\nfunction looksLikeAVFileValue(value) {\n return typeof value === 'string' || isBuffer(value)\n}\n","/**\n * @typedef Options\n * @property {boolean} [includeImageAlt=true]\n */\n\n/**\n * Get the text content of a node.\n * Prefer the node’s plain-text fields, otherwise serialize its children,\n * and if the given value is an array, serialize the nodes in it.\n *\n * @param {unknown} node\n * @param {Options} [options]\n * @returns {string}\n */\nexport function toString(node, options) {\n var {includeImageAlt = true} = options || {}\n return one(node, includeImageAlt)\n}\n\n/**\n * @param {unknown} node\n * @param {boolean} includeImageAlt\n * @returns {string}\n */\nfunction one(node, includeImageAlt) {\n return (\n (node &&\n typeof node === 'object' &&\n // @ts-ignore looks like a literal.\n (node.value ||\n // @ts-ignore looks like an image.\n (includeImageAlt ? node.alt : '') ||\n // @ts-ignore looks like a parent.\n ('children' in node && all(node.children, includeImageAlt)) ||\n (Array.isArray(node) && all(node, includeImageAlt)))) ||\n ''\n )\n}\n\n/**\n * @param {Array.} values\n * @param {boolean} includeImageAlt\n * @returns {string}\n */\nfunction all(values, includeImageAlt) {\n /** @type {Array.} */\n var result = []\n var index = -1\n\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt)\n }\n\n return result.join('')\n}\n","/**\n * Like `Array#splice`, but smarter for giant arrays.\n *\n * `Array#splice` takes all items to be inserted as individual argument which\n * causes a stack overflow in V8 when trying to insert 100k items for instance.\n *\n * Otherwise, this does not return the removed items, and takes `items` as an\n * array instead of rest parameters.\n *\n * @template {unknown} T\n * @param {T[]} list\n * @param {number} start\n * @param {number} remove\n * @param {T[]} items\n * @returns {void}\n */\nexport function splice(list, start, remove, items) {\n const end = list.length\n let chunkStart = 0\n /** @type {unknown[]} */\n\n let parameters // Make start between zero and `end` (included).\n\n if (start < 0) {\n start = -start > end ? 0 : end + start\n } else {\n start = start > end ? end : start\n }\n\n remove = remove > 0 ? remove : 0 // No need to chunk the items if there’s only a couple (10k) items.\n\n if (items.length < 10000) {\n parameters = Array.from(items)\n parameters.unshift(start, remove) // @ts-expect-error Hush, it’s fine.\n ;[].splice.apply(list, parameters)\n } else {\n // Delete `remove` items starting from `start`\n if (remove) [].splice.apply(list, [start, remove]) // Insert the items in chunks to not cause stack overflows.\n\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000)\n parameters.unshift(start, 0) // @ts-expect-error Hush, it’s fine.\n ;[].splice.apply(list, parameters)\n chunkStart += 10000\n start += 10000\n }\n }\n}\n/**\n * Append `items` (an array) at the end of `list` (another array).\n * When `list` was empty, returns `items` instead.\n *\n * This prevents a potentially expensive operation when `list` is empty,\n * and adds items in batches to prevent V8 from hanging.\n *\n * @template {unknown} T\n * @param {T[]} list\n * @param {T[]} items\n * @returns {T[]}\n */\n\nexport function push(list, items) {\n if (list.length > 0) {\n splice(list, list.length, 0, items)\n return list\n }\n\n return items\n}\n","/**\n * @typedef {import('micromark-util-types').NormalizedExtension} NormalizedExtension\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n */\n\nimport {splice} from 'micromark-util-chunked'\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/**\n * Combine several syntax extensions into one.\n *\n * @param {Extension[]} extensions List of syntax extensions.\n * @returns {NormalizedExtension} A single combined extension.\n */\nexport function combineExtensions(extensions) {\n /** @type {NormalizedExtension} */\n const all = {}\n let index = -1\n\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index])\n }\n\n return all\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {NormalizedExtension} all Extension to merge into.\n * @param {Extension} extension Extension to merge.\n * @returns {void}\n */\nfunction syntaxExtension(all, extension) {\n /** @type {string} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {string} */\n let code\n\n for (code in right) {\n if (!hasOwnProperty.call(left, code)) left[code] = []\n const value = right[code]\n constructs(\n // @ts-expect-error Looks like a list.\n left[code],\n Array.isArray(value) ? value : value ? [value] : []\n )\n }\n }\n}\n\n/**\n * Merge `list` into `existing` (both lists of constructs).\n * Mutates `existing`.\n *\n * @param {unknown[]} existing\n * @param {unknown[]} list\n * @returns {void}\n */\nfunction constructs(existing, list) {\n let index = -1\n /** @type {unknown[]} */\n const before = []\n\n while (++index < list.length) {\n // @ts-expect-error Looks like an object.\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n splice(existing, 0, 0, before)\n}\n\n/**\n * Combine several HTML extensions into one.\n *\n * @param {HtmlExtension[]} htmlExtensions List of HTML extensions.\n * @returns {HtmlExtension} A single combined extension.\n */\nexport function combineHtmlExtensions(htmlExtensions) {\n /** @type {HtmlExtension} */\n const handlers = {}\n let index = -1\n\n while (++index < htmlExtensions.length) {\n htmlExtension(handlers, htmlExtensions[index])\n }\n\n return handlers\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {HtmlExtension} all Extension to merge into.\n * @param {HtmlExtension} extension Extension to merge.\n * @returns {void}\n */\nfunction htmlExtension(all, extension) {\n /** @type {string} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {string} */\n let type\n\n if (right) {\n for (type in right) {\n left[type] = right[type]\n }\n }\n }\n}\n","// This module is generated by `script/`.\n//\n// CommonMark handles attention (emphasis, strong) markers based on what comes\n// before or after them.\n// One such difference is if those characters are Unicode punctuation.\n// This script is generated from the Unicode data.\nexport const unicodePunctuationRegex =\n /[!-/:-@[-`{-~\\u00A1\\u00A7\\u00AB\\u00B6\\u00B7\\u00BB\\u00BF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {unicodePunctuationRegex} from './lib/unicode-punctuation-regex.js'\n/**\n * Check whether the character code represents an ASCII alpha (`a` through `z`,\n * case insensitive).\n *\n * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.\n *\n * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)\n * to U+005A (`Z`).\n *\n * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)\n * to U+007A (`z`).\n */\n\nexport const asciiAlpha = regexCheck(/[A-Za-z]/)\n/**\n * Check whether the character code represents an ASCII digit (`0` through `9`).\n *\n * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to\n * U+0039 (`9`).\n */\n\nexport const asciiDigit = regexCheck(/\\d/)\n/**\n * Check whether the character code represents an ASCII hex digit (`a` through\n * `f`, case insensitive, or `0` through `9`).\n *\n * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex\n * digit, or an ASCII lower hex digit.\n *\n * An **ASCII upper hex digit** is a character in the inclusive range U+0041\n * (`A`) to U+0046 (`F`).\n *\n * An **ASCII lower hex digit** is a character in the inclusive range U+0061\n * (`a`) to U+0066 (`f`).\n */\n\nexport const asciiHexDigit = regexCheck(/[\\dA-Fa-f]/)\n/**\n * Check whether the character code represents an ASCII alphanumeric (`a`\n * through `z`, case insensitive, or `0` through `9`).\n *\n * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha\n * (see `asciiAlpha`).\n */\n\nexport const asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/)\n/**\n * Check whether the character code represents ASCII punctuation.\n *\n * An **ASCII punctuation** is a character in the inclusive ranges U+0021\n * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT\n * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT\n * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).\n */\n\nexport const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)\n/**\n * Check whether the character code represents an ASCII atext.\n *\n * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in\n * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),\n * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F\n * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E\n * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE\n * (`{`) to U+007E TILDE (`~`).\n *\n * See:\n * **\\[RFC5322]**:\n * [Internet Message Format](https://tools.ietf.org/html/rfc5322).\n * P. Resnick.\n * IETF.\n */\n\nexport const asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/)\n/**\n * Check whether a character code is an ASCII control character.\n *\n * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)\n * to U+001F (US), or U+007F (DEL).\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code !== null && (code < 32 || code === 127)\n )\n}\n/**\n * Check whether a character code is a markdown line ending (see\n * `markdownLineEnding`) or markdown space (see `markdownSpace`).\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownLineEndingOrSpace(code) {\n return code !== null && (code < 0 || code === 32)\n}\n/**\n * Check whether a character code is a markdown line ending.\n *\n * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN\n * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).\n *\n * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE\n * RETURN (CR) are replaced by these virtual characters depending on whether\n * they occurred together.\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownLineEnding(code) {\n return code !== null && code < -2\n}\n/**\n * Check whether a character code is a markdown space.\n *\n * A **markdown space** is the concrete character U+0020 SPACE (SP) and the\n * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).\n *\n * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is\n * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL\n * SPACE (VS) characters, depending on the column at which the tab occurred.\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownSpace(code) {\n return code === -2 || code === -1 || code === 32\n}\n/**\n * Check whether the character code represents Unicode whitespace.\n *\n * Note that this does handle micromark specific markdown whitespace characters.\n * See `markdownLineEndingOrSpace` to check that.\n *\n * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,\n * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),\n * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\\[UNICODE]**).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n */\n\nexport const unicodeWhitespace = regexCheck(/\\s/)\n/**\n * Check whether the character code represents Unicode punctuation.\n *\n * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,\n * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`\n * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`\n * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII\n * punctuation (see `asciiPunctuation`).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n */\n// Size note: removing ASCII from the regex and using `asciiPunctuation` here\n// In fact adds to the bundle size.\n\nexport const unicodePunctuation = regexCheck(unicodePunctuationRegex)\n/**\n * Create a code check from a regex.\n *\n * @param {RegExp} regex\n * @returns {(code: Code) => code is number}\n */\n\nfunction regexCheck(regex) {\n return check\n /**\n * Check whether a code matches the bound regex.\n *\n * @param {Code} code Character code\n * @returns {code is number} Whether the character code matches the bound regex\n */\n\n function check(code) {\n return code !== null && regex.test(String.fromCharCode(code))\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownSpace} from 'micromark-util-character'\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {string} type\n * @param {number} [max=Infinity]\n * @returns {State}\n */\n\nexport function factorySpace(effects, ok, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type)\n return prefix(code)\n }\n\n return ok(code)\n }\n /** @type {State} */\n\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code)\n return prefix\n }\n\n effects.exit(type)\n return ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {InitialConstruct} */\nexport const content = {\n tokenize: initializeContent\n}\n/** @type {Initializer} */\n\nfunction initializeContent(effects) {\n const contentStart = effects.attempt(\n this.parser.constructs.contentInitial,\n afterContentStartConstruct,\n paragraphInitial\n )\n /** @type {Token} */\n\n let previous\n return contentStart\n /** @type {State} */\n\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, contentStart, 'linePrefix')\n }\n /** @type {State} */\n\n function paragraphInitial(code) {\n effects.enter('paragraph')\n return lineStart(code)\n }\n /** @type {State} */\n\n function lineStart(code) {\n const token = effects.enter('chunkText', {\n contentType: 'text',\n previous\n })\n\n if (previous) {\n previous.next = token\n }\n\n previous = token\n return data(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null) {\n effects.exit('chunkText')\n effects.exit('paragraph')\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n effects.exit('chunkText')\n return lineStart\n } // Data.\n\n effects.consume(code)\n return data\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Point} Point\n */\n\n/**\n * @typedef {Record} StackState\n * @typedef {[Construct, StackState]} StackItem\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {splice} from 'micromark-util-chunked'\n/** @type {InitialConstruct} */\n\nexport const document = {\n tokenize: initializeDocument\n}\n/** @type {Construct} */\n\nconst containerConstruct = {\n tokenize: tokenizeContainer\n}\n/** @type {Initializer} */\n\nfunction initializeDocument(effects) {\n const self = this\n /** @type {StackItem[]} */\n\n const stack = []\n let continued = 0\n /** @type {TokenizeContext|undefined} */\n\n let childFlow\n /** @type {Token|undefined} */\n\n let childToken\n /** @type {number} */\n\n let lineStartOffset\n return start\n /** @type {State} */\n\n function start(code) {\n // First we iterate through the open blocks, starting with the root\n // document, and descending through last children down to the last open\n // block.\n // Each block imposes a condition that the line must satisfy if the block is\n // to remain open.\n // For example, a block quote requires a `>` character.\n // A paragraph requires a non-blank line.\n // In this phase we may match all or just some of the open blocks.\n // But we cannot close unmatched blocks yet, because we may have a lazy\n // continuation line.\n if (continued < stack.length) {\n const item = stack[continued]\n self.containerState = item[1]\n return effects.attempt(\n item[0].continuation,\n documentContinue,\n checkNewContainers\n )(code)\n } // Done.\n\n return checkNewContainers(code)\n }\n /** @type {State} */\n\n function documentContinue(code) {\n continued++ // Note: this field is called `_closeFlow` but it also closes containers.\n // Perhaps a good idea to rename it but it’s already used in the wild by\n // extensions.\n\n if (self.containerState._closeFlow) {\n self.containerState._closeFlow = undefined\n\n if (childFlow) {\n closeFlow()\n } // Note: this algorithm for moving events around is similar to the\n // algorithm when dealing with lazy lines in `writeToChild`.\n\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {Point|undefined} */\n\n let point // Find the flow chunk.\n\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n }\n\n exitContainers(continued) // Fix positions.\n\n let index = indexBeforeExits\n\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n } // Inject the exits earlier (they’re still also at the end).\n\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n ) // Discard the duplicate exits.\n\n self.events.length = index\n return checkNewContainers(code)\n }\n\n return start(code)\n }\n /** @type {State} */\n\n function checkNewContainers(code) {\n // Next, after consuming the continuation markers for existing blocks, we\n // look for new block starts (e.g. `>` for a block quote).\n // If we encounter a new block start, we close any blocks unmatched in\n // step 1 before creating the new block as a child of the last matched\n // block.\n if (continued === stack.length) {\n // No need to `check` whether there’s a container, of `exitContainers`\n // would be moot.\n // We can instead immediately `attempt` to parse one.\n if (!childFlow) {\n return documentContinued(code)\n } // If we have concrete content, such as block HTML or fenced code,\n // we can’t have containers “pierce” into them, so we can immediately\n // start.\n\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n return flowStart(code)\n } // If we do have flow, it could still be a blank line,\n // but we’d be interrupting it w/ a new container if there’s a current\n // construct.\n\n self.interrupt = Boolean(\n childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack\n )\n } // Check if there is a new container.\n\n self.containerState = {}\n return effects.check(\n containerConstruct,\n thereIsANewContainer,\n thereIsNoNewContainer\n )(code)\n }\n /** @type {State} */\n\n function thereIsANewContainer(code) {\n if (childFlow) closeFlow()\n exitContainers(continued)\n return documentContinued(code)\n }\n /** @type {State} */\n\n function thereIsNoNewContainer(code) {\n self.parser.lazy[self.now().line] = continued !== stack.length\n lineStartOffset = self.now().offset\n return flowStart(code)\n }\n /** @type {State} */\n\n function documentContinued(code) {\n // Try new containers.\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n containerContinue,\n flowStart\n )(code)\n }\n /** @type {State} */\n\n function containerContinue(code) {\n continued++\n stack.push([self.currentConstruct, self.containerState]) // Try another.\n\n return documentContinued(code)\n }\n /** @type {State} */\n\n function flowStart(code) {\n if (code === null) {\n if (childFlow) closeFlow()\n exitContainers(0)\n effects.consume(code)\n return\n }\n\n childFlow = childFlow || self.parser.flow(self.now())\n effects.enter('chunkFlow', {\n contentType: 'flow',\n previous: childToken,\n _tokenizer: childFlow\n })\n return flowContinue(code)\n }\n /** @type {State} */\n\n function flowContinue(code) {\n if (code === null) {\n writeToChild(effects.exit('chunkFlow'), true)\n exitContainers(0)\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n writeToChild(effects.exit('chunkFlow')) // Get ready for the next line.\n\n continued = 0\n self.interrupt = undefined\n return start\n }\n\n effects.consume(code)\n return flowContinue\n }\n /**\n * @param {Token} token\n * @param {boolean} [eof]\n * @returns {void}\n */\n\n function writeToChild(token, eof) {\n const stream = self.sliceStream(token)\n if (eof) stream.push(null)\n token.previous = childToken\n if (childToken) childToken.next = token\n childToken = token\n childFlow.defineSkip(token.start)\n childFlow.write(stream) // Alright, so we just added a lazy line:\n //\n // ```markdown\n // > a\n // b.\n //\n // Or:\n //\n // > ~~~c\n // d\n //\n // Or:\n //\n // > | e |\n // f\n // ```\n //\n // The construct in the second example (fenced code) does not accept lazy\n // lines, so it marked itself as done at the end of its first line, and\n // then the content construct parses `d`.\n // Most constructs in markdown match on the first line: if the first line\n // forms a construct, a non-lazy line can’t “unmake” it.\n //\n // The construct in the third example is potentially a GFM table, and\n // those are *weird*.\n // It *could* be a table, from the first line, if the following line\n // matches a condition.\n // In this case, that second line is lazy, which “unmakes” the first line\n // and turns the whole into one content block.\n //\n // We’ve now parsed the non-lazy and the lazy line, and can figure out\n // whether the lazy line started a new flow block.\n // If it did, we exit the current containers between the two flow blocks.\n\n if (self.parser.lazy[token.start.line]) {\n let index = childFlow.events.length\n\n while (index--) {\n if (\n // The token starts before the line ending…\n childFlow.events[index][1].start.offset < lineStartOffset && // …and either is not ended yet…\n (!childFlow.events[index][1].end || // …or ends after it.\n childFlow.events[index][1].end.offset > lineStartOffset)\n ) {\n // Exit: there’s still something open, which means it’s a lazy line\n // part of something.\n return\n }\n } // Note: this algorithm for moving events around is similar to the\n // algorithm when closing flow in `documentContinue`.\n\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {boolean|undefined} */\n\n let seen\n /** @type {Point|undefined} */\n\n let point // Find the previous chunk (the one before the lazy line).\n\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n if (seen) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n\n seen = true\n }\n }\n\n exitContainers(continued) // Fix positions.\n\n index = indexBeforeExits\n\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n } // Inject the exits earlier (they’re still also at the end).\n\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n ) // Discard the duplicate exits.\n\n self.events.length = index\n }\n }\n /**\n * @param {number} size\n * @returns {void}\n */\n\n function exitContainers(size) {\n let index = stack.length // Exit open containers.\n\n while (index-- > size) {\n const entry = stack[index]\n self.containerState = entry[1]\n entry[0].exit.call(self, effects)\n }\n\n stack.length = size\n }\n\n function closeFlow() {\n childFlow.write([null])\n childToken = undefined\n childFlow = undefined\n self.containerState._closeFlow = undefined\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContainer(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(this.parser.constructs.document, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const blankLine = {\n tokenize: tokenizeBlankLine,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlankLine(effects, ok, nok) {\n return factorySpace(effects, afterWhitespace, 'linePrefix')\n /** @type {State} */\n\n function afterWhitespace(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {splice} from 'micromark-util-chunked'\n\n/**\n * Tokenize subcontent.\n *\n * @param {Event[]} events\n * @returns {boolean}\n */\nexport function subtokenize(events) {\n /** @type {Record} */\n const jumps = {}\n let index = -1\n /** @type {Event} */\n\n let event\n /** @type {number|undefined} */\n\n let lineIndex\n /** @type {number} */\n\n let otherIndex\n /** @type {Event} */\n\n let otherEvent\n /** @type {Event[]} */\n\n let parameters\n /** @type {Event[]} */\n\n let subevents\n /** @type {boolean|undefined} */\n\n let more\n\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index]\n }\n\n event = events[index] // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n\n if (\n index &&\n event[1].type === 'chunkFlow' &&\n events[index - 1][1].type === 'listItemPrefix'\n ) {\n subevents = event[1]._tokenizer.events\n otherIndex = 0\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'lineEndingBlank'\n ) {\n otherIndex += 2\n }\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'content'\n ) {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === 'content') {\n break\n }\n\n if (subevents[otherIndex][1].type === 'chunkText') {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true\n otherIndex++\n }\n }\n }\n } // Enter.\n\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index))\n index = jumps[index]\n more = true\n }\n } // Exit.\n else if (event[1]._container) {\n otherIndex = index\n lineIndex = undefined\n\n while (otherIndex--) {\n otherEvent = events[otherIndex]\n\n if (\n otherEvent[1].type === 'lineEnding' ||\n otherEvent[1].type === 'lineEndingBlank'\n ) {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n }\n\n otherEvent[1].type = 'lineEnding'\n lineIndex = otherIndex\n }\n } else {\n break\n }\n }\n\n if (lineIndex) {\n // Fix position.\n event[1].end = Object.assign({}, events[lineIndex][1].start) // Switch container exit w/ line endings.\n\n parameters = events.slice(lineIndex, index)\n parameters.unshift(event)\n splice(events, lineIndex, index - lineIndex + 1, parameters)\n }\n }\n }\n\n return !more\n}\n/**\n * Tokenize embedded tokens.\n *\n * @param {Event[]} events\n * @param {number} eventIndex\n * @returns {Record}\n */\n\nfunction subcontent(events, eventIndex) {\n const token = events[eventIndex][1]\n const context = events[eventIndex][2]\n let startPosition = eventIndex - 1\n /** @type {number[]} */\n\n const startPositions = []\n const tokenizer =\n token._tokenizer || context.parser[token.contentType](token.start)\n const childEvents = tokenizer.events\n /** @type {[number, number][]} */\n\n const jumps = []\n /** @type {Record} */\n\n const gaps = {}\n /** @type {Chunk[]} */\n\n let stream\n /** @type {Token|undefined} */\n\n let previous\n let index = -1\n /** @type {Token|undefined} */\n\n let current = token\n let adjust = 0\n let start = 0\n const breaks = [start] // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n\n while (current) {\n // Find the position of the event for this token.\n while (events[++startPosition][1] !== current) {\n // Empty.\n }\n\n startPositions.push(startPosition)\n\n if (!current._tokenizer) {\n stream = context.sliceStream(current)\n\n if (!current.next) {\n stream.push(null)\n }\n\n if (previous) {\n tokenizer.defineSkip(current.start)\n }\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true\n }\n\n tokenizer.write(stream)\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined\n }\n } // Unravel the next token.\n\n previous = current\n current = current.next\n } // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n\n current = token\n\n while (++index < childEvents.length) {\n if (\n // Find a void token that includes a break.\n childEvents[index][0] === 'exit' &&\n childEvents[index - 1][0] === 'enter' &&\n childEvents[index][1].type === childEvents[index - 1][1].type &&\n childEvents[index][1].start.line !== childEvents[index][1].end.line\n ) {\n start = index + 1\n breaks.push(start) // Help GC.\n\n current._tokenizer = undefined\n current.previous = undefined\n current = current.next\n }\n } // Help GC.\n\n tokenizer.events = [] // If there’s one more token (which is the cases for lines that end in an\n // EOF), that’s perfect: the last point we found starts it.\n // If there isn’t then make sure any remaining content is added to it.\n\n if (current) {\n // Help GC.\n current._tokenizer = undefined\n current.previous = undefined\n } else {\n breaks.pop()\n } // Now splice the events from the subtokenizer into the current events,\n // moving back to front so that splice indices aren’t affected.\n\n index = breaks.length\n\n while (index--) {\n const slice = childEvents.slice(breaks[index], breaks[index + 1])\n const start = startPositions.pop()\n jumps.unshift([start, start + slice.length - 1])\n splice(events, start, 2, slice)\n }\n\n index = -1\n\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]\n adjust += jumps[index][1] - jumps[index][0] - 1\n }\n\n return gaps\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {subtokenize} from 'micromark-util-subtokenize'\n\n/**\n * No name because it must not be turned off.\n * @type {Construct}\n */\nexport const content = {\n tokenize: tokenizeContent,\n resolve: resolveContent\n}\n/** @type {Construct} */\n\nconst continuationConstruct = {\n tokenize: tokenizeContinuation,\n partial: true\n}\n/**\n * Content is transparent: it’s parsed right now. That way, definitions are also\n * parsed right now: before text in paragraphs (specifically, media) are parsed.\n *\n * @type {Resolver}\n */\n\nfunction resolveContent(events) {\n subtokenize(events)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContent(effects, ok) {\n /** @type {Token} */\n let previous\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('content')\n previous = effects.enter('chunkContent', {\n contentType: 'content'\n })\n return data(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null) {\n return contentEnd(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.check(\n continuationConstruct,\n contentContinue,\n contentEnd\n )(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n /** @type {State} */\n\n function contentEnd(code) {\n effects.exit('chunkContent')\n effects.exit('content')\n return ok(code)\n }\n /** @type {State} */\n\n function contentContinue(code) {\n effects.consume(code)\n effects.exit('chunkContent')\n previous.next = effects.enter('chunkContent', {\n contentType: 'content',\n previous\n })\n previous = previous.next\n return data\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContinuation(effects, ok, nok) {\n const self = this\n return startLookahead\n /** @type {State} */\n\n function startLookahead(code) {\n effects.exit('chunkContent')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, prefixed, 'linePrefix')\n }\n /** @type {State} */\n\n function prefixed(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n const tail = self.events[self.events.length - 1]\n\n if (\n !self.parser.constructs.disable.null.includes('codeIndented') &&\n tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ) {\n return ok(code)\n }\n\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {blankLine, content} from 'micromark-core-commonmark'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {InitialConstruct} */\nexport const flow = {\n tokenize: initializeFlow\n}\n/** @type {Initializer} */\n\nfunction initializeFlow(effects) {\n const self = this\n const initial = effects.attempt(\n // Try to parse a blank line.\n blankLine,\n atBlankEnding, // Try to parse initial flow (essentially, only code).\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n factorySpace(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(content, afterConstruct)\n ),\n 'linePrefix'\n )\n )\n )\n return initial\n /** @type {State} */\n\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n self.currentConstruct = undefined\n return initial\n }\n /** @type {State} */\n\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n self.currentConstruct = undefined\n return initial\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nexport const resolver = {\n resolveAll: createResolver()\n}\nexport const string = initializeFactory('string')\nexport const text = initializeFactory('text')\n/**\n * @param {'string'|'text'} field\n * @returns {InitialConstruct}\n */\n\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === 'text' ? resolveAllLineSuffixes : undefined\n )\n }\n /** @type {Initializer} */\n\n function initializeText(effects) {\n const self = this\n const constructs = this.parser.constructs[field]\n const text = effects.attempt(constructs, start, notText)\n return start\n /** @type {State} */\n\n function start(code) {\n return atBreak(code) ? text(code) : notText(code)\n }\n /** @type {State} */\n\n function notText(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('data')\n effects.consume(code)\n return data\n }\n /** @type {State} */\n\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data')\n return text(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n /**\n * @param {Code} code\n * @returns {boolean}\n */\n\n function atBreak(code) {\n if (code === null) {\n return true\n }\n\n const list = constructs[code]\n let index = -1\n\n if (list) {\n while (++index < list.length) {\n const item = list[index]\n\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true\n }\n }\n }\n\n return false\n }\n }\n}\n/**\n * @param {Resolver} [extraResolver]\n * @returns {Resolver}\n */\n\nfunction createResolver(extraResolver) {\n return resolveAllText\n /** @type {Resolver} */\n\n function resolveAllText(events, context) {\n let index = -1\n /** @type {number|undefined} */\n\n let enter // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index\n index++\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return extraResolver ? extraResolver(events, context) : events\n }\n}\n/**\n * A rather ugly set of instructions which again looks at chunks in the input\n * stream.\n * The reason to do this here is that it is *much* faster to parse in reverse.\n * And that we can’t hook into `null` to split the line suffix before an EOF.\n * To do: figure out if we can make this into a clean utility, or even in core.\n * As it will be useful for GFMs literal autolink extension (and maybe even\n * tables?)\n *\n * @type {Resolver}\n */\n\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0 // Skip first.\n\n while (++eventIndex <= events.length) {\n if (\n (eventIndex === events.length ||\n events[eventIndex][1].type === 'lineEnding') &&\n events[eventIndex - 1][1].type === 'data'\n ) {\n const data = events[eventIndex - 1][1]\n const chunks = context.sliceStream(data)\n let index = chunks.length\n let bufferIndex = -1\n let size = 0\n /** @type {boolean|undefined} */\n\n let tabs\n\n while (index--) {\n const chunk = chunks[index]\n\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length\n\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++\n bufferIndex--\n }\n\n if (bufferIndex) break\n bufferIndex = -1\n } // Number\n else if (chunk === -2) {\n tabs = true\n size++\n } else if (chunk === -1) {\n // Empty\n } else {\n // Replacement character, exit.\n index++\n break\n }\n }\n\n if (size) {\n const token = {\n type:\n eventIndex === events.length || tabs || size < 2\n ? 'lineSuffix'\n : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index\n ? bufferIndex\n : data.start._bufferIndex + bufferIndex\n },\n end: Object.assign({}, data.end)\n }\n data.end = Object.assign({}, token.start)\n\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token)\n } else {\n events.splice(\n eventIndex,\n 0,\n ['enter', token, context],\n ['exit', token, context]\n )\n eventIndex += 2\n }\n }\n\n eventIndex++\n }\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {{resolveAll?: Resolver}[]} constructs\n * @param {Event[]} events\n * @param {TokenizeContext} context\n * @returns {Event[]}\n */\nexport function resolveAll(constructs, events, context) {\n /** @type {Resolver[]} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n */\n\n/**\n * @typedef Info\n * @property {() => void} restore\n * @property {number} from\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * @param {Info} info\n * @returns {void}\n */\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * @param {InitialConstruct} initialize\n * @param {Omit} [from]\n * @returns {TokenizeContext}\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = Object.assign(\n from\n ? Object.assign({}, from)\n : {\n line: 1,\n column: 1,\n offset: 0\n },\n {\n _index: 0,\n _bufferIndex: -1\n }\n )\n /** @type {Record} */\n\n const columnStart = {}\n /** @type {Construct[]} */\n\n const resolveAllConstructs = []\n /** @type {Chunk[]} */\n\n let chunks = []\n /** @type {Token[]} */\n\n let stack = []\n /** @type {boolean|undefined} */\n\n let consumed = true\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n\n const effects = {\n consume,\n enter,\n exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n }\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n\n const context = {\n previous: null,\n code: null,\n containerState: {},\n events: [],\n parser,\n sliceStream,\n sliceSerialize,\n now,\n defineSkip,\n write\n }\n /**\n * The state function.\n *\n * @type {State|void}\n */\n\n let state = initialize.tokenize.call(context, effects)\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n\n let expectedCode\n\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize)\n }\n\n return context\n /** @type {TokenizeContext['write']} */\n\n function write(slice) {\n chunks = push(chunks, slice)\n main() // Exit if we’re not done, resolve might change stuff.\n\n if (chunks[chunks.length - 1] !== null) {\n return []\n }\n\n addResult(initialize, 0) // Otherwise, resolve, and exit.\n\n context.events = resolveAll(resolveAllConstructs, context.events, context)\n return context.events\n } //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs)\n }\n /** @type {TokenizeContext['sliceStream']} */\n\n function sliceStream(token) {\n return sliceChunks(chunks, token)\n }\n /** @type {TokenizeContext['now']} */\n\n function now() {\n return Object.assign({}, point)\n }\n /** @type {TokenizeContext['defineSkip']} */\n\n function defineSkip(value) {\n columnStart[value.line] = value.column\n accountForPotentialSkip()\n } //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {void}\n */\n\n function main() {\n /** @type {number} */\n let chunkIndex\n\n while (point._index < chunks.length) {\n const chunk = chunks[point._index] // If we’re in a buffer chunk, loop through it.\n\n if (typeof chunk === 'string') {\n chunkIndex = point._index\n\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0\n }\n\n while (\n point._index === chunkIndex &&\n point._bufferIndex < chunk.length\n ) {\n go(chunk.charCodeAt(point._bufferIndex))\n }\n } else {\n go(chunk)\n }\n }\n }\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * @returns {void}\n */\n\n function go(code) {\n consumed = undefined\n expectedCode = code\n state = state(code)\n }\n /** @type {Effects['consume']} */\n\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++\n point.column = 1\n point.offset += code === -3 ? 2 : 1\n accountForPotentialSkip()\n } else if (code !== -1) {\n point.column++\n point.offset++\n } // Not in a string chunk.\n\n if (point._bufferIndex < 0) {\n point._index++\n } else {\n point._bufferIndex++ // At end of string chunk.\n // @ts-expect-error Points w/ non-negative `_bufferIndex` reference\n // strings.\n\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1\n point._index++\n }\n } // Expose the previous character.\n\n context.previous = code // Mark as consumed.\n\n consumed = true\n }\n /** @type {Effects['enter']} */\n\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {}\n token.type = type\n token.start = now()\n context.events.push(['enter', token, context])\n stack.push(token)\n return token\n }\n /** @type {Effects['exit']} */\n\n function exit(type) {\n const token = stack.pop()\n token.end = now()\n context.events.push(['exit', token, context])\n return token\n }\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from)\n }\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n\n function onsuccessfulcheck(_, info) {\n info.restore()\n }\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * @param {Record} [fields]\n */\n\n function constructFactory(onreturn, fields) {\n return hook\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Construct|Construct[]|ConstructRecord} constructs\n * @param {State} returnState\n * @param {State} [bogusState]\n * @returns {State}\n */\n\n function hook(constructs, returnState, bogusState) {\n /** @type {Construct[]} */\n let listOfConstructs\n /** @type {number} */\n\n let constructIndex\n /** @type {Construct} */\n\n let currentConstruct\n /** @type {Info} */\n\n let info\n return Array.isArray(constructs)\n ? /* c8 ignore next 1 */\n handleListOfConstructs(constructs)\n : 'tokenize' in constructs // @ts-expect-error Looks like a construct.\n ? handleListOfConstructs([constructs])\n : handleMapOfConstructs(constructs)\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * @returns {State}\n */\n\n function handleMapOfConstructs(map) {\n return start\n /** @type {State} */\n\n function start(code) {\n const def = code !== null && map[code]\n const all = code !== null && map.null\n const list = [\n // To do: add more extension tests.\n\n /* c8 ignore next 2 */\n ...(Array.isArray(def) ? def : def ? [def] : []),\n ...(Array.isArray(all) ? all : all ? [all] : [])\n ]\n return handleListOfConstructs(list)(code)\n }\n }\n /**\n * Handle a list of construct.\n *\n * @param {Construct[]} list\n * @returns {State}\n */\n\n function handleListOfConstructs(list) {\n listOfConstructs = list\n constructIndex = 0\n\n if (list.length === 0) {\n return bogusState\n }\n\n return handleConstruct(list[constructIndex])\n }\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * @returns {State}\n */\n\n function handleConstruct(construct) {\n return start\n /** @type {State} */\n\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store()\n currentConstruct = construct\n\n if (!construct.partial) {\n context.currentConstruct = construct\n }\n\n if (\n construct.name &&\n context.parser.constructs.disable.null.includes(construct.name)\n ) {\n return nok(code)\n }\n\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context,\n effects,\n ok,\n nok\n )(code)\n }\n }\n /** @type {State} */\n\n function ok(code) {\n consumed = true\n onreturn(currentConstruct, info)\n return returnState\n }\n /** @type {State} */\n\n function nok(code) {\n consumed = true\n info.restore()\n\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex])\n }\n\n return bogusState\n }\n }\n }\n /**\n * @param {Construct} construct\n * @param {number} from\n * @returns {void}\n */\n\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct)\n }\n\n if (construct.resolve) {\n splice(\n context.events,\n from,\n context.events.length - from,\n construct.resolve(context.events.slice(from), context)\n )\n }\n\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context)\n }\n }\n /**\n * Store state.\n *\n * @returns {Info}\n */\n\n function store() {\n const startPoint = now()\n const startPrevious = context.previous\n const startCurrentConstruct = context.currentConstruct\n const startEventsIndex = context.events.length\n const startStack = Array.from(stack)\n return {\n restore,\n from: startEventsIndex\n }\n /**\n * Restore state.\n *\n * @returns {void}\n */\n\n function restore() {\n point = startPoint\n context.previous = startPrevious\n context.currentConstruct = startCurrentConstruct\n context.events.length = startEventsIndex\n stack = startStack\n accountForPotentialSkip()\n }\n }\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {void}\n */\n\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line]\n point.offset += columnStart[point.line] - 1\n }\n }\n}\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {Chunk[]} chunks\n * @param {Pick} token\n * @returns {Chunk[]}\n */\n\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index\n const startBufferIndex = token.start._bufferIndex\n const endIndex = token.end._index\n const endBufferIndex = token.end._bufferIndex\n /** @type {Chunk[]} */\n\n let view\n\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]\n } else {\n view = chunks.slice(startIndex, endIndex)\n\n if (startBufferIndex > -1) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view[0] = view[0].slice(startBufferIndex)\n }\n\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex))\n }\n }\n\n return view\n}\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {Chunk[]} chunks\n * @param {boolean} [expandTabs=false]\n * @returns {string}\n */\n\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1\n /** @type {string[]} */\n\n const result = []\n /** @type {boolean|undefined} */\n\n let atTab\n\n while (++index < chunks.length) {\n const chunk = chunks[index]\n /** @type {string} */\n\n let value\n\n if (typeof chunk === 'string') {\n value = chunk\n } else\n switch (chunk) {\n case -5: {\n value = '\\r'\n break\n }\n\n case -4: {\n value = '\\n'\n break\n }\n\n case -3: {\n value = '\\r' + '\\n'\n break\n }\n\n case -2: {\n value = expandTabs ? ' ' : '\\t'\n break\n }\n\n case -1: {\n if (!expandTabs && atTab) continue\n value = ' '\n break\n }\n\n default: {\n // Currently only replacement character.\n value = String.fromCharCode(chunk)\n }\n }\n\n atTab = chunk === -2\n result.push(value)\n }\n\n return result.join('')\n}\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0\n /** @type {NonNullable} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('thematicBreak')\n marker = code\n return atBreak(code)\n }\n /** @type {State} */\n\n function atBreak(code) {\n if (code === marker) {\n effects.enter('thematicBreakSequence')\n return sequence(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, 'whitespace')(code)\n }\n\n if (size < 3 || (code !== null && !markdownLineEnding(code))) {\n return nok(code)\n }\n\n effects.exit('thematicBreak')\n return ok(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return sequence\n }\n\n effects.exit('thematicBreakSequence')\n return atBreak(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n/**\n * @typedef {Record & {marker: Code, type: string, size: number}} ListContainerState\n * @typedef {TokenizeContext & {containerState: ListContainerState}} TokenizeContextWithState\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {asciiDigit, markdownSpace} from 'micromark-util-character'\nimport {blankLine} from './blank-line.js'\nimport {thematicBreak} from './thematic-break.js'\n/** @type {Construct} */\n\nexport const list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n}\n/** @type {Construct} */\n\nconst listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n}\n/** @type {Construct} */\n\nconst indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this\n const tail = self.events[self.events.length - 1]\n let initialSize =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n const kind =\n self.containerState.type ||\n (code === 42 || code === 43 || code === 45\n ? 'listUnordered'\n : 'listOrdered')\n\n if (\n kind === 'listUnordered'\n ? !self.containerState.marker || code === self.containerState.marker\n : asciiDigit(code)\n ) {\n if (!self.containerState.type) {\n self.containerState.type = kind\n effects.enter(kind, {\n _container: true\n })\n }\n\n if (kind === 'listUnordered') {\n effects.enter('listItemPrefix')\n return code === 42 || code === 45\n ? effects.check(thematicBreak, nok, atMarker)(code)\n : atMarker(code)\n }\n\n if (!self.interrupt || code === 49) {\n effects.enter('listItemPrefix')\n effects.enter('listItemValue')\n return inside(code)\n }\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code)\n return inside\n }\n\n if (\n (!self.interrupt || size < 2) &&\n (self.containerState.marker\n ? code === self.containerState.marker\n : code === 41 || code === 46)\n ) {\n effects.exit('listItemValue')\n return atMarker(code)\n }\n\n return nok(code)\n }\n /**\n * @type {State}\n **/\n\n function atMarker(code) {\n effects.enter('listItemMarker')\n effects.consume(code)\n effects.exit('listItemMarker')\n self.containerState.marker = self.containerState.marker || code\n return effects.check(\n blankLine, // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n )\n }\n /** @type {State} */\n\n function onBlank(code) {\n self.containerState.initialBlankLine = true\n initialSize++\n return endOfPrefix(code)\n }\n /** @type {State} */\n\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter('listItemPrefixWhitespace')\n effects.consume(code)\n effects.exit('listItemPrefixWhitespace')\n return endOfPrefix\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function endOfPrefix(code) {\n self.containerState.size =\n initialSize +\n self.sliceSerialize(effects.exit('listItemPrefix'), true).length\n return ok(code)\n }\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this\n self.containerState._closeFlow = undefined\n return effects.check(blankLine, onBlank, notBlank)\n /** @type {State} */\n\n function onBlank(code) {\n self.containerState.furtherBlankLines =\n self.containerState.furtherBlankLines ||\n self.containerState.initialBlankLine // We have a blank line.\n // Still, try to consume at most the items size.\n\n return factorySpace(\n effects,\n ok,\n 'listItemIndent',\n self.containerState.size + 1\n )(code)\n }\n /** @type {State} */\n\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return notInCurrentItem(code)\n }\n\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)\n }\n /** @type {State} */\n\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true // As we’re closing flow, we’re no longer interrupting.\n\n self.interrupt = undefined\n return factorySpace(\n effects,\n effects.attempt(list, ok, nok),\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n }\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemIndent',\n self.containerState.size + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'listItemIndent' &&\n tail[2].sliceSerialize(tail[1], true).length === self.containerState.size\n ? ok(code)\n : nok(code)\n }\n}\n/**\n * @type {Exiter}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type)\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemPrefixWhitespace',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4 + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return !markdownSpace(code) &&\n tail &&\n tail[1].type === 'listItemPrefixWhitespace'\n ? ok(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownSpace} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const blockQuote = {\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart,\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n if (code === 62) {\n const state = self.containerState\n\n if (!state.open) {\n effects.enter('blockQuote', {\n _container: true\n })\n state.open = true\n }\n\n effects.enter('blockQuotePrefix')\n effects.enter('blockQuoteMarker')\n effects.consume(code)\n effects.exit('blockQuoteMarker')\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter('blockQuotePrefixWhitespace')\n effects.consume(code)\n effects.exit('blockQuotePrefixWhitespace')\n effects.exit('blockQuotePrefix')\n return ok\n }\n\n effects.exit('blockQuotePrefix')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(blockQuote, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n/** @type {Exiter} */\n\nfunction exit(effects) {\n effects.exit('blockQuote')\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {\n asciiControl,\n markdownLineEndingOrSpace,\n markdownLineEnding\n} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} literalType\n * @param {string} literalMarkerType\n * @param {string} rawType\n * @param {string} stringType\n * @param {number} [max=Infinity]\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryDestination(\n effects,\n ok,\n nok,\n type,\n literalType,\n literalMarkerType,\n rawType,\n stringType,\n max\n) {\n const limit = max || Number.POSITIVE_INFINITY\n let balance = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (code === 60) {\n effects.enter(type)\n effects.enter(literalType)\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n return destinationEnclosedBefore\n }\n\n if (code === null || code === 41 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.enter(type)\n effects.enter(rawType)\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationRaw(code)\n }\n /** @type {State} */\n\n function destinationEnclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n effects.exit(literalType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationEnclosed(code)\n }\n /** @type {State} */\n\n function destinationEnclosed(code) {\n if (code === 62) {\n effects.exit('chunkString')\n effects.exit(stringType)\n return destinationEnclosedBefore(code)\n }\n\n if (code === null || code === 60 || markdownLineEnding(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return code === 92 ? destinationEnclosedEscape : destinationEnclosed\n }\n /** @type {State} */\n\n function destinationEnclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code)\n return destinationEnclosed\n }\n\n return destinationEnclosed(code)\n }\n /** @type {State} */\n\n function destinationRaw(code) {\n if (code === 40) {\n if (++balance > limit) return nok(code)\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === 41) {\n if (!balance--) {\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n if (balance) return nok(code)\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n if (asciiControl(code)) return nok(code)\n effects.consume(code)\n return code === 92 ? destinationRawEscape : destinationRaw\n }\n /** @type {State} */\n\n function destinationRawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code)\n return destinationRaw\n }\n\n return destinationRaw(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/**\n * @this {TokenizeContext}\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} markerType\n * @param {string} stringType\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryLabel(effects, ok, nok, type, markerType, stringType) {\n const self = this\n let size = 0\n /** @type {boolean} */\n\n let data\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.enter(stringType)\n return atBreak\n }\n /** @type {State} */\n\n function atBreak(code) {\n if (\n code === null ||\n code === 91 ||\n (code === 93 && !data) ||\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook */\n\n /* c8 ignore next 3 */\n (code === 94 &&\n !size &&\n '_hiddenFootnoteSupport' in self.parser.constructs) ||\n size > 999\n ) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.exit(stringType)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return atBreak\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return label(code)\n }\n /** @type {State} */\n\n function label(code) {\n if (\n code === null ||\n code === 91 ||\n code === 93 ||\n markdownLineEnding(code) ||\n size++ > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n\n effects.consume(code)\n data = data || !markdownSpace(code)\n return code === 92 ? labelEscape : label\n }\n /** @type {State} */\n\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return label\n }\n\n return label(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} markerType\n * @param {string} stringType\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryTitle(effects, ok, nok, type, markerType, stringType) {\n /** @type {NonNullable} */\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n marker = code === 40 ? 41 : code\n return atFirstTitleBreak\n }\n /** @type {State} */\n\n function atFirstTitleBreak(code) {\n if (code === marker) {\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n return atTitleBreak(code)\n }\n /** @type {State} */\n\n function atTitleBreak(code) {\n if (code === marker) {\n effects.exit(stringType)\n return atFirstTitleBreak(marker)\n }\n\n if (code === null) {\n return nok(code)\n } // Note: blank lines can’t exist in content.\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, atTitleBreak, 'linePrefix')\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return title(code)\n }\n /** @type {State} */\n\n function title(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n return atTitleBreak(code)\n }\n\n effects.consume(code)\n return code === 92 ? titleEscape : title\n }\n /** @type {State} */\n\n function titleEscape(code) {\n if (code === marker || code === 92) {\n effects.consume(code)\n return title\n }\n\n return title(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n */\nexport function factoryWhitespace(effects, ok) {\n /** @type {boolean} */\n let seen\n return start\n /** @type {State} */\n\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n seen = true\n return start\n }\n\n if (markdownSpace(code)) {\n return factorySpace(\n effects,\n start,\n seen ? 'linePrefix' : 'lineSuffix'\n )(code)\n }\n\n return ok(code)\n }\n}\n","/**\n * Normalize an identifier (such as used in definitions).\n *\n * @param {string} value\n * @returns {string}\n */\nexport function normalizeIdentifier(value) {\n return (\n value // Collapse Markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, ' ') // Trim.\n .replace(/^ | $/g, '') // Some characters are considered “uppercase”, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no method is uppercase.\n .toLowerCase()\n .toUpperCase()\n )\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factorySpace} from 'micromark-factory-space'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const definition = {\n name: 'definition',\n tokenize: tokenizeDefinition\n}\n/** @type {Construct} */\n\nconst titleConstruct = {\n tokenize: tokenizeTitle,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDefinition(effects, ok, nok) {\n const self = this\n /** @type {string} */\n\n let identifier\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('definition')\n return factoryLabel.call(\n self,\n effects,\n labelAfter,\n nok,\n 'definitionLabel',\n 'definitionLabelMarker',\n 'definitionLabelString'\n )(code)\n }\n /** @type {State} */\n\n function labelAfter(code) {\n identifier = normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n\n if (code === 58) {\n effects.enter('definitionMarker')\n effects.consume(code)\n effects.exit('definitionMarker') // Note: blank lines can’t exist in content.\n\n return factoryWhitespace(\n effects,\n factoryDestination(\n effects,\n effects.attempt(\n titleConstruct,\n factorySpace(effects, after, 'whitespace'),\n factorySpace(effects, after, 'whitespace')\n ),\n nok,\n 'definitionDestination',\n 'definitionDestinationLiteral',\n 'definitionDestinationLiteralMarker',\n 'definitionDestinationRaw',\n 'definitionDestinationString'\n )\n )\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('definition')\n\n if (!self.parser.defined.includes(identifier)) {\n self.parser.defined.push(identifier)\n }\n\n return ok(code)\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeTitle(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, before)(code)\n : nok(code)\n }\n /** @type {State} */\n\n function before(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factorySpace(effects, after, 'whitespace'),\n nok,\n 'definitionTitle',\n 'definitionTitleMarker',\n 'definitionTitleString'\n )(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented\n}\n/** @type {Construct} */\n\nconst indentedContent = {\n tokenize: tokenizeIndentedContent,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeIndented(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeIndented')\n return factorySpace(effects, afterStartPrefix, 'linePrefix', 4 + 1)(code)\n }\n /** @type {State} */\n\n function afterStartPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ? afterPrefix(code)\n : nok(code)\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(indentedContent, afterPrefix, after)(code)\n }\n\n effects.enter('codeFlowValue')\n return content(code)\n }\n /** @type {State} */\n\n function content(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return afterPrefix(code)\n }\n\n effects.consume(code)\n return content\n }\n /** @type {State} */\n\n function after(code) {\n effects.exit('codeIndented')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeIndentedContent(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n // If this is a lazy line, it can’t be code.\n if (self.parser.lazy[self.now().line]) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return start\n }\n\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)(code)\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ? ok(code)\n : markdownLineEnding(code)\n ? start(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {splice} from 'micromark-util-chunked'\n\n/** @type {Construct} */\nexport const headingAtx = {\n name: 'headingAtx',\n tokenize: tokenizeHeadingAtx,\n resolve: resolveHeadingAtx\n}\n/** @type {Resolver} */\n\nfunction resolveHeadingAtx(events, context) {\n let contentEnd = events.length - 2\n let contentStart = 3\n /** @type {Token} */\n\n let content\n /** @type {Token} */\n\n let text // Prefix whitespace, part of the opening.\n\n if (events[contentStart][1].type === 'whitespace') {\n contentStart += 2\n } // Suffix whitespace, part of the closing.\n\n if (\n contentEnd - 2 > contentStart &&\n events[contentEnd][1].type === 'whitespace'\n ) {\n contentEnd -= 2\n }\n\n if (\n events[contentEnd][1].type === 'atxHeadingSequence' &&\n (contentStart === contentEnd - 1 ||\n (contentEnd - 4 > contentStart &&\n events[contentEnd - 2][1].type === 'whitespace'))\n ) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4\n }\n\n if (contentEnd > contentStart) {\n content = {\n type: 'atxHeadingText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n }\n text = {\n type: 'chunkText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n // @ts-expect-error Constants are fine to assign.\n contentType: 'text'\n }\n splice(events, contentStart, contentEnd - contentStart + 1, [\n ['enter', content, context],\n ['enter', text, context],\n ['exit', text, context],\n ['exit', content, context]\n ])\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n const self = this\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('atxHeading')\n effects.enter('atxHeadingSequence')\n return fenceOpenInside(code)\n }\n /** @type {State} */\n\n function fenceOpenInside(code) {\n if (code === 35 && size++ < 6) {\n effects.consume(code)\n return fenceOpenInside\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingSequence')\n return self.interrupt ? ok(code) : headingBreak(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function headingBreak(code) {\n if (code === 35) {\n effects.enter('atxHeadingSequence')\n return sequence(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n effects.exit('atxHeading')\n return ok(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, headingBreak, 'whitespace')(code)\n }\n\n effects.enter('atxHeadingText')\n return data(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === 35) {\n effects.consume(code)\n return sequence\n }\n\n effects.exit('atxHeadingSequence')\n return headingBreak(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null || code === 35 || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingText')\n return headingBreak(code)\n }\n\n effects.consume(code)\n return data\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n}\n/** @type {Resolver} */\n\nfunction resolveToSetextUnderline(events, context) {\n let index = events.length\n /** @type {number|undefined} */\n\n let content\n /** @type {number|undefined} */\n\n let text\n /** @type {number|undefined} */\n\n let definition // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === 'content') {\n content = index\n break\n }\n\n if (events[index][1].type === 'paragraph') {\n text = index\n }\n } // Exit\n else {\n if (events[index][1].type === 'content') {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1)\n }\n\n if (!definition && events[index][1].type === 'definition') {\n definition = index\n }\n }\n }\n\n const heading = {\n type: 'setextHeading',\n start: Object.assign({}, events[text][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n } // Change the paragraph to setext heading text.\n\n events[text][1].type = 'setextHeadingText' // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n\n if (definition) {\n events.splice(text, 0, ['enter', heading, context])\n events.splice(definition + 1, 0, ['exit', events[content][1], context])\n events[content][1].end = Object.assign({}, events[definition][1].end)\n } else {\n events[content][1] = heading\n } // Add the heading exit at the end.\n\n events.push(['exit', heading, context])\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {NonNullable} */\n\n let marker\n /** @type {boolean} */\n\n let paragraph // Find an opening.\n\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (\n self.events[index][1].type !== 'lineEnding' &&\n self.events[index][1].type !== 'linePrefix' &&\n self.events[index][1].type !== 'content'\n ) {\n paragraph = self.events[index][1].type === 'paragraph'\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter('setextHeadingLine')\n effects.enter('setextHeadingLineSequence')\n marker = code\n return closingSequence(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n return closingSequence\n }\n\n effects.exit('setextHeadingLineSequence')\n return factorySpace(effects, closingSequenceEnd, 'lineSuffix')(code)\n }\n /** @type {State} */\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('setextHeadingLine')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * List of lowercase HTML tag names which when parsing HTML (flow), result\n * in more relaxed rules (condition 6): because they are known blocks, the\n * HTML-like syntax doesn’t have to be strictly parsed.\n * For tag names not in this list, a more strict algorithm (condition 7) is used\n * to detect whether the HTML-like syntax is seen as HTML (flow) or not.\n *\n * This is copied from:\n * .\n */\nexport const htmlBlockNames = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'section',\n 'source',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\n/**\n * List of lowercase HTML tag names which when parsing HTML (flow), result in\n * HTML that can include lines w/o exiting, until a closing tag also in this\n * list is found (condition 1).\n *\n * This module is copied from:\n * .\n *\n * Note that `textarea` is not available in `CommonMark@0.29` but has been\n * merged to the primary branch and is slated to be released in the next release\n * of CommonMark.\n */\nexport const htmlRawNames = ['pre', 'script', 'style', 'textarea']\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {htmlBlockNames, htmlRawNames} from 'micromark-util-html-tag-name'\nimport {blankLine} from './blank-line.js'\n/** @type {Construct} */\n\nexport const htmlFlow = {\n name: 'htmlFlow',\n tokenize: tokenizeHtmlFlow,\n resolveTo: resolveToHtmlFlow,\n concrete: true\n}\n/** @type {Construct} */\n\nconst nextBlankConstruct = {\n tokenize: tokenizeNextBlank,\n partial: true\n}\n/** @type {Resolver} */\n\nfunction resolveToHtmlFlow(events) {\n let index = events.length\n\n while (index--) {\n if (events[index][0] === 'enter' && events[index][1].type === 'htmlFlow') {\n break\n }\n }\n\n if (index > 1 && events[index - 2][1].type === 'linePrefix') {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start // Add the prefix start to the HTML line token.\n\n events[index + 1][1].start = events[index - 2][1].start // Remove the line prefix.\n\n events.splice(index - 2, 2)\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n const self = this\n /** @type {number} */\n\n let kind\n /** @type {boolean} */\n\n let startTag\n /** @type {string} */\n\n let buffer\n /** @type {number} */\n\n let index\n /** @type {Code} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('htmlFlow')\n effects.enter('htmlFlowData')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationStart\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n kind = 3 // While we’re in an instruction instead of a declaration, we’re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = String.fromCharCode(code)\n startTag = true\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function declarationStart(code) {\n if (code === 45) {\n effects.consume(code)\n kind = 2\n return commentOpenInside\n }\n\n if (code === 91) {\n effects.consume(code)\n kind = 5\n buffer = 'CDATA['\n index = 0\n return cdataOpenInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n kind = 4\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function cdataOpenInside(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length\n ? self.interrupt\n ? ok\n : continuation\n : cdataOpenInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagName(code) {\n if (\n code === null ||\n code === 47 ||\n code === 62 ||\n markdownLineEndingOrSpace(code)\n ) {\n if (\n code !== 47 &&\n startTag &&\n htmlRawNames.includes(buffer.toLowerCase())\n ) {\n kind = 1\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n if (htmlBlockNames.includes(buffer.toLowerCase())) {\n kind = 6\n\n if (code === 47) {\n effects.consume(code)\n return basicSelfClosing\n }\n\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n kind = 7 // Do not support complete HTML when interrupting\n\n return self.interrupt && !self.parser.lazy[self.now().line]\n ? nok(code)\n : startTag\n ? completeAttributeNameBefore(code)\n : completeClosingTagAfter(code)\n }\n\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function basicSelfClosing(code) {\n if (code === 62) {\n effects.consume(code)\n return self.interrupt ? ok : continuation\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeClosingTagAfter\n }\n\n return completeEnd(code)\n }\n /** @type {State} */\n\n function completeAttributeNameBefore(code) {\n if (code === 47) {\n effects.consume(code)\n return completeEnd\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return completeAttributeName\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameBefore\n }\n\n return completeEnd(code)\n }\n /** @type {State} */\n\n function completeAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return completeAttributeName\n }\n\n return completeAttributeNameAfter(code)\n }\n /** @type {State} */\n\n function completeAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameAfter\n }\n\n return completeAttributeNameBefore(code)\n }\n /** @type {State} */\n\n function completeAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return completeAttributeValueQuoted\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n marker = null\n return completeAttributeValueUnquoted(code)\n }\n /** @type {State} */\n\n function completeAttributeValueQuoted(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n if (code === marker) {\n effects.consume(code)\n return completeAttributeValueQuotedAfter\n }\n\n effects.consume(code)\n return completeAttributeValueQuoted\n }\n /** @type {State} */\n\n function completeAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96 ||\n markdownLineEndingOrSpace(code)\n ) {\n return completeAttributeNameAfter(code)\n }\n\n effects.consume(code)\n return completeAttributeValueUnquoted\n }\n /** @type {State} */\n\n function completeAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownSpace(code)) {\n return completeAttributeNameBefore(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeEnd(code) {\n if (code === 62) {\n effects.consume(code)\n return completeAfter\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAfter\n }\n\n return code === null || markdownLineEnding(code)\n ? continuation(code)\n : nok(code)\n }\n /** @type {State} */\n\n function continuation(code) {\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationCommentInside\n }\n\n if (code === 60 && kind === 1) {\n effects.consume(code)\n return continuationRawTagOpen\n }\n\n if (code === 62 && kind === 4) {\n effects.consume(code)\n return continuationClose\n }\n\n if (code === 63 && kind === 3) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n if (code === 93 && kind === 5) {\n effects.consume(code)\n return continuationCharacterDataInside\n }\n\n if (markdownLineEnding(code) && (kind === 6 || kind === 7)) {\n return effects.check(\n nextBlankConstruct,\n continuationClose,\n continuationAtLineEnding\n )(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n return continuationAtLineEnding(code)\n }\n\n effects.consume(code)\n return continuation\n }\n /** @type {State} */\n\n function continuationAtLineEnding(code) {\n effects.exit('htmlFlowData')\n return htmlContinueStart(code)\n }\n /** @type {State} */\n\n function htmlContinueStart(code) {\n if (code === null) {\n return done(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(\n {\n tokenize: htmlLineEnd,\n partial: true\n },\n htmlContinueStart,\n done\n )(code)\n }\n\n effects.enter('htmlFlowData')\n return continuation(code)\n }\n /** @type {Tokenizer} */\n\n function htmlLineEnd(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n /** @type {State} */\n\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n }\n /** @type {State} */\n\n function continuationCommentInside(code) {\n if (code === 45) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationRawEndTag(code) {\n if (code === 62 && htmlRawNames.includes(buffer.toLowerCase())) {\n effects.consume(code)\n return continuationClose\n }\n\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationCharacterDataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n } // More dashes.\n\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('htmlFlowData')\n return done(code)\n }\n\n effects.consume(code)\n return continuationClose\n }\n /** @type {State} */\n\n function done(code) {\n effects.exit('htmlFlow')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeNextBlank(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.exit('htmlFlowData')\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n return effects.attempt(blankLine, ok, nok)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this\n /** @type {Construct} */\n\n const closingFenceConstruct = {\n tokenize: tokenizeClosingFence,\n partial: true\n }\n /** @type {Construct} */\n\n const nonLazyLine = {\n tokenize: tokenizeNonLazyLine,\n partial: true\n }\n const tail = this.events[this.events.length - 1]\n const initialPrefix =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let sizeOpen = 0\n /** @type {NonNullable} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeFenced')\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n marker = code\n return sequenceOpen(code)\n }\n /** @type {State} */\n\n function sequenceOpen(code) {\n if (code === marker) {\n effects.consume(code)\n sizeOpen++\n return sequenceOpen\n }\n\n effects.exit('codeFencedFenceSequence')\n return sizeOpen < 3\n ? nok(code)\n : factorySpace(effects, infoOpen, 'whitespace')(code)\n }\n /** @type {State} */\n\n function infoOpen(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceInfo')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return info(code)\n }\n /** @type {State} */\n\n function info(code) {\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return factorySpace(effects, infoAfter, 'whitespace')(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return info\n }\n /** @type {State} */\n\n function infoAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceMeta')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return meta(code)\n }\n /** @type {State} */\n\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceMeta')\n return openAfter(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return meta\n }\n /** @type {State} */\n\n function openAfter(code) {\n effects.exit('codeFencedFence')\n return self.interrupt ? ok(code) : contentStart(code)\n }\n /** @type {State} */\n\n function contentStart(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(\n nonLazyLine,\n effects.attempt(\n closingFenceConstruct,\n after,\n initialPrefix\n ? factorySpace(\n effects,\n contentStart,\n 'linePrefix',\n initialPrefix + 1\n )\n : contentStart\n ),\n after\n )(code)\n }\n\n effects.enter('codeFlowValue')\n return contentContinue(code)\n }\n /** @type {State} */\n\n function contentContinue(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return contentStart(code)\n }\n\n effects.consume(code)\n return contentContinue\n }\n /** @type {State} */\n\n function after(code) {\n effects.exit('codeFenced')\n return ok(code)\n }\n /** @type {Tokenizer} */\n\n function tokenizeNonLazyLine(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n /** @type {State} */\n\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n }\n /** @type {Tokenizer} */\n\n function tokenizeClosingFence(effects, ok, nok) {\n let size = 0\n return factorySpace(\n effects,\n closingSequenceStart,\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )\n /** @type {State} */\n\n function closingSequenceStart(code) {\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n return closingSequence(code)\n }\n /** @type {State} */\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return closingSequence\n }\n\n if (size < sizeOpen) return nok(code)\n effects.exit('codeFencedFenceSequence')\n return factorySpace(effects, closingSequenceEnd, 'whitespace')(code)\n }\n /** @type {State} */\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return ok(code)\n }\n\n return nok(code)\n }\n }\n}\n","/// \n\n/* eslint-env browser */\n\nconst element = document.createElement('i')\n\n/**\n * @param {string} value\n * @returns {string|false}\n */\nexport function decodeNamedCharacterReference(value) {\n const characterReference = '&' + value + ';'\n element.innerHTML = characterReference\n const char = element.textContent\n\n // Some named character references do not require the closing semicolon\n // (`¬`, for instance), which leads to situations where parsing the assumed\n // named reference of `¬it;` will result in the string `¬it;`.\n // When we encounter a trailing semicolon after parsing, and the character\n // reference to decode was not a semicolon (`;`), we can assume that the\n // matching was not complete.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n if (char.charCodeAt(char.length - 1) === 59 /* `;` */ && value !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the character reference was\n // not valid.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n return char === characterReference ? false : char\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {\n asciiAlphanumeric,\n asciiDigit,\n asciiHexDigit\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this\n let size = 0\n /** @type {number} */\n\n let max\n /** @type {(code: Code) => code is number} */\n\n let test\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('characterReference')\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 35) {\n effects.enter('characterReferenceMarkerNumeric')\n effects.consume(code)\n effects.exit('characterReferenceMarkerNumeric')\n return numeric\n }\n\n effects.enter('characterReferenceValue')\n max = 31\n test = asciiAlphanumeric\n return value(code)\n }\n /** @type {State} */\n\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter('characterReferenceMarkerHexadecimal')\n effects.consume(code)\n effects.exit('characterReferenceMarkerHexadecimal')\n effects.enter('characterReferenceValue')\n max = 6\n test = asciiHexDigit\n return value\n }\n\n effects.enter('characterReferenceValue')\n max = 7\n test = asciiDigit\n return value(code)\n }\n /** @type {State} */\n\n function value(code) {\n /** @type {Token} */\n let token\n\n if (code === 59 && size) {\n token = effects.exit('characterReferenceValue')\n\n if (\n test === asciiAlphanumeric &&\n !decodeNamedCharacterReference(self.sliceSerialize(token))\n ) {\n return nok(code)\n }\n\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n effects.exit('characterReference')\n return ok\n }\n\n if (test(code) && size++ < max) {\n effects.consume(code)\n return value\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {asciiPunctuation} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('characterEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n effects.exit('escapeMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (asciiPunctuation(code)) {\n effects.enter('characterEscapeValue')\n effects.consume(code)\n effects.exit('characterEscapeValue')\n effects.exit('characterEscape')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLineEnding(effects, ok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, ok, 'linePrefix')\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {markdownLineEndingOrSpace} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\n/** @type {Construct} */\n\nconst resourceConstruct = {\n tokenize: tokenizeResource\n}\n/** @type {Construct} */\n\nconst fullReferenceConstruct = {\n tokenize: tokenizeFullReference\n}\n/** @type {Construct} */\n\nconst collapsedReferenceConstruct = {\n tokenize: tokenizeCollapsedReference\n}\n/** @type {Resolver} */\n\nfunction resolveAllLabelEnd(events) {\n let index = -1\n /** @type {Token} */\n\n let token\n\n while (++index < events.length) {\n token = events[index][1]\n\n if (\n token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd'\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n\n return events\n}\n/** @type {Resolver} */\n\nfunction resolveToLabelEnd(events, context) {\n let index = events.length\n let offset = 0\n /** @type {Token} */\n\n let token\n /** @type {number|undefined} */\n\n let open\n /** @type {number|undefined} */\n\n let close\n /** @type {Event[]} */\n\n let media // Find an opening.\n\n while (index--) {\n token = events[index][1]\n\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n } // Mark other link openings as inactive, as we can’t have links in\n // links.\n\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n\n const group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n const label = {\n type: 'label',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n }\n const text = {\n type: 'labelText',\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ] // Opening marker.\n\n media = push(media, events.slice(open + 1, open + offset + 3)) // Text open.\n\n media = push(media, [['enter', text, context]]) // Between.\n\n media = push(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n ) // Text close, marker close, label close.\n\n media = push(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ]) // Reference, resource, or so.\n\n media = push(media, events.slice(close + 1)) // Media close.\n\n media = push(media, [['exit', group, context]])\n splice(events, open, events.length, media)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Token} */\n\n let labelStart\n /** @type {boolean} */\n\n let defined // Find an opening.\n\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!labelStart) {\n return nok(code)\n } // It’s a balanced bracket, but contains a link.\n\n if (labelStart._inactive) return balanced(code)\n defined = self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n )\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return afterLabelEnd\n }\n /** @type {State} */\n\n function afterLabelEnd(code) {\n // Resource: `[asd](fgh)`.\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n ok,\n defined ? ok : balanced\n )(code)\n } // Collapsed (`[asd][]`) or full (`[asd][fgh]`) reference?\n\n if (code === 91) {\n return effects.attempt(\n fullReferenceConstruct,\n ok,\n defined\n ? effects.attempt(collapsedReferenceConstruct, ok, balanced)\n : balanced\n )(code)\n } // Shortcut reference: `[asd]`?\n\n return defined ? ok(code) : balanced(code)\n }\n /** @type {State} */\n\n function balanced(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeResource(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return factoryWhitespace(effects, open)\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 41) {\n return end(code)\n }\n\n return factoryDestination(\n effects,\n destinationAfter,\n nok,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 32\n )(code)\n }\n /** @type {State} */\n\n function destinationAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, between)(code)\n : end(code)\n }\n /** @type {State} */\n\n function between(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factoryWhitespace(effects, end),\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeFullReference(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n return factoryLabel.call(\n self,\n effects,\n afterLabel,\n nok,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n /** @type {State} */\n\n function afterLabel(code) {\n return self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n )\n ? ok(code)\n : nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCollapsedReference(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {labelEnd} from './label-end.js'\n/** @type {Construct} */\n\nexport const labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook */\n\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n markdownLineEndingOrSpace,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\n\n/**\n * Classify whether a character code represents whitespace, punctuation, or\n * something else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * Note that eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * @returns {number|undefined}\n */\nexport function classifyCharacter(code) {\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return 1\n }\n\n if (unicodePunctuation(code)) {\n return 2\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Point} Point\n */\nimport {push, splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n}\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n\nfunction resolveAllAttention(events, context) {\n let index = -1\n /** @type {number} */\n\n let open\n /** @type {Token} */\n\n let group\n /** @type {Token} */\n\n let text\n /** @type {Token} */\n\n let openingSequence\n /** @type {Token} */\n\n let closingSequence\n /** @type {number} */\n\n let use\n /** @type {Event[]} */\n\n let nextEvents\n /** @type {number} */\n\n let offset // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'attentionSequence' &&\n events[index][1]._close\n ) {\n open = index // Now walk back to find an opener.\n\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'attentionSequence' &&\n events[open][1]._open && // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) ===\n context.sliceSerialize(events[index][1]).charCodeAt(0)\n ) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if (\n (events[open][1]._close || events[index][1]._open) &&\n (events[index][1].end.offset - events[index][1].start.offset) % 3 &&\n !(\n (events[open][1].end.offset -\n events[open][1].start.offset +\n events[index][1].end.offset -\n events[index][1].start.offset) %\n 3\n )\n ) {\n continue\n } // Number of markers to use from the sequence.\n\n use =\n events[open][1].end.offset - events[open][1].start.offset > 1 &&\n events[index][1].end.offset - events[index][1].start.offset > 1\n ? 2\n : 1\n const start = Object.assign({}, events[open][1].end)\n const end = Object.assign({}, events[index][1].start)\n movePoint(start, -use)\n movePoint(end, use)\n openingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start,\n end: Object.assign({}, events[open][1].end)\n }\n closingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: Object.assign({}, events[index][1].start),\n end\n }\n text = {\n type: use > 1 ? 'strongText' : 'emphasisText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n }\n group = {\n type: use > 1 ? 'strong' : 'emphasis',\n start: Object.assign({}, openingSequence.start),\n end: Object.assign({}, closingSequence.end)\n }\n events[open][1].end = Object.assign({}, openingSequence.start)\n events[index][1].start = Object.assign({}, closingSequence.end)\n nextEvents = [] // If there are more markers in the opening, add them before.\n\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [\n ['enter', events[open][1], context],\n ['exit', events[open][1], context]\n ])\n } // Opening.\n\n nextEvents = push(nextEvents, [\n ['enter', group, context],\n ['enter', openingSequence, context],\n ['exit', openingSequence, context],\n ['enter', text, context]\n ]) // Between.\n\n nextEvents = push(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n ) // Closing.\n\n nextEvents = push(nextEvents, [\n ['exit', text, context],\n ['enter', closingSequence, context],\n ['exit', closingSequence, context],\n ['exit', group, context]\n ]) // If there are more markers in the closing, add them after.\n\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2\n nextEvents = push(nextEvents, [\n ['enter', events[index][1], context],\n ['exit', events[index][1], context]\n ])\n } else {\n offset = 0\n }\n\n splice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - offset - 2\n break\n }\n }\n }\n } // Remove remaining sequences.\n\n index = -1\n\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data'\n }\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null\n const previous = this.previous\n const before = classifyCharacter(previous)\n /** @type {NonNullable} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('attentionSequence')\n marker = code\n return sequence(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n return sequence\n }\n\n const token = effects.exit('attentionSequence')\n const after = classifyCharacter(code)\n const open =\n !after || (after === 2 && before) || attentionMarkers.includes(code)\n const close =\n !before || (before === 2 && after) || attentionMarkers.includes(previous)\n token._open = Boolean(marker === 42 ? open : open && (before || !close))\n token._close = Boolean(marker === 42 ? close : close && (after || !open))\n return ok(code)\n }\n}\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * @param {number} offset\n * @returns {void}\n */\n\nfunction movePoint(point, offset) {\n point.column += offset\n point.offset += offset\n point._bufferIndex += offset\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n asciiAtext,\n asciiControl\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 1\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('autolink')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.enter('autolinkProtocol')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return schemeOrEmailAtext\n }\n\n return asciiAtext(code) ? emailAtext(code) : nok(code)\n }\n /** @type {State} */\n\n function schemeOrEmailAtext(code) {\n return code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)\n ? schemeInsideOrEmailAtext(code)\n : emailAtext(code)\n }\n /** @type {State} */\n\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code)\n return urlInside\n }\n\n if (\n (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) &&\n size++ < 32\n ) {\n effects.consume(code)\n return schemeInsideOrEmailAtext\n }\n\n return emailAtext(code)\n }\n /** @type {State} */\n\n function urlInside(code) {\n if (code === 62) {\n effects.exit('autolinkProtocol')\n return end(code)\n }\n\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return urlInside\n }\n /** @type {State} */\n\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (asciiAtext(code)) {\n effects.consume(code)\n return emailAtext\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code)\n }\n /** @type {State} */\n\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (code === 62) {\n // Exit, then change the type.\n effects.exit('autolinkProtocol').type = 'autolinkEmail'\n return end(code)\n }\n\n return emailValue(code)\n }\n /** @type {State} */\n\n function emailValue(code) {\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n effects.consume(code)\n return code === 45 ? emailValue : emailLabel\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function end(code) {\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this\n /** @type {NonNullable|undefined} */\n\n let marker\n /** @type {string} */\n\n let buffer\n /** @type {number} */\n\n let index\n /** @type {State} */\n\n let returnState\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpen\n }\n\n if (code === 91) {\n effects.consume(code)\n buffer = 'CDATA['\n index = 0\n return cdataOpen\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return declaration\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentStart\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentStart(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentStartDash\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function commentStartDash(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = comment\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return comment\n }\n /** @type {State} */\n\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return end\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function cdataOpen(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length ? cdata : cdataOpen\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = cdata\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return cdata\n }\n /** @type {State} */\n\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n /** @type {State} */\n\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n /** @type {State} */\n\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = declaration\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return declaration\n }\n /** @type {State} */\n\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = instruction\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return instruction\n }\n /** @type {State} */\n\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n /** @type {State} */\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagClose(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return tagCloseBetween(code)\n }\n /** @type {State} */\n\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function tagOpen(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n return tagOpenAttributeNameAfter(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n\n return tagOpenBetween(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueUnquoted\n }\n /** @type {State} */\n\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n return tagOpenAttributeValueQuotedAfter\n }\n\n if (code === null) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n /** @type {State} */\n\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 62 || code === 47 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n } // We can’t have blank lines in content, so no need to worry about empty\n // tokens.\n\n /** @type {State} */\n\n function atLineEnding(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(\n effects,\n afterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {labelEnd} from './label-end.js'\n/** @type {Construct} */\n\nexport const labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n /** @type {State} */\n\n function after(code) {\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook. */\n\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('hardBreakEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (markdownLineEnding(code)) {\n effects.exit('escapeMarker')\n effects.exit('hardBreakEscape')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous\n}\n/** @type {Resolver} */\n\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4\n let headEnterIndex = 3\n /** @type {number} */\n\n let index\n /** @type {number|undefined} */\n\n let enter // If we start and end with an EOL or a space.\n\n if (\n (events[headEnterIndex][1].type === 'lineEnding' ||\n events[headEnterIndex][1].type === 'space') &&\n (events[tailExitIndex][1].type === 'lineEnding' ||\n events[tailExitIndex][1].type === 'space')\n ) {\n index = headEnterIndex // And we have data.\n\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'codeTextData') {\n // Then we have padding.\n events[headEnterIndex][1].type = 'codeTextPadding'\n events[tailExitIndex][1].type = 'codeTextPadding'\n headEnterIndex += 2\n tailExitIndex -= 2\n break\n }\n }\n } // Merge adjacent spaces and data.\n\n index = headEnterIndex - 1\n tailExitIndex++\n\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') {\n enter = index\n }\n } else if (\n index === tailExitIndex ||\n events[index][1].type === 'lineEnding'\n ) {\n events[enter][1].type = 'codeTextData'\n\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n tailExitIndex -= index - enter - 2\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return events\n}\n/** @type {Previous} */\n\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return (\n code !== 96 ||\n this.events[this.events.length - 1][1].type === 'characterEscape'\n )\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this\n let sizeOpen = 0\n /** @type {number} */\n\n let size\n /** @type {Token} */\n\n let token\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeText')\n effects.enter('codeTextSequence')\n return openingSequence(code)\n }\n /** @type {State} */\n\n function openingSequence(code) {\n if (code === 96) {\n effects.consume(code)\n sizeOpen++\n return openingSequence\n }\n\n effects.exit('codeTextSequence')\n return gap(code)\n }\n /** @type {State} */\n\n function gap(code) {\n // EOF.\n if (code === null) {\n return nok(code)\n } // Closing fence?\n // Could also be data.\n\n if (code === 96) {\n token = effects.enter('codeTextSequence')\n size = 0\n return closingSequence(code)\n } // Tabs don’t work, and virtual spaces don’t make sense.\n\n if (code === 32) {\n effects.enter('space')\n effects.consume(code)\n effects.exit('space')\n return gap\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return gap\n } // Data.\n\n effects.enter('codeTextData')\n return data(code)\n } // In code.\n\n /** @type {State} */\n\n function data(code) {\n if (\n code === null ||\n code === 32 ||\n code === 96 ||\n markdownLineEnding(code)\n ) {\n effects.exit('codeTextData')\n return gap(code)\n }\n\n effects.consume(code)\n return data\n } // Closing fence.\n\n /** @type {State} */\n\n function closingSequence(code) {\n // More.\n if (code === 96) {\n effects.consume(code)\n size++\n return closingSequence\n } // Done!\n\n if (size === sizeOpen) {\n effects.exit('codeTextSequence')\n effects.exit('codeText')\n return ok(code)\n } // More or less accents: mark as data.\n\n token.type = 'codeTextData'\n return data(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\nimport {\n attention,\n autolink,\n blockQuote,\n characterEscape,\n characterReference,\n codeFenced,\n codeIndented,\n codeText,\n definition,\n hardBreakEscape,\n headingAtx,\n htmlFlow,\n htmlText,\n labelEnd,\n labelStartImage,\n labelStartLink,\n lineEnding,\n list,\n setextUnderline,\n thematicBreak\n} from 'micromark-core-commonmark'\nimport {resolver as resolveText} from './initialize/text.js'\n/** @type {Extension['document']} */\n\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n}\n/** @type {Extension['contentInitial']} */\n\nexport const contentInitial = {\n [91]: definition\n}\n/** @type {Extension['flowInitial']} */\n\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n}\n/** @type {Extension['flow']} */\n\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n}\n/** @type {Extension['string']} */\n\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n}\n/** @type {Extension['text']} */\n\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n}\n/** @type {Extension['insideSpan']} */\n\nexport const insideSpan = {\n null: [attention, resolveText]\n}\n/** @type {Extension['attentionMarkers']} */\n\nexport const attentionMarkers = {\n null: [42, 95]\n}\n/** @type {Extension['disable']} */\n\nexport const disable = {\n null: []\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Value} Value\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n/**\n * @callback Preprocessor\n * @param {Value} value\n * @param {Encoding} [encoding]\n * @param {boolean} [end=false]\n * @returns {Chunk[]}\n */\nconst search = /[\\0\\t\\n\\r]/g\n/**\n * @returns {Preprocessor}\n */\n\nexport function preprocess() {\n let column = 1\n let buffer = ''\n /** @type {boolean|undefined} */\n\n let start = true\n /** @type {boolean|undefined} */\n\n let atCarriageReturn\n return preprocessor\n /** @type {Preprocessor} */\n\n function preprocessor(value, encoding, end) {\n /** @type {Chunk[]} */\n const chunks = []\n /** @type {RegExpMatchArray|null} */\n\n let match\n /** @type {number} */\n\n let next\n /** @type {number} */\n\n let startPosition\n /** @type {number} */\n\n let endPosition\n /** @type {Code} */\n\n let code // @ts-expect-error `Buffer` does allow an encoding.\n\n value = buffer + value.toString(encoding)\n startPosition = 0\n buffer = ''\n\n if (start) {\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n\n start = undefined\n }\n\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition =\n match && match.index !== undefined ? match.index : value.length\n code = value.charCodeAt(endPosition)\n\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n\n switch (code) {\n case 0: {\n chunks.push(65533)\n column++\n break\n }\n\n case 9: {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n\n while (column++ < next) chunks.push(-1)\n\n break\n }\n\n case 10: {\n chunks.push(-4)\n column = 1\n break\n }\n\n default: {\n atCarriageReturn = true\n column = 1\n }\n }\n }\n\n startPosition = endPosition + 1\n }\n\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n\n return chunks\n }\n}\n","/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base)\n\n if (\n // C0 except for HT, LF, FF, CR, space\n code < 9 ||\n code === 11 ||\n (code > 13 && code < 32) || // Control character (DEL) of the basic block and C1 controls.\n (code > 126 && code < 160) || // Lone high surrogates and low surrogates.\n (code > 55295 && code < 57344) || // Noncharacters.\n (code > 64975 && code < 65008) ||\n (code & 65535) === 65535 ||\n (code & 65535) === 65534 || // Out of range\n code > 1114111\n ) {\n return '\\uFFFD'\n }\n\n return String.fromCharCode(code)\n}\n","import {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nconst characterEscapeOrReference =\n /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi\n/**\n * Utility to decode markdown strings (which occur in places such as fenced\n * code info strings, destinations, labels, and titles).\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * @returns {string}\n */\n\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode)\n}\n/**\n * @param {string} $0\n * @param {string} $1\n * @param {string} $2\n * @returns {string}\n */\n\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1\n } // Reference.\n\n const head = $2.charCodeAt(0)\n\n if (head === 35) {\n const head = $2.charCodeAt(1)\n const hex = head === 120 || head === 88\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10)\n }\n\n return decodeNamedCharacterReference($2) || $0\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Value} Value\n * @typedef {import('unist').Parent} UnistParent\n * @typedef {import('unist').Point} Point\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').Content} Content\n * @typedef {Root|Content} Node\n * @typedef {Extract} Parent\n * @typedef {import('mdast').Break} Break\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('mdast').Code} Code\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('mdast').HTML} HTML\n * @typedef {import('mdast').Image} Image\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('mdast').List} List\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('mdast').Text} Text\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n *\n * @typedef {UnistParent & {type: 'fragment', children: Array}} Fragment\n */\n\n/**\n * @typedef _CompileDataFields\n * @property {boolean|undefined} expectingFirstListItemValue\n * @property {boolean|undefined} flowCodeInside\n * @property {boolean|undefined} setextHeadingSlurpLineEnding\n * @property {boolean|undefined} atHardBreak\n * @property {'collapsed'|'full'} referenceType\n * @property {boolean|undefined} inReference\n * @property {'characterReferenceMarkerHexadecimal'|'characterReferenceMarkerNumeric'} characterReferenceType\n *\n * @typedef {Record & Partial<_CompileDataFields>} CompileData\n *\n * @typedef {(tree: Root) => Root|void} Transform\n * @typedef {(this: CompileContext, token: Token) => void} Handle\n * @typedef {Record} Handles\n * Token types mapping to handles\n * @typedef {Record|Array> & {canContainEols: Array, transforms: Array, enter: Handles, exit: Handles}} NormalizedExtension\n * @typedef {Partial} Extension\n * An mdast extension changes how markdown tokens are turned into mdast.\n *\n * @typedef {(this: Omit, left: Token|undefined, right: Token) => void} OnEnterError\n * @typedef {(this: Omit, left: Token, right: Token) => void} OnExitError\n *\n * @typedef CompileContext\n * mdast compiler context\n * @property {Array} stack\n * @property {Array<[Token, OnEnterError|undefined]>} tokenStack\n * @property {(key: string, value?: unknown) => void} setData\n * Set data into the key-value store.\n * @property {(key: K) => CompileData[K]} getData\n * Get data from the key-value store.\n * @property {(this: CompileContext) => void} buffer\n * Capture some of the output data.\n * @property {(this: CompileContext) => string} resume\n * Stop capturing and access the output data.\n * @property {(this: CompileContext, node: N, token: Token, onError?: OnEnterError) => N} enter\n * Enter a token.\n * @property {(this: CompileContext, token: Token, onError?: OnExitError) => Node} exit\n * Exit a token.\n * @property {TokenizeContext['sliceSerialize']} sliceSerialize\n * Get the string value of a token.\n * @property {NormalizedExtension} config\n * Configuration.\n *\n * @typedef {{mdastExtensions?: Array>}} FromMarkdownOptions\n * @typedef {ParseOptions & FromMarkdownOptions} Options\n */\nimport {toString} from 'mdast-util-to-string'\nimport {parse} from 'micromark/lib/parse.js'\nimport {preprocess} from 'micromark/lib/preprocess.js'\nimport {postprocess} from 'micromark/lib/postprocess.js'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nimport {decodeString} from 'micromark-util-decode-string'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {stringifyPosition} from 'unist-util-stringify-position'\nconst own = {}.hasOwnProperty\n/**\n * @param value Markdown to parse (`string` or `Buffer`).\n * @param [encoding] Character encoding to understand `value` as when it’s a `Buffer` (`string`, default: `'utf8'`).\n * @param [options] Configuration\n */\n\nexport const fromMarkdown =\n /**\n * @type {(\n * ((value: Value, encoding: Encoding, options?: Options) => Root) &\n * ((value: Value, options?: Options) => Root)\n * )}\n */\n\n /**\n * @param {Value} value\n * @param {Encoding} [encoding]\n * @param {Options} [options]\n * @returns {Root}\n */\n function (value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n\n return compiler(options)(\n postprocess(\n parse(options).document().write(preprocess()(value, encoding, true))\n )\n )\n }\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options} [options]\n */\n\nfunction compiler(options = {}) {\n /** @type {NormalizedExtension} */\n // @ts-expect-error: our base has all required fields, so the result will too.\n const config = configure(\n {\n transforms: [],\n canContainEols: [\n 'emphasis',\n 'fragment',\n 'heading',\n 'paragraph',\n 'strong'\n ],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n },\n options.mdastExtensions || []\n )\n /** @type {CompileData} */\n\n const data = {}\n return compile\n /**\n * @param {Array} events\n * @returns {Root}\n */\n\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n }\n /** @type {CompileContext['stack']} */\n\n const stack = [tree]\n /** @type {CompileContext['tokenStack']} */\n\n const tokenStack = []\n /** @type {Array} */\n\n const listStack = []\n /** @type {Omit} */\n\n const context = {\n stack,\n tokenStack,\n config,\n enter,\n exit,\n buffer,\n resume,\n setData,\n getData\n }\n let index = -1\n\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (\n events[index][1].type === 'listOrdered' ||\n events[index][1].type === 'listUnordered'\n ) {\n if (events[index][0] === 'enter') {\n listStack.push(index)\n } else {\n const tail = listStack.pop()\n index = prepareList(events, tail, index)\n }\n }\n }\n\n index = -1\n\n while (++index < events.length) {\n const handler = config[events[index][0]]\n\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(\n Object.assign(\n {\n sliceSerialize: events[index][2].sliceSerialize\n },\n context\n ),\n events[index][1]\n )\n }\n }\n\n if (tokenStack.length > 0) {\n const tail = tokenStack[tokenStack.length - 1]\n const handler = tail[1] || defaultOnError\n handler.call(context, undefined, tail[0])\n } // Figure out `root` position.\n\n tree.position = {\n start: point(\n events.length > 0\n ? events[0][1].start\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n ),\n end: point(\n events.length > 0\n ? events[events.length - 2][1].end\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n )\n }\n index = -1\n\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree\n }\n\n return tree\n }\n /**\n * @param {Array} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n\n function prepareList(events, start, length) {\n let index = start - 1\n let containerBalance = -1\n let listSpread = false\n /** @type {Token|undefined} */\n\n let listItem\n /** @type {number|undefined} */\n\n let lineIndex\n /** @type {number|undefined} */\n\n let firstBlankLineIndex\n /** @type {boolean|undefined} */\n\n let atMarker\n\n while (++index <= length) {\n const event = events[index]\n\n if (\n event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered' ||\n event[1].type === 'blockQuote'\n ) {\n if (event[0] === 'enter') {\n containerBalance++\n } else {\n containerBalance--\n }\n\n atMarker = undefined\n } else if (event[1].type === 'lineEndingBlank') {\n if (event[0] === 'enter') {\n if (\n listItem &&\n !atMarker &&\n !containerBalance &&\n !firstBlankLineIndex\n ) {\n firstBlankLineIndex = index\n }\n\n atMarker = undefined\n }\n } else if (\n event[1].type === 'linePrefix' ||\n event[1].type === 'listItemValue' ||\n event[1].type === 'listItemMarker' ||\n event[1].type === 'listItemPrefix' ||\n event[1].type === 'listItemPrefixWhitespace'\n ) {\n // Empty.\n } else {\n atMarker = undefined\n }\n\n if (\n (!containerBalance &&\n event[0] === 'enter' &&\n event[1].type === 'listItemPrefix') ||\n (containerBalance === -1 &&\n event[0] === 'exit' &&\n (event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered'))\n ) {\n if (listItem) {\n let tailIndex = index\n lineIndex = undefined\n\n while (tailIndex--) {\n const tailEvent = events[tailIndex]\n\n if (\n tailEvent[1].type === 'lineEnding' ||\n tailEvent[1].type === 'lineEndingBlank'\n ) {\n if (tailEvent[0] === 'exit') continue\n\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n listSpread = true\n }\n\n tailEvent[1].type = 'lineEnding'\n lineIndex = tailIndex\n } else if (\n tailEvent[1].type === 'linePrefix' ||\n tailEvent[1].type === 'blockQuotePrefix' ||\n tailEvent[1].type === 'blockQuotePrefixWhitespace' ||\n tailEvent[1].type === 'blockQuoteMarker' ||\n tailEvent[1].type === 'listItemIndent'\n ) {\n // Empty\n } else {\n break\n }\n }\n\n if (\n firstBlankLineIndex &&\n (!lineIndex || firstBlankLineIndex < lineIndex)\n ) {\n // @ts-expect-error Patched.\n listItem._spread = true\n } // Fix position.\n\n listItem.end = Object.assign(\n {},\n lineIndex ? events[lineIndex][1].start : event[1].end\n )\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])\n index++\n length++\n } // Create a new list item.\n\n if (event[1].type === 'listItemPrefix') {\n listItem = {\n type: 'listItem',\n // @ts-expect-error Patched\n _spread: false,\n start: Object.assign({}, event[1].start)\n } // @ts-expect-error: `listItem` is most definitely defined, TS...\n\n events.splice(index, 0, ['enter', listItem, event[2]])\n index++\n length++\n firstBlankLineIndex = undefined\n atMarker = true\n }\n }\n } // @ts-expect-error Patched.\n\n events[start][1]._spread = listSpread\n return length\n }\n /**\n * @type {CompileContext['setData']}\n * @param [value]\n */\n\n function setData(key, value) {\n data[key] = value\n }\n /**\n * @type {CompileContext['getData']}\n * @template {string} K\n * @param {K} key\n * @returns {CompileData[K]}\n */\n\n function getData(key) {\n return data[key]\n }\n /**\n * @param {Point} d\n * @returns {Point}\n */\n\n function point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n }\n }\n /**\n * @param {(token: Token) => Node} create\n * @param {Handle} [and]\n * @returns {Handle}\n */\n\n function opener(create, and) {\n return open\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n\n function open(token) {\n enter.call(this, create(token), token)\n if (and) and.call(this, token)\n }\n }\n /** @type {CompileContext['buffer']} */\n\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n })\n }\n /**\n * @type {CompileContext['enter']}\n * @template {Node} N\n * @this {CompileContext}\n * @param {N} node\n * @param {Token} token\n * @param {OnEnterError} [errorHandler]\n * @returns {N}\n */\n\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1]\n // @ts-expect-error: Assume `Node` can exist as a child of `parent`.\n parent.children.push(node)\n this.stack.push(node)\n this.tokenStack.push([token, errorHandler]) // @ts-expect-error: `end` will be patched later.\n\n node.position = {\n start: point(token.start)\n }\n return node\n }\n /**\n * @param {Handle} [and]\n * @returns {Handle}\n */\n\n function closer(and) {\n return close\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n\n function close(token) {\n if (and) and.call(this, token)\n exit.call(this, token)\n }\n }\n /**\n * @type {CompileContext['exit']}\n * @this {CompileContext}\n * @param {Token} token\n * @param {OnExitError} [onExitError]\n * @returns {Node}\n */\n\n function exit(token, onExitError) {\n const node = this.stack.pop()\n const open = this.tokenStack.pop()\n\n if (!open) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({\n start: token.start,\n end: token.end\n }) +\n '): it’s not open'\n )\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0])\n } else {\n const handler = open[1] || defaultOnError\n handler.call(this, token, open[0])\n }\n }\n\n node.position.end = point(token.end)\n return node\n }\n /**\n * @this {CompileContext}\n * @returns {string}\n */\n\n function resume() {\n return toString(this.stack.pop())\n } //\n // Handlers.\n //\n\n /** @type {Handle} */\n\n function onenterlistordered() {\n setData('expectingFirstListItemValue', true)\n }\n /** @type {Handle} */\n\n function onenterlistitemvalue(token) {\n if (getData('expectingFirstListItemValue')) {\n const ancestor =\n /** @type {List} */\n this.stack[this.stack.length - 2]\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10)\n setData('expectingFirstListItemValue')\n }\n }\n /** @type {Handle} */\n\n function onexitcodefencedfenceinfo() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.lang = data\n }\n /** @type {Handle} */\n\n function onexitcodefencedfencemeta() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.meta = data\n }\n /** @type {Handle} */\n\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (getData('flowCodeInside')) return\n this.buffer()\n setData('flowCodeInside', true)\n }\n /** @type {Handle} */\n\n function onexitcodefenced() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '')\n setData('flowCodeInside')\n }\n /** @type {Handle} */\n\n function onexitcodeindented() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '')\n }\n /** @type {Handle} */\n\n function onexitdefinitionlabelstring(token) {\n // Discard label, use the source content instead.\n const label = this.resume()\n const node =\n /** @type {Definition} */\n this.stack[this.stack.length - 1]\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n /** @type {Handle} */\n\n function onexitdefinitiontitlestring() {\n const data = this.resume()\n const node =\n /** @type {Definition} */\n this.stack[this.stack.length - 1]\n node.title = data\n }\n /** @type {Handle} */\n\n function onexitdefinitiondestinationstring() {\n const data = this.resume()\n const node =\n /** @type {Definition} */\n this.stack[this.stack.length - 1]\n node.url = data\n }\n /** @type {Handle} */\n\n function onexitatxheadingsequence(token) {\n const node =\n /** @type {Heading} */\n this.stack[this.stack.length - 1]\n\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length\n node.depth = depth\n }\n }\n /** @type {Handle} */\n\n function onexitsetextheadingtext() {\n setData('setextHeadingSlurpLineEnding', true)\n }\n /** @type {Handle} */\n\n function onexitsetextheadinglinesequence(token) {\n const node =\n /** @type {Heading} */\n this.stack[this.stack.length - 1]\n node.depth = this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2\n }\n /** @type {Handle} */\n\n function onexitsetextheading() {\n setData('setextHeadingSlurpLineEnding')\n }\n /** @type {Handle} */\n\n function onenterdata(token) {\n const parent =\n /** @type {Parent} */\n this.stack[this.stack.length - 1]\n /** @type {Node} */\n\n let tail = parent.children[parent.children.length - 1]\n\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text() // @ts-expect-error: we’ll add `end` later.\n\n tail.position = {\n start: point(token.start)\n } // @ts-expect-error: Assume `parent` accepts `text`.\n\n parent.children.push(tail)\n }\n\n this.stack.push(tail)\n }\n /** @type {Handle} */\n\n function onexitdata(token) {\n const tail = this.stack.pop()\n tail.value += this.sliceSerialize(token)\n tail.position.end = point(token.end)\n }\n /** @type {Handle} */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1]\n\n // If we’re at a hard break, include the line ending in there.\n if (getData('atHardBreak')) {\n const tail = context.children[context.children.length - 1]\n tail.position.end = point(token.end)\n setData('atHardBreak')\n return\n }\n\n if (\n !getData('setextHeadingSlurpLineEnding') &&\n config.canContainEols.includes(context.type)\n ) {\n onenterdata.call(this, token)\n onexitdata.call(this, token)\n }\n }\n /** @type {Handle} */\n\n function onexithardbreak() {\n setData('atHardBreak', true)\n }\n /** @type {Handle} */\n\n function onexithtmlflow() {\n const data = this.resume()\n const node =\n /** @type {HTML} */\n this.stack[this.stack.length - 1]\n node.value = data\n }\n /** @type {Handle} */\n\n function onexithtmltext() {\n const data = this.resume()\n const node =\n /** @type {HTML} */\n this.stack[this.stack.length - 1]\n node.value = data\n }\n /** @type {Handle} */\n\n function onexitcodetext() {\n const data = this.resume()\n const node =\n /** @type {InlineCode} */\n this.stack[this.stack.length - 1]\n node.value = data\n }\n /** @type {Handle} */\n\n function onexitlink() {\n const context =\n /** @type {Link & {identifier: string, label: string}} */\n this.stack[this.stack.length - 1] // To do: clean.\n\n if (getData('inReference')) {\n context.type += 'Reference' // @ts-expect-error: mutate.\n\n context.referenceType = getData('referenceType') || 'shortcut' // @ts-expect-error: mutate.\n\n delete context.url\n delete context.title\n } else {\n // @ts-expect-error: mutate.\n delete context.identifier // @ts-expect-error: mutate.\n\n delete context.label\n }\n\n setData('referenceType')\n }\n /** @type {Handle} */\n\n function onexitimage() {\n const context =\n /** @type {Image & {identifier: string, label: string}} */\n this.stack[this.stack.length - 1] // To do: clean.\n\n if (getData('inReference')) {\n context.type += 'Reference' // @ts-expect-error: mutate.\n\n context.referenceType = getData('referenceType') || 'shortcut' // @ts-expect-error: mutate.\n\n delete context.url\n delete context.title\n } else {\n // @ts-expect-error: mutate.\n delete context.identifier // @ts-expect-error: mutate.\n\n delete context.label\n }\n\n setData('referenceType')\n }\n /** @type {Handle} */\n\n function onexitlabeltext(token) {\n const ancestor =\n /** @type {(Link|Image) & {identifier: string, label: string}} */\n this.stack[this.stack.length - 2]\n const string = this.sliceSerialize(token)\n ancestor.label = decodeString(string)\n ancestor.identifier = normalizeIdentifier(string).toLowerCase()\n }\n /** @type {Handle} */\n\n function onexitlabel() {\n const fragment =\n /** @type {Fragment} */\n this.stack[this.stack.length - 1]\n const value = this.resume()\n const node =\n /** @type {(Link|Image) & {identifier: string, label: string}} */\n this.stack[this.stack.length - 1] // Assume a reference.\n\n setData('inReference', true)\n\n if (node.type === 'link') {\n // @ts-expect-error: Assume static phrasing content.\n node.children = fragment.children\n } else {\n node.alt = value\n }\n }\n /** @type {Handle} */\n\n function onexitresourcedestinationstring() {\n const data = this.resume()\n const node =\n /** @type {Link|Image} */\n this.stack[this.stack.length - 1]\n node.url = data\n }\n /** @type {Handle} */\n\n function onexitresourcetitlestring() {\n const data = this.resume()\n const node =\n /** @type {Link|Image} */\n this.stack[this.stack.length - 1]\n node.title = data\n }\n /** @type {Handle} */\n\n function onexitresource() {\n setData('inReference')\n }\n /** @type {Handle} */\n\n function onenterreference() {\n setData('referenceType', 'collapsed')\n }\n /** @type {Handle} */\n\n function onexitreferencestring(token) {\n const label = this.resume()\n const node =\n /** @type {LinkReference|ImageReference} */\n this.stack[this.stack.length - 1]\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n setData('referenceType', 'full')\n }\n /** @type {Handle} */\n\n function onexitcharacterreferencemarker(token) {\n setData('characterReferenceType', token.type)\n }\n /** @type {Handle} */\n\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token)\n const type = getData('characterReferenceType')\n /** @type {string} */\n\n let value\n\n if (type) {\n value = decodeNumericCharacterReference(\n data,\n type === 'characterReferenceMarkerNumeric' ? 10 : 16\n )\n setData('characterReferenceType')\n } else {\n // @ts-expect-error `decodeNamedCharacterReference` can return false for\n // invalid named character references, but everything we’ve tokenized is\n // valid.\n value = decodeNamedCharacterReference(data)\n }\n\n const tail = this.stack.pop()\n tail.value += value\n tail.position.end = point(token.end)\n }\n /** @type {Handle} */\n\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token)\n const node =\n /** @type {Link} */\n this.stack[this.stack.length - 1]\n node.url = this.sliceSerialize(token)\n }\n /** @type {Handle} */\n\n function onexitautolinkemail(token) {\n onexitdata.call(this, token)\n const node =\n /** @type {Link} */\n this.stack[this.stack.length - 1]\n node.url = 'mailto:' + this.sliceSerialize(token)\n } //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n }\n }\n /** @returns {Code} */\n\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n }\n }\n /** @returns {InlineCode} */\n\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n }\n }\n /** @returns {Definition} */\n\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n }\n }\n /** @returns {Emphasis} */\n\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n }\n }\n /** @returns {Heading} */\n\n function heading() {\n // @ts-expect-error `depth` will be set later.\n return {\n type: 'heading',\n depth: undefined,\n children: []\n }\n }\n /** @returns {Break} */\n\n function hardBreak() {\n return {\n type: 'break'\n }\n }\n /** @returns {HTML} */\n\n function html() {\n return {\n type: 'html',\n value: ''\n }\n }\n /** @returns {Image} */\n\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n }\n }\n /** @returns {Link} */\n\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n }\n }\n /**\n * @param {Token} token\n * @returns {List}\n */\n\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n // @ts-expect-error Patched.\n spread: token._spread,\n children: []\n }\n }\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n\n function listItem(token) {\n return {\n type: 'listItem',\n // @ts-expect-error Patched.\n spread: token._spread,\n checked: null,\n children: []\n }\n }\n /** @returns {Paragraph} */\n\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n }\n }\n /** @returns {Strong} */\n\n function strong() {\n return {\n type: 'strong',\n children: []\n }\n }\n /** @returns {Text} */\n\n function text() {\n return {\n type: 'text',\n value: ''\n }\n }\n /** @returns {ThematicBreak} */\n\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n }\n }\n}\n/**\n * @param {Extension} combined\n * @param {Array>} extensions\n * @returns {Extension}\n */\n\nfunction configure(combined, extensions) {\n let index = -1\n\n while (++index < extensions.length) {\n const value = extensions[index]\n\n if (Array.isArray(value)) {\n configure(combined, value)\n } else {\n extension(combined, value)\n }\n }\n\n return combined\n}\n/**\n * @param {Extension} combined\n * @param {Extension} extension\n * @returns {void}\n */\n\nfunction extension(combined, extension) {\n /** @type {string} */\n let key\n\n for (key in extension) {\n if (own.call(extension, key)) {\n const list = key === 'canContainEols' || key === 'transforms'\n const maybe = own.call(combined, key) ? combined[key] : undefined\n /* c8 ignore next */\n\n const left = maybe || (combined[key] = list ? [] : {})\n const right = extension[key]\n\n if (right) {\n if (list) {\n // @ts-expect-error: `left` is an array.\n combined[key] = [...left, ...right]\n } else {\n Object.assign(left, right)\n }\n }\n }\n }\n}\n/** @type {OnEnterError} */\n\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error(\n 'Cannot close `' +\n left.type +\n '` (' +\n stringifyPosition({\n start: left.start,\n end: left.end\n }) +\n '): a different token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is open'\n )\n } else {\n throw new Error(\n 'Cannot close document, a token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is still open'\n )\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {subtokenize} from 'micromark-util-subtokenize'\n/**\n * @param {Event[]} events\n * @returns {Event[]}\n */\n\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').Create} Create\n */\nimport {combineExtensions} from 'micromark-util-combine-extensions'\nimport {content} from './initialize/content.js'\nimport {document} from './initialize/document.js'\nimport {flow} from './initialize/flow.js'\nimport {text, string} from './initialize/text.js'\nimport {createTokenizer} from './create-tokenizer.js'\nimport * as defaultConstructs from './constructs.js'\n/**\n * @param {ParseOptions} [options]\n * @returns {ParseContext}\n */\n\nexport function parse(options = {}) {\n /** @type {FullNormalizedExtension} */\n // @ts-expect-error `defaultConstructs` is full, so the result will be too.\n const constructs = combineExtensions(\n // @ts-expect-error Same as above.\n [defaultConstructs].concat(options.extensions || [])\n )\n /** @type {ParseContext} */\n\n const parser = {\n defined: [],\n lazy: {},\n constructs,\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(string),\n text: create(text)\n }\n return parser\n /**\n * @param {InitialConstruct} initial\n */\n\n function create(initial) {\n return creator\n /** @type {Create} */\n\n function creator(from) {\n return createTokenizer(parser, initial, from)\n }\n }\n}\n","import remarkParse from './lib/index.js'\n\nexport default remarkParse\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').Options} Options\n */\n\nimport {fromMarkdown} from 'mdast-util-from-markdown'\n\n/** @type {import('unified').Plugin<[Options?] | void[], string, Root>} */\nexport default function remarkParse(options) {\n /** @type {import('unified').ParserFunction} */\n const parser = (doc) => {\n // Assume options.\n const settings = /** @type {Options} */ (this.data('settings'))\n\n return fromMarkdown(\n doc,\n Object.assign({}, settings, options, {\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: this.data('micromarkExtensions') || [],\n mdastExtensions: this.data('fromMarkdownExtensions') || []\n })\n )\n }\n\n Object.assign(this, {Parser: parser})\n}\n","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist').Literal} Literal\n * @typedef {Object.} Props\n * @typedef {Array.|string} ChildrenOrValue\n *\n * @typedef {(, C extends Node[]>(type: T, props: P, children: C) => {type: T, children: C} & P)} BuildParentWithProps\n * @typedef {(>(type: T, props: P, value: string) => {type: T, value: string} & P)} BuildLiteralWithProps\n * @typedef {(>(type: T, props: P) => {type: T} & P)} BuildVoidWithProps\n * @typedef {((type: T, children: C) => {type: T, children: C})} BuildParent\n * @typedef {((type: T, value: string) => {type: T, value: string})} BuildLiteral\n * @typedef {((type: T) => {type: T})} BuildVoid\n */\n\nexport var u = /**\n * @type {BuildVoid & BuildVoidWithProps & BuildLiteral & BuildLiteralWithProps & BuildParent & BuildParentWithProps}\n */ (\n /**\n * @param {string} type Type of node\n * @param {Props|ChildrenOrValue} [props] Additional properties for node (or `children` or `value`)\n * @param {ChildrenOrValue} [value] `children` or `value` of node\n * @returns {Node}\n */\n function (type, props, value) {\n /** @type {Node} */\n var node = {type: String(type)}\n\n if (\n (value === undefined || value === null) &&\n (typeof props === 'string' || Array.isArray(props))\n ) {\n value = props\n } else {\n Object.assign(node, props)\n }\n\n if (Array.isArray(value)) {\n node.children = value\n } else if (value !== undefined && value !== null) {\n node.value = String(value)\n }\n\n return node\n }\n)\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n *\n * @typedef {string} Type\n * @typedef {Object} Props\n *\n * @typedef {null|undefined|Type|Props|TestFunctionAnything|Array.} Test\n */\n\n/**\n * Check if a node passes a test\n *\n * @callback TestFunctionAnything\n * @param {Node} node\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {boolean|void}\n */\n\n/**\n * Check if a node passes a certain node test\n *\n * @template {Node} X\n * @callback TestFunctionPredicate\n * @param {Node} node\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {node is X}\n */\n\n/**\n * @callback AssertAnything\n * @param {unknown} [node]\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {boolean}\n */\n\n/**\n * Check if a node passes a certain node test\n *\n * @template {Node} Y\n * @callback AssertPredicate\n * @param {unknown} [node]\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {node is Y}\n */\n\nexport const is =\n /**\n * Check if a node passes a test.\n * When a `parent` node is known the `index` of node should also be given.\n *\n * @type {(\n * ((node: unknown, test: T['type']|Partial|TestFunctionPredicate|Array.|TestFunctionPredicate>, index?: number|null|undefined, parent?: Parent|null|undefined, context?: unknown) => node is T) &\n * ((node?: unknown, test?: Test, index?: number|null|undefined, parent?: Parent|null|undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * Check if a node passes a test.\n * When a `parent` node is known the `index` of node should also be given.\n *\n * @param {unknown} [node] Node to check\n * @param {Test} [test]\n * When nullish, checks if `node` is a `Node`.\n * When `string`, works like passing `function (node) {return node.type === test}`.\n * When `function` checks if function passed the node is true.\n * When `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * When `array`, checks any one of the subtests pass.\n * @param {number|null|undefined} [index] Position of `node` in `parent`\n * @param {Parent|null|undefined} [parent] Parent of `node`\n * @param {unknown} [context] Context object to invoke `test` with\n * @returns {boolean} Whether test passed and `node` is a `Node` (object with `type` set to non-empty `string`).\n */\n // eslint-disable-next-line max-params\n function is(node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n // @ts-expect-error Looks like a node.\n return node && node.type && typeof node.type === 'string'\n ? Boolean(check.call(context, node, index, parent))\n : false\n }\n )\n\nexport const convert =\n /**\n * @type {(\n * ((test: T['type']|Partial|TestFunctionPredicate) => AssertPredicate) &\n * ((test?: Test) => AssertAnything)\n * )}\n */\n (\n /**\n * Generate an assertion from a check.\n * @param {Test} [test]\n * When nullish, checks if `node` is a `Node`.\n * When `string`, works like passing `function (node) {return node.type === test}`.\n * When `function` checks if function passed the node is true.\n * When `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * When `array`, checks any one of the subtests pass.\n * @returns {AssertAnything}\n */\n function (test) {\n if (test === undefined || test === null) {\n return ok\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n/**\n * @param {Array.} tests\n * @returns {AssertAnything}\n */\nfunction anyFactory(tests) {\n /** @type {Array.} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @param {unknown[]} parameters\n * @returns {boolean}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].call(this, ...parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Utility to assert each property in `test` is represented in `node`, and each\n * values are strictly equal.\n *\n * @param {Props} check\n * @returns {AssertAnything}\n */\nfunction propsFactory(check) {\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n /** @type {string} */\n let key\n\n for (key in check) {\n // @ts-expect-error: hush, it sure works as an index.\n if (node[key] !== check[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Utility to convert a string into a function which checks a given node’s type\n * for said string.\n *\n * @param {Type} check\n * @returns {AssertAnything}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Utility to convert a string into a function which checks a given node’s type\n * for said string.\n * @param {TestFunctionAnything} check\n * @returns {AssertAnything}\n */\nfunction castFactory(check) {\n return assertion\n\n /**\n * @this {unknown}\n * @param {Array.} parameters\n * @returns {boolean}\n */\n function assertion(...parameters) {\n // @ts-expect-error: spreading is fine.\n return Boolean(check.call(this, ...parameters))\n }\n}\n\n// Utility to return true.\nfunction ok() {\n return true\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n * @typedef {import('./complex-types').Action} Action\n * @typedef {import('./complex-types').Index} Index\n * @typedef {import('./complex-types').ActionTuple} ActionTuple\n * @typedef {import('./complex-types').VisitorResult} VisitorResult\n * @typedef {import('./complex-types').Visitor} Visitor\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from './color.js'\n\n/**\n * Continue traversing as normal\n */\nexport const CONTINUE = true\n/**\n * Do not traverse this node’s children\n */\nexport const SKIP = 'skip'\n/**\n * Stop traversing immediately\n */\nexport const EXIT = false\n\n/**\n * Visit children of tree which pass a test\n *\n * @param tree Abstract syntax tree to walk\n * @param test Test node, optional\n * @param visitor Function to run for each node\n * @param reverse Visit the tree in reverse order, defaults to false\n */\nexport const visitParents =\n /**\n * @type {(\n * ((tree: Tree, test: Check, visitor: import('./complex-types').BuildVisitor, reverse?: boolean) => void) &\n * ((tree: Tree, visitor: import('./complex-types').BuildVisitor, reverse?: boolean) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {import('./complex-types').Visitor} visitor\n * @param {boolean} [reverse]\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n test = null\n }\n\n const is = convert(test)\n const step = reverse ? -1 : 1\n\n factory(tree, null, [])()\n\n /**\n * @param {Node} node\n * @param {number?} index\n * @param {Array.} parents\n */\n function factory(node, index, parents) {\n /** @type {Object.} */\n // @ts-expect-error: hush\n const value = typeof node === 'object' && node !== null ? node : {}\n /** @type {string|undefined} */\n let name\n\n if (typeof value.type === 'string') {\n name =\n typeof value.tagName === 'string'\n ? value.tagName\n : typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' +\n color(value.type + (name ? '<' + name + '>' : '')) +\n ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {ActionTuple} */\n let result = []\n /** @type {ActionTuple} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array.} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n // @ts-expect-error looks like a parent.\n if (node.children && result[0] !== SKIP) {\n // @ts-expect-error looks like a parent.\n offset = (reverse ? node.children.length : -1) + step\n // @ts-expect-error looks like a parent.\n grandparents = parents.concat(node)\n\n // @ts-expect-error looks like a parent.\n while (offset > -1 && offset < node.children.length) {\n // @ts-expect-error looks like a parent.\n subresult = factory(node.children[offset], offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n\n return result\n }\n }\n }\n )\n\n/**\n * @param {VisitorResult} value\n * @returns {ActionTuple}\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n * @typedef {import('./complex-types').Visitor} Visitor\n */\n\nimport {visitParents, CONTINUE, SKIP, EXIT} from 'unist-util-visit-parents'\n\nexport {CONTINUE, SKIP, EXIT}\n\n/**\n * Visit children of tree which pass a test\n *\n * @param tree Abstract syntax tree to walk\n * @param test Test, optional\n * @param visitor Function to run for each node\n * @param reverse Fisit the tree in reverse, defaults to false\n */\nexport const visit =\n /**\n * @type {(\n * ((tree: Tree, test: Check, visitor: import('./complex-types').BuildVisitor, reverse?: boolean) => void) &\n * ((tree: Tree, visitor: import('./complex-types').BuildVisitor, reverse?: boolean) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {import('./complex-types').Visitor} visitor\n * @param {boolean} [reverse]\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {Node} node\n * @param {Array.} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n return visitor(\n node,\n parent ? parent.children.indexOf(node) : null,\n parent\n )\n }\n }\n )\n","/**\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n *\n * @typedef {Partial} PointLike\n *\n * @typedef {Object} PositionLike\n * @property {PointLike} [start]\n * @property {PointLike} [end]\n *\n * @typedef {Object} NodeLike\n * @property {PositionLike} [position]\n */\n\nexport var pointStart = point('start')\nexport var pointEnd = point('end')\n\n/**\n * Get the positional info of `node`.\n *\n * @param {NodeLike} [node]\n * @returns {Position}\n */\nexport function position(node) {\n return {start: pointStart(node), end: pointEnd(node)}\n}\n\n/**\n * Get the positional info of `node`.\n *\n * @param {'start'|'end'} type\n */\nfunction point(type) {\n return point\n\n /**\n * Get the positional info of `node`.\n *\n * @param {NodeLike} [node]\n * @returns {Point}\n */\n function point(node) {\n /** @type {Point} */\n // @ts-ignore looks like a point\n var point = (node && node.position && node.position[type]) || {}\n\n return {\n line: point.line || null,\n column: point.column || null,\n offset: point.offset > -1 ? point.offset : null\n }\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n */\n\n/**\n * @typedef {CONTINUE|SKIP|EXIT} Action Union of the action types\n * @typedef {number} Index Move to the sibling at index next (after node itself is completely traversed). Useful if mutating the tree, such as removing the node the visitor is currently on, or any of its previous siblings (or next siblings, in case of reverse) Results less than 0 or greater than or equal to children.length stop traversing the parent\n * @typedef {[(Action|null|undefined|void)?, (Index|null|undefined)?]} ActionTuple List with one or two values, the first an action, the second an index.\n * @typedef {null|undefined|Action|Index|ActionTuple|void} VisitorResult Any value that can be returned from a visitor\n */\n\n/**\n * Invoked when a node (matching test, if given) is found.\n * Visitors are free to transform node.\n * They can also transform the parent of node (the last of ancestors).\n * Replacing node itself, if `SKIP` is not returned, still causes its descendants to be visited.\n * If adding or removing previous siblings (or next siblings, in case of reverse) of node,\n * visitor should return a new index (number) to specify the sibling to traverse after node is traversed.\n * Adding or removing next siblings of node (or previous siblings, in case of reverse)\n * is handled as expected without needing to return a new index.\n * Removing the children property of an ancestor still results in them being traversed.\n *\n * @template {Node} V\n * @callback Visitor\n * @param {V} node Found node\n * @param {Array.} ancestors Ancestors of node\n * @returns {VisitorResult}\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from './color.js'\n\n/**\n * Continue traversing as normal\n */\nexport const CONTINUE = true\n/**\n * Do not traverse this node’s children\n */\nexport const SKIP = 'skip'\n/**\n * Stop traversing immediately\n */\nexport const EXIT = false\n\nexport const visitParents =\n /**\n * @type {(\n * ((tree: Node, test: T['type']|Partial|import('unist-util-is').TestFunctionPredicate|Array.|import('unist-util-is').TestFunctionPredicate>, visitor: Visitor, reverse?: boolean) => void) &\n * ((tree: Node, test: Test, visitor: Visitor, reverse?: boolean) => void) &\n * ((tree: Node, visitor: Visitor, reverse?: boolean) => void)\n * )}\n */\n (\n /**\n * Visit children of tree which pass a test\n *\n * @param {Node} tree Abstract syntax tree to walk\n * @param {Test} test test Test node\n * @param {Visitor} visitor Function to run for each node\n * @param {boolean} [reverse] Fisit the tree in reverse, defaults to false\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-ignore no visitor given, so `visitor` is test.\n visitor = test\n test = null\n }\n\n var is = convert(test)\n var step = reverse ? -1 : 1\n\n factory(tree, null, [])()\n\n /**\n * @param {Node} node\n * @param {number?} index\n * @param {Array.} parents\n */\n function factory(node, index, parents) {\n /** @type {Object.} */\n var value = typeof node === 'object' && node !== null ? node : {}\n /** @type {string} */\n var name\n\n if (typeof value.type === 'string') {\n name =\n typeof value.tagName === 'string'\n ? value.tagName\n : typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' +\n color(value.type + (name ? '<' + name + '>' : '')) +\n ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {ActionTuple} */\n var result = []\n /** @type {ActionTuple} */\n var subresult\n /** @type {number} */\n var offset\n /** @type {Array.} */\n var grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if (node.children && result[0] !== SKIP) {\n // @ts-ignore looks like a parent.\n offset = (reverse ? node.children.length : -1) + step\n // @ts-ignore looks like a parent.\n grandparents = parents.concat(node)\n\n // @ts-ignore looks like a parent.\n while (offset > -1 && offset < node.children.length) {\n subresult = factory(node.children[offset], offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n\n return result\n }\n }\n }\n )\n\n/**\n * @param {VisitorResult} value\n * @returns {ActionTuple}\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n */\n\n/**\n * Invoked when a node (matching test, if given) is found.\n * Visitors are free to transform node.\n * They can also transform the parent of node (the last of ancestors).\n * Replacing node itself, if `SKIP` is not returned, still causes its descendants to be visited.\n * If adding or removing previous siblings (or next siblings, in case of reverse) of node,\n * visitor should return a new index (number) to specify the sibling to traverse after node is traversed.\n * Adding or removing next siblings of node (or previous siblings, in case of reverse)\n * is handled as expected without needing to return a new index.\n * Removing the children property of an ancestor still results in them being traversed.\n *\n * @template {Node} V\n * @callback Visitor\n * @param {V} node Found node\n * @param {number|null} index Position of `node` in `parent`\n * @param {Parent|null} parent Parent of `node`\n * @returns {VisitorResult}\n */\n\nimport {visitParents, CONTINUE, SKIP, EXIT} from 'unist-util-visit-parents'\n\nexport {CONTINUE, SKIP, EXIT}\n\nexport const visit =\n /**\n * @type {(\n * ((tree: Node, test: T['type']|Partial|import('unist-util-is').TestFunctionPredicate|Array.|import('unist-util-is').TestFunctionPredicate>, visitor: Visitor, reverse?: boolean) => void) &\n * ((tree: Node, test: Test, visitor: Visitor, reverse?: boolean) => void) &\n * ((tree: Node, visitor: Visitor, reverse?: boolean) => void)\n * )}\n */\n (\n /**\n * Visit children of tree which pass a test\n *\n * @param {Node} tree Abstract syntax tree to walk\n * @param {Test} test test Test node\n * @param {Visitor} visitor Function to run for each node\n * @param {boolean} [reverse] Fisit the tree in reverse, defaults to false\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {Node} node\n * @param {Array.} parents\n */\n function overload(node, parents) {\n var parent = parents[parents.length - 1]\n return visitor(\n node,\n parent ? parent.children.indexOf(node) : null,\n parent\n )\n }\n }\n )\n","/**\n * @typedef {import('mdast').Root|import('mdast').Content} Node\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('unist-util-visit').Visitor} DefinitionVisitor\n */\n\nimport {visit} from 'unist-util-visit'\n\nconst own = {}.hasOwnProperty\n\n/**\n *\n * @param {Node} node\n */\nexport function definitions(node) {\n /** @type {Object.} */\n const cache = Object.create(null)\n\n if (!node || !node.type) {\n throw new Error('mdast-util-definitions expected node')\n }\n\n visit(node, 'definition', ondefinition)\n\n return getDefinition\n\n /** @type {DefinitionVisitor} */\n function ondefinition(definition) {\n const id = clean(definition.identifier)\n if (id && !own.call(cache, id)) {\n cache[id] = definition\n }\n }\n\n /**\n * Get a node from the bound definition-cache.\n *\n * @param {string} identifier\n * @returns {Definition|null}\n */\n function getDefinition(identifier) {\n const id = clean(identifier)\n return id && own.call(cache, id) ? cache[id] : null\n }\n}\n\n/**\n * @param {string} [value]\n * @returns {string}\n */\nfunction clean(value) {\n return String(value || '').toUpperCase()\n}\n","/**\n * @typedef {import('mdast').Root|import('mdast').Parent['children'][number]} MdastNode\n * @typedef {import('./index.js').H} H\n * @typedef {import('./index.js').Handler} Handler\n * @typedef {import('./index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Transform an unknown node.\n * @type {Handler}\n * @param {MdastNode} node\n */\nfunction unknown(h, node) {\n const data = node.data || {}\n\n if (\n 'value' in node &&\n !(\n own.call(data, 'hName') ||\n own.call(data, 'hProperties') ||\n own.call(data, 'hChildren')\n )\n ) {\n return h.augment(node, u('text', node.value))\n }\n\n return h(node, 'div', all(h, node))\n}\n\n/**\n * @type {Handler}\n * @param {MdastNode} node\n */\nexport function one(h, node, parent) {\n const type = node && node.type\n /** @type {Handler} */\n let fn\n\n // Fail on non-nodes.\n if (!type) {\n throw new Error('Expected node, got `' + node + '`')\n }\n\n if (own.call(h.handlers, type)) {\n fn = h.handlers[type]\n } else if (h.passThrough && h.passThrough.includes(type)) {\n fn = returnNode\n } else {\n fn = h.unknownHandler\n }\n\n return (typeof fn === 'function' ? fn : unknown)(h, node, parent)\n}\n\n/**\n * @type {Handler}\n * @param {MdastNode} node\n */\nfunction returnNode(h, node) {\n // @ts-expect-error: Pass through custom node.\n return 'children' in node ? {...node, children: all(h, node)} : node\n}\n\n/**\n * @param {H} h\n * @param {MdastNode} parent\n */\nexport function all(h, parent) {\n /** @type {Array.} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n\n while (++index < nodes.length) {\n const result = one(h, nodes[index], parent)\n\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = result.value.replace(/^\\s+/, '')\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = head.value.replace(/^\\s+/, '')\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n}\n","/**\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('hast').Element} Element\n * @typedef {import('../index.js').Handler} Handler\n */\n\n/**\n * @type {Handler}\n * @param {ThematicBreak} [node]\n * @returns {Element}\n */\nexport function thematicBreak(h, node) {\n return h(node, 'hr')\n}\n","/**\n * @typedef {import('./index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * Wrap `nodes` with line feeds between each entry.\n * Optionally adds line feeds at the start and end.\n *\n * @param {Array.} nodes\n * @param {boolean} [loose=false]\n * @returns {Array.}\n */\nexport function wrap(nodes, loose) {\n /** @type {Array.} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push(u('text', '\\n'))\n }\n\n while (++index < nodes.length) {\n if (index) result.push(u('text', '\\n'))\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push(u('text', '\\n'))\n }\n\n return result\n}\n","/**\n * @typedef {import('mdast').List} List\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {wrap} from '../wrap.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {List} node\n * @returns {Element}\n */\nexport function list(h, node) {\n /** @type {Properties} */\n const props = {}\n const name = node.ordered ? 'ol' : 'ul'\n const items = all(h, node)\n let index = -1\n\n if (typeof node.start === 'number' && node.start !== 1) {\n props.start = node.start\n }\n\n // Like GitHub, add a class for custom styling.\n while (++index < items.length) {\n const item = items[index]\n\n if (\n item.type === 'element' &&\n item.tagName === 'li' &&\n item.properties &&\n Array.isArray(item.properties.className) &&\n item.properties.className.includes('task-list-item')\n ) {\n props.className = ['contains-task-list']\n break\n }\n }\n\n return h(node, name, props, wrap(items, true))\n}\n","/**\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {FootnoteReference} node\n */\nexport function footnoteReference(h, node) {\n const footnoteOrder = h.footnoteOrder\n const identifier = String(node.identifier)\n const index = footnoteOrder.indexOf(identifier)\n const marker = String(\n index === -1 ? footnoteOrder.push(identifier) : index + 1\n )\n\n return h(\n node,\n 'a',\n {\n href: '#fn' + marker,\n className: ['footnote-ref'],\n id: 'fnref' + marker,\n role: 'doc-noteref'\n },\n [h(node.position, 'sup', [u('text', marker)])]\n )\n}\n","/**\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('./index.js').Handler} Handler\n * @typedef {import('./index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\nimport {all} from './traverse.js'\n\n/**\n * Return the content of a reference without definition as plain text.\n *\n * @type {Handler}\n * @param {ImageReference|LinkReference} node\n * @returns {Content|Array.}\n */\nexport function revert(h, node) {\n const subtype = node.referenceType\n let suffix = ']'\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return u('text', '![' + node.alt + suffix)\n }\n\n const contents = all(h, node)\n const head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift(u('text', '['))\n }\n\n const tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push(u('text', suffix))\n }\n\n return contents\n}\n","/**\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').List} List\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Element} Element\n * @typedef {import('../index.js').Handler} Handler\n * @typedef {import('../index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {ListItem} node\n * @param {List} parent\n */\nexport function listItem(h, node, parent) {\n const result = all(h, node)\n const loose = parent ? listLoose(parent) : listItemLoose(node)\n /** @type {Properties} */\n const props = {}\n /** @type {Array.} */\n const wrapped = []\n\n if (typeof node.checked === 'boolean') {\n /** @type {Element} */\n let paragraph\n\n if (\n result[0] &&\n result[0].type === 'element' &&\n result[0].tagName === 'p'\n ) {\n paragraph = result[0]\n } else {\n paragraph = h(null, 'p', [])\n result.unshift(paragraph)\n }\n\n if (paragraph.children.length > 0) {\n paragraph.children.unshift(u('text', ' '))\n }\n\n paragraph.children.unshift(\n h(null, 'input', {\n type: 'checkbox',\n checked: node.checked,\n disabled: true\n })\n )\n\n // According to github-markdown-css, this class hides bullet.\n // See: .\n props.className = ['task-list-item']\n }\n\n let index = -1\n\n while (++index < result.length) {\n const child = result[index]\n\n // Add eols before nodes, except if this is a loose, first paragraph.\n if (\n loose ||\n index !== 0 ||\n child.type !== 'element' ||\n child.tagName !== 'p'\n ) {\n wrapped.push(u('text', '\\n'))\n }\n\n if (child.type === 'element' && child.tagName === 'p' && !loose) {\n wrapped.push(...child.children)\n } else {\n wrapped.push(child)\n }\n }\n\n const tail = result[result.length - 1]\n\n // Add a final eol.\n if (tail && (loose || !('tagName' in tail) || tail.tagName !== 'p')) {\n wrapped.push(u('text', '\\n'))\n }\n\n return h(node, 'li', props, wrapped)\n}\n\n/**\n * @param {List} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n let loose = node.spread\n const children = node.children\n let index = -1\n\n while (!loose && ++index < children.length) {\n loose = listItemLoose(children[index])\n }\n\n return Boolean(loose)\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n const spread = node.spread\n\n return spread === undefined || spread === null\n ? node.children.length > 1\n : spread\n}\n","import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {strikethrough} from './delete.js'\nimport {emphasis} from './emphasis.js'\nimport {footnoteReference} from './footnote-reference.js'\nimport {footnote} from './footnote.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {imageReference} from './image-reference.js'\nimport {image} from './image.js'\nimport {inlineCode} from './inline-code.js'\nimport {linkReference} from './link-reference.js'\nimport {link} from './link.js'\nimport {listItem} from './list-item.js'\nimport {list} from './list.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {table} from './table.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\nexport const handlers = {\n blockquote,\n break: hardBreak,\n code,\n delete: strikethrough,\n emphasis,\n footnoteReference,\n footnote,\n heading,\n html,\n imageReference,\n image,\n inlineCode,\n linkReference,\n link,\n listItem,\n list,\n paragraph,\n root,\n strong,\n table,\n text,\n thematicBreak,\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n return null\n}\n","/**\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {wrap} from '../wrap.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Blockquote} node\n */\nexport function blockquote(h, node) {\n return h(node, 'blockquote', wrap(all(h, node), true))\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {Break} node\n * @returns {Array}\n */\nexport function hardBreak(h, node) {\n return [h(node, 'br'), u('text', '\\n')]\n}\n","/**\n * @typedef {import('mdast').Code} Code\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {Code} node\n */\nexport function code(h, node) {\n const value = node.value ? node.value + '\\n' : ''\n // To do: next major, use `node.lang` w/o regex, the splitting’s been going\n // on for years in remark now.\n const lang = node.lang && node.lang.match(/^[^ \\t]+(?=[ \\t]|$)/)\n /** @type {Properties} */\n const props = {}\n\n if (lang) {\n props.className = ['language-' + lang]\n }\n\n const code = h(node, 'code', props, [u('text', value)])\n\n if (node.meta) {\n code.data = {meta: node.meta}\n }\n\n return h(node.position, 'pre', [code])\n}\n","/**\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Delete} node\n */\nexport function strikethrough(h, node) {\n return h(node, 'del', all(h, node))\n}\n","/**\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Emphasis} node\n */\nexport function emphasis(h, node) {\n return h(node, 'em', all(h, node))\n}\n","/**\n * @typedef {import('mdast').Footnote} Footnote\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {footnoteReference} from './footnote-reference.js'\n\n/**\n * @type {Handler}\n * @param {Footnote} node\n */\nexport function footnote(h, node) {\n const footnoteById = h.footnoteById\n const footnoteOrder = h.footnoteOrder\n let no = 1\n\n while (no in footnoteById) no++\n\n const identifier = String(no)\n\n // No need to check if `identifier` exists in `footnoteOrder`, it’s guaranteed\n // to not exist because we just generated it.\n footnoteOrder.push(identifier)\n\n footnoteById[identifier] = {\n type: 'footnoteDefinition',\n identifier,\n children: [{type: 'paragraph', children: node.children}],\n position: node.position\n }\n\n return footnoteReference(h, {\n type: 'footnoteReference',\n identifier,\n position: node.position\n })\n}\n","/**\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Heading} node\n */\nexport function heading(h, node) {\n return h(node, 'h' + node.depth, all(h, node))\n}\n","/**\n * @typedef {import('mdast').HTML} HTML\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * Return either a `raw` node in dangerous mode, otherwise nothing.\n *\n * @type {Handler}\n * @param {HTML} node\n */\nexport function html(h, node) {\n return h.dangerous ? h.augment(node, u('raw', node.value)) : null\n}\n","/**\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\nimport {revert} from '../revert.js'\n\n/**\n * @type {Handler}\n * @param {ImageReference} node\n */\nexport function imageReference(h, node) {\n const def = h.definition(node.identifier)\n\n if (!def) {\n return revert(h, node)\n }\n\n /** @type {Properties} */\n const props = {src: normalize(def.url || ''), alt: node.alt}\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title\n }\n\n return h(node, 'img', props)\n}\n","/**\n * @typedef {import('mdast').Image} Image\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\n\n/**\n * @type {Handler}\n * @param {Image} node\n */\nexport function image(h, node) {\n /** @type {Properties} */\n const props = {src: normalize(node.url), alt: node.alt}\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title\n }\n\n return h(node, 'img', props)\n}\n","/**\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {InlineCode} node\n */\nexport function inlineCode(h, node) {\n return h(node, 'code', [u('text', node.value.replace(/\\r?\\n|\\r/g, ' '))])\n}\n","/**\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\nimport {revert} from '../revert.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {LinkReference} node\n */\nexport function linkReference(h, node) {\n const def = h.definition(node.identifier)\n\n if (!def) {\n return revert(h, node)\n }\n\n /** @type {Properties} */\n const props = {href: normalize(def.url || '')}\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title\n }\n\n return h(node, 'a', props, all(h, node))\n}\n","/**\n * @typedef {import('mdast').Link} Link\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Link} node\n */\nexport function link(h, node) {\n /** @type {Properties} */\n const props = {href: normalize(node.url)}\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title\n }\n\n return h(node, 'a', props, all(h, node))\n}\n","/**\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Paragraph} node\n */\nexport function paragraph(h, node) {\n return h(node, 'p', all(h, node))\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\nimport {all} from '../traverse.js'\nimport {wrap} from '../wrap.js'\n\n/**\n * @type {Handler}\n * @param {Root} node\n */\nexport function root(h, node) {\n // @ts-expect-error `root`s are also fine.\n return h.augment(node, u('root', wrap(all(h, node))))\n}\n","/**\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Strong} node\n */\nexport function strong(h, node) {\n return h(node, 'strong', all(h, node))\n}\n","/**\n * @typedef {import('mdast').Table} Table\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('hast').Element} Element\n * @typedef {import('../index.js').Handler} Handler\n * @typedef {import('../index.js').Content} Content\n */\n\nimport {pointStart, pointEnd} from 'unist-util-position'\nimport {wrap} from '../wrap.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Table} node\n */\nexport function table(h, node) {\n const rows = node.children\n let index = -1\n const align = node.align || []\n /** @type {Array.} */\n const result = []\n\n while (++index < rows.length) {\n const row = rows[index].children\n const name = index === 0 ? 'th' : 'td'\n let pos = node.align ? align.length : row.length\n /** @type {Array.} */\n const out = []\n\n while (pos--) {\n const cell = row[pos]\n out[pos] = h(cell, name, {align: align[pos]}, cell ? all(h, cell) : [])\n }\n\n result[index] = h(rows[index], 'tr', wrap(out, true))\n }\n\n return h(\n node,\n 'table',\n wrap(\n [h(result[0].position, 'thead', wrap([result[0]], true))].concat(\n result[1]\n ? h(\n {\n start: pointStart(result[1]),\n end: pointEnd(result[result.length - 1])\n },\n 'tbody',\n wrap(result.slice(1), true)\n )\n : []\n ),\n true\n )\n )\n}\n","/**\n * @typedef {import('mdast').Text} Text\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {Text} node\n */\nexport function text(h, node) {\n return h.augment(\n node,\n u('text', String(node.value).replace(/[ \\t]*(\\r?\\n|\\r)[ \\t]*/g, '$1'))\n )\n}\n","/**\n * @typedef {import('mdast').Root|import('mdast').Parent['children'][number]} MdastNode\n * @typedef {import('hast').Root|import('hast').Parent['children'][number]} HastNode\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').FootnoteDefinition} FootnoteDefinition\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').ElementContent} Content\n * @typedef {import('unist-util-position').PositionLike} PositionLike\n *\n * @typedef EmbeddedHastFields\n * @property {string} [hName] Defines the tag name of an element\n * @property {Properties} [hProperties] Defines the properties of an element\n * @property {Array.} [hChildren] Defines the (hast) children of an element\n *\n * @typedef {Object. & EmbeddedHastFields} Data unist data with embedded hast fields\n *\n * @typedef {MdastNode & {data?: Data}} NodeWithData unist node with embedded hast data\n *\n * @callback Handler\n * @param {H} h Handle context\n * @param {any} node mdast node to handle\n * @param {Parent|null} parent Parent of `node`\n * @returns {Content|Array.|null|undefined} hast node\n *\n * @callback HFunctionProps\n * @param {MdastNode|PositionLike|null|undefined} node mdast node or unist position\n * @param {string} tagName HTML tag name\n * @param {Properties} props Properties\n * @param {Array.?} [children] hast content\n * @returns {Element}\n *\n * @callback HFunctionNoProps\n * @param {MdastNode|PositionLike|null|undefined} node mdast node or unist position\n * @param {string} tagName HTML tag name\n * @param {Array.?} [children] hast content\n * @returns {Element}\n *\n * @typedef HFields\n * @property {boolean} dangerous Whether HTML is allowed\n * @property {(identifier: string) => Definition|null} definition Definition cache\n * @property {Object.} footnoteById Footnote cache\n * @property {Array.} footnoteOrder Order in which footnotes occur\n * @property {Handlers} handlers Applied handlers\n * @property {Handler} unknownHandler Handler for any none not in `passThrough` or otherwise handled\n * @property {(left: NodeWithData|PositionLike|null|undefined, right: Content) => Content} augment Like `h` but lower-level and usable on non-elements.\n * @property {Array.} passThrough List of node types to pass through untouched (except for their children).\n *\n * @typedef Options\n * @property {boolean} [allowDangerousHtml=false] Whether to allow `html` nodes and inject them as `raw` HTML\n * @property {Handlers} [handlers] Object mapping mdast nodes to functions handling them\n * @property {Array.} [passThrough] List of custom mdast node types to pass through (keep) in hast\n * @property {Handler} [unknownHandler] Handler for all unknown nodes.\n *\n * @typedef {Record.} Handlers Map of node types to handlers\n * @typedef {HFunctionProps & HFunctionNoProps & HFields} H Handle context\n */\n\nimport {u} from 'unist-builder'\nimport {visit} from 'unist-util-visit'\nimport {pointStart, pointEnd} from 'unist-util-position'\nimport {generated} from 'unist-util-generated'\nimport {definitions} from 'mdast-util-definitions'\nimport {one} from './traverse.js'\nimport {footer} from './footer.js'\nimport {handlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Factory to transform.\n * @param {MdastNode} tree mdast node\n * @param {Options} [options] Configuration\n * @returns {H} `h` function\n */\nfunction factory(tree, options) {\n const settings = options || {}\n const dangerous = settings.allowDangerousHtml || false\n /** @type {Object.} */\n const footnoteById = {}\n\n h.dangerous = dangerous\n h.definition = definitions(tree)\n h.footnoteById = footnoteById\n /** @type {Array.} */\n h.footnoteOrder = []\n h.augment = augment\n h.handlers = {...handlers, ...settings.handlers}\n h.unknownHandler = settings.unknownHandler\n h.passThrough = settings.passThrough\n\n visit(tree, 'footnoteDefinition', (definition) => {\n const id = String(definition.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: .\n if (!own.call(footnoteById, id)) {\n footnoteById[id] = definition\n }\n })\n\n // @ts-expect-error Hush, it’s fine!\n return h\n\n /**\n * Finalise the created `right`, a hast node, from `left`, an mdast node.\n * @param {(NodeWithData|PositionLike)?} left\n * @param {Content} right\n * @returns {Content}\n */\n function augment(left, right) {\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (left && 'data' in left && left.data) {\n /** @type {Data} */\n const data = left.data\n\n if (data.hName) {\n if (right.type !== 'element') {\n right = {\n type: 'element',\n tagName: '',\n properties: {},\n children: []\n }\n }\n\n right.tagName = data.hName\n }\n\n if (right.type === 'element' && data.hProperties) {\n right.properties = {...right.properties, ...data.hProperties}\n }\n\n if ('children' in right && right.children && data.hChildren) {\n right.children = data.hChildren\n }\n }\n\n if (left) {\n const ctx = 'type' in left ? left : {position: left}\n\n if (!generated(ctx)) {\n right.position = {start: pointStart(ctx), end: pointEnd(ctx)}\n }\n }\n\n return right\n }\n\n /**\n * Create an element for `node`.\n *\n * @type {HFunctionProps}\n */\n function h(node, tagName, props, children) {\n if (Array.isArray(props)) {\n children = props\n props = {}\n }\n\n // @ts-expect-error augmenting an element yields an element.\n return augment(node, {\n type: 'element',\n tagName,\n properties: props || {},\n children: children || []\n })\n }\n}\n\n/**\n * Transform `tree` (an mdast node) to a hast node.\n *\n * @param {MdastNode} tree mdast node\n * @param {Options} [options] Configuration\n * @returns {HastNode|null|undefined} hast node\n */\nexport function toHast(tree, options) {\n const h = factory(tree, options)\n const node = one(h, tree, null)\n const foot = footer(h)\n\n if (foot) {\n // @ts-expect-error If there’s a footer, there were definitions, meaning block\n // content.\n // So assume `node` is a parent node.\n node.children.push(u('text', '\\n'), foot)\n }\n\n return Array.isArray(node) ? {type: 'root', children: node} : node\n}\n","/**\n * @typedef {Object} PointLike\n * @property {number} [line]\n * @property {number} [column]\n * @property {number} [offset]\n *\n * @typedef {Object} PositionLike\n * @property {PointLike} [start]\n * @property {PointLike} [end]\n *\n * @typedef {Object} NodeLike\n * @property {PositionLike} [position]\n */\n\n/**\n * Check if `node` is *generated*.\n *\n * @param {NodeLike} [node]\n * @returns {boolean}\n */\nexport function generated(node) {\n return (\n !node ||\n !node.position ||\n !node.position.start ||\n !node.position.start.line ||\n !node.position.start.column ||\n !node.position.end ||\n !node.position.end.line ||\n !node.position.end.column\n )\n}\n","/**\n * @typedef {import('mdast').BlockContent} BlockContent\n * @typedef {import('mdast').FootnoteDefinition} FootnoteDefinition\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('./index.js').H} H\n */\n\nimport {thematicBreak} from './handlers/thematic-break.js'\nimport {list} from './handlers/list.js'\nimport {wrap} from './wrap.js'\n\n/**\n * @param {H} h\n */\nexport function footer(h) {\n const footnoteById = h.footnoteById\n const footnoteOrder = h.footnoteOrder\n let index = -1\n /** @type {Array.} */\n const listItems = []\n\n while (++index < footnoteOrder.length) {\n const def = footnoteById[footnoteOrder[index].toUpperCase()]\n\n if (!def) {\n continue\n }\n\n const marker = String(index + 1)\n const content = [...def.children]\n /** @type {Link} */\n const backReference = {\n type: 'link',\n url: '#fnref' + marker,\n data: {hProperties: {className: ['footnote-back'], role: 'doc-backlink'}},\n children: [{type: 'text', value: '↩'}]\n }\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'paragraph') {\n tail.children.push(backReference)\n } else {\n // @ts-expect-error Indeed, link directly added in block content.\n // Which we do because that way at least the handlers will be called\n // for the other HTML we’re generating (as markdown).\n content.push(backReference)\n }\n\n listItems.push({\n type: 'listItem',\n data: {hProperties: {id: 'fn' + marker, role: 'doc-endnote'}},\n children: content,\n position: def.position\n })\n }\n\n if (listItems.length === 0) {\n return null\n }\n\n return h(\n null,\n 'section',\n {className: ['footnotes'], role: 'doc-endnotes'},\n wrap(\n [\n thematicBreak(h),\n list(h, {type: 'list', ordered: true, children: listItems})\n ],\n true\n )\n )\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('mdast-util-to-hast').Options} Options\n * @typedef {import('unified').Processor} Processor\n *\n * @typedef {import('mdast-util-to-hast')} DoNotTouchAsThisImportIncludesRawInTree\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n// Note: the `` overload doesn’t seem to work :'(\n\n/**\n * Plugin to bridge or mutate to rehype.\n *\n * If a destination is given, runs the destination with the new hast tree\n * (bridge-mode).\n * Without destination, returns the hast tree: further plugins run on that tree\n * (mutate-mode).\n *\n * @param destination\n * Optional unified processor.\n * @param options\n * Options passed to `mdast-util-to-hast`.\n */\nconst remarkRehype =\n /** @type {(import('unified').Plugin<[Processor, Options?]|[Options]|[], MdastRoot>)} */\n (\n function (destination, options) {\n return destination && 'run' in destination\n ? bridge(destination, options)\n : mutate(destination)\n }\n )\n\nexport default remarkRehype\n\n/**\n * Bridge-mode.\n * Runs the destination with the new hast tree.\n *\n * @type {import('unified').Plugin<[Processor, Options?], MdastRoot>}\n */\nfunction bridge(destination, options) {\n return (node, file, next) => {\n destination.run(toHast(node, options), file, (error) => {\n next(error)\n })\n }\n}\n\n/**\n * Mutate-mode.\n * Further transformers run on the nlcst tree.\n *\n * @type {import('unified').Plugin<[Options?]|void[], MdastRoot, HastRoot>}\n */\nfunction mutate(options) {\n // @ts-expect-error: assume a corresponding node is returned for `toHast`.\n return (node) => toHast(node, options)\n}\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record} Properties\n * @typedef {Record} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","/**\n * @param {Record} attributes\n * @param {string} attribute\n * @returns {string}\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record} attributes\n * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // ``. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // ``. List of URIs to archives\n axis: null, // `` and ``. Use `scope` on ``\n background: null, // ``. Use CSS `background-image` instead\n bgColor: null, // `` and table elements. Use CSS `background-color` instead\n border: number, // ``. Use CSS `border-width` instead,\n borderColor: null, // `
`. Use CSS `border-color` instead,\n bottomMargin: number, // ``\n cellPadding: null, // `
`\n cellSpacing: null, // `
`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // ``\n clear: null, // `
`. Use CSS `clear` instead\n code: null, // ``\n codeBase: null, // ``\n codeType: null, // ``\n color: null, // `` and `
`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // ``\n event: null, // `