Improve error dashboard

This commit is contained in:
tdurieux committed 2026-05-06 16:12:37 +03:00
1 parent 6f418d6332
commit 873c910dd3
18 files changed
+1597 -309

No files matched your search

+1 -1
View File
@@ -6,4 +6,4 @@
*/:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unsLine truncated */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unsLine truncated
* Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{contentLine truncated */.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{contentLine truncated
+410 -24
View File
@@ -537,26 +537,118 @@ a:hover {
.paper-stats-inner { .paper-stats-inner {
max-width: 1100px; max-width: 1100px;
margin: 0 auto; margin: 0 auto;
padding: 36px 32px; padding: 28px 32px 32px;
}
.paper-stats-meta {
display: flex;
justify-content: space-between;
align-items: center;
font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
font-size: 11px;
letter-spacing: 0.08em;
color: var(--ink-muted);
margin-bottom: 20px;
}
.paper-stats-meta-left {
text-transform: uppercase;
}
.paper-stats-meta-right {
text-transform: lowercase;
display: inline-flex;
align-items: center;
gap: 6px;
}
.paper-stats-dot {
display: inline-block;
width: 8px;
height: 8px;
border-radius: 50%;
background: #1f9d55;
box-shadow: 0 0 0 3px rgba(31, 157, 85, 0.18);
}
.paper-stats-grid {
display: grid; display: grid;
grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(4, 1fr);
gap: 24px; gap: 32px;
}
@media (max-width: 900px) {
.paper-stats-grid { grid-template-columns: repeat(2, 1fr); gap: 28px; }
}
.paper-stat-card {
display: flex;
flex-direction: column;
} }
.paper-stat-value { .paper-stat-value {
font-family: var(--font-serif); font-family: var(--font-serif);
font-size: 42px; font-size: 56px;
line-height: 1; line-height: 1;
color: var(--color); color: var(--color);
letter-spacing: -0.02em; letter-spacing: -0.02em;
} }
.paper-stat-label { .paper-stat-label {
margin-top: 8px; margin-top: 10px;
font-size: 12.5px; font-size: 13px;
color: var(--ink-muted); color: var(--ink-muted);
} }
.paper-stat-bars {
display: block;
width: 100%;
height: 36px;
margin-top: 16px;
overflow: visible;
}
.paper-stat-bars rect {
fill: var(--ink-muted);
opacity: 0.35;
}
.paper-stat-bars rect.is-latest {
fill: #2937e3;
opacity: 1;
}
.dark-mode .paper-stat-bars rect.is-latest {
fill: #6c7bff;
}
.paper-stat-delta {
margin-top: 12px;
font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
font-size: 12px;
color: var(--ink-muted);
display: flex;
align-items: center;
gap: 8px;
}
.paper-stat-sep {
opacity: 0.5;
}
.paper-stat-pct.is-up {
color: #1f9d55;
}
.paper-stat-pct.is-down {
color: #b54137;
}
.paper-stat-arrow {
font-size: 10px;
margin-right: 2px;
}
/* How it works — editorial numbered steps */ /* How it works — editorial numbered steps */
.paper-how { .paper-how {
max-width: 1100px; max-width: 1100px;
@@ -4703,22 +4795,316 @@ textarea::selection {
.file.folder.truncated > a { .file.folder.truncated > a {
color: #d39e00; color: #d39e00;
} }
/* Errors admin */
.errors-table .error-when time { font-variant-numeric: tabular-nums; color: #555; cursor: help; } /* ===== Errors admin page =====
.errors-table .error-msg-line { display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; } Uses the existing design tokens (--paper-card, --border-color, --ink-muted,
.errors-table .error-chip { --primary-bg, etc.) so light + dark themes are picked up automatically.
display: inline-flex; align-items: center; gap: 4px; Bucket colors are exposed as their own tokens with light/dark overrides
font-size: 0.78rem; padding: 1px 6px; border-radius: 999px; below so status pills stay legible against the dark canvas. */
background: #eef0f3; color: #333; border: 1px solid #dde0e4; body {
max-width: 36em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; --bucket-error-bg: #FCEDED;
--bucket-error-fg: #8A1F1F;
--bucket-error-bd: #F0C4C4;
--bucket-error-dot: #B53737;
--bucket-warn-bg: #FFF3DF;
--bucket-warn-fg: #7A4D00;
--bucket-warn-bd: #F0D8A0;
--bucket-warn-dot: #B07A2F;
--bucket-info-bg: #EAF2EC;
--bucket-info-fg: #2C5D3A;
--bucket-info-bd: #C5DCCD;
--bucket-info-dot: #5B8D6B;
/* Subtle elevation tokens — gives cards weight without losing the paper
palette. Single soft shadow + a 1px hairline to keep the editorial feel. */
--card-shadow: 0 1px 2px rgba(26, 24, 21, 0.04), 0 4px 14px rgba(26, 24, 21, 0.05);
--card-shadow-hover: 0 1px 2px rgba(26, 24, 21, 0.06), 0 8px 24px rgba(26, 24, 21, 0.08);
} }
.errors-table .error-chip .chip-label { color: #777; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em; } .dark-mode {
.errors-table .error-chip.chip-err { background: #fdecec; border-color: #f5c2c2; color: #8a1f1f; } --bucket-error-bg: rgba(255, 139, 123, 0.10);
.errors-table .error-chip.chip-warn { background: #fff5e1; border-color: #f3d9a4; color: #7a4d00; } --bucket-error-fg: #FF8B7B;
.errors-table .error-chip.chip-ok { background: #e9f6ec; border-color: #b8dfc1; color: #1f6b32; } --bucket-error-bd: rgba(255, 139, 123, 0.28);
.errors-table .error-chip.chip-mono .chip-value { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.78rem; } --bucket-error-dot: #FF8B7B;
.errors-table .pill-module { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.78rem; background: #eef0f3; color: #333; padding: 1px 6px; border-radius: 4px; } --bucket-warn-bg: rgba(255, 211, 122, 0.10);
.errors-table .error-details { margin-top: 6px; } --bucket-warn-fg: #FFD37A;
.errors-table .error-details summary { cursor: pointer; color: #666; font-size: 0.82rem; } --bucket-warn-bd: rgba(255, 211, 122, 0.28);
.errors-table .error-details pre { background: #fafafa; border: 1px solid #ececec; border-radius: 4px; padding: 8px; font-size: 0.78rem; max-height: 18em; overflow: auto; } --bucket-warn-dot: #FFD37A;
.errors-table .error-context { color: #888; font-size: 0.78rem; font-style: italic; margin-left: 4px; } --bucket-info-bg: rgba(152, 200, 168, 0.10);
--bucket-info-fg: #98C8A8;
--bucket-info-bd: rgba(152, 200, 168, 0.28);
--bucket-info-dot: #98C8A8;
--card-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 6px 18px rgba(0, 0, 0, 0.30);
--card-shadow-hover: 0 2px 4px rgba(0, 0, 0, 0.45), 0 12px 28px rgba(0, 0, 0, 0.40);
}
.errors-page .errors-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 4px 0 8px; }
.errors-page .errors-actions { display: flex; gap: 6px; }
.errors-page .kpi-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: 16px;
margin: 14px 0 18px;
}
.errors-page .kpi-card {
background: var(--paper-card);
border: 1px solid var(--border-color);
border-radius: 12px;
padding: 18px 20px;
display: flex;
flex-direction: column;
gap: 4px;
box-shadow: var(--card-shadow);
transition: box-shadow 160ms ease, transform 160ms ease;
}
.errors-page .kpi-card:hover { box-shadow: var(--card-shadow-hover); }
.errors-page .kpi-label {
font-family: var(--font-mono);
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--ink-muted);
}
.errors-page .kpi-value {
font-family: var(--font-serif);
font-size: 2.6rem;
font-weight: 400;
line-height: 1;
margin-top: 2px;
color: var(--color);
}
.errors-page .kpi-card.kpi-error .kpi-value { color: var(--bucket-error-fg); }
.errors-page .kpi-card.kpi-warn .kpi-value { color: var(--bucket-warn-fg); }
.errors-page .kpi-card.kpi-info .kpi-value { color: var(--bucket-info-fg); }
.errors-page .kpi-sub { font-size: 0.78rem; color: var(--ink-muted); font-style: italic; }
.errors-page .kpi-sub.up { color: var(--bucket-error-fg); font-style: normal; }
.errors-page .kpi-sub.down { color: var(--bucket-info-fg); font-style: normal; }
.errors-page .dropped-warn { color: var(--bucket-error-fg); font-weight: 600; font-style: normal; }
.errors-page .volume-chart {
background: var(--paper-card);
border: 1px solid var(--border-color);
border-radius: 12px;
padding: 18px 22px;
margin-bottom: 18px;
box-shadow: var(--card-shadow);
}
.errors-page .volume-head {
display: flex; justify-content: space-between; align-items: center;
font-family: var(--font-mono);
font-size: 0.7rem; color: var(--ink-muted);
text-transform: uppercase; letter-spacing: 0.08em;
margin-bottom: 10px;
}
.errors-page .volume-legend { display: flex; gap: 14px; align-items: center; text-transform: none; letter-spacing: 0; font-family: var(--font-sans); }
.errors-page .volume-legend .dot { display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-right: 5px; vertical-align: middle; }
.errors-page .dot.dot-error { background: var(--bucket-error-dot); }
.errors-page .dot.dot-warn { background: var(--bucket-warn-dot); }
.errors-page .dot.dot-info { background: var(--bucket-info-dot); }
.errors-page .volume-bars { display: flex; align-items: flex-end; gap: 4px; height: 80px; }
.errors-page .volume-bar { display: flex; flex-direction: column-reverse; flex: 1 1 0; min-width: 6px; height: 100%; }
.errors-page .volume-bar .seg { display: block; width: 100%; }
.errors-page .seg.seg-error { background: var(--bucket-error-dot); }
.errors-page .seg.seg-warn { background: var(--bucket-warn-dot); }
.errors-page .seg.seg-info { background: var(--bucket-info-dot); opacity: 0.7; }
.errors-page .errors-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; }
.errors-page .seg-tabs {
display: inline-flex;
border: 1px solid var(--border-color);
border-radius: 8px;
overflow: hidden;
background: var(--paper-card);
}
.errors-page .seg-tabs button {
background: transparent; border: none;
padding: 6px 14px; font-size: 0.85rem; cursor: pointer;
color: var(--color); font-family: var(--font-sans);
}
.errors-page .seg-tabs button + button { border-left: 1px solid var(--border-color); }
.errors-page .seg-tabs button.active { background: var(--primary-bg); color: var(--primary-color); }
.errors-page .errors-toolbar .search-wrap { position: relative; flex: 1 1 320px; min-width: 220px; }
.errors-page .errors-toolbar .search-wrap input {
width: 100%;
padding: 6px 10px 6px 32px;
border: 1px solid var(--border-color);
border-radius: 8px;
font-family: var(--font-mono); font-size: 0.82rem;
background: var(--input-bg);
color: var(--input-color);
}
.errors-page .errors-toolbar .search-icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--ink-muted); font-size: 0.85rem; }
.errors-page .errors-toolbar .filter-count { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); font-size: 0.72rem; color: var(--ink-muted); }
.errors-page .errors-toolbar .select-wrap { display: inline-flex; align-items: center; gap: 6px; }
.errors-page .errors-toolbar .select-wrap label {
font-family: var(--font-mono);
font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em;
color: var(--ink-muted); margin: 0;
}
.errors-page .errors-toolbar .select-wrap select {
background: var(--input-bg); color: var(--input-color);
border: 1px solid var(--border-color); border-radius: 8px;
}
.errors-page .errors-toolbar .autoref { display: inline-flex; gap: 6px; align-items: center; font-size: 0.82rem; color: var(--color); cursor: pointer; margin: 0; }
.errors-page .btn-icon { width: 32px; padding: 4px 0; }
.errors-page .errors-list {
background: var(--paper-card);
border: 1px solid var(--border-color);
border-radius: 12px;
overflow: hidden;
box-shadow: var(--card-shadow);
}
.errors-page .errors-list-head,
.errors-page .errors-row-main {
display: grid;
grid-template-columns: 110px 100px 100px 1fr 60px 70px;
gap: 16px;
padding: 18px 20px;
align-items: start;
}
.errors-page .errors-list-head { padding: 12px 20px; align-items: center; }
.errors-page .errors-list-head {
font-family: var(--font-mono);
font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em;
color: var(--ink-muted);
border-bottom: 1px solid var(--border-color);
background: var(--paper-bg-alt);
}
.errors-page .errors-row { border-bottom: 1px solid var(--border-soft); }
.errors-page .errors-row:last-child { border-bottom: none; }
.errors-page .errors-row.open { background: var(--paper-bg-alt); }
.errors-page .errors-row-main { cursor: pointer; }
.errors-page .errors-row-main:hover { background: var(--hover-bg-color); }
.errors-page .col-when .when-rel { font-size: 0.95rem; color: var(--color); font-variant-numeric: tabular-nums; }
.errors-page .col-when .when-abs { font-family: var(--font-mono); font-size: 0.78rem; color: var(--ink-muted); font-variant-numeric: tabular-nums; margin-top: 2px; }
.errors-page .col-sev { display: flex; align-items: center; gap: 8px; }
.errors-page .sev-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.errors-page .sev-dot.sev-error { background: var(--bucket-error-dot); }
.errors-page .sev-dot.sev-warn { background: var(--bucket-warn-dot); }
.errors-page .sev-dot.sev-info { background: var(--bucket-info-dot); }
.errors-page .sev-label { font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.08em; color: var(--color); }
.errors-page .pill-module {
display: inline-block;
font-family: var(--font-mono); font-size: 0.78rem;
background: var(--paper-bg-alt); color: var(--ink-soft);
border: 1px solid var(--border-color);
padding: 3px 10px; border-radius: 6px;
}
.errors-page .col-msg .msg-code {
font-family: var(--font-mono);
font-size: 1rem;
color: var(--color);
font-weight: 600;
}
.errors-page .col-msg .msg-context { color: var(--ink-muted); font-style: italic; font-size: 0.88rem; margin-left: 10px; }
.errors-page .col-msg .msg-detail {
color: var(--ink-soft);
font-family: var(--font-mono);
font-size: 0.82rem;
margin-left: 10px;
}
.errors-page .col-msg .msg-url {
color: var(--ink-muted);
font-family: var(--font-mono);
font-size: 0.8rem;
margin-top: 6px;
word-break: break-all;
}
.errors-page .count-pill {
display: inline-block;
padding: 2px 8px; border-radius: 4px;
background: var(--primary-bg); color: var(--primary-color);
font-family: var(--font-mono); font-size: 0.78rem; font-variant-numeric: tabular-nums;
}
.errors-page .count-pill.count-pill-muted {
background: transparent; color: var(--ink-muted);
border: 1px solid var(--border-color);
}
.errors-page .status-pill {
display: inline-block;
padding: 2px 10px; border-radius: 4px;
font-family: var(--font-mono); font-size: 0.8rem; font-variant-numeric: tabular-nums;
border: 1px solid transparent;
}
.errors-page .status-pill.status-error { background: var(--bucket-error-bg); color: var(--bucket-error-fg); border-color: var(--bucket-error-bd); }
.errors-page .status-pill.status-warn { background: var(--bucket-warn-bg); color: var(--bucket-warn-fg); border-color: var(--bucket-warn-bd); }
.errors-page .status-pill.status-info { background: var(--bucket-info-bg); color: var(--bucket-info-fg); border-color: var(--bucket-info-bd); }
.errors-page .errors-row-detail { padding: 0 16px 16px; }
.errors-page .detail-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--border-color); margin-bottom: 12px; }
.errors-page .detail-tabs button {
background: transparent; border: 0;
border-bottom: 2px solid transparent;
padding: 8px 12px; font-size: 0.85rem; cursor: pointer;
color: var(--ink-muted); font-family: var(--font-sans);
}
.errors-page .detail-tabs button.active { color: var(--color); border-bottom-color: var(--color); }
.errors-page .detail-body { display: grid; grid-template-columns: 1fr 260px; gap: 20px; }
.errors-page .detail-main pre {
background: var(--paper-card);
border: 1px solid var(--border-color);
border-radius: 12px;
padding: 18px 22px;
font-family: var(--font-mono);
font-size: 0.85rem;
line-height: 1.7;
color: var(--color);
max-height: 26em;
overflow: auto;
white-space: pre;
margin: 0;
box-shadow: var(--card-shadow);
}
.errors-page .related-list {
background: var(--paper-card);
border: 1px solid var(--border-color);
border-radius: 12px;
max-height: 22em; overflow: auto;
box-shadow: var(--card-shadow);
}
.errors-page .related-row {
display: flex; gap: 10px; padding: 6px 12px; align-items: center;
border-bottom: 1px solid var(--border-soft);
font-size: 0.8rem;
}
.errors-page .related-row:last-child { border-bottom: none; }
.errors-page .detail-actions { display: flex; gap: 6px; align-items: center; margin-top: 10px; }
.errors-page .copy-hint { font-size: 0.78rem; color: var(--bucket-info-fg); }
.errors-page .detail-aside {
background: var(--paper-card);
border: 1px solid var(--border-color);
border-radius: 12px;
padding: 18px;
box-shadow: var(--card-shadow);
}
.errors-page .aside-block + .aside-block { margin-top: 16px; }
.errors-page .aside-label {
font-family: var(--font-mono);
font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em;
color: var(--ink-muted); margin-bottom: 4px;
}
.errors-page .aside-value {
font-family: var(--font-serif);
font-size: 1.05rem;
color: var(--color);
word-break: break-word;
line-height: 1.3;
}
.errors-page .aside-value.mono { font-family: var(--font-mono); font-size: 0.82rem; }
.errors-page .aside-sub { color: var(--ink-muted); font-style: italic; font-size: 0.8rem; font-family: var(--font-sans); }
.errors-page .errors-pager { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; color: var(--ink-muted); font-size: 0.85rem; }
@media (max-width: 720px) {
.errors-page .errors-list-head,
.errors-page .errors-row-main { grid-template-columns: 80px 80px 1fr 60px; }
.errors-page .errors-list-head .col-mod,
.errors-page .errors-row-main .col-mod,
.errors-page .errors-list-head .col-sev,
.errors-page .errors-row-main .col-sev { display: none; }
.errors-page .detail-body { grid-template-columns: 1fr; }
}
+173 -55
View File
@@ -1,6 +1,13 @@
<div class="container paper-page admin-page"> <div class="container paper-page admin-page errors-page">
<div class="paper-crumbs">Admin &nbsp;/&nbsp; <span class="here">Errors</span></div> <div class="paper-crumbs">Admin &nbsp;/&nbsp; <span class="here">Errors</span></div>
<header class="errors-header">
<h1 class="paper-page-title">Errors</h1> <h1 class="paper-page-title">Errors</h1>
<div class="errors-actions">
<button class="btn btn-sm" type="button" ng-click="exportCsv()"><i class="fas fa-file-export"></i> Export CSV</button>
<button class="btn btn-sm btn-danger" type="button" ng-click="clearAll()"><i class="fas fa-trash"></i> Clear all</button>
</div>
</header>
<nav class="admin-nav"> <nav class="admin-nav">
<a href="/admin/"><i class="fas fa-code-branch"></i> Repositories</a> <a href="/admin/"><i class="fas fa-code-branch"></i> Repositories</a>
@@ -10,68 +17,179 @@
<a href="/admin/errors" class="active"><i class="fas fa-bug"></i> Errors</a> <a href="/admin/errors" class="active"><i class="fas fa-bug"></i> Errors</a>
</nav> </nav>
<div class="admin-summary"> <section class="kpi-grid">
<span class="summary-pill error">{{filtered.length}} shown</span> <div class="kpi-card">
<span class="summary-pill">{{entries.length}} captured</span> <div class="kpi-label">Last 24h</div>
<span class="summary-pill" ng-if="!available">redis sink unavailable</span> <div class="kpi-value">{{stats.last24h}}</div>
<div class="kpi-sub" ng-class="{up: stats.delta > 0, down: stats.delta < 0}">
<span ng-if="stats.prev24h">{{stats.delta > 0 ? '+' : ''}}{{stats.delta}}% vs yesterday</span>
<span ng-if="!stats.prev24h">no prior baseline</span>
</div> </div>
</div>
<div class="kpi-card kpi-error">
<div class="kpi-label">Errors (5xx)</div>
<div class="kpi-value">{{stats.severity.error}}</div>
<div class="kpi-sub">{{stats.unique.error}} unique</div>
</div>
<div class="kpi-card kpi-warn">
<div class="kpi-label">Warnings (4xx)</div>
<div class="kpi-value">{{stats.severity.warn}}</div>
<div class="kpi-sub">{{stats.unique.warn}} unique</div>
</div>
<div class="kpi-card kpi-info">
<div class="kpi-label">Info (auth, 404)</div>
<div class="kpi-value">{{stats.severity.info}}</div>
<div class="kpi-sub">{{stats.unique.info}} unique</div>
</div>
<div class="kpi-card" ng-class="{'kpi-error': stats.dropped > 0}">
<div class="kpi-label">Captured</div>
<div class="kpi-value">{{total}}</div>
<div class="kpi-sub">
cap {{cap}} · {{available ? 'live' : 'redis off'}}
<span ng-if="stats.dropped > 0" class="dropped-warn"> · {{stats.dropped}} dropped</span>
</div>
</div>
</section>
<form class="w-100 admin-filter-toolbar" aria-label="Error filters"> <section class="volume-chart">
<div class="admin-filter-row"> <div class="volume-head">
<div class="search-wrap"> <span class="volume-title">Volume · 24h · 1h buckets</span>
<input type="search" class="form-control" placeholder="Search message, module, or url…" ng-model="query.search" autocomplete="off" /> <span class="volume-legend">
</div> <span class="dot dot-error"></span>error
<span class="admin-filter-inline"> <span class="dot dot-warn"></span>warn
<label>Module</label> <span class="dot dot-info"></span>info
<select class="form-control form-control-sm" ng-model="query.module">
<option value="">Any</option>
<option ng-repeat="m in modules" value="{{m}}">{{m}}</option>
</select>
</span> </span>
<span class="admin-filter-spacer"></span> </div>
<label class="admin-filter-inline" style="cursor:pointer;"> <div class="volume-bars">
<div class="volume-bar" ng-repeat="b in stats.buckets track by $index" title="{{bucketTitle(b)}}">
<span class="seg seg-error" ng-style="{height: barPx(b, 'error') + 'px'}"></span>
<span class="seg seg-warn" ng-style="{height: barPx(b, 'warn') + 'px'}"></span>
<span class="seg seg-info" ng-style="{height: barPx(b, 'info') + 'px'}"></span>
</div>
</div>
</section>
<form class="errors-toolbar" aria-label="Error filters">
<div class="seg-tabs">
<button type="button" ng-class="{active: query.bucket === ''}" ng-click="setBucket('')">All</button>
<button type="button" ng-class="{active: query.bucket === 'error'}" ng-click="setBucket('error')">5xx</button>
<button type="button" ng-class="{active: query.bucket === 'warn'}" ng-click="setBucket('warn')">4xx</button>
<button type="button" ng-class="{active: query.bucket === 'info'}" ng-click="setBucket('info')">Info</button>
</div>
<div class="search-wrap">
<i class="fas fa-search search-icon"></i>
<input type="search" class="form-control" placeholder="code:repo_not_found module:route status:>=400" ng-model="query.search" autocomplete="off" />
<span class="filter-count" ng-if="parsedFilterCount">{{parsedFilterCount}} filter{{parsedFilterCount > 1 ? 's' : ''}}</span>
</div>
<div class="select-wrap">
<label>Sort</label>
<select class="form-control form-control-sm" ng-model="query.sort">
<option value="recent">Most recent</option>
<option value="count">Most frequent</option>
</select>
</div>
<div class="select-wrap">
<label>Group</label>
<select class="form-control form-control-sm" ng-model="query.group">
<option value="">Off</option>
<option value="code">By code</option>
<option value="module">By module</option>
</select>
</div>
<label class="autoref">
<input type="checkbox" ng-model="query.autoRefresh" /> <input type="checkbox" ng-model="query.autoRefresh" />
Auto-refresh Auto-refresh
</label> </label>
<button class="btn btn-sm" type="button" ng-click="refreshNow()" title="Refresh now"><i class="fas fa-sync"></i></button> <button class="btn btn-sm btn-icon" type="button" ng-click="refreshNow()" title="Refresh now"><i class="fas fa-sync"></i></button>
<button class="btn btn-sm btn-danger" type="button" ng-click="clearAll()" title="Clear all errors"><i class="fas fa-trash"></i> Clear</button>
</div>
</form> </form>
<div ng-if="!filtered.length" class="admin-empty">No errors captured.</div> <div ng-if="!visible.length" class="admin-empty">No errors captured.</div>
<div ng-if="canLoadMore() && visible.length" class="errors-pager">
<span>Showing {{entries.length}} of {{total}} captured</span>
<button class="btn btn-sm" type="button" ng-click="loadMore()">Load older</button>
</div>
<table class="table errors-table" ng-if="filtered.length"> <div class="errors-list" ng-if="visible.length">
<thead> <div class="errors-list-head">
<tr> <span class="col-when">When</span>
<th style="width: 9em;">When</th> <span class="col-sev">Severity</span>
<th style="width: 9em;">Module</th> <span class="col-mod">Module</span>
<th>Message</th> <span class="col-msg">Message</span>
</tr> <span class="col-count">Count</span>
</thead> <span class="col-status">Status</span>
<tbody> </div>
<tr ng-repeat="e in filtered track by $index">
<td class="error-when"> <div class="errors-row" ng-repeat="row in visible track by row._key" ng-class="{open: expanded[row._key]}">
<time title="{{absTime(e.ts)}}">{{relTime(e.ts)}}</time> <div class="errors-row-main" ng-click="toggle(row)">
</td> <div class="col-when">
<td><span class="pill pill-module">{{e.module}}</span></td> <div class="when-rel">{{relTime(row.ts)}}</div>
<td class="error-msg"> <div class="when-abs">{{absTimeShort(row.ts)}}</div>
<div class="error-msg-line"> </div>
<strong>{{e.displayMessage}}</strong> <div class="col-sev">
<span class="error-context" ng-if="e.displayContext && e.displayContext !== e.displayMessage">{{e.displayContext}}</span> <span class="sev-dot" ng-class="'sev-' + row._bucket"></span>
<span class="error-chip" <span class="sev-label">{{row._bucket | uppercase}}</span>
ng-repeat="c in e._chips track by $index" </div>
ng-class="{'chip-err': c.kind === 'err', 'chip-warn': c.kind === 'warn', 'chip-ok': c.kind === 'ok', 'chip-mono': c.mono}" <div class="col-mod"><span class="pill pill-module">{{row.module}}</span></div>
title="{{c.label}}: {{c.value}}"> <div class="col-msg">
<span class="chip-label">{{c.label}}</span> <strong class="msg-code">{{row.displayMessage}}</strong>
<span class="chip-value">{{c.value}}</span> <span class="msg-context" ng-if="row.displayContext && row.displayContext !== row.displayMessage">{{row.displayContext}}</span>
</span> <span class="msg-detail" ng-if="row._detail">{{row._detail}}</span>
<div class="msg-url" ng-if="row._url">{{row._url}}</div>
</div>
<div class="col-count">
<span class="count-pill" ng-if="row.count > 1">×{{row.count}}</span>
<span class="count-pill count-pill-muted" ng-if="row.count === 1">×1</span>
</div>
<div class="col-status">
<span class="status-pill" ng-if="row._status" ng-class="'status-' + row._bucket">{{row._status}}</span>
</div>
</div>
<div class="errors-row-detail" ng-if="expanded[row._key]">
<div class="detail-tabs">
<button type="button" ng-class="{active: detailTab[row._key] === 'raw' || !detailTab[row._key]}" ng-click="detailTab[row._key] = 'raw'">Raw</button>
<button type="button" ng-class="{active: detailTab[row._key] === 'related'}" ng-click="detailTab[row._key] = 'related'" ng-if="row.count > 1">Related ({{row.count}})</button>
</div>
<div class="detail-body">
<div class="detail-main">
<pre ng-if="(detailTab[row._key] || 'raw') === 'raw'">{{row._detailJson}}</pre>
<div ng-if="detailTab[row._key] === 'related'" class="related-list">
<div class="related-row" ng-repeat="r in row._related track by $index">
<span class="when-abs">{{absTimeShort(r.ts)}}</span>
<span class="msg-url">{{r._url}}</span>
<span class="status-pill" ng-if="r._status" ng-class="'status-' + r._bucket">{{r._status}}</span>
</div>
</div>
<div class="detail-actions">
<button class="btn btn-sm" type="button" ng-click="copyCurl(row)" title="Copy a curl that reproduces the request"><i class="fas fa-terminal"></i> Copy curl</button>
<button class="btn btn-sm" type="button" ng-click="copyJson(row)"><i class="fas fa-clipboard"></i> Copy JSON</button>
<span class="copy-hint" ng-if="copyHint">{{copyHint}}</span>
</div>
</div>
<aside class="detail-aside">
<div class="aside-block">
<div class="aside-label">First seen</div>
<div class="aside-value" title="{{absTime(row._firstSeen)}}">{{relTime(row._firstSeen)}}</div>
</div>
<div class="aside-block">
<div class="aside-label">Last seen</div>
<div class="aside-value" title="{{absTime(row.ts)}}">{{relTime(row.ts)}}</div>
</div>
<div class="aside-block">
<div class="aside-label">Occurrences</div>
<div class="aside-value">{{row.count}}<span class="aside-sub" ng-if="row._lastHourCount"> · {{row._lastHourCount}} this hour</span></div>
</div>
<div class="aside-block" ng-if="row._repoId">
<div class="aside-label">Repository</div>
<a class="aside-value" ng-href="/admin/?search={{row._repoId}}">{{row._repoId}}</a>
</div>
<div class="aside-block" ng-if="row._url">
<div class="aside-label">URL</div>
<div class="aside-value mono">{{row._url}}</div>
</div>
</aside>
</div>
</div>
</div>
</div> </div>
<details ng-if="e._detailJson" class="error-details">
<summary>raw</summary>
<pre>{{e._detailJson}}</pre>
</details>
</td>
</tr>
</tbody>
</table>
</div> </div>
+27 -9
View File
@@ -61,17 +61,35 @@
<!-- Stats strip --> <!-- Stats strip -->
<section class="paper-stats" id="metrics"> <section class="paper-stats" id="metrics">
<div class="paper-stats-inner"> <div class="paper-stats-inner">
<div> <div class="paper-stats-meta">
<div class="paper-stat-value">{{stat.nbRepositories | number}}</div> <div class="paper-stats-meta-left">LIVE &middot; LAST 60 DAYS</div>
<div class="paper-stat-label">repositories anonymized</div> <div class="paper-stats-meta-right">
updated daily &middot;
<span class="paper-stats-dot"></span> in sync
</div>
</div>
<div class="paper-stats-grid">
<div class="paper-stat-card" ng-repeat="card in cards track by card.key">
<div class="paper-stat-value">{{card.total | bigNum}}</div>
<div class="paper-stat-label">{{card.label}}</div>
<svg class="paper-stat-bars" preserveAspectRatio="none"
ng-attr-viewBox="0 0 {{history[card.key].viewW}} 36"
ng-if="history[card.key].bars.length > 1">
<rect ng-repeat="b in history[card.key].bars track by $index"
ng-attr-x="{{b.x}}" ng-attr-y="{{b.y}}"
ng-attr-width="{{b.w}}" ng-attr-height="{{b.h}}"
ng-class="{'is-latest': $last}"/>
</svg>
<div class="paper-stat-delta" ng-if="history[card.key].bars.length > 1">
<span class="paper-stat-today">+{{history[card.key].deltaToday | number}} today</span>
<span class="paper-stat-sep">&middot;</span>
<span class="paper-stat-pct"
ng-class="{'is-up': history[card.key].isUp, 'is-down': !history[card.key].isUp}">
<span class="paper-stat-arrow">{{history[card.key].isUp ? '▲' : '▼'}}</span>
{{history[card.key].pctAbs}}%
</span>
</div> </div>
<div>
<div class="paper-stat-value">{{stat.nbUsers | number}}</div>
<div class="paper-stat-label">researchers</div>
</div> </div>
<div>
<div class="paper-stat-value">{{stat.nbPageViews | number}}</div>
<div class="paper-stat-label">page views</div>
</div> </div>
</div> </div>
</section> </section>
+281 -54
View File
@@ -866,12 +866,21 @@ angular
} }
$scope.entries = []; $scope.entries = [];
$scope.filtered = []; $scope.visible = [];
$scope.modules = [];
$scope.available = true; $scope.available = true;
$scope.cap = 1000;
$scope.total = 0;
$scope.pageSize = 250;
$scope.expanded = {};
$scope.detailTab = {};
$scope.copyHint = "";
$scope.parsedFilterCount = 0;
$scope.stats = { last24h: 0, prev24h: 0, delta: 0, severity: { error: 0, warn: 0, info: 0 }, unique: { error: 0, warn: 0, info: 0 }, buckets: [], dropped: 0 };
$scope.query = { $scope.query = {
search: "", search: "",
module: "", bucket: "",
sort: "recent",
group: "code",
autoRefresh: true, autoRefresh: true,
}; };
@@ -897,27 +906,34 @@ angular
if (isNaN(d.getTime())) return iso; if (isNaN(d.getTime())) return iso;
return d.toLocaleString(); return d.toLocaleString();
}; };
$scope.absTimeShort = (iso) => {
if (!iso) return "";
const d = new Date(iso);
if (isNaN(d.getTime())) return iso;
return d.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit", second: "2-digit", hour12: false });
};
// Decorate each entry once with derived display fields (chips + json). // Decorate each entry once with derived display fields. Pre-computing
// Returning a fresh array from a template-bound function each digest // avoids returning new arrays from template functions each digest
// cycle triggers Angular's $rootScope:infdig — so we precompute on load. // cycle (which trips Angular's $rootScope:infdig).
function statusKind(s) {
const n = parseInt(s, 10);
if (!n) return "";
if (n >= 500) return "err";
if (n >= 400) return "warn";
return "ok";
}
// snake_case identifier looking like an error key (e.g. "repo_not_found").
const errorKeyRe = /^[a-z][a-z0-9]*(?:_[a-z0-9]+)+$/; const errorKeyRe = /^[a-z][a-z0-9]*(?:_[a-z0-9]+)+$/;
function bucketFor(detail, level) {
const s =
(detail && (detail.httpStatus || detail.status)) || null;
if (typeof s === "number") {
if (s >= 500) return "error";
if (s === 401 || s === 403 || s === 404) return "info";
if (s >= 400) return "warn";
}
if (level === "error") return "error";
if (level === "warn") return "warn";
return "info";
}
function decorate(e) { function decorate(e) {
const chips = [];
const detail = (e.raw || []).find( const detail = (e.raw || []).find(
(a) => a && typeof a === "object" && !Array.isArray(a) (a) => a && typeof a === "object" && !Array.isArray(a)
); );
if (detail) { if (detail) {
// Prefer the structured error key (e.g. "pull_request_not_found")
// over the generic logger message ("anonymous error", "http error").
if (detail.message && errorKeyRe.test(detail.message)) { if (detail.message && errorKeyRe.test(detail.message)) {
e.displayMessage = detail.message; e.displayMessage = detail.message;
e.displayContext = e.message; e.displayContext = e.message;
@@ -927,64 +943,273 @@ angular
} else { } else {
e.displayMessage = e.message; e.displayMessage = e.message;
} }
if (detail.httpStatus) chips.push({ label: "status", value: detail.httpStatus, kind: statusKind(detail.httpStatus) }); e._status = detail.httpStatus || detail.status || null;
else if (detail.status) chips.push({ label: "status", value: detail.status, kind: statusKind(detail.status) }); e._url = detail.url || null;
if (detail.method) chips.push({ label: "method", value: detail.method }); e._method = detail.method || null;
if (detail.url) chips.push({ label: "url", value: detail.url, mono: true }); e._repoId = detail.repoId || detail.detail || null;
if (detail.repoId) chips.push({ label: "repo", value: detail.repoId, mono: true }); e._detail = detail.detail && detail.detail !== e._repoId ? detail.detail : null;
if (detail.code && detail.code !== detail.message && detail.code !== e.displayMessage) {
chips.push({ label: "code", value: detail.code });
}
} else { } else {
e.displayMessage = e.message; e.displayMessage = e.message;
e._status = null;
e._url = null;
} }
const tail = (e.raw || []).slice(1); e._bucket = bucketFor(detail, e.level);
const detailJson = !tail.length e._detailJson = renderDisplayPayload(e, detail);
? ""
: tail.length === 1
? JSON.stringify(tail[0], null, 2)
: JSON.stringify(tail, null, 2);
e._chips = chips;
e._detailJson = detailJson;
return e; return e;
} }
function applyFilter() { // Build a curated, column-aligned JSON payload for the Raw tab. Mirrors
const q = ($scope.query.search || "").toLowerCase(); // the reference admin design: name / code / kind / httpStatus / module /
const mod = $scope.query.module || ""; // detail / url / ts on aligned colons. We can't just JSON.stringify the
$scope.filtered = $scope.entries.filter((e) => { // raw entry because it includes the human "anonymous error" wrapper
if (mod && e.module !== mod) return false; // arg and the keys aren't column-aligned.
if (!q) return true; function renderDisplayPayload(entry, detail) {
const fields = [];
const push = (k, v) => {
if (v === undefined || v === null || v === "") return;
fields.push([k, v]);
};
push("name", detail && detail.name);
push("code", entry.displayMessage || (detail && detail.message));
// "kind" is a friendly grouping; only emit if we know the bucket.
if (entry._bucket) push("kind", entry._bucket);
push("httpStatus", detail && detail.httpStatus);
if (detail && detail.status && !(detail.httpStatus)) push("status", detail.status);
push("module", entry.module);
push("detail", detail && detail.detail);
push("url", entry._url);
push("ts", entry.ts);
if (!fields.length) return JSON.stringify(entry, null, 2);
const keyW = fields.reduce((w, f) => Math.max(w, f[0].length), 0);
const lines = ["{"];
fields.forEach(([k, v], i) => {
const key = `"${k}":`.padEnd(keyW + 3, " ");
const val = typeof v === "number" || typeof v === "boolean"
? String(v)
: JSON.stringify(v);
const comma = i < fields.length - 1 ? "," : "";
lines.push(` ${key} ${val}${comma}`);
});
lines.push("}");
return lines.join("\n");
}
// Lightweight filter parser. Pulls `key:value` and `status:>=400` style
// tokens out of the search box; everything else falls back to a free
// text contains-match against the rendered fields.
function parseFilter(input) {
const filters = [];
let free = "";
const re = /(\w+):(>=|<=|!=|>|<|=)?([^\s]+)/g;
let lastEnd = 0;
let m;
while ((m = re.exec(input))) {
free += input.slice(lastEnd, m.index);
lastEnd = re.lastIndex;
filters.push({ key: m[1], op: m[2] || "=", val: m[3] });
}
free += input.slice(lastEnd);
return { filters, free: free.trim().toLowerCase() };
}
function matchFilter(row, parsed) {
for (const f of parsed.filters) {
const cmp = (a, b, op) => {
const an = parseFloat(a);
const bn = parseFloat(b);
if (op === "=") return String(a) === String(b);
if (op === "!=") return String(a) !== String(b);
if (op === ">=") return an >= bn;
if (op === "<=") return an <= bn;
if (op === ">") return an > bn;
if (op === "<") return an < bn;
return true;
};
let v;
if (f.key === "code") v = row.displayMessage;
else if (f.key === "module") v = row.module;
else if (f.key === "status") v = row._status;
else if (f.key === "url") v = row._url;
else if (f.key === "repo") v = row._repoId;
else if (f.key === "level") v = row.level;
else continue;
if (v == null) return false;
if (!cmp(v, f.val, f.op)) return false;
}
if (parsed.free) {
const hay = ( const hay = (
(e.displayMessage || e.message || "") + (row.displayMessage || "") + " " +
" " + (row.module || "") + " " +
e.module + (row._url || "") + " " +
" " + JSON.stringify(row.raw || [])
JSON.stringify(e.raw || [])
).toLowerCase(); ).toLowerCase();
return hay.indexOf(q) > -1; if (hay.indexOf(parsed.free) === -1) return false;
}
return true;
}
function recompute() {
const parsed = parseFilter($scope.query.search || "");
$scope.parsedFilterCount = parsed.filters.length;
const bucket = $scope.query.bucket;
let rows = $scope.entries.filter((e) => {
if (bucket && e._bucket !== bucket) return false;
return matchFilter(e, parsed);
});
const group = $scope.query.group;
if (group) {
const keyOf = (r) =>
group === "module" ? r.module : (r.displayMessage || r.message || "_");
const map = new Map();
for (const r of rows) {
const k = keyOf(r);
if (!map.has(k)) {
const seed = Object.assign({}, r);
seed._key = `${group}:${k}`;
seed._related = [r];
seed._firstSeen = r.ts;
seed._lastHourCount = 0;
seed.count = 1;
map.set(k, seed);
} else {
const g = map.get(k);
g.count++;
g._related.push(r);
if (new Date(r.ts) > new Date(g.ts)) {
g.ts = r.ts;
g._url = r._url;
g._status = r._status;
}
if (new Date(r.ts) < new Date(g._firstSeen)) g._firstSeen = r.ts;
}
}
// count "this hour"
const cutoffH = Date.now() - 3600 * 1000;
for (const g of map.values()) {
g._lastHourCount = g._related.filter((r) => new Date(r.ts).getTime() >= cutoffH).length;
}
rows = Array.from(map.values());
} else {
rows = rows.map((r, i) => {
r._key = "row:" + i + ":" + r.ts;
r._related = [r];
r._firstSeen = r.ts;
r._lastHourCount = 0;
r.count = 1;
return r;
}); });
} }
function load() { if ($scope.query.sort === "count") {
$http.get("/api/admin/errors").then( rows.sort((a, b) => b.count - a.count || new Date(b.ts) - new Date(a.ts));
} else {
rows.sort((a, b) => new Date(b.ts) - new Date(a.ts));
}
$scope.visible = rows;
}
function loadEntries(append) {
const offset = append ? $scope.entries.length : 0;
$http
.get("/api/admin/errors", { params: { offset, limit: $scope.pageSize } })
.then(
(res) => { (res) => {
$scope.entries = (res.data.entries || []).map(decorate); const next = (res.data.entries || []).map(decorate);
$scope.entries = append ? $scope.entries.concat(next) : next;
$scope.available = !!res.data.available; $scope.available = !!res.data.available;
const set = new Set(); $scope.cap = res.data.max || $scope.cap;
$scope.entries.forEach((e) => e.module && set.add(e.module)); $scope.total = res.data.total || $scope.entries.length;
$scope.modules = Array.from(set).sort(); recompute();
applyFilter();
}, },
(err) => console.error(err) (err) => console.error(err)
); );
} }
$scope.loadMore = () => loadEntries(true);
$scope.canLoadMore = () => $scope.entries.length < $scope.total;
function loadStats() {
$http.get("/api/admin/errors/stats").then(
(res) => {
const s = res.data || {};
const delta = s.prev24h ? Math.round(((s.last24h - s.prev24h) / s.prev24h) * 100) : 0;
$scope.stats = {
last24h: s.last24h || 0,
prev24h: s.prev24h || 0,
delta,
severity: s.severity || { error: 0, warn: 0, info: 0 },
unique: s.unique || { error: 0, warn: 0, info: 0 },
buckets: s.buckets || [],
dropped: s.dropped || 0,
};
},
(err) => console.error(err)
);
}
function load() {
loadEntries();
loadStats();
}
// For the volume chart: scale tallest bucket-total to a fixed pixel max.
$scope.barPx = (b, key) => {
const all = $scope.stats.buckets || [];
let max = 0;
for (const x of all) max = Math.max(max, (x.error || 0) + (x.warn || 0) + (x.info || 0));
if (!max) return 0;
const total = (b.error || 0) + (b.warn || 0) + (b.info || 0);
if (!total) return 0;
const targetTotal = Math.round((total / max) * 60); // 60px max
const part = b[key] || 0;
return Math.round((part / total) * targetTotal);
};
$scope.bucketTitle = (b) => {
const t = new Date(b.hour);
return `${t.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })} · ${b.error || 0} err · ${b.warn || 0} warn · ${b.info || 0} info`;
};
$scope.toggle = (row) => {
$scope.expanded[row._key] = !$scope.expanded[row._key];
};
$scope.setBucket = (b) => {
$scope.query.bucket = b;
};
$scope.refreshNow = load; $scope.refreshNow = load;
$scope.clearAll = () => { $scope.clearAll = () => {
if (!confirm("Clear all captured errors?")) return; if (!confirm("Clear all captured errors?")) return;
$http.delete("/api/admin/errors").then(load, (err) => console.error(err)); $http.delete("/api/admin/errors").then(load, (err) => console.error(err));
}; };
$scope.exportCsv = () => {
const cols = ["ts", "level", "module", "displayMessage", "_status", "_url", "_repoId"];
const lines = [cols.join(",")];
for (const r of $scope.visible) {
lines.push(cols.map((c) => {
const v = r[c] == null ? "" : String(r[c]);
return /[",\n]/.test(v) ? `"${v.replace(/"/g, '""')}"` : v;
}).join(","));
}
const blob = new Blob([lines.join("\n")], { type: "text/csv;charset=utf-8" });
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = `errors-${new Date().toISOString().slice(0, 19)}.csv`;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
};
function flashCopy(label) {
$scope.copyHint = `${label} copied`;
setTimeout(() => { $scope.copyHint = ""; $scope.$apply(); }, 1500);
}
$scope.copyJson = (row) => {
navigator.clipboard.writeText(row._detailJson).then(() => flashCopy("JSON"));
};
$scope.copyCurl = (row) => {
if (!row._url) return;
const method = row._method || "GET";
const cmd = `curl -X ${method} '${window.location.origin}${row._url}'`;
navigator.clipboard.writeText(cmd).then(() => flashCopy("curl"));
};
load(); load();
const stop = $interval(() => { const stop = $interval(() => {
@@ -992,7 +1217,9 @@ angular
}, 5000); }, 5000);
$scope.$on("$destroy", () => $interval.cancel(stop)); $scope.$on("$destroy", () => $interval.cancel(stop));
$scope.$watch("query.search", applyFilter); $scope.$watch("query.search", recompute);
$scope.$watch("query.module", applyFilter); $scope.$watch("query.bucket", recompute);
$scope.$watch("query.sort", recompute);
$scope.$watch("query.group", recompute);
}, },
]); ]);
+85
View File
@@ -156,6 +156,17 @@ angular
.filter("humanFileSize", function () { .filter("humanFileSize", function () {
return humanFileSize; return humanFileSize;
}) })
.filter("bigNum", function () {
return function bigNum(v) {
const n = Number(v) || 0;
const abs = Math.abs(n);
if (abs < 1000) return String(n);
if (abs < 10000) return (n / 1000).toFixed(1).replace(/\.0$/, "") + "k";
if (abs < 1000000) return Math.round(n / 1000) + "k";
if (abs < 10000000) return (n / 1000000).toFixed(1).replace(/\.0$/, "") + "M";
return Math.round(n / 1000000) + "M";
};
})
.filter("humanTime", function () { .filter("humanTime", function () {
return function humanTime(seconds) { return function humanTime(seconds) {
if (!seconds) { if (!seconds) {
@@ -942,12 +953,86 @@ angular
} }
}); });
$scope.cards = [
{ key: "repositories", total: 0, label: "repositories anonymized" },
{ key: "users", total: 0, label: "researchers" },
{ key: "pageViews", total: 0, label: "page views" },
{ key: "pullRequests", total: 0, label: "pull requests" },
];
function getStat() { function getStat() {
$http.get("/api/stat/").then((res) => { $http.get("/api/stat/").then((res) => {
$scope.stat = res.data; $scope.stat = res.data;
$scope.cards[0].total = res.data.nbRepositories;
$scope.cards[1].total = res.data.nbUsers;
$scope.cards[2].total = res.data.nbPageViews;
$scope.cards[3].total = res.data.nbPullRequests;
}); });
} }
getStat(); getStat();
function buildSeriesView(series) {
const view = {
series: series,
bars: [],
viewW: 100,
deltaToday: 0,
pctChange: 0,
pctAbs: 0,
isUp: true,
};
if (!series || series.length < 2) return view;
// Bars represent the *daily increment* (today - yesterday), not the
// cumulative total. The big number above the chart shows the total.
const deltas = new Array(series.length - 1);
for (let i = 1; i < series.length; i++) {
deltas[i - 1] = series[i] - series[i - 1];
}
const n = deltas.length;
const max = Math.max.apply(null, deltas);
const min = Math.min.apply(null, deltas);
// Anchor scale to zero so visually small days look small even when all
// deltas are positive; only fall back to min when there are negatives.
const base = Math.min(0, min);
const range = max - base || 1;
view.viewW = n * 2;
view.bars = new Array(n);
for (let i = 0; i < n; i++) {
const norm = (deltas[i] - base) / range;
const h = Math.max(1.5, norm * 34);
view.bars[i] = {
x: (i * 2 + 0.25).toFixed(2),
y: (36 - h).toFixed(2),
w: "1.5",
h: h.toFixed(2),
};
}
view.deltaToday = deltas[n - 1];
if (n >= 2) {
const prior = deltas[n - 2];
if (prior) {
view.pctChange = ((view.deltaToday - prior) / prior) * 100;
}
}
view.pctAbs = Math.round(Math.abs(view.pctChange));
view.isUp = view.pctChange >= 0;
return view;
}
$scope.history = {
repositories: buildSeriesView([]),
users: buildSeriesView([]),
pageViews: buildSeriesView([]),
pullRequests: buildSeriesView([]),
};
$http.get("/api/stat/history?days=60").then((res) => {
const rows = res.data || [];
$scope.history = {
repositories: buildSeriesView(rows.map((r) => r.nbRepositories || 0)),
users: buildSeriesView(rows.map((r) => r.nbUsers || 0)),
pageViews: buildSeriesView(rows.map((r) => r.nbPageViews || 0)),
pullRequests: buildSeriesView(rows.map((r) => r.nbPullRequests || 0)),
};
});
}, },
]) ])
.controller("unifiedDashboardController", [ .controller("unifiedDashboardController", [
+116 -116
View File
@@ -1,4 +1,4 @@
!function(fe){"use strict";function i(e){if(!ve(e))return an;A(e.objectMaxDepth)&&(an.objectMaxDepth=w(e.objectMaxDepth)?e.objectMaxDepth:NaN),A(e.urlErrorParamsEnabled)&&S(e.urlErrorParamsEnabled)&&(an.urlErrorParamsEnabled=e.urlErrorParamsEnabled)}function w(e){return y(e)&&0<e}function $(r,s){return s=s||Error,function(){var e=arguments[0];for(t="["+(r?r+":":"")+e+"] http://errors.angularjs.org/1.8.2/"+(r?r+"/":"")+e,e=1;e<arguments.length;e++){var t=t+(1==e?"?":"&")+"p"+(e-1)+"=",i=encodeURIComponent,n=arguments[e];t+=i(n="function"==typeof n?n.toString().replace(/ \{[\s\S]*$/,""):void 0===n?"undefined":"string"!=typeof n?JSON.stringify(n):n)}return new s(t)}}function M(e){var t;return null!=e&&!u(e)&&(we(e)||xe(e)||Ae&&e instanceof Ae||y(t="length"in Object(e)&&e.length)&&(0<=t&&t-1 in e||"function"==typeof e.item))}function me(e,t,i){if(e)if(ke(e))for(r in e)"prototype"!==r&&"length"!==r&&"name"!==r&&e.hasOwnProperty(r)&&t.call(i,e[r],r,e);else if(we(e)||M(e))for(var n="object"!=typeof e,r=0,s=e.length;r<s;r++)(n||r in e)&&t.call(i,e[r],r,e);else if(e.forEach&&e.forEach!==me)e.forEach(t,i,e);else if(c(e))for(r in e)t.call(i,e[r],r,e);else if("function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&t.call(i,e[r],r,e);else for(r in e)ln.call(e,r)&&t.call(i,e[r],r,e);return e}function a(e,t,i){for(var n=Object.keys(e).sort(),r=0;r<n.length;r++)t.call(i,e[n[r]],n[r])}function T(i){return function(e,t){i(t,e)}}function p(e,t,i){for(var n=e.$$hashKey,r=0,s=t.length;r<s;++r){var a=t[r];if(ve(a)||ke(a))for(var o=Object.keys(a),l=0,c=o.length;l<c;l++){var h=o[l],u=a[h];i&&ve(u)?k(u)?e[h]=new Date(u.valueOf()):f(u)?e[h]=new RegExp(u):u.nodeName?e[h]=u.cloneNode(!0):I(u)?e[h]=u.clone():"__proto__"!==h&&(ve(e[h])||(e[h]=we(u)?[]:{}),p(e[h],[u],!0)):e[h]=u}}return n?e.$$hashKey=n:delete e.$$hashKey,e}function ye(e){return p(e,hn.call(arguments,1),!1)}function n(e){return p(e,hn.call(arguments,1),!0)}function m(e){return parseInt(e,10)}function Re(e,t){return ye(Object.create(e),t)}function C(){}function Me(e){return e}function _(e){return function(){return e}}function h(e){return ke(e.toString)&&e.toString!==b}function be(e){return void 0===e}function A(e){return void 0!==e}function ve(e){return null!==e&&"object"==typeof e}function c(e){return null!==e&&"object"==typeof e&&!pn(e)}function xe(e){return"string"==typeof e}function y(e){return"number"==typeof e}function k(e){return"[object Date]"===b.call(e)}function we(e){return Array.isArray(e)||e instanceof Array}function Ie(e){switch(b.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return 1;default:return e instanceof Error}}function ke(e){return"function"==typeof e}function f(e){return"[object RegExp]"===b.call(e)}function u(e){return e&&e.window===e}function Ne(e){return e&&e.$evalAsync&&e.$watch}function S(e){return"boolean"==typeof e}function I(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}function Te(e){return Ee(e.nodeName||e[0]&&e[0].nodeName)}function De(e,t){t=e.indexOf(t);return 0<=t&&e.splice(t,1),t}function N(e,i,t){function r(e,t,i){if(--i<0)return"...";var n=t.$$hashKey;if(we(e))for(var r=0,s=e.length;r<s;r++)t.push(a(e[r],i));else if(c(e))for(r in e)t[r]=a(e[r],i);else if(e&&"function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&(t[r]=a(e[r],i));else for(r in e)ln.call(e,r)&&(t[r]=a(e[r],i));return n?t.$$hashKey=n:delete t.$$hashKey,t}function a(e,t){if(!ve(e))return e;if(-1!==(i=s.indexOf(e)))return o[i];if(u(e)||Ne(e))throw gn("cpws");var i=!1,n=function(e){switch(b.call(e)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new e.constructor(a(e.buffer),e.byteOffset,e.length);case"[object ArrayBuffer]":var t;return e.slice?e.slice(0):(t=new ArrayBuffer(e.byteLength),new Uint8Array(t).set(new Uint8Array(e)),t);case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new e.constructor(e.valueOf());case"[object RegExp]":return(t=new RegExp(e.source,e.toString().match(/[^/]*$/)[0])).lastIndex=e.lastIndex,t;case"[object Blob]":return new e.constructor([e],{type:e.type})}if(ke(e.cloneNode))return e.cloneNode(!0)}(e);return void 0===n&&(n=we(e)?[]:Object.create(pn(e)),i=!0),s.push(e),o.push(n),i?r(e,n,t):n}var n,s=[],o=[];if(t=w(t)?t:NaN,i){if((n=i)&&y(n.length)&&yn.test(b.call(n))||"[object ArrayBuffer]"===b.call(i))throw gn("cpta");if(e===i)throw gn("cpi");return we(i)?i.length=0:me(i,function(e,t){"$$hashKey"!==t&&delete i[t]}),s.push(e),o.push(i),r(e,i,t)}return a(e,t)}function Oe(e,t){return e===t||e!=e&&t!=t}function Se(e,t){if(e===t)return!0;if(null!==e&&null!==t){if(e!=e&&t!=t)return!0;var i,n=typeof e;if(n===typeof t&&"object"===n){if(!we(e)){if(k(e))return!!k(t)&&Oe(e.getTime(),t.getTime());if(f(e))return!!f(t)&&e.toString()===t.toString();Line truncated !function(fe){"use strict";function i(e){if(!ve(e))return an;A(e.objectMaxDepth)&&(an.objectMaxDepth=w(e.objectMaxDepth)?e.objectMaxDepth:NaN),A(e.urlErrorParamsEnabled)&&S(e.urlErrorParamsEnabled)&&(an.urlErrorParamsEnabled=e.urlErrorParamsEnabled)}function w(e){return y(e)&&0<e}function $(r,s){return s=s||Error,function(){var e=arguments[0];for(t="["+(r?r+":":"")+e+"] http://errors.angularjs.org/1.8.2/"+(r?r+"/":"")+e,e=1;e<arguments.length;e++){var t=t+(1==e?"?":"&")+"p"+(e-1)+"=",i=encodeURIComponent,n=arguments[e];t+=i(n="function"==typeof n?n.toString().replace(/ \{[\s\S]*$/,""):void 0===n?"undefined":"string"!=typeof n?JSON.stringify(n):n)}return new s(t)}}function M(e){var t;return null!=e&&!u(e)&&(we(e)||xe(e)||Ae&&e instanceof Ae||y(t="length"in Object(e)&&e.length)&&(0<=t&&t-1 in e||"function"==typeof e.item))}function me(e,t,i){if(e)if(ke(e))for(r in e)"prototype"!==r&&"length"!==r&&"name"!==r&&e.hasOwnProperty(r)&&t.call(i,e[r],r,e);else if(we(e)||M(e))for(var n="object"!=typeof e,r=0,s=e.length;r<s;r++)(n||r in e)&&t.call(i,e[r],r,e);else if(e.forEach&&e.forEach!==me)e.forEach(t,i,e);else if(c(e))for(r in e)t.call(i,e[r],r,e);else if("function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&t.call(i,e[r],r,e);else for(r in e)ln.call(e,r)&&t.call(i,e[r],r,e);return e}function a(e,t,i){for(var n=Object.keys(e).sort(),r=0;r<n.length;r++)t.call(i,e[n[r]],n[r])}function T(i){return function(e,t){i(t,e)}}function p(e,t,i){for(var n=e.$$hashKey,r=0,s=t.length;r<s;++r){var a=t[r];if(ve(a)||ke(a))for(var o=Object.keys(a),l=0,c=o.length;l<c;l++){var h=o[l],u=a[h];i&&ve(u)?k(u)?e[h]=new Date(u.valueOf()):f(u)?e[h]=new RegExp(u):u.nodeName?e[h]=u.cloneNode(!0):I(u)?e[h]=u.clone():"__proto__"!==h&&(ve(e[h])||(e[h]=we(u)?[]:{}),p(e[h],[u],!0)):e[h]=u}}return n?e.$$hashKey=n:delete e.$$hashKey,e}function ye(e){return p(e,hn.call(arguments,1),!1)}function n(e){return p(e,hn.call(arguments,1),!0)}function m(e){return parseInt(e,10)}function Re(e,t){return ye(Object.create(e),t)}function C(){}function Me(e){return e}function _(e){return function(){return e}}function h(e){return ke(e.toString)&&e.toString!==b}function be(e){return void 0===e}function A(e){return void 0!==e}function ve(e){return null!==e&&"object"==typeof e}function c(e){return null!==e&&"object"==typeof e&&!pn(e)}function xe(e){return"string"==typeof e}function y(e){return"number"==typeof e}function k(e){return"[object Date]"===b.call(e)}function we(e){return Array.isArray(e)||e instanceof Array}function Ie(e){switch(b.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return 1;default:return e instanceof Error}}function ke(e){return"function"==typeof e}function f(e){return"[object RegExp]"===b.call(e)}function u(e){return e&&e.window===e}function Ne(e){return e&&e.$evalAsync&&e.$watch}function S(e){return"boolean"==typeof e}function I(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}function Te(e){return Ee(e.nodeName||e[0]&&e[0].nodeName)}function De(e,t){t=e.indexOf(t);return 0<=t&&e.splice(t,1),t}function N(e,i,t){function r(e,t,i){if(--i<0)return"...";var n=t.$$hashKey;if(we(e))for(var r=0,s=e.length;r<s;r++)t.push(a(e[r],i));else if(c(e))for(r in e)t[r]=a(e[r],i);else if(e&&"function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&(t[r]=a(e[r],i));else for(r in e)ln.call(e,r)&&(t[r]=a(e[r],i));return n?t.$$hashKey=n:delete t.$$hashKey,t}function a(e,t){if(!ve(e))return e;if(-1!==(i=s.indexOf(e)))return o[i];if(u(e)||Ne(e))throw gn("cpws");var i=!1,n=function(e){switch(b.call(e)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new e.constructor(a(e.buffer),e.byteOffset,e.length);case"[object ArrayBuffer]":var t;return e.slice?e.slice(0):(t=new ArrayBuffer(e.byteLength),new Uint8Array(t).set(new Uint8Array(e)),t);case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new e.constructor(e.valueOf());case"[object RegExp]":return(t=new RegExp(e.source,e.toString().match(/[^/]*$/)[0])).lastIndex=e.lastIndex,t;case"[object Blob]":return new e.constructor([e],{type:e.type})}if(ke(e.cloneNode))return e.cloneNode(!0)}(e);return void 0===n&&(n=we(e)?[]:Object.create(pn(e)),i=!0),s.push(e),o.push(n),i?r(e,n,t):n}var n,s=[],o=[];if(t=w(t)?t:NaN,i){if((n=i)&&y(n.length)&&yn.test(b.call(n))||"[object ArrayBuffer]"===b.call(i))throw gn("cpta");if(e===i)throw gn("cpi");return we(i)?i.length=0:me(i,function(e,t){"$$hashKey"!==t&&delete i[t]}),s.push(e),o.push(i),r(e,i,t)}return a(e,t)}function Oe(e,t){return e===t||e!=e&&t!=t}function Se(e,t){if(e===t)return!0;if(null!==e&&null!==t){if(e!=e&&t!=t)return!0;var i,n=typeof e;if(n===typeof t&&"object"===n){if(!we(e)){if(k(e))return!!k(t)&&Oe(e.getTime(),t.getTime());if(f(e))return!!f(t)&&e.toString()===t.toString();Line truncated
${e}</blockquote> ${e}</blockquote>
`}html(e,t){return e}heading(e,t,i){return`<h${t}>${e}</h${t}> `}html(e,t){return e}heading(e,t,i){return`<h${t}>${e}</h${t}>
`}hr(){return"<hr>\n"}list(e,t,i){var n=t?"ol":"ul";return"<"+n+(t&&1!==i?' start="'+i+'"':"")+">\n"+e+"</"+n+">\n"}listitem(e,t,i){return`<li>${e}</li> `}hr(){return"<hr>\n"}list(e,t,i){var n=t?"ol":"ul";return"<"+n+(t&&1!==i?' start="'+i+'"':"")+">\n"+e+"</"+n+">\n"}listitem(e,t,i){return`<li>${e}</li>
@@ -6,19 +6,19 @@ ${e}</blockquote>
`}table(e,t){return"<table>\n<thead>\n"+e+"</thead>\n"+(t=t&&`<tbody>${t}</tbody>`)+"</table>\n"}tablerow(e){return`<tr> `}table(e,t){return"<table>\n<thead>\n"+e+"</thead>\n"+(t=t&&`<tbody>${t}</tbody>`)+"</table>\n"}tablerow(e){return`<tr>
${e}</tr> ${e}</tr>
`}tablecell(e,t){var i=t.header?"th":"td";return(t.align?`<${i} align="${t.align}">`:`<${i}>`)+e+`</${i}> `}tablecell(e,t){var i=t.header?"th":"td";return(t.align?`<${i} align="${t.align}">`:`<${i}>`)+e+`</${i}>
`}strong(e){return`<strong>${e}</strong>`}em(e){return`<em>${e}</em>`}codespan(e){return`<code>${e}</code>`}br(){return"<br>"}del(e){return`<del>${e}</del>`}link(e,t,i){var n=l(e);if(null===n)return i;let r='<a href="'+(e=n)+'"';return t&&(r+=' title="'+t+'"'),r+=">"+i+"</a>"}image(e,t,i){var n=l(e);if(null===n)return i;let r=`<img src="${e=n}" alt="${i}"`;return t&&(r+=` title="${t}"`),r+=">"}text(e){return e}}class R{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,i){return""+i}image(e,t,i){return""+i}br(){return""}}class M{options;renderer;textRenderer;constructor(e){this.options=e||t.defaults,this.options.renderer=this.options.renderer||new L,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new R}static parse(e,t){return new M(t).parse(e)}static parseInline(e,t){return new M(t).parseInline(e)}parse(n,r=!0){let s="";for(let i=0;i<n.length;i++){var a=n[i];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[a.type]){const n=a,r=this.options.extensions.renderers[n.type].call({parser:this},n);if(!1!==r||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(n.type)){s+=r||"";continue}}switch(a.type){case"space":continue;case"hr":s+=this.renderer.hr();continue;case"heading":{const n=a;s+=this.renderer.heading(this.parseInline(n.tokens),n.depth,this.parseInline(n.tokens,this.textRenderer).replace(F,(e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""));continue}case"code":{const n=a;s+=this.renderer.code(n.text,n.lang,!!n.escaped);continue}case"table":{const n=a;let e="",t="";for(let e=0;e<n.header.length;e++)t+=this.renderer.tablecell(this.parseInline(n.header[e].tokens),{header:!0,align:n.align[e]});e+=this.renderer.tablerow(t);let i="";for(let e=0;e<n.rows.length;e++){const s=n.rows[e];t="";for(let e=0;e<s.length;e++)t+=this.renderer.tablecell(this.parseInline(s[e].tokens),{header:!1,align:n.align[e]});i+=this.renderer.tablerow(t)}s+=this.renderer.table(e,i);continue}case"blockquote":{const n=a,r=this.parse(n.tokens);s+=this.renderer.blockquote(r);continue}case"list":{const n=a,r=n.ordered,e=n.start,o=n.loose;let i="";for(let t=0;t<n.items.length;t++){const s=n.items[t],l=s.checked,c=s.task;let e="";if(s.task){const n=this.renderer.checkbox(!!l);o?0<s.tokens.length&&"paragraph"===s.tokens[0].type?(s.tokens[0].text=n+" "+s.tokens[0].text,s.tokens[0].tokens&&0<s.tokens[0].tokens.length&&"text"===s.tokens[0].tokens[0].type&&(s.tokens[0].tokens[0].text=n+" "+s.tokens[0].tokens[0].text)):s.tokens.unshift({type:"text",text:n+" "}):e+=n+" "}e+=this.parse(s.tokens,o),i+=this.renderer.listitem(e,c,!!l)}s+=this.renderer.list(i,r,e);continue}case"html":{const n=a;s+=this.renderer.html(n.text,n.block);continue}case"paragraph":{const n=a;s+=this.renderer.paragraph(this.parseInline(n.tokens));continue}case"text":{let e=a,t=e.tokens?this.parseInline(e.tokens):e.text;for(;i+1<n.length&&"text"===n[i+1].type;)e=n[++i],t+="\n"+(e.tokens?this.parseInline(e.tokens):e.text);s+=r?this.renderer.paragraph(t):t;continue}default:{const n='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(n),"";throw new Error(n)}}}return s}parseInline(t,i){i=i||this.renderer;let n="";for(let e=0;e<t.length;e++){var r=t[e];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[r.type]){const t=this.options.extensions.renderers[r.type].call({parser:this},r);if(!1!==t||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){n+=t||"";continue}}switch(r.type){case"escape":{const t=r;n+=i.text(t.text);break}case"html":{const t=r;n+=i.html(t.text);break}case"link":{const t=r;n+=i.link(t.href,t.title,this.parseInline(t.tokens,i));break}case"image":{const t=r;n+=i.image(t.href,t.title,t.text);break}case"strong":{const t=r;n+=i.strong(this.parseInline(t.tokens,i));break}case"em":{const t=r;n+=i.em(this.parseInline(t.tokens,i));break}case"codespan":{const t=r;n+=i.codespan(t.text);break}case"br":n+=i.br();break;case"del":{const t=r;n+=i.del(this.parseInline(t.tokens,i));break}case"text":{const t=r;n+=i.text(t.text);break}default:{const t='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(t),"";throw new Error(t)}}}return n}}class I{options;constructor(e){this.options=e||t.defaults}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}}class le{defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};options=this.setOptions;parse=this.#e($.lex,M.parse);parseInline=this.#e($.lexInline,M.parseInline);Parser=M;Renderer=L;TextRenderer=RLine truncated `}strong(e){return`<strong>${e}</strong>`}em(e){return`<em>${e}</em>`}codespan(e){return`<code>${e}</code>`}br(){return"<br>"}del(e){return`<del>${e}</del>`}link(e,t,i){var n=l(e);if(null===n)return i;let r='<a href="'+(e=n)+'"';return t&&(r+=' title="'+t+'"'),r+=">"+i+"</a>"}image(e,t,i){var n=l(e);if(null===n)return i;let r=`<img src="${e=n}" alt="${i}"`;return t&&(r+=` title="${t}"`),r+=">"}text(e){return e}}class R{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,i){return""+i}image(e,t,i){return""+i}br(){return""}}class M{options;renderer;textRenderer;constructor(e){this.options=e||t.defaults,this.options.renderer=this.options.renderer||new L,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new R}static parse(e,t){return new M(t).parse(e)}static parseInline(e,t){return new M(t).parseInline(e)}parse(n,r=!0){let s="";for(let i=0;i<n.length;i++){var a=n[i];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[a.type]){const n=a,r=this.options.extensions.renderers[n.type].call({parser:this},n);if(!1!==r||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(n.type)){s+=r||"";continue}}switch(a.type){case"space":continue;case"hr":s+=this.renderer.hr();continue;case"heading":{const n=a;s+=this.renderer.heading(this.parseInline(n.tokens),n.depth,this.parseInline(n.tokens,this.textRenderer).replace(F,(e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""));continue}case"code":{const n=a;s+=this.renderer.code(n.text,n.lang,!!n.escaped);continue}case"table":{const n=a;let e="",t="";for(let e=0;e<n.header.length;e++)t+=this.renderer.tablecell(this.parseInline(n.header[e].tokens),{header:!0,align:n.align[e]});e+=this.renderer.tablerow(t);let i="";for(let e=0;e<n.rows.length;e++){const s=n.rows[e];t="";for(let e=0;e<s.length;e++)t+=this.renderer.tablecell(this.parseInline(s[e].tokens),{header:!1,align:n.align[e]});i+=this.renderer.tablerow(t)}s+=this.renderer.table(e,i);continue}case"blockquote":{const n=a,r=this.parse(n.tokens);s+=this.renderer.blockquote(r);continue}case"list":{const n=a,r=n.ordered,e=n.start,o=n.loose;let i="";for(let t=0;t<n.items.length;t++){const s=n.items[t],l=s.checked,c=s.task;let e="";if(s.task){const n=this.renderer.checkbox(!!l);o?0<s.tokens.length&&"paragraph"===s.tokens[0].type?(s.tokens[0].text=n+" "+s.tokens[0].text,s.tokens[0].tokens&&0<s.tokens[0].tokens.length&&"text"===s.tokens[0].tokens[0].type&&(s.tokens[0].tokens[0].text=n+" "+s.tokens[0].tokens[0].text)):s.tokens.unshift({type:"text",text:n+" "}):e+=n+" "}e+=this.parse(s.tokens,o),i+=this.renderer.listitem(e,c,!!l)}s+=this.renderer.list(i,r,e);continue}case"html":{const n=a;s+=this.renderer.html(n.text,n.block);continue}case"paragraph":{const n=a;s+=this.renderer.paragraph(this.parseInline(n.tokens));continue}case"text":{let e=a,t=e.tokens?this.parseInline(e.tokens):e.text;for(;i+1<n.length&&"text"===n[i+1].type;)e=n[++i],t+="\n"+(e.tokens?this.parseInline(e.tokens):e.text);s+=r?this.renderer.paragraph(t):t;continue}default:{const n='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(n),"";throw new Error(n)}}}return s}parseInline(t,i){i=i||this.renderer;let n="";for(let e=0;e<t.length;e++){var r=t[e];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[r.type]){const t=this.options.extensions.renderers[r.type].call({parser:this},r);if(!1!==t||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){n+=t||"";continue}}switch(r.type){case"escape":{const t=r;n+=i.text(t.text);break}case"html":{const t=r;n+=i.html(t.text);break}case"link":{const t=r;n+=i.link(t.href,t.title,this.parseInline(t.tokens,i));break}case"image":{const t=r;n+=i.image(t.href,t.title,t.text);break}case"strong":{const t=r;n+=i.strong(this.parseInline(t.tokens,i));break}case"em":{const t=r;n+=i.em(this.parseInline(t.tokens,i));break}case"codespan":{const t=r;n+=i.codespan(t.text);break}case"br":n+=i.br();break;case"del":{const t=r;n+=i.del(this.parseInline(t.tokens,i));break}case"text":{const t=r;n+=i.text(t.text);break}default:{const t='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(t),"";throw new Error(t)}}}return n}}class I{options;constructor(e){this.options=e||t.defaults}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}}class le{defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};options=this.setOptions;parse=this.#e($.lex,M.parse);parseInline=this.#e($.lexInline,M.parseInline);Parser=M;Renderer=L;TextRenderer=RLine truncated
[ ]{`+Math.min.apply(Math,s)+"}","g"),r=r.map(function(e){return e.replace(n,` [ ]{`+Math.min.apply(Math,s)+"}","g"),r=r.map(function(e){return e.replace(n,`
`)})),r[0]=r[0].replace(/^\r?\n/,""),r[0]);return t.forEach(function(e,t){var i=a.match(/(?:^|\n)( *)$/),n=i?i[1]:"",i=e;"string"==typeof e&&e.includes(` `)})),r[0]=r[0].replace(/^\r?\n/,""),r[0]);return t.forEach(function(e,t){var i=a.match(/(?:^|\n)( *)$/),n=i?i[1]:"",i=e;"string"==typeof e&&e.includes(`
`)&&(i=String(e).split(` `)&&(i=String(e).split(`
`).map(function(e,t){return 0===t?e:""+n+e}).join(` `).map(function(e,t){return 0===t?e:""+n+e}).join(`
`)),a+=i+r[t+1]}),a}var Ye,Xe,Ke,Ze,Qe,Je,et,tt,it,nt,rt,st,at,ot,lt,ct,ht,ut,dt,pt,gt,ft,bt,vt,xt,wt,kt,Tt,St,Ct,_t,At,Et,$t,Lt,Rt,Mt,It,Nt,Dt,Ot,Pt,Bt,Ft,jt,zt,Ht,Ut,qt,Wt,Gt,Vt,Yt,s,Xt,Kt,Zt,i,Qt,Jt,ei,n,ti,ii,ni,ri,si,ai,oi,li,ci,hi,ui,di,pi,gi,fi,mi,yi,bi,vi,xi,wi,ki,Ti,Si,Ci,_i,Ai,Ei,$i,Li,Ri,Mi,Ii,Ni,Di,Oi,Pi,Bi,Fi,ji,zi=e(()=>{"use strict";mt(Ve,"dedent")}),Hi=e(()=>{"use strict";Ye=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Xe=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Ke=/\s*%%.*\n/gm}),Ui=e(()=>{"use strict";Ze=class extends Error{static{mt(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}}}),qi=e(()=>{"use strict";t(),Hi(),Ui(),Qe={},Je=mt(function(e,t){e=e.replace(Ye,"").replace(Xe,"").replace(Ke,` `)),a+=i+r[t+1]}),a}var Ye,Xe,Ke,Ze,Qe,Je,et,tt,it,nt,rt,st,at,ot,lt,ct,ht,ut,dt,pt,gt,ft,bt,vt,xt,wt,kt,Tt,St,Ct,_t,At,Et,$t,Lt,Rt,Mt,It,Nt,Dt,Ot,Pt,Bt,Ft,jt,zt,Ut,Ht,qt,Wt,Gt,Vt,Yt,s,Xt,Kt,Zt,i,Qt,Jt,ei,n,ti,ii,ni,ri,si,ai,oi,li,ci,hi,ui,di,pi,gi,fi,mi,yi,bi,vi,xi,wi,ki,Ti,Si,Ci,_i,Ai,Ei,$i,Li,Ri,Mi,Ii,Ni,Di,Oi,Pi,Bi,Fi,ji,zi=e(()=>{"use strict";mt(Ve,"dedent")}),Ui=e(()=>{"use strict";Ye=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Xe=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Ke=/\s*%%.*\n/gm}),Hi=e(()=>{"use strict";Ze=class extends Error{static{mt(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}}}),qi=e(()=>{"use strict";t(),Ui(),Hi(),Qe={},Je=mt(function(e,t){e=e.replace(Ye,"").replace(Xe,"").replace(Ke,`
`);for(var[i,{detector:n}]of Object.entries(Qe))if(n(e,t))return i;throw new Ze("No diagram type detected matching given configuration for text: "+e)},"detectType"),et=mt((...e)=>{for(var{id:t,detector:i,loader:n}of e)tt(t,i,n)},"registerLazyLoadedDiagrams"),tt=mt((e,t,i)=>{Qe[e]&&I.warn(`Detector with key ${e} already exists. Overwriting.`),Qe[e]={detector:t,loader:i},I.debug(`Detector with key ${e} added`+(i?" with loader":""))},"addDetector"),it=mt(e=>Qe[e].loader,"getDiagramLoader")}),Wi=e(()=>{"use strict";function P(){this.yy={}}var e,t,i,B,F,j,n,r,s,a,o,l,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,A,E,$,L,R,z,H,U,q,W,G,V,Y,X,K,Z,Q,J,M,I,N,D,O,ee,te,ie,ne;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,24],i=[1,25],B=[1,26],F=[1,27],j=[1,28],n=[1,63],r=[1,64],s=[1,65],a=[1,66],o=[1,67],l=[1,68],h=[1,69],u=[1,29],d=[1,30],p=[1,31],g=[1,32],f=[1,33],m=[1,34],y=[1,35],b=[1,36],v=[1,37],x=[1,38],w=[1,39],k=[1,40],T=[1,41],S=[1,42],C=[1,43],_=[1,44],A=[1,45],E=[1,46],$=[1,47],L=[1,48],R=[1,50],z=[1,51],H=[1,52],U=[1,53],q=[1,54],W=[1,55],G=[1,56],V=[1,57],Y=[1,58],X=[1,59],K=[1,60],Z=[14,42],Q=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],J=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],M=[1,82],I=[1,83],N=[1,84],D=[1,85],O=[12,14,42],ee=[12,14,33,42],te=[12,14,33,42,76,77,79,80],ie=[12,33],ne=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 3:n.setDirection("TB");break;case 4:n.setDirection("BT");break;case 5:n.setDirection("RL");break;case 6:n.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:n.setC4Type(s[o-3]);break;case 19:n.setTitle(s[o].substring(6)),this.$=s[o].substring(6);break;case 20:n.setAccDescription(s[o].substring(15)),this.$=s[o].substring(15);break;case 21:this.$=s[o].trim(),n.setTitle(this.$);break;case 22:case 23:this.$=s[o].trim(),n.se Line truncated `);for(var[i,{detector:n}]of Object.entries(Qe))if(n(e,t))return i;throw new Ze("No diagram type detected matching given configuration for text: "+e)},"detectType"),et=mt((...e)=>{for(var{id:t,detector:i,loader:n}of e)tt(t,i,n)},"registerLazyLoadedDiagrams"),tt=mt((e,t,i)=>{Qe[e]&&I.warn(`Detector with key ${e} already exists. Overwriting.`),Qe[e]={detector:t,loader:i},I.debug(`Detector with key ${e} added`+(i?" with loader":""))},"addDetector"),it=mt(e=>Qe[e].loader,"getDiagramLoader")}),Wi=e(()=>{"use strict";function P(){this.yy={}}var e,t,i,B,F,j,n,r,s,a,o,l,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,A,E,$,L,R,z,U,H,q,W,G,V,Y,X,K,Z,Q,J,M,I,N,D,O,ee,te,ie,ne;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,24],i=[1,25],B=[1,26],F=[1,27],j=[1,28],n=[1,63],r=[1,64],s=[1,65],a=[1,66],o=[1,67],l=[1,68],h=[1,69],u=[1,29],d=[1,30],p=[1,31],g=[1,32],f=[1,33],m=[1,34],y=[1,35],b=[1,36],v=[1,37],x=[1,38],w=[1,39],k=[1,40],T=[1,41],S=[1,42],C=[1,43],_=[1,44],A=[1,45],E=[1,46],$=[1,47],L=[1,48],R=[1,50],z=[1,51],U=[1,52],H=[1,53],q=[1,54],W=[1,55],G=[1,56],V=[1,57],Y=[1,58],X=[1,59],K=[1,60],Z=[14,42],Q=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],J=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],M=[1,82],I=[1,83],N=[1,84],D=[1,85],O=[12,14,42],ee=[12,14,33,42],te=[12,14,33,42,76,77,79,80],ie=[12,33],ne=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 3:n.setDirection("TB");break;case 4:n.setDirection("BT");break;case 5:n.setDirection("RL");break;case 6:n.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:n.setC4Type(s[o-3]);break;case 19:n.setTitle(s[o].substring(6)),this.$=s[o].substring(6);break;case 20:n.setAccDescription(s[o].substring(15)),this.$=s[o].substring(15);break;case 21:this.$=s[o].trim(),n.setTitle(this.$);break;case 22:case 23:this.$=s[o].trim(),n.se Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:mt(function(e,t,i,n){switch(i){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\ Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:mt(function(e,t,i,n){switch(i){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\ Line truncated
`+l),b&&Xn([J,ee,te],e=>{l=nr(l,e," ")}),p&&k?p.createHTML(l):l},u.setConfig=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};Ie(e),me=!0},u.clearConfig=function(){R=null,me=!1},u.isValidAttribute=function(e,t,i){R||Ie({});e=L(e),t=L(t);return He(e,t,i)},u.addHook=function(e,t){"function"==typeof t&&Qn(g[e],t)},u.removeHook=function(e,t){return void 0!==t?-1===(t=Kn(g[e],t))?void 0:Jn(g[e],t,1)[0]:Zn(g[e])},u.removeHooks=function(e){g[e]=[]},u.removeAllHooks=function(){g=Nr()},u}var jn,zn,Hn,Un,qn,Wn,Gn,Vn,Yn,Xn,Kn,Zn,Qn,Jn,er,tr,ir,nr,rr,sr,ar,or,lr,cr,hr,ur,dr,pr,gr,fr,mr,yr,br,vr,xr,wr,kr,Tr,Sr,Cr,_r,Ar,Er,$r,Lr,Rr,Mr,Ir,Nr,Dr,Or=e(()=>{"use strict";({entries:jn,setPrototypeOf:zn,isFrozen:Hn,getPrototypeOf:Un,getOwnPropertyDescriptor:qn}=Object),{freeze:Wn,seal:$r,create:Gn}=Object,{apply:Vn,construct:Yn}=typeof Reflect<"u"&&Reflect,Wn=Wn||mt(function(e){return e},"freeze"),$r=$r||mt(function(e){return e},"seal"),Vn=Vn||mt(function(e,t,i){return e.apply(t,i)},"apply"),Yn=Yn||mt(function(e,t){return new e(...t)},"construct"),Xn=In(Array.prototype.forEach),Kn=In(Array.prototype.lastIndexOf),Zn=In(Array.prototype.pop),Qn=In(Array.prototype.push),Jn=In(Array.prototype.splice),er=In(String.prototype.toLowerCase),tr=In(String.prototype.toString),ir=In(String.prototype.match),nr=In(String.prototype.replace),rr=In(String.prototype.indexOf),sr=In(String.prototype.trim),ar=In(Object.prototype.hasOwnProperty),or=In(RegExp.prototype.test),lr=Nn(TypeError),mt(In,"unapply"),mt(Nn,"unconstruct"),mt(Dn,"addToSet"),mt(On,"cleanArray"),mt(Pn,"clone"),mt(Bn,"lookupGetter"),cr=Wn(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),hr=Wn(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),ur=Wn(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),dr=Wn(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),pr=Wn(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),gr=Wn(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),fr=Wn(["#text"]),mr=Wn(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","s Line truncated `+l),b&&Xn([J,ee,te],e=>{l=nr(l,e," ")}),p&&k?p.createHTML(l):l},u.setConfig=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};Ie(e),me=!0},u.clearConfig=function(){R=null,me=!1},u.isValidAttribute=function(e,t,i){R||Ie({});e=L(e),t=L(t);return Ue(e,t,i)},u.addHook=function(e,t){"function"==typeof t&&Qn(g[e],t)},u.removeHook=function(e,t){return void 0!==t?-1===(t=Kn(g[e],t))?void 0:Jn(g[e],t,1)[0]:Zn(g[e])},u.removeHooks=function(e){g[e]=[]},u.removeAllHooks=function(){g=Nr()},u}var jn,zn,Un,Hn,qn,Wn,Gn,Vn,Yn,Xn,Kn,Zn,Qn,Jn,er,tr,ir,nr,rr,sr,ar,or,lr,cr,hr,ur,dr,pr,gr,fr,mr,yr,br,vr,xr,wr,kr,Tr,Sr,Cr,_r,Ar,Er,$r,Lr,Rr,Mr,Ir,Nr,Dr,Or=e(()=>{"use strict";({entries:jn,setPrototypeOf:zn,isFrozen:Un,getPrototypeOf:Hn,getOwnPropertyDescriptor:qn}=Object),{freeze:Wn,seal:$r,create:Gn}=Object,{apply:Vn,construct:Yn}=typeof Reflect<"u"&&Reflect,Wn=Wn||mt(function(e){return e},"freeze"),$r=$r||mt(function(e){return e},"seal"),Vn=Vn||mt(function(e,t,i){return e.apply(t,i)},"apply"),Yn=Yn||mt(function(e,t){return new e(...t)},"construct"),Xn=In(Array.prototype.forEach),Kn=In(Array.prototype.lastIndexOf),Zn=In(Array.prototype.pop),Qn=In(Array.prototype.push),Jn=In(Array.prototype.splice),er=In(String.prototype.toLowerCase),tr=In(String.prototype.toString),ir=In(String.prototype.match),nr=In(String.prototype.replace),rr=In(String.prototype.indexOf),sr=In(String.prototype.trim),ar=In(Object.prototype.hasOwnProperty),or=In(RegExp.prototype.test),lr=Nn(TypeError),mt(In,"unapply"),mt(Nn,"unconstruct"),mt(Dn,"addToSet"),mt(On,"cleanArray"),mt(Pn,"clone"),mt(Bn,"lookupGetter"),cr=Wn(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),hr=Wn(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),ur=Wn(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),dr=Wn(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),pr=Wn(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),gr=Wn(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),fr=Wn(["#text"]),mr=Wn(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","s Line truncated
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
@@ -69,7 +69,7 @@ s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,1
H742v`+(i-54-t-e)+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 H742v`+(i-54-t-e)+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
219 661 l218 661zM702 `+t+"H400000v"+(40+e)+"H742z"},"sqrtTall"),zs=mt(function(e,t,i){t*=1e3;var n="";switch(e){case"sqrtMain":n=Ns(t,80);break;case"sqrtSize1":n=Ds(t,80);break;case"sqrtSize2":n=Os(t,80);break;case"sqrtSize3":n=Ps(t,80);break;case"sqrtSize4":n=Bs(t,80);break;case"sqrtTall":n=js(t,80,i)}return n},"sqrtPath"),Hs=mt(function(e,t){switch(e){case"⎜":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"∣":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"∥":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145zM367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z";case"⎟":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"⎢":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"⎥":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"⎪":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"⏐":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"‖":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257zM478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z";default:return""}},"innerPath"),Us={doubleleftarrow:`M262 157 219 661 l218 661zM702 `+t+"H400000v"+(40+e)+"H742z"},"sqrtTall"),zs=mt(function(e,t,i){t*=1e3;var n="";switch(e){case"sqrtMain":n=Ns(t,80);break;case"sqrtSize1":n=Ds(t,80);break;case"sqrtSize2":n=Os(t,80);break;case"sqrtSize3":n=Ps(t,80);break;case"sqrtSize4":n=Bs(t,80);break;case"sqrtTall":n=js(t,80,i)}return n},"sqrtPath"),Us=mt(function(e,t){switch(e){case"⎜":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"∣":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"∥":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145zM367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z";case"⎟":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"⎢":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"⎥":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"⎪":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"⏐":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"‖":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257zM478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z";default:return""}},"innerPath"),Hs={doubleleftarrow:`M262 157
l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3
0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28
14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5
@@ -272,10 +272,10 @@ c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6
c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},"tallDelim"),Ws=class{static{mt(this,"DocumentFragment")}constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return ws.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e="",t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){var e=mt(e=>e.toText(),"toText");return this.children.map(e).join("")}},Gs={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872: Line truncated -470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},"tallDelim"),Ws=class{static{mt(this,"DocumentFragment")}constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return ws.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e="",t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){var e=mt(e=>e.toText(),"toText");return this.children.map(e).join("")}},Gs={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872: Line truncated
`+h+" children.");u=["brace-left","brace-center","brace-right"],d=["xMinYMin","xMidYMin","xMaxYMin"]}for(var p=0;p<h;p++){var g=new fa(a[p]),g=new ga([g],{width:"400em",height:K(c),viewBox:"0 0 "+i+" "+l,preserveAspectRatio:d[p]+" slice"}),g=Z.makeSvgSpan([u[p]],[g],m);if(1===h)return{span:g,minWidth:o,height:c};g.style.height=K(c),r.push(g)}return{span:Z.makeSpan(["stretchy"],r,m),minWidth:o,height:c}}mt(e,"buildSvgSpan_");var{span:t,minWidth:i,height:n}=e();return t.height=n,t.style.height=K(n),0<i&&(t.style.minWidth=K(i)),t},"svgSpan"),Ul=mt(function(e,t,i,n,r){var s,e=e.height+e.depth+i+n;return/fbox|color|angl/.test(t)?(s=Z.makeSpan(["stretchy",t],[],r),"fbox"===t&&(i=r.color&&r.getColor())&&(s.style.borderColor=i)):(n=[],/^[bx]cancel$/.test(t)&&n.push(new ma({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&n.push(new ma({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"})),i=new ga(n,{width:"100%",height:K(e)}),s=Z.makeSvgSpan([],[i],r)),s.height=e,s.style.height=K(e),s},"encloseSpan"),Do={encloseSpan:Ul,mathMLnode:y,svgSpan:dc},mt(Jr,"assertNodeType"),mt(es,"assertSymbolNodeType"),mt(ts,"checkSymbolNodeType"),Oo=mt((e,t)=>{e&&"supsub"===e.type?(o=(i=Jr(e.base,"accent")).base,e.base=o,n=Gr(vo(e,t)),e.base=i):o=(i=Jr(e,"accent")).base;var i,n,r,s,e=vo(o,t.havingCrampedStyle()),a=0,o=(i.isShifty&&ws.isCharacterBox(o)&&(o=ws.getBaseElem(o),a=Wr(vo(o,t.havingCrampedStyle())).skew),"\\c"===i.label),l=o?e.height+e.depth:Math.min(e.height,t.fontMetrics().xHeight),c=i.isStretchy?(c=Do.svgSpan(i,t),Z.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"elem",elem:c,wrapperClasses:["svg-align"],wrapperStyle:0<a?{width:"calc(100% - "+K(2*a)+")",marginLeft:K(2*a)}:void 0}]},t)):("\\vec"===i.label?(s=Z.staticSvg("vec",t),r=Z.svgData.vec[1]):((s=Wr(s=Z.makeOrd({mode:i.mode,text:i.label},t,"textord"))).italic=0,r=s.width,o&&(l+=s.depth)),c=Z.makeSpan(["accent-body"],[s]),(o="\\textcircled"===i.label)&&(c.classes.push("accent-full"),l=e.height),s=a,o||(s-=r/2),c.style.left=K(s),"\\textcircled"===i.label&&(c.style.top=".2em"),Z.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:-l},{type:"elem",elem:c}]},t)),a=Z.makeSpan(["mord","accent"],[c],t);return n?(n.children[0]=a,n.height=Math.max(a.height,n.height),n.classes[0]="mord",n):a},"htmlBuilder$a"),Wl=mt((e,t)=>{var i=e.isStretchy?Do.mathMLnode(e.label):new S.MathNode("mo",[ko(e.label,e.mode)]),e=new S.MathNode("mover",[Ao(e.base,t),i]);return e.setAttribute("accent","true"),e},"mathmlBuilder$9"),Po=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(e=>"\\"+e).join("|")),l({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:mt((e,t)=>{var t=so(t[0]),i=!Po.test(e.funcName),n=!i||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:i,isShifty:n,base:t}},"handler"),htmlBuilder:Oo,mathmlBuilder:Wl}),l({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:mt((e,t)=>{var t=t[0],i=e.parser.mode;return"math"===i&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),i="text"),{type:"accent",mode:i,label:e.funcName,isStretchy:!1,isShifty:!0,base:t}},"handler"),htmlBuilder:Oo,mathmlBuilder:Wl}),l({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:mt((e,t)=>{var{parser:e,funcName:i}=e,t=t[0];return{type:"accentUnder",mode:e.mode,label:i,base:t}},"handler"),htmlBuilder:mt((e,t)=>{var i=vo(e.base,t),n=Do.svgSpan(e,t),e="\\utilde"===e.label?.12:0,n=Z.makeVList({positionType:"top",positionData:i.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:e},{type:"elem",elem:i}]},t);return Z.makeSpan(["mord","accentunder"],[n],t)},"htmlBuilder"),mathmlBuilder:mt((e,t)=>{var i=Do.mathMLnode(e.label),e=new S.MathNode("munder",[Ao(e.base,t),i]);return e.setAttribute("accentunder","true"),e},"mathmlBuilder")}),Bo=mt(e=>{e=new S.MathNode("mpadded",e?[e]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e},"paddedNode"),l({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondowLine truncated `+h+" children.");u=["brace-left","brace-center","brace-right"],d=["xMinYMin","xMidYMin","xMaxYMin"]}for(var p=0;p<h;p++){var g=new fa(a[p]),g=new ga([g],{width:"400em",height:K(c),viewBox:"0 0 "+i+" "+l,preserveAspectRatio:d[p]+" slice"}),g=Z.makeSvgSpan([u[p]],[g],m);if(1===h)return{span:g,minWidth:o,height:c};g.style.height=K(c),r.push(g)}return{span:Z.makeSpan(["stretchy"],r,m),minWidth:o,height:c}}mt(e,"buildSvgSpan_");var{span:t,minWidth:i,height:n}=e();return t.height=n,t.style.height=K(n),0<i&&(t.style.minWidth=K(i)),t},"svgSpan"),Hl=mt(function(e,t,i,n,r){var s,e=e.height+e.depth+i+n;return/fbox|color|angl/.test(t)?(s=Z.makeSpan(["stretchy",t],[],r),"fbox"===t&&(i=r.color&&r.getColor())&&(s.style.borderColor=i)):(n=[],/^[bx]cancel$/.test(t)&&n.push(new ma({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&n.push(new ma({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"})),i=new ga(n,{width:"100%",height:K(e)}),s=Z.makeSvgSpan([],[i],r)),s.height=e,s.style.height=K(e),s},"encloseSpan"),Do={encloseSpan:Hl,mathMLnode:y,svgSpan:dc},mt(Jr,"assertNodeType"),mt(es,"assertSymbolNodeType"),mt(ts,"checkSymbolNodeType"),Oo=mt((e,t)=>{e&&"supsub"===e.type?(o=(i=Jr(e.base,"accent")).base,e.base=o,n=Gr(vo(e,t)),e.base=i):o=(i=Jr(e,"accent")).base;var i,n,r,s,e=vo(o,t.havingCrampedStyle()),a=0,o=(i.isShifty&&ws.isCharacterBox(o)&&(o=ws.getBaseElem(o),a=Wr(vo(o,t.havingCrampedStyle())).skew),"\\c"===i.label),l=o?e.height+e.depth:Math.min(e.height,t.fontMetrics().xHeight),c=i.isStretchy?(c=Do.svgSpan(i,t),Z.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"elem",elem:c,wrapperClasses:["svg-align"],wrapperStyle:0<a?{width:"calc(100% - "+K(2*a)+")",marginLeft:K(2*a)}:void 0}]},t)):("\\vec"===i.label?(s=Z.staticSvg("vec",t),r=Z.svgData.vec[1]):((s=Wr(s=Z.makeOrd({mode:i.mode,text:i.label},t,"textord"))).italic=0,r=s.width,o&&(l+=s.depth)),c=Z.makeSpan(["accent-body"],[s]),(o="\\textcircled"===i.label)&&(c.classes.push("accent-full"),l=e.height),s=a,o||(s-=r/2),c.style.left=K(s),"\\textcircled"===i.label&&(c.style.top=".2em"),Z.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:-l},{type:"elem",elem:c}]},t)),a=Z.makeSpan(["mord","accent"],[c],t);return n?(n.children[0]=a,n.height=Math.max(a.height,n.height),n.classes[0]="mord",n):a},"htmlBuilder$a"),Wl=mt((e,t)=>{var i=e.isStretchy?Do.mathMLnode(e.label):new S.MathNode("mo",[ko(e.label,e.mode)]),e=new S.MathNode("mover",[Ao(e.base,t),i]);return e.setAttribute("accent","true"),e},"mathmlBuilder$9"),Po=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(e=>"\\"+e).join("|")),l({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:mt((e,t)=>{var t=so(t[0]),i=!Po.test(e.funcName),n=!i||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:i,isShifty:n,base:t}},"handler"),htmlBuilder:Oo,mathmlBuilder:Wl}),l({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:mt((e,t)=>{var t=t[0],i=e.parser.mode;return"math"===i&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),i="text"),{type:"accent",mode:i,label:e.funcName,isStretchy:!1,isShifty:!0,base:t}},"handler"),htmlBuilder:Oo,mathmlBuilder:Wl}),l({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:mt((e,t)=>{var{parser:e,funcName:i}=e,t=t[0];return{type:"accentUnder",mode:e.mode,label:i,base:t}},"handler"),htmlBuilder:mt((e,t)=>{var i=vo(e.base,t),n=Do.svgSpan(e,t),e="\\utilde"===e.label?.12:0,n=Z.makeVList({positionType:"top",positionData:i.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:e},{type:"elem",elem:i}]},t);return Z.makeSpan(["mord","accentunder"],[n],t)},"htmlBuilder"),mathmlBuilder:mt((e,t)=>{var i=Do.mathMLnode(e.label),e=new S.MathNode("munder",[Ao(e.base,t),i]);return e.setAttribute("accentunder","true"),e},"mathmlBuilder")}),Bo=mt(e=>{e=new S.MathNode("mpadded",e?[e]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e},"paddedNode"),l({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondowLine truncated
`,this.tokenRegex.lastIndex))?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=n+1,this.lex()):new fs(i,new gs(this,t,this.tokenRegex.lastIndex))}},ac=class{static{mt(this,"Namespace")}constructor(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new X("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e,t=this.undefStack.pop();for(e in t)t.hasOwnProperty(e)&&(null==t[e]?delete this.current[e]:this.current[e]=t[e])}endGroups(){for(;0<this.undefStack.length;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return(this.current.hasOwnProperty(e)?this.current:this.builtins)[e]}set(e,t,i){if(i=void 0===i?!1:i){for(var n=0;n<this.undefStack.length;n++)delete this.undefStack[n][e];0<this.undefStack.length&&(this.undefStack[this.undefStack.length-1][e]=t)}else{i=this.undefStack[this.undefStack.length-1];i&&!i.hasOwnProperty(e)&&(i[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t}},oc=kl,h("\\noexpand",function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),h("\\expandafter",function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),h("\\@firstoftwo",function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),h("\\@secondoftwo",function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),h("\\@ifnextchar",function(e){var t=e.consumeArgs(3),e=(e.consumeSpaces(),e.future());return 1===t[0].length&&t[0][0].text===e.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}}),h("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),h("\\TextOrMath",function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}}),lc={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15},h("\\char",function(e){var t,i,n=e.popToken(),r="";if("'"===n.text)t=8,n=e.popToken();else if('"'===n.text)t=16,n=e.popToken();else if("`"===n.text)if("\\"===(n=e.popToken()).text[0])r=n.text.charCodeAt(1);else{if("EOF"===n.text)throw new X("\\char` missing argument");r=n.text.charCodeAt(0)}else t=10;if(t){if(null==(r=lc[n.text])||t<=r)throw new X("Invalid base-"+t+" digit "+n.text);for(;null!=(i=lc[e.future().text])&&i<t;)r=r*t+i,e.popToken()}return"\\@char{"+r+"}"}),cc=mt((e,t,i,n)=>{var r=e.consumeArg().tokens;if(1!==r.length)throw new X("\\newcommand's first argument must be a macro name");var s=r[0].text,a=e.isDefined(s);if(a&&!t)throw new X("\\newcommand{"+s+"} attempting to redefine "+s+"; use \\renewcommand");if(!a&&!i)throw new X("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");t=0;if(1===(r=e.consumeArg().tokens).length&&"["===r[0].text){for(var o="",l=e.expandNextToken();"]"!==l.text&&"EOF"!==l.text;)o+=l.text,l=e.expandNextToken();if(!o.match(/^\s*[0-9]+\s*$/))throw new X("Invalid number of arguments: "+o);t=parseInt(o),r=e.consumeArg().tokens}return a&&n||e.macros.set(s,{tokens:r,numArgs:t}),""},"newcommand"),h("\\newcommand",e=>cc(e,!1,!0,!1)),h("\\renewcommand",e=>cc(e,!0,!1,!1)),h("\\providecommand",e=>cc(e,!0,!0,!0)),h("\\message",e=>{e=e.consumeArgs(1)[0];return console.log(e.reverse().map(e=>e.text).join("")),""}),h("\\errmessage",e=>{e=e.consumeArgs(1)[0];return console.error(e.reverse().map(e=>e.text).join("")),""}),h("\\show",e=>{var t=e.popToken(),i=t.text;return console.log(t,e.macros.get(i),nc[i],va.math[i],va.text[i]),""}),h("\\bgroup","{"),h("\\egroup","}"),h("~","\\nobreakspace"),h("\\lq","`"),h("\\rq","'"),h("\\aa","\\r a"),h("\\AA","\\r A"),h("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),h("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),h("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),h("ℬ","\\mathscr{B}"),h("ℰ","\\mathscr{E}"),h("ℱ","\\mathscr{F}"),h("ℋ","\\mathscr{H}"),h("ℐ","\\mathscr{I}"),h("ℒ","\\mathscr{L}"),h("ℳ","\\mathscr{M}"),h("ℛ","\\mathscr{R}"),h("ℭ","\\mathfrak{C}"),h("ℌ","\\mathfrak{H}"),h("ℨ","\\mathfrak{Z}"),h("\\Bbbk","\\Bbb{k}"),h("·","\\cdotp"),h("\\llap","\\mathllap{\\textrm{#1}}"),h("\\rlap","\\mathrlap{\\textrm{#1}}"),h("\\clap","\\mathclap{\\textrm{#1}}"),h("\\mathstrut","\\vphantom{(}"),h("\\underbar","\\underline{\\text{#1}}"),h("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),h("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),h("\\ne","\\neq"),h("≠","\\neq"),h("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),h("∉","\\notin"),h("≘","\\html@mathml{\\mathrel{=\Line truncated `,this.tokenRegex.lastIndex))?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=n+1,this.lex()):new fs(i,new gs(this,t,this.tokenRegex.lastIndex))}},ac=class{static{mt(this,"Namespace")}constructor(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new X("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e,t=this.undefStack.pop();for(e in t)t.hasOwnProperty(e)&&(null==t[e]?delete this.current[e]:this.current[e]=t[e])}endGroups(){for(;0<this.undefStack.length;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return(this.current.hasOwnProperty(e)?this.current:this.builtins)[e]}set(e,t,i){if(i=void 0===i?!1:i){for(var n=0;n<this.undefStack.length;n++)delete this.undefStack[n][e];0<this.undefStack.length&&(this.undefStack[this.undefStack.length-1][e]=t)}else{i=this.undefStack[this.undefStack.length-1];i&&!i.hasOwnProperty(e)&&(i[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t}},oc=kl,h("\\noexpand",function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),h("\\expandafter",function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),h("\\@firstoftwo",function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),h("\\@secondoftwo",function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),h("\\@ifnextchar",function(e){var t=e.consumeArgs(3),e=(e.consumeSpaces(),e.future());return 1===t[0].length&&t[0][0].text===e.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}}),h("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),h("\\TextOrMath",function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}}),lc={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15},h("\\char",function(e){var t,i,n=e.popToken(),r="";if("'"===n.text)t=8,n=e.popToken();else if('"'===n.text)t=16,n=e.popToken();else if("`"===n.text)if("\\"===(n=e.popToken()).text[0])r=n.text.charCodeAt(1);else{if("EOF"===n.text)throw new X("\\char` missing argument");r=n.text.charCodeAt(0)}else t=10;if(t){if(null==(r=lc[n.text])||t<=r)throw new X("Invalid base-"+t+" digit "+n.text);for(;null!=(i=lc[e.future().text])&&i<t;)r=r*t+i,e.popToken()}return"\\@char{"+r+"}"}),cc=mt((e,t,i,n)=>{var r=e.consumeArg().tokens;if(1!==r.length)throw new X("\\newcommand's first argument must be a macro name");var s=r[0].text,a=e.isDefined(s);if(a&&!t)throw new X("\\newcommand{"+s+"} attempting to redefine "+s+"; use \\renewcommand");if(!a&&!i)throw new X("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");t=0;if(1===(r=e.consumeArg().tokens).length&&"["===r[0].text){for(var o="",l=e.expandNextToken();"]"!==l.text&&"EOF"!==l.text;)o+=l.text,l=e.expandNextToken();if(!o.match(/^\s*[0-9]+\s*$/))throw new X("Invalid number of arguments: "+o);t=parseInt(o),r=e.consumeArg().tokens}return a&&n||e.macros.set(s,{tokens:r,numArgs:t}),""},"newcommand"),h("\\newcommand",e=>cc(e,!1,!0,!1)),h("\\renewcommand",e=>cc(e,!0,!1,!1)),h("\\providecommand",e=>cc(e,!0,!0,!0)),h("\\message",e=>{e=e.consumeArgs(1)[0];return console.log(e.reverse().map(e=>e.text).join("")),""}),h("\\errmessage",e=>{e=e.consumeArgs(1)[0];return console.error(e.reverse().map(e=>e.text).join("")),""}),h("\\show",e=>{var t=e.popToken(),i=t.text;return console.log(t,e.macros.get(i),nc[i],va.math[i],va.text[i]),""}),h("\\bgroup","{"),h("\\egroup","}"),h("~","\\nobreakspace"),h("\\lq","`"),h("\\rq","'"),h("\\aa","\\r a"),h("\\AA","\\r A"),h("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),h("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),h("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),h("ℬ","\\mathscr{B}"),h("ℰ","\\mathscr{E}"),h("ℱ","\\mathscr{F}"),h("ℋ","\\mathscr{H}"),h("ℐ","\\mathscr{I}"),h("ℒ","\\mathscr{L}"),h("ℳ","\\mathscr{M}"),h("ℛ","\\mathscr{R}"),h("ℭ","\\mathfrak{C}"),h("ℌ","\\mathfrak{H}"),h("ℨ","\\mathfrak{Z}"),h("\\Bbbk","\\Bbb{k}"),h("·","\\cdotp"),h("\\llap","\\mathllap{\\textrm{#1}}"),h("\\rlap","\\mathrlap{\\textrm{#1}}"),h("\\clap","\\mathclap{\\textrm{#1}}"),h("\\mathstrut","\\vphantom{(}"),h("\\underbar","\\underline{\\text{#1}}"),h("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),h("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),h("\\ne","\\neq"),h("≠","\\neq"),h("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),h("∉","\\notin"),h("≘","\\html@mathml{\\mathrel{=\Line truncated
please report what input caused this bug`);return{type:"verb",mode:"text",body:i=i.slice(1,-1),star:n}}bc.hasOwnProperty(t[0])&&!va[this.mode][t[0]]&&(this.settings.strict&&"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=bc[t[0]]+t.slice(1));var r=rc.exec(t);if(r&&("i"===(t=t.substring(0,r.index))?t="ı":"j"===t&&(t="ȷ")),va[this.mode][t]){this.settings.strict&&"math"===this.mode&&0<=Oa.indexOf(t)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var i=va[this.mode][t].group,n=gs.range(e),s=ya.hasOwnProperty(i)?{type:"atom",mode:this.mode,family:i,loc:n,text:t}:{type:i,mode:this.mode,loc:n,text:t}}else{if(!(128<=t.charCodeAt(0)))return null;this.settings.strict&&(zr(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),s={type:"textord",mode:"text",loc:gs.range(e),text:t}}if(this.consume(),r)for(var a=0;a<r[0].length;a++){var o=r[0][a];if(!yc[o])throw new X("Unknown accent ' "+o+"'",e);var l=yc[o][this.mode]||yc[o].text;if(!l)throw new X("Accent "+o+" unsupported in "+this.mode+" mode",e);s={type:"accent",mode:this.mode,loc:gs.range(e),label:l,isStretchy:!1,isShifty:!0,base:s}}return s}}).endOfExpression=["}","\\endgroup","\\end","\\right","&"],xc=mt(function(e,t){if(!("string"==typeof e||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var e=new vc(e,t),i=(delete e.gullet.macros.current["\\df@tag"],e.parse());if(delete e.gullet.macros.current["\\current@color"],delete e.gullet.macros.current["\\color"],e.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new X("\\tag works only in display equations");i=[{type:"tag",mode:"text",body:i,tag:e.subparse([new fs("\\df@tag")])}]}return i},"parseTree"),wc=mt(function(e,t,i){t.textContent="";e=Cc(e,i).toNode();t.appendChild(e)},"render"),typeof document<"u"&&"CSS1Compat"!==document.compatMode&&(typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),wc=mt(function(){throw new X("KaTeX doesn't work in quirks mode.")},"render")),kc=mt(function(e,t){return Cc(e,t).toMarkup()},"renderToString"),Tc=mt(function(e,t){t=new Ts(t);return xc(e,t)},"generateParseTree"),Sc=mt(function(e,t,i){if(!i.throwOnError&&e instanceof X)return(t=Z.makeSpan(["katex-error"],[new pa(t)])).setAttribute("title",e.toString()),t.setAttribute("style","color:"+i.errorColor),t;throw e},"renderError"),Cc=mt(function(t,i){i=new Ts(i);try{var e=xc(t,i);return Lo(e,t,i)}catch(e){return Sc(e,t,i)}},"renderToDomTree"),_c=mt(function(t,i){i=new Ts(i);try{var e=xc(t,i);return Ro(e,t,i)}catch(e){return Sc(e,t,i)}},"renderToHTMLTree"),$c={version:Ac="0.16.22",render:wc,renderToString:kc,ParseError:X,SETTINGS_SCHEMA:ks,__parse:Tc,__renderToDomTree:Cc,__renderToHTMLTree:_c,__setFontMetrics:Hr,__defineSymbol:o,__defineFunction:l,__defineMacro:h,__domTree:Ec={Span:ca,Anchor:ha,SymbolNode:pa,SvgNode:ga,PathNode:fa,LineNode:ma}}});function Rc(){let t="data-temp-href-target";Dr.addHook("beforeSanitizeAttributes",e=>{e instanceof Element&&"A"===e.tagName&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Dr.addHook("afterSanitizeAttributes",e=>{e instanceof Element&&"A"===e.tagName&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),"_blank"===e.getAttribute("target"))&&e.setAttribute("rel","noopener")})}var Mc,Ic,Nc,Dc,Oc,Pc,Bc,Fc,jc,zc,Hc,Uc,qc,Wc,Gc,Vc,Yc,Xc,Kc,Zc,Qc,Jc,eh,th,$,ih,nh,rh,sh,ah,oh,lh,ch,hh=e(()=>{"use strict";Or(),Mc=/<br\s*\/?>/gi,Ic=mt(e=>e?Hc(e).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),Nc=(()=>{let e=!1;return()=>{e||(Rc(),e=!0)}})(),mt(Rc,"setupDompurifyHooks"),Dc=mt(e=>(Nc(),Dr.sanitize(e)),"removeScript"),Oc=mt((e,t)=>{return!1!==t.flowchart?.htmlLabels&&("antiscript"===(t=t.securityLevel)||"strict"===t?e=Dc(e):"loose"!==t&&(e=(e=(e=Hc(e)).replace(/</g,"&lt;").replace(/>/g,"&gt;")).replace(/=/g,"&equals;"),e=zc(e))),e},"sanitizeMore"),Pc=mt((e,t)=>e&&(e=(t.dompurifyConfig?Dr.sanitize(Oc(e,t),t.dompurifyConfig):Dr.sanitize(Oc(e,t),{FORBID_TAGS:["style"]})).toString()),"sanitizeText"),Bc=mt((e,t)=>"string"==typeof e?Pc(e,t):e.flat().map(e=>Pc(e,t)),"sanitizeTextOrArray"),Fc=mt(e=>Mc.test(e),"hasBreaks"),jc=mt(e=>e.split(Mc),"splitBreaks"),zc=mt(e=>e.replace(/#br#/g,"<br/>"),"placeholderToBreak"),Hc=mt(e=>e.replace(Mc,"#br#"),"breakToPlaceholder"),Uc=mt(e=>{let t="";return e&&(t=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,t=CSS.escape(t)),t},"getUrl"),qc=mt(e=>!(!1===e||["false","null","0"].includes(String(e).trim().toLowerCase())),"evaluate"),Wc=mt(function(...e){e= Line truncated please report what input caused this bug`);return{type:"verb",mode:"text",body:i=i.slice(1,-1),star:n}}bc.hasOwnProperty(t[0])&&!va[this.mode][t[0]]&&(this.settings.strict&&"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=bc[t[0]]+t.slice(1));var r=rc.exec(t);if(r&&("i"===(t=t.substring(0,r.index))?t="ı":"j"===t&&(t="ȷ")),va[this.mode][t]){this.settings.strict&&"math"===this.mode&&0<=Oa.indexOf(t)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var i=va[this.mode][t].group,n=gs.range(e),s=ya.hasOwnProperty(i)?{type:"atom",mode:this.mode,family:i,loc:n,text:t}:{type:i,mode:this.mode,loc:n,text:t}}else{if(!(128<=t.charCodeAt(0)))return null;this.settings.strict&&(zr(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),s={type:"textord",mode:"text",loc:gs.range(e),text:t}}if(this.consume(),r)for(var a=0;a<r[0].length;a++){var o=r[0][a];if(!yc[o])throw new X("Unknown accent ' "+o+"'",e);var l=yc[o][this.mode]||yc[o].text;if(!l)throw new X("Accent "+o+" unsupported in "+this.mode+" mode",e);s={type:"accent",mode:this.mode,loc:gs.range(e),label:l,isStretchy:!1,isShifty:!0,base:s}}return s}}).endOfExpression=["}","\\endgroup","\\end","\\right","&"],xc=mt(function(e,t){if(!("string"==typeof e||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var e=new vc(e,t),i=(delete e.gullet.macros.current["\\df@tag"],e.parse());if(delete e.gullet.macros.current["\\current@color"],delete e.gullet.macros.current["\\color"],e.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new X("\\tag works only in display equations");i=[{type:"tag",mode:"text",body:i,tag:e.subparse([new fs("\\df@tag")])}]}return i},"parseTree"),wc=mt(function(e,t,i){t.textContent="";e=Cc(e,i).toNode();t.appendChild(e)},"render"),typeof document<"u"&&"CSS1Compat"!==document.compatMode&&(typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),wc=mt(function(){throw new X("KaTeX doesn't work in quirks mode.")},"render")),kc=mt(function(e,t){return Cc(e,t).toMarkup()},"renderToString"),Tc=mt(function(e,t){t=new Ts(t);return xc(e,t)},"generateParseTree"),Sc=mt(function(e,t,i){if(!i.throwOnError&&e instanceof X)return(t=Z.makeSpan(["katex-error"],[new pa(t)])).setAttribute("title",e.toString()),t.setAttribute("style","color:"+i.errorColor),t;throw e},"renderError"),Cc=mt(function(t,i){i=new Ts(i);try{var e=xc(t,i);return Lo(e,t,i)}catch(e){return Sc(e,t,i)}},"renderToDomTree"),_c=mt(function(t,i){i=new Ts(i);try{var e=xc(t,i);return Ro(e,t,i)}catch(e){return Sc(e,t,i)}},"renderToHTMLTree"),$c={version:Ac="0.16.22",render:wc,renderToString:kc,ParseError:X,SETTINGS_SCHEMA:ks,__parse:Tc,__renderToDomTree:Cc,__renderToHTMLTree:_c,__setFontMetrics:Ur,__defineSymbol:o,__defineFunction:l,__defineMacro:h,__domTree:Ec={Span:ca,Anchor:ha,SymbolNode:pa,SvgNode:ga,PathNode:fa,LineNode:ma}}});function Rc(){let t="data-temp-href-target";Dr.addHook("beforeSanitizeAttributes",e=>{e instanceof Element&&"A"===e.tagName&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Dr.addHook("afterSanitizeAttributes",e=>{e instanceof Element&&"A"===e.tagName&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),"_blank"===e.getAttribute("target"))&&e.setAttribute("rel","noopener")})}var Mc,Ic,Nc,Dc,Oc,Pc,Bc,Fc,jc,zc,Uc,Hc,qc,Wc,Gc,Vc,Yc,Xc,Kc,Zc,Qc,Jc,eh,th,$,ih,nh,rh,sh,ah,oh,lh,ch,hh=e(()=>{"use strict";Or(),Mc=/<br\s*\/?>/gi,Ic=mt(e=>e?Uc(e).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),Nc=(()=>{let e=!1;return()=>{e||(Rc(),e=!0)}})(),mt(Rc,"setupDompurifyHooks"),Dc=mt(e=>(Nc(),Dr.sanitize(e)),"removeScript"),Oc=mt((e,t)=>{return!1!==t.flowchart?.htmlLabels&&("antiscript"===(t=t.securityLevel)||"strict"===t?e=Dc(e):"loose"!==t&&(e=(e=(e=Uc(e)).replace(/</g,"&lt;").replace(/>/g,"&gt;")).replace(/=/g,"&equals;"),e=zc(e))),e},"sanitizeMore"),Pc=mt((e,t)=>e&&(e=(t.dompurifyConfig?Dr.sanitize(Oc(e,t),t.dompurifyConfig):Dr.sanitize(Oc(e,t),{FORBID_TAGS:["style"]})).toString()),"sanitizeText"),Bc=mt((e,t)=>"string"==typeof e?Pc(e,t):e.flat().map(e=>Pc(e,t)),"sanitizeTextOrArray"),Fc=mt(e=>Mc.test(e),"hasBreaks"),jc=mt(e=>e.split(Mc),"splitBreaks"),zc=mt(e=>e.replace(/#br#/g,"<br/>"),"placeholderToBreak"),Uc=mt(e=>e.replace(Mc,"#br#"),"breakToPlaceholder"),Hc=mt(e=>{let t="";return e&&(t=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,t=CSS.escape(t)),t},"getUrl"),qc=mt(e=>!(!1===e||["false","null","0"].includes(String(e).trim().toLowerCase())),"evaluate"),Wc=mt(function(...e){e= Line truncated
font-family: ${i.fontFamily}; font-family: ${i.fontFamily};
font-size: ${i.fontSize}; font-size: ${i.fontSize};
fill: ${i.textColor} fill: ${i.textColor}
@@ -351,27 +351,27 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
${n} ${n}
${t} ${t}
`},"getStyles"),lh=mt((e,t)=>{void 0!==t&&(ah[e]=t)},"addStylesForDiagram"),ch=oh}),ph={};G(ph,{clear:()=>bh,getAccDescription:()=>kh,getAccTitle:()=>xh,getDiagramTitle:()=>Sh,setAccDescription:()=>wh,setAccTitle:()=>vh,setDiagramTitle:()=>Th});var gh,fh,mh,yh,bh,vh,xh,wh,kh,Th,Sh,Ch,_h,N,Ah,Eh,$h,Lh,Rh,Mh,Ih,Nh,Dh,Oh,Ph,Bh,Fh,jh,zh,Hh,Uh,qh,Wh,Gh,Vh,Yh,Xh,Kh,Zh,Qh,Jh,eu,tu,iu,nu,ru,su,au,ou,lu,cu,hu,uu,du,pu,gu,fu,mu,yu,bu,vu,xu,wu,ku,Tu,Su,Cu=e(()=>{"use strict";hh(),Mn(),mh=fh=gh="",yh=mt(e=>Pc(e,Ii()),"sanitizeText"),bh=mt(()=>{fh=mh=gh=""},"clear"),vh=mt(e=>{gh=yh(e).replace(/^\s+/g,"")},"setAccTitle"),xh=mt(()=>gh,"getAccTitle"),wh=mt(e=>{mh=yh(e).replace(/\n\s+/g,` `},"getStyles"),lh=mt((e,t)=>{void 0!==t&&(ah[e]=t)},"addStylesForDiagram"),ch=oh}),ph={};G(ph,{clear:()=>bh,getAccDescription:()=>kh,getAccTitle:()=>xh,getDiagramTitle:()=>Sh,setAccDescription:()=>wh,setAccTitle:()=>vh,setDiagramTitle:()=>Th});var gh,fh,mh,yh,bh,vh,xh,wh,kh,Th,Sh,Ch,_h,N,Ah,Eh,$h,Lh,Rh,Mh,Ih,Nh,Dh,Oh,Ph,Bh,Fh,jh,zh,Uh,Hh,qh,Wh,Gh,Vh,Yh,Xh,Kh,Zh,Qh,Jh,eu,tu,iu,nu,ru,su,au,ou,lu,cu,hu,uu,du,pu,gu,fu,mu,yu,bu,vu,xu,wu,ku,Tu,Su,Cu=e(()=>{"use strict";hh(),Mn(),mh=fh=gh="",yh=mt(e=>Pc(e,Ii()),"sanitizeText"),bh=mt(()=>{fh=mh=gh=""},"clear"),vh=mt(e=>{gh=yh(e).replace(/^\s+/g,"")},"setAccTitle"),xh=mt(()=>gh,"getAccTitle"),wh=mt(e=>{mh=yh(e).replace(/\n\s+/g,`
`)},"setAccDescription"),kh=mt(()=>mh,"getAccDescription"),Th=mt(e=>{fh=yh(e)},"setDiagramTitle"),Sh=mt(()=>fh,"getDiagramTitle")}),_u=e(()=>{"use strict";qi(),t(),Mn(),hh(),uh(),dh(),Cu(),Ch=I,_h=T,N=Ii,Ah=Mi,Eh=ki,$h=mt(e=>Pc(e,N()),"sanitizeText"),Lh=sh,Rh=mt(()=>ph,"getCommonDb"),Mh={},Ih=mt((e,t,i)=>{Mh[e]&&Ch.warn(`Diagram with id ${e} already registered. Overwriting.`),Mh[e]=t,i&&tt(e,i),lh(e,t.styles),t.injectUtils?.(Ch,_h,N,$h,Lh,Rh(),()=>{})},"registerDiagram"),Nh=mt(e=>{if(e in Mh)return Mh[e];throw new Dh(e)},"getDiagram"),Dh=class extends Error{static{mt(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}}),Au=e(()=>{"use strict";_u(),hh(),Cu(),Oh=[],Ph=[""],jh=[{alias:Bh="global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:Fh=""}],Hh="",Uh=!(zh=[]),qh=4,Wh=2,Vh=mt(function(){return Gh},"getC4Type"),Yh=mt(function(e){Gh=Pc(e,N())},"setC4Type"),Xh=mt(function(i,n,r,s,a,o,l,c,h){if(null!=i&&null!=n&&null!=r&&null!=s){let e={},t=zh.find(e=>e.from===n&&e.to===r);t?e=t:zh.push(e),e.type=i,e.from=n,e.to=r,e.label={text:s},null==a?e.techn={text:""}:"object"==typeof a?([i,s]=Object.entries(a)[0],e[i]={text:s}):e.techn={text:a},null==o?e.descr={text:""}:"object"==typeof o?([i,s]=Object.entries(o)[0],e[i]={text:s}):e.descr={text:o},"object"==typeof l?([a,i]=Object.entries(l)[0],e[a]=i):e.sprite=l,"object"==typeof c?([s,o]=Object.entries(c)[0],e[s]=o):e.tags=c,"object"==typeof h?([a,i]=Object.entries(h)[0],e[a]=i):e.link=h,e.wrap=bu()}},"addRel"),Kh=mt(function(i,n,r,s,a,o,l){if(null!==n&&null!==r){let e={},t=Oh.find(e=>e.alias===n);var c;t&&n===t.alias?e=t:(e.alias=n,Oh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.descr={text:""}:"object"==typeof s?([r,c]=Object.entries(s)[0],e[r]={text:c}):e.descr={text:s},"object"==typeof a?([r,c]=Object.entries(a)[0],e[r]=c):e.sprite=a,"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.tags=o,"object"==typeof l?([c,a]=Object.entries(l)[0],e[c]=a):e.link=l,e.typeC4Shape={text:i},e.parentBoundary=Bh,e.wrap=bu()}},"addPersonOrSystem"),Zh=mt(function(i,n,r,s,a,o,l,c){if(null!==n&&null!==r){let e={},t=Oh.find(e=>e.alias===n);var h;t&&n===t.alias?e=t:(e.alias=n,Oh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.techn={text:""}:"object"==typeof s?([r,h]=Object.entries(s)[0],e[r]={text:h}):e.techn={text:s},null==a?e.descr={text:""}:"object"==typeof a?([r,h]=Object.entries(a)[0],e[r]={text:h}):e.descr={text:a},"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.sprite=o,"object"==typeof l?([h,a]=Object.entries(l)[0],e[h]=a):e.tags=l,"object"==typeof c?([s,r]=Object.entries(c)[0],e[s]=r):e.link=c,e.wrap=bu(),e.typeC4Shape={text:i},e.parentBoundary=Bh}},"addContainer"),Qh=mt(function(i,n,r,s,a,o,l,c){if(null!==n&&null!==r){let e={},t=Oh.find(e=>e.alias===n);var h;t&&n===t.alias?e=t:(e.alias=n,Oh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.techn={text:""}:"object"==typeof s?([r,h]=Object.entries(s)[0],e[r]={text:h}):e.techn={text:s},null==a?e.descr={text:""}:"object"==typeof a?([r,h]=Object.entries(a)[0],e[r]={text:h}):e.descr={text:a},"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.sprite=o,"object"==typeof l?([h,a]=Object.entries(l)[0],e[h]=a):e.tags=l,"object"==typeof c?([s,r]=Object.entries(c)[0],e[s]=r):e.link=c,e.wrap=bu(),e.typeC4Shape={text:i},e.parentBoundary=Bh}},"addComponent"),Jh=mt(function(i,n,r,s,a){if(null!==i&&null!==n){let e={},t=jh.find(e=>e.alias===i);var o;t&&i===t.alias?e=t:(e.alias=i,jh.push(e)),e.label=null==n?{text:""}:{text:n},null==r?e.type={text:"system"}:"object"==typeof r?([n,o]=Object.entries(r)[0],e[n]={text:o}):e.type={text:r},"object"==typeof s?([n,o]=Object.entries(s)[0],e[n]=o):e.tags=s,"object"==typeof a?([r,n]=Object.entries(a)[0],e[r]=n):e.link=a,e.parentBoundary=Bh,e.wrap=bu(),Fh=Bh,Bh=i,Ph.push(Fh)}},"addPersonOrSystemBoundary"),eu=mt(function(i,n,r,s,a){if(null!==i&&null!==n){let e={},t=jh.find(e=>e.alias===i);var o;t&&i===t.alias?e=t:(e.alias=i,jh.push(e)),e.label=null==n?{text:""}:{text:n},null==r?e.type={text:"container"}:"object"==typeof r?([n,o]=Object.entries(r)[0],e[n]={text:o}):e.type={text:r},"object"==typeof s?([n,o]=Object.entries(s)[0],e[n]=o):e.tags=s,"object"==typeof a?([r,n]=Object.entries(a)[0],e[r]=n):e.link=a,e.parentBoundary=Bh,e.wrap=bu(),Fh=Bh,Bh=i,Ph.push(Fh)}},"addContainerBoundary"),tu=mt(function(i,n,r,s,a,e,o,l){if(null!==n&&null!==r){let e={},t=jh.find(e=>e.alias===n);var c;t&&n===t.alias?e=t:(e.alias=n,jh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.type={text:"node"}:"object"==typeof s?([r,c]=Object.entries(s)[0],e[r]={text:c}):e.type={text:s},null==a?e.descr={text:""}:"object"==typeof a?([r,c]=Object.entries(a)[0],e[r]={text:c}):e.descr={text:a},"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.tags=o,"object"==typeof l?([c,a]=Object.entries(l)[0],e[c]=a):e.link=l,e.nodeType=i,e.parentBoundary=Bh,e.wrap=bu(),Fh=Bh,Bh=n,Ph.push(Fh)}},"addDeploymentNode"),iu=mt(function(){Bh=Fh,Ph.pop(),Fh= Line truncated `)},"setAccDescription"),kh=mt(()=>mh,"getAccDescription"),Th=mt(e=>{fh=yh(e)},"setDiagramTitle"),Sh=mt(()=>fh,"getDiagramTitle")}),_u=e(()=>{"use strict";qi(),t(),Mn(),hh(),uh(),dh(),Cu(),Ch=I,_h=T,N=Ii,Ah=Mi,Eh=ki,$h=mt(e=>Pc(e,N()),"sanitizeText"),Lh=sh,Rh=mt(()=>ph,"getCommonDb"),Mh={},Ih=mt((e,t,i)=>{Mh[e]&&Ch.warn(`Diagram with id ${e} already registered. Overwriting.`),Mh[e]=t,i&&tt(e,i),lh(e,t.styles),t.injectUtils?.(Ch,_h,N,$h,Lh,Rh(),()=>{})},"registerDiagram"),Nh=mt(e=>{if(e in Mh)return Mh[e];throw new Dh(e)},"getDiagram"),Dh=class extends Error{static{mt(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}}),Au=e(()=>{"use strict";_u(),hh(),Cu(),Oh=[],Ph=[""],jh=[{alias:Bh="global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:Fh=""}],Uh="",Hh=!(zh=[]),qh=4,Wh=2,Vh=mt(function(){return Gh},"getC4Type"),Yh=mt(function(e){Gh=Pc(e,N())},"setC4Type"),Xh=mt(function(i,n,r,s,a,o,l,c,h){if(null!=i&&null!=n&&null!=r&&null!=s){let e={},t=zh.find(e=>e.from===n&&e.to===r);t?e=t:zh.push(e),e.type=i,e.from=n,e.to=r,e.label={text:s},null==a?e.techn={text:""}:"object"==typeof a?([i,s]=Object.entries(a)[0],e[i]={text:s}):e.techn={text:a},null==o?e.descr={text:""}:"object"==typeof o?([i,s]=Object.entries(o)[0],e[i]={text:s}):e.descr={text:o},"object"==typeof l?([a,i]=Object.entries(l)[0],e[a]=i):e.sprite=l,"object"==typeof c?([s,o]=Object.entries(c)[0],e[s]=o):e.tags=c,"object"==typeof h?([a,i]=Object.entries(h)[0],e[a]=i):e.link=h,e.wrap=bu()}},"addRel"),Kh=mt(function(i,n,r,s,a,o,l){if(null!==n&&null!==r){let e={},t=Oh.find(e=>e.alias===n);var c;t&&n===t.alias?e=t:(e.alias=n,Oh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.descr={text:""}:"object"==typeof s?([r,c]=Object.entries(s)[0],e[r]={text:c}):e.descr={text:s},"object"==typeof a?([r,c]=Object.entries(a)[0],e[r]=c):e.sprite=a,"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.tags=o,"object"==typeof l?([c,a]=Object.entries(l)[0],e[c]=a):e.link=l,e.typeC4Shape={text:i},e.parentBoundary=Bh,e.wrap=bu()}},"addPersonOrSystem"),Zh=mt(function(i,n,r,s,a,o,l,c){if(null!==n&&null!==r){let e={},t=Oh.find(e=>e.alias===n);var h;t&&n===t.alias?e=t:(e.alias=n,Oh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.techn={text:""}:"object"==typeof s?([r,h]=Object.entries(s)[0],e[r]={text:h}):e.techn={text:s},null==a?e.descr={text:""}:"object"==typeof a?([r,h]=Object.entries(a)[0],e[r]={text:h}):e.descr={text:a},"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.sprite=o,"object"==typeof l?([h,a]=Object.entries(l)[0],e[h]=a):e.tags=l,"object"==typeof c?([s,r]=Object.entries(c)[0],e[s]=r):e.link=c,e.wrap=bu(),e.typeC4Shape={text:i},e.parentBoundary=Bh}},"addContainer"),Qh=mt(function(i,n,r,s,a,o,l,c){if(null!==n&&null!==r){let e={},t=Oh.find(e=>e.alias===n);var h;t&&n===t.alias?e=t:(e.alias=n,Oh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.techn={text:""}:"object"==typeof s?([r,h]=Object.entries(s)[0],e[r]={text:h}):e.techn={text:s},null==a?e.descr={text:""}:"object"==typeof a?([r,h]=Object.entries(a)[0],e[r]={text:h}):e.descr={text:a},"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.sprite=o,"object"==typeof l?([h,a]=Object.entries(l)[0],e[h]=a):e.tags=l,"object"==typeof c?([s,r]=Object.entries(c)[0],e[s]=r):e.link=c,e.wrap=bu(),e.typeC4Shape={text:i},e.parentBoundary=Bh}},"addComponent"),Jh=mt(function(i,n,r,s,a){if(null!==i&&null!==n){let e={},t=jh.find(e=>e.alias===i);var o;t&&i===t.alias?e=t:(e.alias=i,jh.push(e)),e.label=null==n?{text:""}:{text:n},null==r?e.type={text:"system"}:"object"==typeof r?([n,o]=Object.entries(r)[0],e[n]={text:o}):e.type={text:r},"object"==typeof s?([n,o]=Object.entries(s)[0],e[n]=o):e.tags=s,"object"==typeof a?([r,n]=Object.entries(a)[0],e[r]=n):e.link=a,e.parentBoundary=Bh,e.wrap=bu(),Fh=Bh,Bh=i,Ph.push(Fh)}},"addPersonOrSystemBoundary"),eu=mt(function(i,n,r,s,a){if(null!==i&&null!==n){let e={},t=jh.find(e=>e.alias===i);var o;t&&i===t.alias?e=t:(e.alias=i,jh.push(e)),e.label=null==n?{text:""}:{text:n},null==r?e.type={text:"container"}:"object"==typeof r?([n,o]=Object.entries(r)[0],e[n]={text:o}):e.type={text:r},"object"==typeof s?([n,o]=Object.entries(s)[0],e[n]=o):e.tags=s,"object"==typeof a?([r,n]=Object.entries(a)[0],e[r]=n):e.link=a,e.parentBoundary=Bh,e.wrap=bu(),Fh=Bh,Bh=i,Ph.push(Fh)}},"addContainerBoundary"),tu=mt(function(i,n,r,s,a,e,o,l){if(null!==n&&null!==r){let e={},t=jh.find(e=>e.alias===n);var c;t&&n===t.alias?e=t:(e.alias=n,jh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.type={text:"node"}:"object"==typeof s?([r,c]=Object.entries(s)[0],e[r]={text:c}):e.type={text:s},null==a?e.descr={text:""}:"object"==typeof a?([r,c]=Object.entries(a)[0],e[r]={text:c}):e.descr={text:a},"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.tags=o,"object"==typeof l?([c,a]=Object.entries(l)[0],e[c]=a):e.link=l,e.nodeType=i,e.parentBoundary=Bh,e.wrap=bu(),Fh=Bh,Bh=n,Ph.push(Fh)}},"addDeploymentNode"),iu=mt(function(){Bh=Fh,Ph.pop(),Fh= Line truncated
`,"ig");t=t.trim().replace(e,"").replace(/'/gm,'"'),I.debug(`Detecting diagram directive${null!==i?" type:"+i:""} based on the text:`+t);for(var n,r,s,a=[];null!==(n=Xe.exec(t));)n.index===Xe.lastIndex&&Xe.lastIndex++,(n&&!i||i&&n[1]?.match(i)||i&&n[2]?.match(i))&&(r=n[1]||n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null,a.push({type:r,args:s}));return 0===a.length?{type:t,args:null}:1===a.length?a[0]:a}catch(e){return I.error(`ERROR: ${e.message} - Unable to parse directive type: '${i}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),OC=mt(function(e){return e.replace(Xe,"")},"removeDirectives"),PC=mt(function(e,t){for(var[i,n]of t.entries())if(n.match(e))return i;return-1},"isSubstringInArray"),mt(yC,"interpolateToCurve"),mt(bC,"formatUrl"),BC=mt((t,...e)=>{let i=t.split("."),n=i.length-1,r=i[n],s=window;for(let e=0;e<n;e++)if(!(s=s[i[e]]))return void I.error(`Function name: ${t} not found in window`);s[r](...e)},"runFunc"),mt(vC,"distance"),mt(xC,"traverseEdge"),mt(wC,"calcLabelPosition"),FC=mt((e,t=2)=>{t=Math.pow(10,t);return Math.round(e*t)/t},"roundNumber"),jC=mt((e,t)=>{let i,n=t;for(var r of e){if(i){var s=vC(r,i);if(0===s)return i;if(s<n)n-=s;else{s=n/s;if(s<=0)return i;if(1<=s)return{x:r.x,y:r.y};if(0<s&&s<1)return{x:FC((1-s)*i.x+s*r.x,5),y:FC((1-s)*i.y+s*r.y,5)}}}i=r}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),zC=mt((e,t,i)=>{I.info("our points "+JSON.stringify(t)),t[0]!==i&&(t=t.reverse());var i=jC(t,25),e=e?10:5,n=Math.atan2(t[0].y-i.y,t[0].x-i.x),r={x:0,y:0};return r.x=Math.sin(n)*e+(t[0].x+i.x)/2,r.y=-Math.cos(n)*e+(t[0].y+i.y)/2,r},"calcCardinalityPosition"),mt(kC,"calcTerminalLabelPosition"),mt(TC,"getStylesFromArray"),HC=0,UC=mt(()=>(HC++,"id-"+Math.random().toString(36).substr(2,12)+"-"+HC),"generateId"),mt(SC,"makeRandomHex"),qC=mt(e=>SC(e.length),"random"),WC=mt(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),GC=mt(function(e,t){var i=t.text.replace($.lineBreakRegex," "),[,n]=e_(t.fontSize),e=e.append("text"),n=(e.attr("x",t.x),e.attr("y",t.y),e.style("text-anchor",t.anchor),e.style("font-family",t.fontFamily),e.style("font-size",n),e.style("font-weight",t.fontWeight),e.attr("fill",t.fill),void 0!==t.class&&e.attr("class",t.class),e.append("tspan"));return n.attr("x",t.x+2*t.textMargin),n.attr("fill",t.fill),n.text(i),e},"drawSimpleText"),VC=N7((e,a,o)=>{if(!e||(o=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},o),$.lineBreakRegex.test(e)))return e;let l=e.split(" ").filter(Boolean),c=[],h="";return l.forEach((e,t)=>{var i,n,r=_C(e+" ",o),s=_C(h,o);h=a<r?({hyphenatedStrings:i,remainingWord:n}=YC(e,a,"-",o),c.push(h,...i),n):a<=s+r?(c.push(h),e):[h,e].filter(Boolean).join(" "),t+1===l.length&&c.push(h)}),c.filter(e=>""!==e).join(o.joinWith)},(e,t,i)=>""+e+t+i.fontSize+i.fontWeight+i.fontFamily+i.joinWith),YC=N7((e,n,r="-",s)=>{s=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},s);let a=[...e],o=[],l="";return a.forEach((e,t)=>{var i,e=""+l+e;l=_C(e,s)>=n?(t=t+1,t=a.length===t,i=e+r,o.push(t?e:i),""):e}),{hyphenatedStrings:o,remainingWord:l}},(e,t,i="-",n)=>""+e+t+i+n.fontSize+n.fontWeight+n.fontFamily),mt(CC,"calculateTextHeight"),mt(_C,"calculateTextWidth"),XC=N7((e,t)=>{var{fontSize:t=12,fontFamily:i="Arial",fontWeight:n=400}=t;if(!e)return{width:0,height:0};var[,r]=e_(t),t=["sans-serif",i],s=e.split($.lineBreakRegex),a=[],i=V("body");if(!i.remove)return{width:0,height:0,lineHeight:0};var o,l=i.append("svg");for(o of t){var c,h={width:0,height:0,lineHeight:0};for(c of s){var u=WC(),u=(u.text=c||RC,GC(l,u).style("font-size",r).style("font-weight",n).style("font-family",o)),u=(u._groups||u)[0][0].getBBox();if(0===u.width&&0===u.height)throw new Error("svg element not in render tree");h.width=Math.round(Math.max(h.width,u.width)),u=Math.round(u.height),h.height+=u,h.lineHeight=Math.round(Math.max(h.lineHeight,u))}a.push(h)}return l.remove(),a[isNaN(a[1].height)||isNaN(a[1].width)||isNaN(a[1].lineHeight)||a[0].height>a[1].height&&a[0].width>a[1].width&&a[0].lineHeight>a[1].lineHeight?0:1]},(e,t)=>""+e+t.fontSize+t.fontWeight+t.fontFamily),KC=class{constructor(e=!1,t){this.count=0,this.count=t?t.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{mt(this,"InitIDGenerator")}},QC=mt(function(e){return ZC=ZC||document.createElement("div"),e=escape(e).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),ZC.innerHTML=e,unescape(ZC.textContent)},"entityDecode"),mt(AC,"isDetailedError"),JC=mt((e,t,i,n)=>{var r;n&&(r=e.node()?.getBBox())&&e.append("text").text(n).attr("text-anchor","middle").attr("x",r.x+r.width/2).attr("y",-i).attr("class",t)},"insertTitle"),e_=mt(e=>{var t;return"number"==typeof e?[e,e+"px"]:(t=parseInt(e??"",10),Number.isNaN(t)?[void 0,void 0]:e===String(t)?[t,e+"px"]:[t,e])},"parseFontSize"),mt(EC,"cleanAndMerge"),t_={assignWithD Line truncated `,"ig");t=t.trim().replace(e,"").replace(/'/gm,'"'),I.debug(`Detecting diagram directive${null!==i?" type:"+i:""} based on the text:`+t);for(var n,r,s,a=[];null!==(n=Xe.exec(t));)n.index===Xe.lastIndex&&Xe.lastIndex++,(n&&!i||i&&n[1]?.match(i)||i&&n[2]?.match(i))&&(r=n[1]||n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null,a.push({type:r,args:s}));return 0===a.length?{type:t,args:null}:1===a.length?a[0]:a}catch(e){return I.error(`ERROR: ${e.message} - Unable to parse directive type: '${i}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),OC=mt(function(e){return e.replace(Xe,"")},"removeDirectives"),PC=mt(function(e,t){for(var[i,n]of t.entries())if(n.match(e))return i;return-1},"isSubstringInArray"),mt(yC,"interpolateToCurve"),mt(bC,"formatUrl"),BC=mt((t,...e)=>{let i=t.split("."),n=i.length-1,r=i[n],s=window;for(let e=0;e<n;e++)if(!(s=s[i[e]]))return void I.error(`Function name: ${t} not found in window`);s[r](...e)},"runFunc"),mt(vC,"distance"),mt(xC,"traverseEdge"),mt(wC,"calcLabelPosition"),FC=mt((e,t=2)=>{t=Math.pow(10,t);return Math.round(e*t)/t},"roundNumber"),jC=mt((e,t)=>{let i,n=t;for(var r of e){if(i){var s=vC(r,i);if(0===s)return i;if(s<n)n-=s;else{s=n/s;if(s<=0)return i;if(1<=s)return{x:r.x,y:r.y};if(0<s&&s<1)return{x:FC((1-s)*i.x+s*r.x,5),y:FC((1-s)*i.y+s*r.y,5)}}}i=r}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),zC=mt((e,t,i)=>{I.info("our points "+JSON.stringify(t)),t[0]!==i&&(t=t.reverse());var i=jC(t,25),e=e?10:5,n=Math.atan2(t[0].y-i.y,t[0].x-i.x),r={x:0,y:0};return r.x=Math.sin(n)*e+(t[0].x+i.x)/2,r.y=-Math.cos(n)*e+(t[0].y+i.y)/2,r},"calcCardinalityPosition"),mt(kC,"calcTerminalLabelPosition"),mt(TC,"getStylesFromArray"),UC=0,HC=mt(()=>(UC++,"id-"+Math.random().toString(36).substr(2,12)+"-"+UC),"generateId"),mt(SC,"makeRandomHex"),qC=mt(e=>SC(e.length),"random"),WC=mt(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),GC=mt(function(e,t){var i=t.text.replace($.lineBreakRegex," "),[,n]=e_(t.fontSize),e=e.append("text"),n=(e.attr("x",t.x),e.attr("y",t.y),e.style("text-anchor",t.anchor),e.style("font-family",t.fontFamily),e.style("font-size",n),e.style("font-weight",t.fontWeight),e.attr("fill",t.fill),void 0!==t.class&&e.attr("class",t.class),e.append("tspan"));return n.attr("x",t.x+2*t.textMargin),n.attr("fill",t.fill),n.text(i),e},"drawSimpleText"),VC=Nk((e,a,o)=>{if(!e||(o=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},o),$.lineBreakRegex.test(e)))return e;let l=e.split(" ").filter(Boolean),c=[],h="";return l.forEach((e,t)=>{var i,n,r=_C(e+" ",o),s=_C(h,o);h=a<r?({hyphenatedStrings:i,remainingWord:n}=YC(e,a,"-",o),c.push(h,...i),n):a<=s+r?(c.push(h),e):[h,e].filter(Boolean).join(" "),t+1===l.length&&c.push(h)}),c.filter(e=>""!==e).join(o.joinWith)},(e,t,i)=>""+e+t+i.fontSize+i.fontWeight+i.fontFamily+i.joinWith),YC=Nk((e,n,r="-",s)=>{s=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},s);let a=[...e],o=[],l="";return a.forEach((e,t)=>{var i,e=""+l+e;l=_C(e,s)>=n?(t=t+1,t=a.length===t,i=e+r,o.push(t?e:i),""):e}),{hyphenatedStrings:o,remainingWord:l}},(e,t,i="-",n)=>""+e+t+i+n.fontSize+n.fontWeight+n.fontFamily),mt(CC,"calculateTextHeight"),mt(_C,"calculateTextWidth"),XC=Nk((e,t)=>{var{fontSize:t=12,fontFamily:i="Arial",fontWeight:n=400}=t;if(!e)return{width:0,height:0};var[,r]=e_(t),t=["sans-serif",i],s=e.split($.lineBreakRegex),a=[],i=V("body");if(!i.remove)return{width:0,height:0,lineHeight:0};var o,l=i.append("svg");for(o of t){var c,h={width:0,height:0,lineHeight:0};for(c of s){var u=WC(),u=(u.text=c||RC,GC(l,u).style("font-size",r).style("font-weight",n).style("font-family",o)),u=(u._groups||u)[0][0].getBBox();if(0===u.width&&0===u.height)throw new Error("svg element not in render tree");h.width=Math.round(Math.max(h.width,u.width)),u=Math.round(u.height),h.height+=u,h.lineHeight=Math.round(Math.max(h.lineHeight,u))}a.push(h)}return l.remove(),a[isNaN(a[1].height)||isNaN(a[1].width)||isNaN(a[1].lineHeight)||a[0].height>a[1].height&&a[0].width>a[1].width&&a[0].lineHeight>a[1].lineHeight?0:1]},(e,t)=>""+e+t.fontSize+t.fontWeight+t.fontFamily),KC=class{constructor(e=!1,t){this.count=0,this.count=t?t.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{mt(this,"InitIDGenerator")}},QC=mt(function(e){return ZC=ZC||document.createElement("div"),e=escape(e).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),ZC.innerHTML=e,unescape(ZC.textContent)},"entityDecode"),mt(AC,"isDetailedError"),JC=mt((e,t,i,n)=>{var r;n&&(r=e.node()?.getBBox())&&e.append("text").text(n).attr("text-anchor","middle").attr("x",r.x+r.width/2).attr("y",-i).attr("class",t)},"insertTitle"),e_=mt(e=>{var t;return"number"==typeof e?[e,e+"px"]:(t=parseInt(e??"",10),Number.isNaN(t)?[void 0,void 0]:e===String(t)?[t,e+"px"]:[t,e])},"parseFontSize"),mt(EC,"cleanAndMerge"),t_={assignWithD Line truncated
stroke: ${e.personBorder}; stroke: ${e.personBorder};
fill: ${e.personBkg}; fill: ${e.personBkg};
} }
`,"getStyles"),A_=__}),L_={};G(L_,{diagram:()=>R_});var R_,M_=e(()=>{"use strict";Wi(),Au(),E_(),$_(),R_={parser:rt,db:Su,renderer:C_,styles:A_,init:mt(({c4:e,wrap:t})=>{C_.setConf(e),Su.setWrap(t)},"init")}});function I_(e){return"u"<typeof e||null===e}function N_(e){return"object"==typeof e&&null!==e}function D_(e){return Array.isArray(e)?e:I_(e)?[]:[e]}function O_(e,t){var i,n,r,s;if(t)for(i=0,n=(s=Object.keys(t)).length;i<n;i+=1)e[r=s[i]]=t[r];return e}function P_(e,t){for(var i="",n=0;n<t;n+=1)i+=e;return i}function B_(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e}function F_(e,t){var i="",n=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(i+='in "'+e.mark.name+'" '),i+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(i+=` `,"getStyles"),A_=__}),L_={};G(L_,{diagram:()=>R_});var R_,M_=e(()=>{"use strict";Wi(),Au(),E_(),$_(),R_={parser:rt,db:Su,renderer:C_,styles:A_,init:mt(({c4:e,wrap:t})=>{C_.setConf(e),Su.setWrap(t)},"init")}});function I_(e){return"u"<typeof e||null===e}function N_(e){return"object"==typeof e&&null!==e}function D_(e){return Array.isArray(e)?e:I_(e)?[]:[e]}function O_(e,t){var i,n,r,s;if(t)for(i=0,n=(s=Object.keys(t)).length;i<n;i+=1)e[r=s[i]]=t[r];return e}function P_(e,t){for(var i="",n=0;n<t;n+=1)i+=e;return i}function B_(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e}function F_(e,t){var i="",n=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(i+='in "'+e.mark.name+'" '),i+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(i+=`
`+e.mark.snippet),n+" "+i):n}function j_(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=F_(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}function z_(e,t,i,n,r){var s="",a="",r=Math.floor(r/2)-1;return r<n-t&&(t=n-r+(s=" ... ").length),r<i-n&&(i=n+r-(a=" ...").length),{str:s+e.slice(t,i).replace(/\t/g,"→")+a,pos:n-t+s.length}}function H_(e,t){return B9.repeat(" ",t-e.length)+e}function U_(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var i,n=/\r?\n|\r|\0/g,r=[0],s=[],a=-1;i=n.exec(e.buffer);)s.push(i.index),r.push(i.index+i[0].length),e.position<=i.index&&a<0&&(a=r.length-2);a<0&&(a=r.length-1);for(var o,l="",c=Math.min(e.line+t.linesAfter,s.length).toString().length,h=t.maxLength-(t.indent+c+3),u=1;u<=t.linesBefore&&!(a-u<0);u++)o=z_(e.buffer,r[a-u],s[a-u],e.position-(r[a]-r[a-u]),h),l=B9.repeat(" ",t.indent)+H_((e.line-u+1).toString(),c)+" | "+o.str+` `+e.mark.snippet),n+" "+i):n}function j_(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=F_(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}function z_(e,t,i,n,r){var s="",a="",r=Math.floor(r/2)-1;return r<n-t&&(t=n-r+(s=" ... ").length),r<i-n&&(i=n+r-(a=" ...").length),{str:s+e.slice(t,i).replace(/\t/g,"→")+a,pos:n-t+s.length}}function U_(e,t){return B9.repeat(" ",t-e.length)+e}function H_(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var i,n=/\r?\n|\r|\0/g,r=[0],s=[],a=-1;i=n.exec(e.buffer);)s.push(i.index),r.push(i.index+i[0].length),e.position<=i.index&&a<0&&(a=r.length-2);a<0&&(a=r.length-1);for(var o,l="",c=Math.min(e.line+t.linesAfter,s.length).toString().length,h=t.maxLength-(t.indent+c+3),u=1;u<=t.linesBefore&&!(a-u<0);u++)o=z_(e.buffer,r[a-u],s[a-u],e.position-(r[a]-r[a-u]),h),l=B9.repeat(" ",t.indent)+U_((e.line-u+1).toString(),c)+" | "+o.str+`
`+l;for(o=z_(e.buffer,r[a],s[a],e.position,h),l=(l+=B9.repeat(" ",t.indent)+H_((e.line+1).toString(),c)+" | "+o.str+` `+l;for(o=z_(e.buffer,r[a],s[a],e.position,h),l=(l+=B9.repeat(" ",t.indent)+U_((e.line+1).toString(),c)+" | "+o.str+`
`)+(B9.repeat("-",t.indent+c+3+o.pos)+`^ `)+(B9.repeat("-",t.indent+c+3+o.pos)+`^
`),u=1;u<=t.linesAfter&&!(s.length<=a+u);u++)o=z_(e.buffer,r[a+u],s[a+u],e.position-(r[a]-r[a+u]),h),l+=B9.repeat(" ",t.indent)+H_((e.line+u+1).toString(),c)+" | "+o.str+` `),u=1;u<=t.linesAfter&&!(s.length<=a+u);u++)o=z_(e.buffer,r[a+u],s[a+u],e.position-(r[a]-r[a+u]),h),l+=B9.repeat(" ",t.indent)+U_((e.line+u+1).toString(),c)+" | "+o.str+`
`;return l.replace(/\n$/,"")}function q_(e){var i={};return null!==e&&Object.keys(e).forEach(function(t){e[t].forEach(function(e){i[String(e)]=t})}),i}function W_(t,e){if(e=e||{},Object.keys(e).forEach(function(e){if(-1===z9.indexOf(e))throw new F9('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(e){return e},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=q_(e.styleAliases||null),-1===H9.indexOf(this.kind))throw new F9('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}function G_(e,t){var r=[];return e[t].forEach(function(i){var n=r.length;r.forEach(function(e,t){e.tag===i.tag&&e.kind===i.kind&&e.multi===i.multi&&(n=t)}),r[n]=i}),r}function V_(){var e,t,i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function n(e){e.multi?(i.multi[e.kind].push(e),i.multi.fallback.push(e)):i[e.kind][e.tag]=i.fallback[e.tag]=e}for(mt(n,"collectType"),e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(n);return i}function Y_(e){return this.extend(e)}function X_(e){var t;return null===e||1===(t=e.length)&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)}function K_(){return null}function Z_(e){return null===e}function Q_(e){var t;return null!==e&&(4===(t=e.length)&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e))}function J_(e){return"true"===e||"True"===e||"TRUE"===e}function eA(e){return"[object Boolean]"===Object.prototype.toString.call(e)}function tA(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function iA(e){return 48<=e&&e<=55}function nA(e){return 48<=e&&e<=57}function rA(e){if(null===e)return!1;var t,i=e.length,n=0,r=!1;if(!i)return!1;if("0"===(t="-"!==(t=e[n])&&"+"!==t?t:e[++n])){if(n+1===i)return!0;if("b"===(t=e[++n])){for(n++;n<i;n++)if("_"!==(t=e[n])){if("0"!==t&&"1"!==t)return!1;r=!0}return r&&"_"!==t}if("x"===t){for(n++;n<i;n++)if("_"!==(t=e[n])){if(!tA(e.charCodeAt(n)))return!1;r=!0}return r&&"_"!==t}if("o"===t){for(n++;n<i;n++)if("_"!==(t=e[n])){if(!iA(e.charCodeAt(n)))return!1;r=!0}return r&&"_"!==t}}if("_"===t)return!1;for(;n<i;n++)if("_"!==(t=e[n])){if(!nA(e.charCodeAt(n)))return!1;r=!0}return!(!r||"_"===t)}function sA(e){var t,i=1;if("-"!==(t=(e=-1!==e.indexOf("_")?e.replace(/_/g,""):e)[0])&&"+"!==t||("-"===t&&(i=-1),t=(e=e.slice(1))[0]),"0"===e)return 0;if("0"===t){if("b"===e[1])return i*parseInt(e.slice(2),2);if("x"===e[1])return i*parseInt(e.slice(2),16);if("o"===e[1])return i*parseInt(e.slice(2),8)}return i*parseInt(e,10)}function aA(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!B9.isNegativeZero(e)}function oA(e){return!(null===e||!q9.test(e)||"_"===e[e.length-1])}function lA(e){var e=e.replace(/_/g,"").toLowerCase(),t="-"===e[0]?-1:1;return".inf"===(e=0<="+-".indexOf(e[0])?e.slice(1):e)?1==t?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:t*parseFloat(e,10)}function cA(e,t){if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(B9.isNegativeZero(e))return"-0.0";return t=e.toString(10),W9.test(t)?t.replace("e",".e"):t}function hA(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||B9.isNegativeZero(e))}function uA(e){return null!==e&&(null!==V9.exec(e)||null!==Y9.exec(e))}function dA(e){var t,i,n,r,s,a=0,o=null,l=V9.exec(e);if(null===(l=null===l?Y9.exec(e):l))throw new Error("Date resolve error");if(e=+l[1],t=+l[2]-1,i=+l[3],!l[4])return new Date(Date.UTC(e,t,i));if(n=+l[4],r=+l[5],s=+l[6],l[7]){for(a=l[7].slice(0,3);a.length<3;)a+="0";a=+a}return l[9]&&(o=6e4*(60*+l[10]+ +(l[11]||0)),"-"===l[9])&&(o=-o),l=new Date(Date.UTC(e,t,i,n,r,s,a)),o&&l.setTime(l.getTime()-o),l}function pA(e){return e.toISOString()}function gA(e){return"<<"===e||null===e}function fA(e){if(null===e)return!1;for(var t,i=0,n=e.length,r=Z9,s=0;s<n;s++)if(!(64<(t=r.indexOf(e.charAt(s))))){if(t<0)return!1;i+=6}return i%8==0}function mA(e){for(var t=e.replace(/[\r\n=]/g,""),i=t.length,n=Z9,r=0,s=[],a=0;a<i;a++)a%4==0&&a&&(s.push(r>>16&255),s.push(r>>8&255),s.push(255&r)),r=r<<6|n.indexOf(t.charAt(a));return 0==(e=i%4*6)?(s.push(r>>16&255),s.push(r>>8&255),s.push(255&r)):18==e?(s.push(r>>10&255),s.push(r>>2&255)):12==e&&s.push(r>>4&255),new Uint8Array(s)}function yA(e){for(var t,i="",n=0,r=e.length,s=Z9,a=0;a<r;a++)a%3==0&&a&&(i=(i=(i=(i+=s[n>>18&63])+s[n>>12&63])+s[n>>6&63])+s[63&n]),n=(n<<8)+e[a];retur Line truncated `;return l.replace(/\n$/,"")}function q_(e){var i={};return null!==e&&Object.keys(e).forEach(function(t){e[t].forEach(function(e){i[String(e)]=t})}),i}function W_(t,e){if(e=e||{},Object.keys(e).forEach(function(e){if(-1===z9.indexOf(e))throw new F9('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(e){return e},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=q_(e.styleAliases||null),-1===U9.indexOf(this.kind))throw new F9('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}function G_(e,t){var r=[];return e[t].forEach(function(i){var n=r.length;r.forEach(function(e,t){e.tag===i.tag&&e.kind===i.kind&&e.multi===i.multi&&(n=t)}),r[n]=i}),r}function V_(){var e,t,i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function n(e){e.multi?(i.multi[e.kind].push(e),i.multi.fallback.push(e)):i[e.kind][e.tag]=i.fallback[e.tag]=e}for(mt(n,"collectType"),e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(n);return i}function Y_(e){return this.extend(e)}function X_(e){var t;return null===e||1===(t=e.length)&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)}function K_(){return null}function Z_(e){return null===e}function Q_(e){var t;return null!==e&&(4===(t=e.length)&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e))}function J_(e){return"true"===e||"True"===e||"TRUE"===e}function eA(e){return"[object Boolean]"===Object.prototype.toString.call(e)}function tA(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function iA(e){return 48<=e&&e<=55}function nA(e){return 48<=e&&e<=57}function rA(e){if(null===e)return!1;var t,i=e.length,n=0,r=!1;if(!i)return!1;if("0"===(t="-"!==(t=e[n])&&"+"!==t?t:e[++n])){if(n+1===i)return!0;if("b"===(t=e[++n])){for(n++;n<i;n++)if("_"!==(t=e[n])){if("0"!==t&&"1"!==t)return!1;r=!0}return r&&"_"!==t}if("x"===t){for(n++;n<i;n++)if("_"!==(t=e[n])){if(!tA(e.charCodeAt(n)))return!1;r=!0}return r&&"_"!==t}if("o"===t){for(n++;n<i;n++)if("_"!==(t=e[n])){if(!iA(e.charCodeAt(n)))return!1;r=!0}return r&&"_"!==t}}if("_"===t)return!1;for(;n<i;n++)if("_"!==(t=e[n])){if(!nA(e.charCodeAt(n)))return!1;r=!0}return!(!r||"_"===t)}function sA(e){var t,i=1;if("-"!==(t=(e=-1!==e.indexOf("_")?e.replace(/_/g,""):e)[0])&&"+"!==t||("-"===t&&(i=-1),t=(e=e.slice(1))[0]),"0"===e)return 0;if("0"===t){if("b"===e[1])return i*parseInt(e.slice(2),2);if("x"===e[1])return i*parseInt(e.slice(2),16);if("o"===e[1])return i*parseInt(e.slice(2),8)}return i*parseInt(e,10)}function aA(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!B9.isNegativeZero(e)}function oA(e){return!(null===e||!q9.test(e)||"_"===e[e.length-1])}function lA(e){var e=e.replace(/_/g,"").toLowerCase(),t="-"===e[0]?-1:1;return".inf"===(e=0<="+-".indexOf(e[0])?e.slice(1):e)?1==t?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:t*parseFloat(e,10)}function cA(e,t){if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(B9.isNegativeZero(e))return"-0.0";return t=e.toString(10),W9.test(t)?t.replace("e",".e"):t}function hA(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||B9.isNegativeZero(e))}function uA(e){return null!==e&&(null!==V9.exec(e)||null!==Y9.exec(e))}function dA(e){var t,i,n,r,s,a=0,o=null,l=V9.exec(e);if(null===(l=null===l?Y9.exec(e):l))throw new Error("Date resolve error");if(e=+l[1],t=+l[2]-1,i=+l[3],!l[4])return new Date(Date.UTC(e,t,i));if(n=+l[4],r=+l[5],s=+l[6],l[7]){for(a=l[7].slice(0,3);a.length<3;)a+="0";a=+a}return l[9]&&(o=6e4*(60*+l[10]+ +(l[11]||0)),"-"===l[9])&&(o=-o),l=new Date(Date.UTC(e,t,i,n,r,s,a)),o&&l.setTime(l.getTime()-o),l}function pA(e){return e.toISOString()}function gA(e){return"<<"===e||null===e}function fA(e){if(null===e)return!1;for(var t,i=0,n=e.length,r=Z9,s=0;s<n;s++)if(!(64<(t=r.indexOf(e.charAt(s))))){if(t<0)return!1;i+=6}return i%8==0}function mA(e){for(var t=e.replace(/[\r\n=]/g,""),i=t.length,n=Z9,r=0,s=[],a=0;a<i;a++)a%4==0&&a&&(s.push(r>>16&255),s.push(r>>8&255),s.push(255&r)),r=r<<6|n.indexOf(t.charAt(a));return 0==(e=i%4*6)?(s.push(r>>16&255),s.push(r>>8&255),s.push(255&r)):18==e?(s.push(r>>10&255),s.push(r>>2&255)):12==e&&s.push(r>>4&255),new Uint8Array(s)}function yA(e){for(var t,i="",n=0,r=e.length,s=Z9,a=0;a<r;a++)a%3==0&&a&&(i=(i=(i=(i+=s[n>>18&63])+s[n>>12&63])+s[n>>6&63])+s[63&n]),n=(n<<8)+e[a];retur Line truncated
`:118===e?"\v":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function NA(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}function DA(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||aE,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function OA(e,t){e={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return e.snippet=j9(e),new F9(t,e)}function PA(e,t){throw OA(e,t)}function BA(e,t){e.onWarning&&e.onWarning.call(null,OA(e,t))}function FA(e,t,i,n){var r,s,a,o;if(t<i){if(o=e.input.slice(t,i),n)for(r=0,s=o.length;r<s;r+=1)9===(a=o.charCodeAt(r))||32<=a&&a<=1114111||PA(e,"expected valid JSON character");else fE.test(o)&&PA(e,"the stream contains non-printable characters");e.result+=o}}function jA(e,t,i,n){var r,s,a,o;for(B9.isObject(i)||PA(e,"cannot merge mappings; the provided source object is unacceptable"),a=0,o=(r=Object.keys(i)).length;a<o;a+=1)s=r[a],oE.call(t,s)||(t[s]=i[s],n[s]=!0)}function zA(e,t,i,n,r,s,a,o,l){var c,h;if(Array.isArray(r))for(c=0,h=(r=Array.prototype.slice.call(r)).length;c<h;c+=1)Array.isArray(r[c])&&PA(e,"nested arrays are not supported inside keys"),"object"==typeof r&&"[object Object]"===CA(r[c])&&(r[c]="[object Object]");if("object"==typeof r&&"[object Object]"===CA(r)&&(r="[object Object]"),r=String(r),null===t&&(t={}),"tag:yaml.org,2002:merge"===n)if(Array.isArray(s))for(c=0,h=s.length;c<h;c+=1)jA(e,t,s[c],i);else jA(e,t,s,i);else e.json||oE.call(i,r)||!oE.call(t,r)||(e.line=a||e.line,e.lineStart=o||e.lineStart,e.position=l||e.position,PA(e,"duplicated mapping key")),"__proto__"===r?Object.defineProperty(t,r,{configurable:!0,enumerable:!0,writable:!0,value:s}):t[r]=s,delete i[r];return t}function HA(e){var t=e.input.charCodeAt(e.position);10===t?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):PA(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function UA(e,t,i){for(var n=0,r=e.input.charCodeAt(e.position);0!==r;){for(;AA(r);)9===r&&-1===e.firstTabInLine&&(e.firstTabInLine=e.position),r=e.input.charCodeAt(++e.position);if(t&&35===r)for(;10!==(r=e.input.charCodeAt(++e.position))&&13!==r&&0!==r;);if(!_A(r))break;for(HA(e),r=e.input.charCodeAt(e.position),n++,e.lineIndent=0;32===r;)e.lineIndent++,r=e.input.charCodeAt(++e.position)}return-1!==i&&0!==n&&e.lineIndent<i&&BA(e,"deficient indentation"),n}function qA(e){var t=e.position,i=e.input.charCodeAt(t);return!(45!==i&&46!==i||i!==e.input.charCodeAt(t+1)||i!==e.input.charCodeAt(t+2)||0!==(i=e.input.charCodeAt(t+=3))&&!EA(i))}function WA(e,t){1===t?e.result+=" ":1<t&&(e.result+=B9.repeat(` `:118===e?"\v":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function NA(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}function DA(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||aE,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function OA(e,t){e={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return e.snippet=j9(e),new F9(t,e)}function PA(e,t){throw OA(e,t)}function BA(e,t){e.onWarning&&e.onWarning.call(null,OA(e,t))}function FA(e,t,i,n){var r,s,a,o;if(t<i){if(o=e.input.slice(t,i),n)for(r=0,s=o.length;r<s;r+=1)9===(a=o.charCodeAt(r))||32<=a&&a<=1114111||PA(e,"expected valid JSON character");else fE.test(o)&&PA(e,"the stream contains non-printable characters");e.result+=o}}function jA(e,t,i,n){var r,s,a,o;for(B9.isObject(i)||PA(e,"cannot merge mappings; the provided source object is unacceptable"),a=0,o=(r=Object.keys(i)).length;a<o;a+=1)s=r[a],oE.call(t,s)||(t[s]=i[s],n[s]=!0)}function zA(e,t,i,n,r,s,a,o,l){var c,h;if(Array.isArray(r))for(c=0,h=(r=Array.prototype.slice.call(r)).length;c<h;c+=1)Array.isArray(r[c])&&PA(e,"nested arrays are not supported inside keys"),"object"==typeof r&&"[object Object]"===CA(r[c])&&(r[c]="[object Object]");if("object"==typeof r&&"[object Object]"===CA(r)&&(r="[object Object]"),r=String(r),null===t&&(t={}),"tag:yaml.org,2002:merge"===n)if(Array.isArray(s))for(c=0,h=s.length;c<h;c+=1)jA(e,t,s[c],i);else jA(e,t,s,i);else e.json||oE.call(i,r)||!oE.call(t,r)||(e.line=a||e.line,e.lineStart=o||e.lineStart,e.position=l||e.position,PA(e,"duplicated mapping key")),"__proto__"===r?Object.defineProperty(t,r,{configurable:!0,enumerable:!0,writable:!0,value:s}):t[r]=s,delete i[r];return t}function UA(e){var t=e.input.charCodeAt(e.position);10===t?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):PA(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function HA(e,t,i){for(var n=0,r=e.input.charCodeAt(e.position);0!==r;){for(;AA(r);)9===r&&-1===e.firstTabInLine&&(e.firstTabInLine=e.position),r=e.input.charCodeAt(++e.position);if(t&&35===r)for(;10!==(r=e.input.charCodeAt(++e.position))&&13!==r&&0!==r;);if(!_A(r))break;for(UA(e),r=e.input.charCodeAt(e.position),n++,e.lineIndent=0;32===r;)e.lineIndent++,r=e.input.charCodeAt(++e.position)}return-1!==i&&0!==n&&e.lineIndent<i&&BA(e,"deficient indentation"),n}function qA(e){var t=e.position,i=e.input.charCodeAt(t);return!(45!==i&&46!==i||i!==e.input.charCodeAt(t+1)||i!==e.input.charCodeAt(t+2)||0!==(i=e.input.charCodeAt(t+=3))&&!EA(i))}function WA(e,t){1===t?e.result+=" ":1<t&&(e.result+=B9.repeat(`
`,t-1))}function GA(e,t,i){var n,r,s,a,o,l,c,h=e.kind,u=e.result,d=e.input.charCodeAt(e.position);if(EA(d)||$A(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d||(63===d||45===d)&&(EA(n=e.input.charCodeAt(e.position+1))||i&&$A(n)))return!1;for(e.kind="scalar",e.result="",r=s=e.position,a=!1;0!==d;){if(58===d){if(EA(n=e.input.charCodeAt(e.position+1))||i&&$A(n))break}else if(35===d){if(EA(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&qA(e)||i&&$A(d))break;if(_A(d)){if(o=e.line,l=e.lineStart,c=e.lineIndent,UA(e,!1,-1),e.lineIndent>=t){a=!0,d=e.input.charCodeAt(e.position);continue}e.position=s,e.line=o,e.lineStart=l,e.lineIndent=c;break}}a&&(FA(e,r,s,!1),WA(e,e.line-o),r=s=e.position,a=!1),AA(d)||(s=e.position+1),d=e.input.charCodeAt(++e.position)}return FA(e,r,s,!1),!!e.result||(e.kind=h,e.result=u,!1)}function VA(e,t){var i,n,r=e.input.charCodeAt(e.position);if(39!==r)return!1;for(e.kind="scalar",e.result="",e.position++,i=n=e.position;0!==(r=e.input.charCodeAt(e.position));)if(39===r){if(FA(e,i,e.position,!0),39!==(r=e.input.charCodeAt(++e.position)))return!0;i=e.position,e.position++,n=e.position}else _A(r)?(FA(e,i,n,!0),WA(e,UA(e,!1,t)),i=n=e.position):e.position===e.lineStart&&qA(e)?PA(e,"unexpected end of the document within a single quoted scalar"):(e.position++,n=e.position);PA(e,"unexpected end of the stream within a single quoted scalar")}function YA(e,t){var i,n,r,s,a,o=e.input.charCodeAt(e.position);if(34!==o)return!1;for(e.kind="scalar",e.result="",e.position++,i=n=e.position;0!==(o=e.input.charCodeAt(e.position));){if(34===o)return FA(e,i,e.position,!0),e.position++,!0;if(92===o){if(FA(e,i,e.position,!0),_A(o=e.input.charCodeAt(++e.position)))UA(e,!1,t);else if(o<256&&xE[o])e.result+=wE[o],e.position++;else if(0<(a=RA(o))){for(r=a,s=0;0<r;r--)0<=(a=LA(o=e.input.charCodeAt(++e.position)))?s=(s<<4)+a:PA(e,"expected hexadecimal character");e.result+=NA(s),e.position++}else PA(e,"unknown escape sequence");i=n=e.position}else _A(o)?(FA(e,i,n,!0),WA(e,UA(e,!1,t)),i=n=e.position):e.position===e.lineStart&&qA(e)?PA(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}PA(e,"unexpected end of the stream within a double quoted scalar")}function XA(e,t){var i,n,r,s,a,o,l,c,h,u,d,p=!0,g=e.tag,f=e.anchor,m=Object.create(null),y=e.input.charCodeAt(e.position);if(91===y)c=!(a=93),s=[];else{if(123!==y)return!1;a=125,c=!0,s={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=s),y=e.input.charCodeAt(++e.position);0!==y;){if(UA(e,!0,t),(y=e.input.charCodeAt(e.position))===a)return e.position++,e.tag=g,e.anchor=f,e.kind=c?"mapping":"sequence",e.result=s,!0;p?44===y&&PA(e,"expected the node content, but found ','"):PA(e,"missed comma between flow collection entries"),d=null,o=l=!1,63===y&&EA(e.input.charCodeAt(e.position+1))&&(o=l=!0,e.position++,UA(e,!0,t)),i=e.line,n=e.lineStart,r=e.position,i9(e,t,lE,!1,!0),u=e.tag,h=e.result,UA(e,!0,t),y=e.input.charCodeAt(e.position),!l&&e.line!==i||58!==y||(o=!0,y=e.input.charCodeAt(++e.position),UA(e,!0,t),i9(e,t,lE,!1,!0),d=e.result),c?zA(e,s,m,u,h,d,i,n,r):o?s.push(zA(e,null,m,u,h,d,i,n,r)):s.push(h),UA(e,!0,t),44===(y=e.input.charCodeAt(e.position))?(p=!0,y=e.input.charCodeAt(++e.position)):p=!1}PA(e,"unexpected end of the stream within a flow collection")}function KA(e,t){var i,n,r,s=dE,a=!1,o=!1,l=t,c=0,h=!1,u=e.input.charCodeAt(e.position);if(124===u)n=!1;else{if(62!==u)return!1;n=!0}for(e.kind="scalar",e.result="";0!==u;)if(43===(u=e.input.charCodeAt(++e.position))||45===u)dE===s?s=43===u?gE:pE:PA(e,"repeat of a chomping mode identifier");else{if(!(0<=(r=MA(u))))break;0===r?PA(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?PA(e,"repeat of an indentation width identifier"):(l=t+r-1,o=!0)}if(AA(u)){for(;AA(u=e.input.charCodeAt(++e.position)););if(35===u)for(;!_A(u=e.input.charCodeAt(++e.position))&&0!==u;);}for(;0!==u;){for(HA(e),e.lineIndent=0,u=e.input.charCodeAt(e.position);(!o||e.lineIndent<l)&&32===u;)e.lineIndent++,u=e.input.charCodeAt(++e.position);if(!o&&e.lineIndent>l&&(l=e.lineIndent),_A(u))c++;else{if(e.lineIndent<l){s===gE?e.result+=B9.repeat(` `,t-1))}function GA(e,t,i){var n,r,s,a,o,l,c,h=e.kind,u=e.result,d=e.input.charCodeAt(e.position);if(EA(d)||$A(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d||(63===d||45===d)&&(EA(n=e.input.charCodeAt(e.position+1))||i&&$A(n)))return!1;for(e.kind="scalar",e.result="",r=s=e.position,a=!1;0!==d;){if(58===d){if(EA(n=e.input.charCodeAt(e.position+1))||i&&$A(n))break}else if(35===d){if(EA(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&qA(e)||i&&$A(d))break;if(_A(d)){if(o=e.line,l=e.lineStart,c=e.lineIndent,HA(e,!1,-1),e.lineIndent>=t){a=!0,d=e.input.charCodeAt(e.position);continue}e.position=s,e.line=o,e.lineStart=l,e.lineIndent=c;break}}a&&(FA(e,r,s,!1),WA(e,e.line-o),r=s=e.position,a=!1),AA(d)||(s=e.position+1),d=e.input.charCodeAt(++e.position)}return FA(e,r,s,!1),!!e.result||(e.kind=h,e.result=u,!1)}function VA(e,t){var i,n,r=e.input.charCodeAt(e.position);if(39!==r)return!1;for(e.kind="scalar",e.result="",e.position++,i=n=e.position;0!==(r=e.input.charCodeAt(e.position));)if(39===r){if(FA(e,i,e.position,!0),39!==(r=e.input.charCodeAt(++e.position)))return!0;i=e.position,e.position++,n=e.position}else _A(r)?(FA(e,i,n,!0),WA(e,HA(e,!1,t)),i=n=e.position):e.position===e.lineStart&&qA(e)?PA(e,"unexpected end of the document within a single quoted scalar"):(e.position++,n=e.position);PA(e,"unexpected end of the stream within a single quoted scalar")}function YA(e,t){var i,n,r,s,a,o=e.input.charCodeAt(e.position);if(34!==o)return!1;for(e.kind="scalar",e.result="",e.position++,i=n=e.position;0!==(o=e.input.charCodeAt(e.position));){if(34===o)return FA(e,i,e.position,!0),e.position++,!0;if(92===o){if(FA(e,i,e.position,!0),_A(o=e.input.charCodeAt(++e.position)))HA(e,!1,t);else if(o<256&&xE[o])e.result+=wE[o],e.position++;else if(0<(a=RA(o))){for(r=a,s=0;0<r;r--)0<=(a=LA(o=e.input.charCodeAt(++e.position)))?s=(s<<4)+a:PA(e,"expected hexadecimal character");e.result+=NA(s),e.position++}else PA(e,"unknown escape sequence");i=n=e.position}else _A(o)?(FA(e,i,n,!0),WA(e,HA(e,!1,t)),i=n=e.position):e.position===e.lineStart&&qA(e)?PA(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}PA(e,"unexpected end of the stream within a double quoted scalar")}function XA(e,t){var i,n,r,s,a,o,l,c,h,u,d,p=!0,g=e.tag,f=e.anchor,m=Object.create(null),y=e.input.charCodeAt(e.position);if(91===y)c=!(a=93),s=[];else{if(123!==y)return!1;a=125,c=!0,s={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=s),y=e.input.charCodeAt(++e.position);0!==y;){if(HA(e,!0,t),(y=e.input.charCodeAt(e.position))===a)return e.position++,e.tag=g,e.anchor=f,e.kind=c?"mapping":"sequence",e.result=s,!0;p?44===y&&PA(e,"expected the node content, but found ','"):PA(e,"missed comma between flow collection entries"),d=null,o=l=!1,63===y&&EA(e.input.charCodeAt(e.position+1))&&(o=l=!0,e.position++,HA(e,!0,t)),i=e.line,n=e.lineStart,r=e.position,i9(e,t,lE,!1,!0),u=e.tag,h=e.result,HA(e,!0,t),y=e.input.charCodeAt(e.position),!l&&e.line!==i||58!==y||(o=!0,y=e.input.charCodeAt(++e.position),HA(e,!0,t),i9(e,t,lE,!1,!0),d=e.result),c?zA(e,s,m,u,h,d,i,n,r):o?s.push(zA(e,null,m,u,h,d,i,n,r)):s.push(h),HA(e,!0,t),44===(y=e.input.charCodeAt(e.position))?(p=!0,y=e.input.charCodeAt(++e.position)):p=!1}PA(e,"unexpected end of the stream within a flow collection")}function KA(e,t){var i,n,r,s=dE,a=!1,o=!1,l=t,c=0,h=!1,u=e.input.charCodeAt(e.position);if(124===u)n=!1;else{if(62!==u)return!1;n=!0}for(e.kind="scalar",e.result="";0!==u;)if(43===(u=e.input.charCodeAt(++e.position))||45===u)dE===s?s=43===u?gE:pE:PA(e,"repeat of a chomping mode identifier");else{if(!(0<=(r=MA(u))))break;0===r?PA(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?PA(e,"repeat of an indentation width identifier"):(l=t+r-1,o=!0)}if(AA(u)){for(;AA(u=e.input.charCodeAt(++e.position)););if(35===u)for(;!_A(u=e.input.charCodeAt(++e.position))&&0!==u;);}for(;0!==u;){for(UA(e),e.lineIndent=0,u=e.input.charCodeAt(e.position);(!o||e.lineIndent<l)&&32===u;)e.lineIndent++,u=e.input.charCodeAt(++e.position);if(!o&&e.lineIndent>l&&(l=e.lineIndent),_A(u))c++;else{if(e.lineIndent<l){s===gE?e.result+=B9.repeat(`
`,a?1+c:c):s===dE&&a&&(e.result+=` `,a?1+c:c):s===dE&&a&&(e.result+=`
`);break}for(n?AA(u)?(h=!0,e.result+=B9.repeat(` `);break}for(n?AA(u)?(h=!0,e.result+=B9.repeat(`
`,a?1+c:c)):h?(h=!1,e.result+=B9.repeat(` `,a?1+c:c)):h?(h=!1,e.result+=B9.repeat(`
`,c+1)):0===c?a&&(e.result+=" "):e.result+=B9.repeat(` `,c+1)):0===c?a&&(e.result+=" "):e.result+=B9.repeat(`
`,c):e.result+=B9.repeat(` `,c):e.result+=B9.repeat(`
`,a?1+c:c),o=a=!0,c=0,i=e.position;!_A(u)&&0!==u;)u=e.input.charCodeAt(++e.position);FA(e,i,e.position,!1)}}return!0}function ZA(e,t){var i,n,r=e.tag,s=e.anchor,a=[],o=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),n=e.input.charCodeAt(e.position);0!==n&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,PA(e,"tab characters must not be used in indentation")),45===n)&&EA(e.input.charCodeAt(e.position+1));)if(o=!0,e.position++,UA(e,!0,-1)&&e.lineIndent<=t)a.push(null),n=e.input.charCodeAt(e.position);else if(i=e.line,i9(e,t,hE,!1,!0),a.push(e.result),UA(e,!0,-1),n=e.input.charCodeAt(e.position),(e.line===i||e.lineIndent>t)&&0!==n)PA(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return!!o&&(e.tag=r,e.anchor=s,e.kind="sequence",e.result=a,!0)}function QA(e,t,i){var n,r,s,a,o,l,c,h=e.tag,u=e.anchor,d={},p=Object.create(null),g=null,f=null,m=null,y=!1,b=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=d),c=e.input.charCodeAt(e.position);0!==c;){if(y||-1===e.firstTabInLine||(e.position=e.firstTabInLine,PA(e,"tab characters must not be used in indentation")),n=e.input.charCodeAt(e.position+1),s=e.line,63!==c&&58!==c||!EA(n)){if(a=e.line,o=e.lineStart,l=e.position,!i9(e,i,cE,!1,!0))break;if(e.line===s){for(c=e.input.charCodeAt(e.position);AA(c);)c=e.input.charCodeAt(++e.position);if(58===c)EA(c=e.input.charCodeAt(++e.position))||PA(e,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(zA(e,d,p,g,f,null,a,o,l),g=f=m=null),r=y=!(b=!0),g=e.tag,f=e.result;else{if(!b)return e.tag=h,e.anchor=u,!0;PA(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!b)return e.tag=h,e.anchor=u,!0;PA(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===c?(y&&(zA(e,d,p,g,f,null,a,o,l),g=f=m=null),r=y=b=!0):y?r=!(y=!1):PA(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,c=n;if((e.line===s||e.lineIndent>t)&&(y&&(a=e.line,o=e.lineStart,l=e.position),i9(e,t,uE,!0,r)&&(y?f=e.result:m=e.result),y||(zA(e,d,p,g,f,m,a,o,l),g=f=m=null),UA(e,!0,-1),c=e.input.charCodeAt(e.position)),(e.line===s||e.lineIndent>t)&&0!==c)PA(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return y&&zA(e,d,p,g,f,null,a,o,l),b&&(e.tag=h,e.anchor=u,e.kind="mapping",e.result=d),b}function JA(e){var t,i,n,r=!1,s=!1,a=e.input.charCodeAt(e.position);if(33!==a)return!1;if(null!==e.tag&&PA(e,"duplication of a tag property"),60===(a=e.input.charCodeAt(++e.position))?(r=!0,a=e.input.charCodeAt(++e.position)):33===a?(s=!0,i="!!",a=e.input.charCodeAt(++e.position)):i="!",t=e.position,r){for(;0!==(a=e.input.charCodeAt(++e.position))&&62!==a;);e.position<e.length?(n=e.input.slice(t,e.position),a=e.input.charCodeAt(++e.position)):PA(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==a&&!EA(a);)33===a&&(s?PA(e,"tag suffix cannot contain exclamation marks"):(i=e.input.slice(t-1,e.position+1),bE.test(i)||PA(e,"named tag handle cannot contain such characters"),s=!0,t=e.position+1)),a=e.input.charCodeAt(++e.position);n=e.input.slice(t,e.position),yE.test(n)&&PA(e,"tag suffix cannot contain flow indicator characters")}n&&!vE.test(n)&&PA(e,"tag name cannot contain such characters: "+n);try{n=decodeURIComponent(n)}catch{PA(e,"tag name is malformed: "+n)}return r?e.tag=n:oE.call(e.tagMap,i)?e.tag=e.tagMap[i]+n:"!"===i?e.tag="!"+n:"!!"===i?e.tag="tag:yaml.org,2002:"+n:PA(e,'undeclared tag handle "'+i+'"'),!0}function e9(e){var t,i=e.input.charCodeAt(e.position);if(38!==i)return!1;for(null!==e.anchor&&PA(e,"duplication of an anchor property"),i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!EA(i)&&!$A(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&PA(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function t9(e){var t,i=e.input.charCodeAt(e.position);if(42!==i)return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!EA(i)&&!$A(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&PA(e,"name of an alias node must contain at least one character"),t=e.input.slice(t,e.position),oE.call(e.anchorMap,t)||PA(e,'unidentified alias "'+t+'"'),e.result=e.anchorMap[t],UA(e,!0,-1),!0}function i9(e,t,i,n,r){var s,a,o,l,c,h,u,d=1,p=!1,g=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,s=a=o=uE===i||hE===i,n&&UA(e,!0,-1)&&(p=!0,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)),1===d)for(;JA(e)||e9(e);)UA(e,!0,-1)?(p=!0,o=s,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)):o=!1;if(o=o&&(p||r),1!==d&&uE!==i||(n=lE===i||cE===i?t:t+1,r=e.position-e.lineStart,1===d?o&&(ZA(e,r)||QA(e,r,n))||XA(e,n)?g=!0:(a&&KA(e,n)||VA(e,n)||YA(e,n)?g=!0:t9(e)?(g=!0,null===e.tag&&null===e.anchor||PA(e,"alias node should not have any properties")):GA(e,n,lE===i)&& Line truncated `,a?1+c:c),o=a=!0,c=0,i=e.position;!_A(u)&&0!==u;)u=e.input.charCodeAt(++e.position);FA(e,i,e.position,!1)}}return!0}function ZA(e,t){var i,n,r=e.tag,s=e.anchor,a=[],o=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),n=e.input.charCodeAt(e.position);0!==n&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,PA(e,"tab characters must not be used in indentation")),45===n)&&EA(e.input.charCodeAt(e.position+1));)if(o=!0,e.position++,HA(e,!0,-1)&&e.lineIndent<=t)a.push(null),n=e.input.charCodeAt(e.position);else if(i=e.line,i9(e,t,hE,!1,!0),a.push(e.result),HA(e,!0,-1),n=e.input.charCodeAt(e.position),(e.line===i||e.lineIndent>t)&&0!==n)PA(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return!!o&&(e.tag=r,e.anchor=s,e.kind="sequence",e.result=a,!0)}function QA(e,t,i){var n,r,s,a,o,l,c,h=e.tag,u=e.anchor,d={},p=Object.create(null),g=null,f=null,m=null,y=!1,b=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=d),c=e.input.charCodeAt(e.position);0!==c;){if(y||-1===e.firstTabInLine||(e.position=e.firstTabInLine,PA(e,"tab characters must not be used in indentation")),n=e.input.charCodeAt(e.position+1),s=e.line,63!==c&&58!==c||!EA(n)){if(a=e.line,o=e.lineStart,l=e.position,!i9(e,i,cE,!1,!0))break;if(e.line===s){for(c=e.input.charCodeAt(e.position);AA(c);)c=e.input.charCodeAt(++e.position);if(58===c)EA(c=e.input.charCodeAt(++e.position))||PA(e,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(zA(e,d,p,g,f,null,a,o,l),g=f=m=null),r=y=!(b=!0),g=e.tag,f=e.result;else{if(!b)return e.tag=h,e.anchor=u,!0;PA(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!b)return e.tag=h,e.anchor=u,!0;PA(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===c?(y&&(zA(e,d,p,g,f,null,a,o,l),g=f=m=null),r=y=b=!0):y?r=!(y=!1):PA(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,c=n;if((e.line===s||e.lineIndent>t)&&(y&&(a=e.line,o=e.lineStart,l=e.position),i9(e,t,uE,!0,r)&&(y?f=e.result:m=e.result),y||(zA(e,d,p,g,f,m,a,o,l),g=f=m=null),HA(e,!0,-1),c=e.input.charCodeAt(e.position)),(e.line===s||e.lineIndent>t)&&0!==c)PA(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return y&&zA(e,d,p,g,f,null,a,o,l),b&&(e.tag=h,e.anchor=u,e.kind="mapping",e.result=d),b}function JA(e){var t,i,n,r=!1,s=!1,a=e.input.charCodeAt(e.position);if(33!==a)return!1;if(null!==e.tag&&PA(e,"duplication of a tag property"),60===(a=e.input.charCodeAt(++e.position))?(r=!0,a=e.input.charCodeAt(++e.position)):33===a?(s=!0,i="!!",a=e.input.charCodeAt(++e.position)):i="!",t=e.position,r){for(;0!==(a=e.input.charCodeAt(++e.position))&&62!==a;);e.position<e.length?(n=e.input.slice(t,e.position),a=e.input.charCodeAt(++e.position)):PA(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==a&&!EA(a);)33===a&&(s?PA(e,"tag suffix cannot contain exclamation marks"):(i=e.input.slice(t-1,e.position+1),bE.test(i)||PA(e,"named tag handle cannot contain such characters"),s=!0,t=e.position+1)),a=e.input.charCodeAt(++e.position);n=e.input.slice(t,e.position),yE.test(n)&&PA(e,"tag suffix cannot contain flow indicator characters")}n&&!vE.test(n)&&PA(e,"tag name cannot contain such characters: "+n);try{n=decodeURIComponent(n)}catch{PA(e,"tag name is malformed: "+n)}return r?e.tag=n:oE.call(e.tagMap,i)?e.tag=e.tagMap[i]+n:"!"===i?e.tag="!"+n:"!!"===i?e.tag="tag:yaml.org,2002:"+n:PA(e,'undeclared tag handle "'+i+'"'),!0}function e9(e){var t,i=e.input.charCodeAt(e.position);if(38!==i)return!1;for(null!==e.anchor&&PA(e,"duplication of an anchor property"),i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!EA(i)&&!$A(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&PA(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function t9(e){var t,i=e.input.charCodeAt(e.position);if(42!==i)return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!EA(i)&&!$A(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&PA(e,"name of an alias node must contain at least one character"),t=e.input.slice(t,e.position),oE.call(e.anchorMap,t)||PA(e,'unidentified alias "'+t+'"'),e.result=e.anchorMap[t],HA(e,!0,-1),!0}function i9(e,t,i,n,r){var s,a,o,l,c,h,u,d=1,p=!1,g=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,s=a=o=uE===i||hE===i,n&&HA(e,!0,-1)&&(p=!0,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)),1===d)for(;JA(e)||e9(e);)HA(e,!0,-1)?(p=!0,o=s,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)):o=!1;if(o=o&&(p||r),1!==d&&uE!==i||(n=lE===i||cE===i?t:t+1,r=e.position-e.lineStart,1===d?o&&(ZA(e,r)||QA(e,r,n))||XA(e,n)?g=!0:(a&&KA(e,n)||VA(e,n)||YA(e,n)?g=!0:t9(e)?(g=!0,null===e.tag&&null===e.anchor||PA(e,"alias node should not have any properties")):GA(e,n,lE===i)&& Line truncated
`),65279===e.charCodeAt(0))?e.slice(1):e,t),t=e.indexOf("\0");for(-1!==t&&(i.position=t,PA(i,"null byte is not allowed in input")),i.input+="\0";32===i.input.charCodeAt(i.position);)i.lineIndent+=1,i.position+=1;for(;i.position<i.length-1;)n9(i);return i.documents}function s9(e,t,i){null!==t&&"object"==typeof t&&"u"<typeof i&&(i=t,t=null);var n=r9(e,i);if("function"!=typeof t)return n;for(var r=0,s=n.length;r<s;r+=1)t(n[r])}function a9(e,t){e=r9(e,t);if(0!==e.length){if(1===e.length)return e[0];throw new F9("expected a single document in the stream, but found more")}}function o9(e,t){var i,n,r,s,a,o,l;if(null===t)return{};for(i={},r=0,s=(n=Object.keys(t)).length;r<s;r+=1)a=n[r],o=String(t[a]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),(l=e.compiledTypeMap.fallback[a])&&_E.call(l.styleAliases,o)&&(o=l.styleAliases[o]),i[a]=o;return i}function l9(e){var t,i,n=e.toString(16).toUpperCase();if(e<=255)t="x",i=2;else if(e<=65535)t="u",i=4;else{if(!(e<=4294967295))throw new F9("code point within a string may not be greater than 0xFFFFFFFF");t="U",i=8}return"\\"+t+B9.repeat("0",i-n.length)+n}function c9(e){this.schema=e.schema||aE,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=B9.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=o9(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType='"'===e.quotingType?ME:1,this.forceQuotes=e.forceQuotes||!1,this.replacer="function"==typeof e.replacer?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function h9(e,t){for(var i,n,r=B9.repeat(" ",t),s=0,a="",o=e.length;s<o;)s=-1===(i=e.indexOf(` `),65279===e.charCodeAt(0))?e.slice(1):e,t),t=e.indexOf("\0");for(-1!==t&&(i.position=t,PA(i,"null byte is not allowed in input")),i.input+="\0";32===i.input.charCodeAt(i.position);)i.lineIndent+=1,i.position+=1;for(;i.position<i.length-1;)n9(i);return i.documents}function s9(e,t,i){null!==t&&"object"==typeof t&&"u"<typeof i&&(i=t,t=null);var n=r9(e,i);if("function"!=typeof t)return n;for(var r=0,s=n.length;r<s;r+=1)t(n[r])}function a9(e,t){e=r9(e,t);if(0!==e.length){if(1===e.length)return e[0];throw new F9("expected a single document in the stream, but found more")}}function o9(e,t){var i,n,r,s,a,o,l;if(null===t)return{};for(i={},r=0,s=(n=Object.keys(t)).length;r<s;r+=1)a=n[r],o=String(t[a]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),(l=e.compiledTypeMap.fallback[a])&&_E.call(l.styleAliases,o)&&(o=l.styleAliases[o]),i[a]=o;return i}function l9(e){var t,i,n=e.toString(16).toUpperCase();if(e<=255)t="x",i=2;else if(e<=65535)t="u",i=4;else{if(!(e<=4294967295))throw new F9("code point within a string may not be greater than 0xFFFFFFFF");t="U",i=8}return"\\"+t+B9.repeat("0",i-n.length)+n}function c9(e){this.schema=e.schema||aE,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=B9.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=o9(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType='"'===e.quotingType?ME:1,this.forceQuotes=e.forceQuotes||!1,this.replacer="function"==typeof e.replacer?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function h9(e,t){for(var i,n,r=B9.repeat(" ",t),s=0,a="",o=e.length;s<o;)s=-1===(i=e.indexOf(`
`,s))?(n=e.slice(s),o):(n=e.slice(s,i+1),i+1),n.length&&n!==` `,s))?(n=e.slice(s),o):(n=e.slice(s,i+1),i+1),n.length&&n!==`
`&&(a+=r),a+=n;return a}function u9(e,t){return` `&&(a+=r),a+=n;return a}function u9(e,t){return`
@@ -387,11 +387,11 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
`+e.slice(s,i=s<a?a:n),s=i+1),a=n;return o+=` `+e.slice(s,i=s<a?a:n),s=i+1),a=n;return o+=`
`,e.length-s>t&&s<a?o+=e.slice(s,a)+` `,e.length-s>t&&s<a?o+=e.slice(s,a)+`
`+e.slice(a+1):o+=e.slice(s),o.slice(1)}function A9(e){for(var t,i,n="",r=0;r<e.length;65536<=t?r+=2:r++)t=v9(e,r),!(i=$E[t])&&g9(t)?(n+=e[r],65536<=t&&(n+=e[r+1])):n+=i||l9(t);return n}function E9(e,t,i){for(var n,r="",s=e.tag,a=0,o=i.length;a<o;a+=1)n=i[a],e.replacer&&(n=e.replacer.call(i,String(a),n)),(I9(e,t,n,!1,!1)||"u"<typeof n&&I9(e,t,null,!1,!1))&&(""!==r&&(r+=","+(e.condenseFlow?"":" ")),r+=e.dump);e.tag=s,e.dump="["+r+"]"}function $9(e,t,i,n){for(var r,s="",a=e.tag,o=0,l=i.length;o<l;o+=1)r=i[o],e.replacer&&(r=e.replacer.call(i,String(o),r)),(I9(e,t+1,r,!0,!0,!1,!0)||"u"<typeof r&&I9(e,t+1,null,!0,!0,!1,!0))&&(n&&""===s||(s+=u9(e,t)),e.dump&&EE===e.dump.charCodeAt(0)?s+="-":s+="- ",s+=e.dump);e.tag=a,e.dump=s||"[]"}function L9(e,t,i){for(var n,r,s,a="",o=e.tag,l=Object.keys(i),c=0,h=l.length;c<h;c+=1)(s="")!==a&&(s+=", "),e.condenseFlow&&(s+='"'),r=i[n=l[c]],e.replacer&&(r=e.replacer.call(i,n,r)),I9(e,t,n,!1,!1)&&(1024<e.dump.length&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),I9(e,t,r,!1,!1))&&(a+=s+=e.dump);e.tag=o,e.dump="{"+a+"}"}function R9(e,t,i,n){var r,s,a,o,l,c="",h=e.tag,u=Object.keys(i);if(!0===e.sortKeys)u.sort();else if("function"==typeof e.sortKeys)u.sort(e.sortKeys);else if(e.sortKeys)throw new F9("sortKeys must be a boolean or a function");for(r=0,s=u.length;r<s;r+=1)l="",n&&""===c||(l+=u9(e,t)),a=i[o=u[r]],e.replacer&&(a=e.replacer.call(i,o,a)),I9(e,t+1,o,!0,!0,!0)&&((o=null!==e.tag&&"?"!==e.tag||e.dump&&1024<e.dump.length)&&(e.dump&&EE===e.dump.charCodeAt(0)?l+="?":l+="? "),l+=e.dump,o&&(l+=u9(e,t)),I9(e,t+1,a,!0,o))&&(e.dump&&EE===e.dump.charCodeAt(0)?l+=":":l+=": ",c+=l+=e.dump);e.tag=h,e.dump=c||"{}"}function M9(e,t,i){for(var n,r,s,a=i?e.explicitTypes:e.implicitTypes,o=0,l=a.length;o<l;o+=1)if(((r=a[o]).instanceOf||r.predicate)&&(!r.instanceOf||"object"==typeof t&&t instanceof r.instanceOf)&&(!r.predicate||r.predicate(t))){if(i?r.multi&&r.representName?e.tag=r.representName(t):e.tag=r.tag:e.tag="?",r.represent){if(s=e.styleMap[r.tag]||r.defaultStyle,"[object Function]"===CE.call(r.represent))n=r.represent(t,s);else{if(!_E.call(r.represent,s))throw new F9("!<"+r.tag+'> tag resolver accepts not "'+s+'" style');n=r.represent[s](t,s)}e.dump=n}return!0}return!1}function I9(e,t,i,n,r,s,a){e.tag=null,e.dump=i,M9(e,i,!1)||M9(e,i,!0);var o,l,c=CE.call(e.dump),h=n,u=(n=n&&(e.flowLevel<0||e.flowLevel>t),"[object Object]"===c||"[object Array]"===c);if(u&&(l=-1!==(o=e.duplicates.indexOf(i))),(null!==e.tag&&"?"!==e.tag||l||2!==e.indent&&0<t)&&(r=!1),l&&e.usedDuplicates[o])e.dump="*ref_"+o;else{if(u&&l&&!e.usedDuplicates[o]&&(e.usedDuplicates[o]=!0),"[object Object]"===c)n&&0!==Object.keys(e.dump).length?(R9(e,t,e.dump,r),l&&(e.dump="&ref_"+o+e.dump)):(L9(e,t,e.dump),l&&(e.dump="&ref_"+o+" "+e.dump));else if("[object Array]"===c)n&&0!==e.dump.length?(e.noArrayIndent&&!a&&0<t?$9(e,t-1,e.dump,r):$9(e,t,e.dump,r),l&&(e.dump="&ref_"+o+e.dump)):(E9(e,t,e.dump),l&&(e.dump="&ref_"+o+" "+e.dump));else{if("[object String]"!==c){if("[object Undefined]"===c)return!1;if(e.skipInvalid)return!1;throw new F9("unacceptable kind of an object to dump "+c)}"?"!==e.tag&&k9(e,e.dump,t,s,h)}null!==e.tag&&"?"!==e.tag&&(i=encodeURI("!"===e.tag[0]?e.tag.slice(1):e.tag).replace(/!/g,"%21"),i="!"===e.tag[0]?"!"+i:"tag:yaml.org,2002:"===i.slice(0,18)?"!!"+i.slice(18):"!<"+i+">",e.dump=i+" "+e.dump)}return!0}function N9(e,t){var i,n,r=[],s=[];for(D9(e,r,s),i=0,n=s.length;i<n;i+=1)t.duplicates.push(r[s[i]]);t.usedDuplicates=new Array(n)}function D9(e,t,i){var n,r,s;if(null!==e&&"object"==typeof e)if(-1!==(r=t.indexOf(e)))-1===i.indexOf(r)&&i.push(r);else if(t.push(e),Array.isArray(e))for(r=0,s=e.length;r<s;r+=1)D9(e[r],t,i);else for(r=0,s=(n=Object.keys(e)).length;r<s;r+=1)D9(e[n[r]],t,i)}function O9(e,t){t=new c9(t=t||{}),t.noRefs||N9(e,t);return t.replacer&&(e=t.replacer.call({"":e},"",e)),I9(t,0,e,!0,!0)?t.dump+` `+e.slice(a+1):o+=e.slice(s),o.slice(1)}function A9(e){for(var t,i,n="",r=0;r<e.length;65536<=t?r+=2:r++)t=v9(e,r),!(i=$E[t])&&g9(t)?(n+=e[r],65536<=t&&(n+=e[r+1])):n+=i||l9(t);return n}function E9(e,t,i){for(var n,r="",s=e.tag,a=0,o=i.length;a<o;a+=1)n=i[a],e.replacer&&(n=e.replacer.call(i,String(a),n)),(I9(e,t,n,!1,!1)||"u"<typeof n&&I9(e,t,null,!1,!1))&&(""!==r&&(r+=","+(e.condenseFlow?"":" ")),r+=e.dump);e.tag=s,e.dump="["+r+"]"}function $9(e,t,i,n){for(var r,s="",a=e.tag,o=0,l=i.length;o<l;o+=1)r=i[o],e.replacer&&(r=e.replacer.call(i,String(o),r)),(I9(e,t+1,r,!0,!0,!1,!0)||"u"<typeof r&&I9(e,t+1,null,!0,!0,!1,!0))&&(n&&""===s||(s+=u9(e,t)),e.dump&&EE===e.dump.charCodeAt(0)?s+="-":s+="- ",s+=e.dump);e.tag=a,e.dump=s||"[]"}function L9(e,t,i){for(var n,r,s,a="",o=e.tag,l=Object.keys(i),c=0,h=l.length;c<h;c+=1)(s="")!==a&&(s+=", "),e.condenseFlow&&(s+='"'),r=i[n=l[c]],e.replacer&&(r=e.replacer.call(i,n,r)),I9(e,t,n,!1,!1)&&(1024<e.dump.length&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),I9(e,t,r,!1,!1))&&(a+=s+=e.dump);e.tag=o,e.dump="{"+a+"}"}function R9(e,t,i,n){var r,s,a,o,l,c="",h=e.tag,u=Object.keys(i);if(!0===e.sortKeys)u.sort();else if("function"==typeof e.sortKeys)u.sort(e.sortKeys);else if(e.sortKeys)throw new F9("sortKeys must be a boolean or a function");for(r=0,s=u.length;r<s;r+=1)l="",n&&""===c||(l+=u9(e,t)),a=i[o=u[r]],e.replacer&&(a=e.replacer.call(i,o,a)),I9(e,t+1,o,!0,!0,!0)&&((o=null!==e.tag&&"?"!==e.tag||e.dump&&1024<e.dump.length)&&(e.dump&&EE===e.dump.charCodeAt(0)?l+="?":l+="? "),l+=e.dump,o&&(l+=u9(e,t)),I9(e,t+1,a,!0,o))&&(e.dump&&EE===e.dump.charCodeAt(0)?l+=":":l+=": ",c+=l+=e.dump);e.tag=h,e.dump=c||"{}"}function M9(e,t,i){for(var n,r,s,a=i?e.explicitTypes:e.implicitTypes,o=0,l=a.length;o<l;o+=1)if(((r=a[o]).instanceOf||r.predicate)&&(!r.instanceOf||"object"==typeof t&&t instanceof r.instanceOf)&&(!r.predicate||r.predicate(t))){if(i?r.multi&&r.representName?e.tag=r.representName(t):e.tag=r.tag:e.tag="?",r.represent){if(s=e.styleMap[r.tag]||r.defaultStyle,"[object Function]"===CE.call(r.represent))n=r.represent(t,s);else{if(!_E.call(r.represent,s))throw new F9("!<"+r.tag+'> tag resolver accepts not "'+s+'" style');n=r.represent[s](t,s)}e.dump=n}return!0}return!1}function I9(e,t,i,n,r,s,a){e.tag=null,e.dump=i,M9(e,i,!1)||M9(e,i,!0);var o,l,c=CE.call(e.dump),h=n,u=(n=n&&(e.flowLevel<0||e.flowLevel>t),"[object Object]"===c||"[object Array]"===c);if(u&&(l=-1!==(o=e.duplicates.indexOf(i))),(null!==e.tag&&"?"!==e.tag||l||2!==e.indent&&0<t)&&(r=!1),l&&e.usedDuplicates[o])e.dump="*ref_"+o;else{if(u&&l&&!e.usedDuplicates[o]&&(e.usedDuplicates[o]=!0),"[object Object]"===c)n&&0!==Object.keys(e.dump).length?(R9(e,t,e.dump,r),l&&(e.dump="&ref_"+o+e.dump)):(L9(e,t,e.dump),l&&(e.dump="&ref_"+o+" "+e.dump));else if("[object Array]"===c)n&&0!==e.dump.length?(e.noArrayIndent&&!a&&0<t?$9(e,t-1,e.dump,r):$9(e,t,e.dump,r),l&&(e.dump="&ref_"+o+e.dump)):(E9(e,t,e.dump),l&&(e.dump="&ref_"+o+" "+e.dump));else{if("[object String]"!==c){if("[object Undefined]"===c)return!1;if(e.skipInvalid)return!1;throw new F9("unacceptable kind of an object to dump "+c)}"?"!==e.tag&&k9(e,e.dump,t,s,h)}null!==e.tag&&"?"!==e.tag&&(i=encodeURI("!"===e.tag[0]?e.tag.slice(1):e.tag).replace(/!/g,"%21"),i="!"===e.tag[0]?"!"+i:"tag:yaml.org,2002:"===i.slice(0,18)?"!!"+i.slice(18):"!<"+i+">",e.dump=i+" "+e.dump)}return!0}function N9(e,t){var i,n,r=[],s=[];for(D9(e,r,s),i=0,n=s.length;i<n;i+=1)t.duplicates.push(r[s[i]]);t.usedDuplicates=new Array(n)}function D9(e,t,i){var n,r,s;if(null!==e&&"object"==typeof e)if(-1!==(r=t.indexOf(e)))-1===i.indexOf(r)&&i.push(r);else if(t.push(e),Array.isArray(e))for(r=0,s=e.length;r<s;r+=1)D9(e[r],t,i);else for(r=0,s=(n=Object.keys(e)).length;r<s;r+=1)D9(e[n[r]],t,i)}function O9(e,t){t=new c9(t=t||{}),t.noRefs||N9(e,t);return t.replacer&&(e=t.replacer.call({"":e},"",e)),I9(t,0,e,!0,!0)?t.dump+`
`:""}function P9(e,t){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+t+" instead, which is now safe by default.")}}var B9,F9,j9,z9,H9,U9,q9,W9,G9,V9,Y9,X9,K9,Z9,Q9,J9,eE,tE,iE,nE,rE,sE,aE,oE,lE,cE,hE,uE,dE,pE,gE,fE,mE,yE,bE,vE,xE,wE,kE,TE,SE,CE,_E,AE,EE,$E,LE,RE,ME,IE,NE,DE,OE,PE,BE,FE,jE=e(()=>{"use strict";for(mt(I_,"isNothing"),mt(N_,"isObject"),mt(D_,"toArray"),mt(O_,"extend"),mt(P_,"repeat"),mt(B_,"isNegativeZero"),B9={isNothing:I_,isObject:N_,toArray:D_,repeat:P_,isNegativeZero:B_,extend:O_},mt(F_,"formatError"),mt(j_,"YAMLException$1"),((j_.prototype=Object.create(Error.prototype)).constructor=j_).prototype.toString=mt(function(e){return this.name+": "+F_(this,e)},"toString"),F9=j_,mt(z_,"getLine"),mt(H_,"padStart"),mt(U_,"makeSnippet"),j9=U_,z9=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],H9=["scalar","sequence","mapping"],mt(q_,"compileStyleAliases"),mt(W_,"Type$1"),U9=W_,mt(G_,"compileList"),mt(V_,"compileMap"),mt(Y_,"Schema$1"),Y_.prototype.extend=mt(function(e){var t=[],i=[];if(e instanceof U9)i.push(e);else if(Array.isArray(e))i=i.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new F9("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(i=i.concat(e.explicit))}t.forEach(function(e){if(!(e instanceof U9))throw new F9("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new F9("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new F9("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),i.forEach(function(e){if(!(e instanceof U9))throw new F9("Specified list of YAML types (or a single Type object) contains a non-Type object.")});e=Object.create(Y_.prototype);return e.implicit=(this.implicit||[]).concat(t),e.explicit=(this.explicit||[]).concat(i),e.compiledImplicit=G_(e,"implicit"),e.compiledExplicit=G_(e,"explicit"),e.compiledTypeMap=V_(e.compiledImplicit,e.compiledExplicit),e},"extend"),G9=Y_,SE=new U9("tag:yaml.org,2002:str",{kind:"scalar",construct:mt(function(e){return null!==e?e:""},"construct")}),X9=new U9("tag:yaml.org,2002:seq",{kind:"sequence",construct:mt(function(e){return null!==e?e:[]},"construct")}),K9=new U9("tag:yaml.org,2002:map",{kind:"mapping",construct:mt(function(e){return null!==e?e:{}},"construct")}),G9=new G9({explicit:[SE,X9,K9]}),mt(X_,"resolveYamlNull"),mt(K_,"constructYamlNull"),mt(Z_,"isNull"),SE=new U9("tag:yaml.org,2002:null",{kind:"scalar",resolve:X_,construct:K_,predicate:Z_,represent:{canonical:mt(function(){return"~"},"canonical"),lowercase:mt(function(){return"null"},"lowercase"),uppercase:mt(function(){return"NULL"},"uppercase"),camelcase:mt(function(){return"Null"},"camelcase"),empty:mt(function(){return""},"empty")},defaultStyle:"lowercase"}),mt(Q_,"resolveYamlBoolean"),mt(J_,"constructYamlBoolean"),mt(eA,"isBoolean"),X9=new U9("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Q_,construct:J_,predicate:eA,represent:{lowercase:mt(function(e){return e?"true":"false"},"lowercase"),uppercase:mt(function(e){return e?"TRUE":"FALSE"},"uppercase"),camelcase:mt(function(e){return e?"True":"False"},"camelcase")},defaultStyle:"lowercase"}),mt(tA,"isHexCode"),mt(iA,"isOctCode"),mt(nA,"isDecCode"),mt(rA,"resolveYamlInteger"),mt(sA,"constructYamlInteger"),mt(aA,"isInteger"),K9=new U9("tag:yaml.org,2002:int",{kind:"scalar",resolve:rA,construct:sA,predicate:aA,represent:{binary:mt(function(e){return 0<=e?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},"binary"),octal:mt(function(e){return 0<=e?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},"octal"),decimal:mt(function(e){return e.toString(10)},"decimal"),hexadecimal:mt(function(e){return 0<=e?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),q9=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),mt(oA,"resolveYamlFloat"),mt(lA,"constructYamlFloat"),W9=/^[-+]?[0-9]+e/,mt(cA,"representYamlFloat"),mt(hA,"isFloat"),Q9=new U9("tag:yaml.org,2002:float",{kind:"scalar",resolve:oA,construct:lA,predicate:hA,represent:cA,defaultStyle:"lowercase"}),G9=G9.extend({implicit:[SE,X9,K9,Q9]}),SE=G9,V9=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Y9=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),mt(uA,"resolveYamlTimestamp"),mt(dA,"constructYamlTimestamp"),mt Line truncated `:""}function P9(e,t){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+t+" instead, which is now safe by default.")}}var B9,F9,j9,z9,U9,H9,q9,W9,G9,V9,Y9,X9,K9,Z9,Q9,J9,eE,tE,iE,nE,rE,sE,aE,oE,lE,cE,hE,uE,dE,pE,gE,fE,mE,yE,bE,vE,xE,wE,kE,TE,SE,CE,_E,AE,EE,$E,LE,RE,ME,IE,NE,DE,OE,PE,BE,FE,jE=e(()=>{"use strict";for(mt(I_,"isNothing"),mt(N_,"isObject"),mt(D_,"toArray"),mt(O_,"extend"),mt(P_,"repeat"),mt(B_,"isNegativeZero"),B9={isNothing:I_,isObject:N_,toArray:D_,repeat:P_,isNegativeZero:B_,extend:O_},mt(F_,"formatError"),mt(j_,"YAMLException$1"),((j_.prototype=Object.create(Error.prototype)).constructor=j_).prototype.toString=mt(function(e){return this.name+": "+F_(this,e)},"toString"),F9=j_,mt(z_,"getLine"),mt(U_,"padStart"),mt(H_,"makeSnippet"),j9=H_,z9=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],U9=["scalar","sequence","mapping"],mt(q_,"compileStyleAliases"),mt(W_,"Type$1"),H9=W_,mt(G_,"compileList"),mt(V_,"compileMap"),mt(Y_,"Schema$1"),Y_.prototype.extend=mt(function(e){var t=[],i=[];if(e instanceof H9)i.push(e);else if(Array.isArray(e))i=i.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new F9("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(i=i.concat(e.explicit))}t.forEach(function(e){if(!(e instanceof H9))throw new F9("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new F9("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new F9("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),i.forEach(function(e){if(!(e instanceof H9))throw new F9("Specified list of YAML types (or a single Type object) contains a non-Type object.")});e=Object.create(Y_.prototype);return e.implicit=(this.implicit||[]).concat(t),e.explicit=(this.explicit||[]).concat(i),e.compiledImplicit=G_(e,"implicit"),e.compiledExplicit=G_(e,"explicit"),e.compiledTypeMap=V_(e.compiledImplicit,e.compiledExplicit),e},"extend"),G9=Y_,SE=new H9("tag:yaml.org,2002:str",{kind:"scalar",construct:mt(function(e){return null!==e?e:""},"construct")}),X9=new H9("tag:yaml.org,2002:seq",{kind:"sequence",construct:mt(function(e){return null!==e?e:[]},"construct")}),K9=new H9("tag:yaml.org,2002:map",{kind:"mapping",construct:mt(function(e){return null!==e?e:{}},"construct")}),G9=new G9({explicit:[SE,X9,K9]}),mt(X_,"resolveYamlNull"),mt(K_,"constructYamlNull"),mt(Z_,"isNull"),SE=new H9("tag:yaml.org,2002:null",{kind:"scalar",resolve:X_,construct:K_,predicate:Z_,represent:{canonical:mt(function(){return"~"},"canonical"),lowercase:mt(function(){return"null"},"lowercase"),uppercase:mt(function(){return"NULL"},"uppercase"),camelcase:mt(function(){return"Null"},"camelcase"),empty:mt(function(){return""},"empty")},defaultStyle:"lowercase"}),mt(Q_,"resolveYamlBoolean"),mt(J_,"constructYamlBoolean"),mt(eA,"isBoolean"),X9=new H9("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Q_,construct:J_,predicate:eA,represent:{lowercase:mt(function(e){return e?"true":"false"},"lowercase"),uppercase:mt(function(e){return e?"TRUE":"FALSE"},"uppercase"),camelcase:mt(function(e){return e?"True":"False"},"camelcase")},defaultStyle:"lowercase"}),mt(tA,"isHexCode"),mt(iA,"isOctCode"),mt(nA,"isDecCode"),mt(rA,"resolveYamlInteger"),mt(sA,"constructYamlInteger"),mt(aA,"isInteger"),K9=new H9("tag:yaml.org,2002:int",{kind:"scalar",resolve:rA,construct:sA,predicate:aA,represent:{binary:mt(function(e){return 0<=e?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},"binary"),octal:mt(function(e){return 0<=e?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},"octal"),decimal:mt(function(e){return e.toString(10)},"decimal"),hexadecimal:mt(function(e){return 0<=e?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),q9=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),mt(oA,"resolveYamlFloat"),mt(lA,"constructYamlFloat"),W9=/^[-+]?[0-9]+e/,mt(cA,"representYamlFloat"),mt(hA,"isFloat"),Q9=new H9("tag:yaml.org,2002:float",{kind:"scalar",resolve:oA,construct:lA,predicate:hA,represent:cA,defaultStyle:"lowercase"}),G9=G9.extend({implicit:[SE,X9,K9,Q9]}),SE=G9,V9=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Y9=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),mt(uA,"resolveYamlTimestamp"),mt(dA,"constructYamlTimestamp"),mt Line truncated
\r`,mt(fA,"resolveYamlBinary"),mt(mA,"constructYamlBinary"),mt(yA,"representYamlBinary"),mt(bA,"isBinary"),Q9=new U9("tag:yaml.org,2002:binary",{kind:"scalar",resolve:fA,construct:mA,predicate:bA,represent:yA}),J9=Object.prototype.hasOwnProperty,eE=Object.prototype.toString,mt(vA,"resolveYamlOmap"),mt(xA,"constructYamlOmap"),tE=new U9("tag:yaml.org,2002:omap",{kind:"sequence",resolve:vA,construct:xA}),iE=Object.prototype.toString,mt(wA,"resolveYamlPairs"),mt(kA,"constructYamlPairs"),nE=new U9("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:wA,construct:kA}),rE=Object.prototype.hasOwnProperty,mt(TA,"resolveYamlSet"),mt(SA,"constructYamlSet"),sE=new U9("tag:yaml.org,2002:set",{kind:"mapping",resolve:TA,construct:SA}),aE=SE.extend({implicit:[X9,K9],explicit:[Q9,tE,nE,sE]}),oE=Object.prototype.hasOwnProperty,uE=4,dE=lE=1,pE=cE=2,gE=hE=3,fE=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,mE=/[\x85\u2028\u2029]/,yE=/[,\[\]\{\}]/,bE=/^(?:!|!!|![a-z\-]+!)$/i,vE=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i,mt(CA,"_class"),mt(_A,"is_EOL"),mt(AA,"is_WHITE_SPACE"),mt(EA,"is_WS_OR_EOL"),mt($A,"is_FLOW_INDICATOR"),mt(LA,"fromHexCode"),mt(RA,"escapedHexLen"),mt(MA,"fromDecimalCode"),mt(IA,"simpleEscapeSequence"),mt(NA,"charFromCodepoint"),xE=new Array(256),wE=new Array(256),kE=0;kE<256;kE++)xE[kE]=IA(kE)?1:0,wE[kE]=IA(kE);mt(DA,"State$1"),mt(OA,"generateError"),mt(PA,"throwError"),mt(BA,"throwWarning"),TE={YAML:mt(function(e,t,i){var n,r;null!==e.version&&PA(e,"duplication of %YAML directive"),1!==i.length&&PA(e,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(i[0]))&&PA(e,"ill-formed argument of the YAML directive"),n=parseInt(r[1],10),r=parseInt(r[2],10),1!==n&&PA(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=r<2,1!==r&&2!==r&&BA(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:mt(function(e,t,i){var n;2!==i.length&&PA(e,"TAG directive accepts exactly two arguments"),n=i[0],i=i[1],bE.test(n)||PA(e,"ill-formed tag handle (first argument) of the TAG directive"),oE.call(e.tagMap,n)&&PA(e,'there is a previously declared suffix for "'+n+'" tag handle'),vE.test(i)||PA(e,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch{PA(e,"tag prefix is malformed: "+i)}e.tagMap[n]=i},"handleTagDirective")},mt(FA,"captureSegment"),mt(jA,"mergeMappings"),mt(zA,"storeMappingPair"),mt(HA,"readLineBreak"),mt(UA,"skipSeparationSpace"),mt(qA,"testDocumentSeparator"),mt(WA,"writeFoldedLines"),mt(GA,"readPlainScalar"),mt(VA,"readSingleQuotedScalar"),mt(YA,"readDoubleQuotedScalar"),mt(XA,"readFlowCollection"),mt(KA,"readBlockScalar"),mt(ZA,"readBlockSequence"),mt(QA,"readBlockMapping"),mt(JA,"readTagProperty"),mt(e9,"readAnchorProperty"),mt(t9,"readAlias"),mt(i9,"composeNode"),mt(n9,"readDocument"),mt(r9,"loadDocuments"),mt(s9,"loadAll$1"),mt(a9,"load$1"),SE={loadAll:s9,load:a9},CE=Object.prototype.toString,_E=Object.prototype.hasOwnProperty,AE=65279,EE=10,$E={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},LE=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],RE=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/,mt(o9,"compileStyleMap"),mt(l9,"encodeHex"),ME=2,mt(c9,"State"),mt(h9,"indentString"),mt(u9,"generateNextLine"),mt(d9,"testImplicitResolving"),mt(p9,"isWhitespace"),mt(g9,"isPrintable"),mt(f9,"isNsCharOrWhitespace"),mt(m9,"isPlainSafe"),mt(y9,"isPlainSafeFirst"),mt(b9,"isPlainSafeLast"),mt(v9,"codePointAt"),mt(x9,"needIndentIndicator"),IE=1,NE=2,DE=3,OE=4,PE=5,mt(w9,"chooseScalarStyle"),mt(k9,"writeScalar"),mt(T9,"blockHeader"),mt(S9,"dropEndingNewline"),mt(C9,"foldString"),mt(_9,"foldLine"),mt(A9,"escapeString"),mt(E9,"writeFlowSequence"),mt($9,"writeBlockSequence"),mt(L9,"writeFlowMapping"),mt(R9,"writeBlockMapping"),mt(M9,"detectType"),mt(I9,"writeNode"),mt(N9,"getDuplicateReferences"),mt(D9,"inspectNode"),mt(O9,"dump$1"),mt(P9,"renamed"),BE=G9,FE=SE.load,P9("safeLoad","load"),P9("safeLoadAll","loadAll"),P9("safeDump","dump")});function zE(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function HE(e){QE=e}function UE(e,t=""){let n="string"==typeof e?e:e.source,r={replace:mt((e,t)=>{let i="string"==typeof t?t:t.source;return i=i.replace(e$.caret,"$1"),n=n.replace(e,i),r},"replace"),getRegex:mt(()=>new RegExp(n,t),"getRegex")};return r}function qE(e,t){if(t){if(e$.escapeTest.test(e))return e.replace(e$.escapeReplace,C$)}else if(e$.escapeTestNoEncode.test(e))return e.replace(e$.escapeReplaceNoEncode,C$);return e}function WE(e){try{e=encodeURI(e).replace(e$.percentDecode,"%")}catch{return null}return e}function GE(e,t){let i=e.replace(e$.findPipe,(e,t,i)=>{let n=!1,r=t;for(;0<=--r Line truncated \r`,mt(fA,"resolveYamlBinary"),mt(mA,"constructYamlBinary"),mt(yA,"representYamlBinary"),mt(bA,"isBinary"),Q9=new H9("tag:yaml.org,2002:binary",{kind:"scalar",resolve:fA,construct:mA,predicate:bA,represent:yA}),J9=Object.prototype.hasOwnProperty,eE=Object.prototype.toString,mt(vA,"resolveYamlOmap"),mt(xA,"constructYamlOmap"),tE=new H9("tag:yaml.org,2002:omap",{kind:"sequence",resolve:vA,construct:xA}),iE=Object.prototype.toString,mt(wA,"resolveYamlPairs"),mt(kA,"constructYamlPairs"),nE=new H9("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:wA,construct:kA}),rE=Object.prototype.hasOwnProperty,mt(TA,"resolveYamlSet"),mt(SA,"constructYamlSet"),sE=new H9("tag:yaml.org,2002:set",{kind:"mapping",resolve:TA,construct:SA}),aE=SE.extend({implicit:[X9,K9],explicit:[Q9,tE,nE,sE]}),oE=Object.prototype.hasOwnProperty,uE=4,dE=lE=1,pE=cE=2,gE=hE=3,fE=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,mE=/[\x85\u2028\u2029]/,yE=/[,\[\]\{\}]/,bE=/^(?:!|!!|![a-z\-]+!)$/i,vE=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i,mt(CA,"_class"),mt(_A,"is_EOL"),mt(AA,"is_WHITE_SPACE"),mt(EA,"is_WS_OR_EOL"),mt($A,"is_FLOW_INDICATOR"),mt(LA,"fromHexCode"),mt(RA,"escapedHexLen"),mt(MA,"fromDecimalCode"),mt(IA,"simpleEscapeSequence"),mt(NA,"charFromCodepoint"),xE=new Array(256),wE=new Array(256),kE=0;kE<256;kE++)xE[kE]=IA(kE)?1:0,wE[kE]=IA(kE);mt(DA,"State$1"),mt(OA,"generateError"),mt(PA,"throwError"),mt(BA,"throwWarning"),TE={YAML:mt(function(e,t,i){var n,r;null!==e.version&&PA(e,"duplication of %YAML directive"),1!==i.length&&PA(e,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(i[0]))&&PA(e,"ill-formed argument of the YAML directive"),n=parseInt(r[1],10),r=parseInt(r[2],10),1!==n&&PA(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=r<2,1!==r&&2!==r&&BA(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:mt(function(e,t,i){var n;2!==i.length&&PA(e,"TAG directive accepts exactly two arguments"),n=i[0],i=i[1],bE.test(n)||PA(e,"ill-formed tag handle (first argument) of the TAG directive"),oE.call(e.tagMap,n)&&PA(e,'there is a previously declared suffix for "'+n+'" tag handle'),vE.test(i)||PA(e,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch{PA(e,"tag prefix is malformed: "+i)}e.tagMap[n]=i},"handleTagDirective")},mt(FA,"captureSegment"),mt(jA,"mergeMappings"),mt(zA,"storeMappingPair"),mt(UA,"readLineBreak"),mt(HA,"skipSeparationSpace"),mt(qA,"testDocumentSeparator"),mt(WA,"writeFoldedLines"),mt(GA,"readPlainScalar"),mt(VA,"readSingleQuotedScalar"),mt(YA,"readDoubleQuotedScalar"),mt(XA,"readFlowCollection"),mt(KA,"readBlockScalar"),mt(ZA,"readBlockSequence"),mt(QA,"readBlockMapping"),mt(JA,"readTagProperty"),mt(e9,"readAnchorProperty"),mt(t9,"readAlias"),mt(i9,"composeNode"),mt(n9,"readDocument"),mt(r9,"loadDocuments"),mt(s9,"loadAll$1"),mt(a9,"load$1"),SE={loadAll:s9,load:a9},CE=Object.prototype.toString,_E=Object.prototype.hasOwnProperty,AE=65279,EE=10,$E={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},LE=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],RE=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/,mt(o9,"compileStyleMap"),mt(l9,"encodeHex"),ME=2,mt(c9,"State"),mt(h9,"indentString"),mt(u9,"generateNextLine"),mt(d9,"testImplicitResolving"),mt(p9,"isWhitespace"),mt(g9,"isPrintable"),mt(f9,"isNsCharOrWhitespace"),mt(m9,"isPlainSafe"),mt(y9,"isPlainSafeFirst"),mt(b9,"isPlainSafeLast"),mt(v9,"codePointAt"),mt(x9,"needIndentIndicator"),IE=1,NE=2,DE=3,OE=4,PE=5,mt(w9,"chooseScalarStyle"),mt(k9,"writeScalar"),mt(T9,"blockHeader"),mt(S9,"dropEndingNewline"),mt(C9,"foldString"),mt(_9,"foldLine"),mt(A9,"escapeString"),mt(E9,"writeFlowSequence"),mt($9,"writeBlockSequence"),mt(L9,"writeFlowMapping"),mt(R9,"writeBlockMapping"),mt(M9,"detectType"),mt(I9,"writeNode"),mt(N9,"getDuplicateReferences"),mt(D9,"inspectNode"),mt(O9,"dump$1"),mt(P9,"renamed"),BE=G9,FE=SE.load,P9("safeLoad","load"),P9("safeLoadAll","loadAll"),P9("safeDump","dump")});function zE(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function UE(e){QE=e}function HE(e,t=""){let n="string"==typeof e?e:e.source,r={replace:mt((e,t)=>{let i="string"==typeof t?t:t.source;return i=i.replace(e$.caret,"$1"),n=n.replace(e,i),r},"replace"),getRegex:mt(()=>new RegExp(n,t),"getRegex")};return r}function qE(e,t){if(t){if(e$.escapeTest.test(e))return e.replace(e$.escapeReplace,C$)}else if(e$.escapeTestNoEncode.test(e))return e.replace(e$.escapeReplaceNoEncode,C$);return e}function WE(e){try{e=encodeURI(e).replace(e$.percentDecode,"%")}catch{return null}return e}function GE(e,t){let i=e.replace(e$.findPipe,(e,t,i)=>{let n=!1,r=t;for(;0<=--r Line truncated
`).map(e=>{var t=e.match(i.other.beginningSpace);return null!==t&&([t]=t,t.length>=n.length)?e.slice(n.length):e}).join(` `).map(e=>{var t=e.match(i.other.beginningSpace);return null!==t&&([t]=t,t.length>=n.length)?e.slice(n.length):e}).join(`
`)}function ZE(e,t){return I$.parse(e,t)}var QE,JE,e$,t$,i$,n$,r$,s$,a$,o$,l$,c$,h$,u$,d$,p$,g$,f$,m$,y$,b$,v$,x$,w$,k$,T$,S$,C$,_$,A$,E$,$$,L$,R$,M$,I$,N$=e(()=>{"use strict";mt(zE,"M"),QE=zE(),mt(HE,"H"),JE={exec:mt(()=>null,"exec")},mt(UE,"h"),e$={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:mt(e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),"listItemRegex"),nextBulletRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),"nextBulletRegex"),hrRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),"hrRegex"),fencesBeginRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),"fencesBeginRegex"),headingBeginRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),"headingBeginRegex"),htmlBeginRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i"),"htmlBeginRegex")},a$=/^(?:[ \t]*(?:\n|$))+/,o$=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,n$=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,u$=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,r$=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,s$=/(?:[*+-]|\d{1,9}[.)])/,x$=UE(f$=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,s$).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),f$=UE(f$).replace(/bull/g,s$).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),b$=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,d$=/^[^\n]+/,m$=/(?!\s*\])(?:\\.|[^\[\]\\])+/,i$=UE(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",m$).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),s$=UE(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,s$).getRegex(),v$="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|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",g$=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,w$=UE("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",g$).replace("tag",v$).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),p$=UE(b$).replace("hr",u$).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockLine truncated `)}function ZE(e,t){return I$.parse(e,t)}var QE,JE,e$,t$,i$,n$,r$,s$,a$,o$,l$,c$,h$,u$,d$,p$,g$,f$,m$,y$,b$,v$,x$,w$,k$,T$,S$,C$,_$,A$,E$,$$,L$,R$,M$,I$,N$=e(()=>{"use strict";mt(zE,"M"),QE=zE(),mt(UE,"H"),JE={exec:mt(()=>null,"exec")},mt(HE,"h"),e$={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:mt(e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),"listItemRegex"),nextBulletRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),"nextBulletRegex"),hrRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),"hrRegex"),fencesBeginRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),"fencesBeginRegex"),headingBeginRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),"headingBeginRegex"),htmlBeginRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i"),"htmlBeginRegex")},a$=/^(?:[ \t]*(?:\n|$))+/,o$=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,n$=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,u$=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,r$=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,s$=/(?:[*+-]|\d{1,9}[.)])/,x$=HE(f$=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,s$).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),f$=HE(f$).replace(/bull/g,s$).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),b$=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,d$=/^[^\n]+/,m$=/(?!\s*\])(?:\\.|[^\[\]\\])+/,i$=HE(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",m$).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),s$=HE(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,s$).getRegex(),v$="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|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",g$=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,w$=HE("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",g$).replace("tag",v$).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),p$=HE(b$).replace("hr",u$).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockLine truncated
]`).replace("lheading",x$).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},r$=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,w$=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,s$=/^( {2,}|\\)\n(?!\s*$)/,a$=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,p$=/[\p{P}\p{S}]/u,d$=/[\s\p{P}\p{S}]/u,f$=/[^\s\p{P}\p{S}]/u,o$=UE(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,d$).getRegex(),v$=/(?!~)[\p{P}\p{S}]/u,b$=/(?!~)[\s\p{P}\p{S}]/u,u$=/(?:[^\s\p{P}\p{S}]|~)/u,x$=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,M$=UE(l$=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,"u").replace(/punct/g,p$).getRegex(),l$=UE(l$,"u").replace(/punct/g,v$).getRegex(),c$=UE(h$="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,f$).replace(/punctSpace/g,d$).replace(/punct/g,p$).getRegex(),h$=UE(h$,"gu").replace(/notPunctSpace/g,u$).replace(/punctSpace/g,b$).replace(/punct/g,v$).getRegex(),u$=UE("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,f$).replace(/punctSpace/g,d$).replace(/punct/g,p$).getRegex(),b$=UE(/\\(punct)/,"gu").replace(/punct/g,p$).getRegex(),v$=UE(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),f$=UE(g$).replace("(?:--\x3e|$)","--\x3e").getRegex(),d$=UE("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",f$).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),p$=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,g$=UE(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",p$).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),f$=UE(/^!?\[(label)\]\[(ref)\]/).replace("label",p$).replace("ref",m$).getRegex(),m$=UE(/^!?\[(ref)\](?:\[\])?/).replace("ref",m$).getRegex(),y$=UE("reflink|nolink(?!\\()","g").replace("reflink",f$).replace("nolink",m$).getRegex(),v$={...b$={_backpedal:JE,anyPunctuation:b$,autolink:v$,blockSkip:x$,br:s$,code:w$,del:JE,emStrongLDelim:M$,emStrongRDelimAst:c$,emStrongRDelimUnd:u$,escape:r$,link:g$,nolink:m$,punctuation:o$,reflink:f$,reflinkSearch:y$,tag:d$,text:a$,url:JE},link:UE(/^!?\[(label)\]\((.*?)\)/).replace("label",p$).getRegex(),reflink:UE(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",p$).getRegex()},x$={...b$,emStrongRDelimAst:h$,emStrongLDelim:l$,url:UE(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},w$={...x$,br:UE(s$).replace("{2,}","*").getRegex(),text:UE(x$.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},k$={normal:t$,gfm:i$,pedantic:n$},T$={normal:b$,gfm:x$,breaks:w$,pedantic:v$},S$={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},C$=mt(e=>S$[e],"ge"),mt(qE,"R"),mt(WE,"J"),mt(GE,"V"),mt(VE,"A"),mt(YE,"fe"),mt(XE,"de"),mt(KE,"Je"),_$=class{static{mt(this,"S")}options;rules;lexer;constructor(e){this.options=e||QE}space(e){e=this.rules.block.newline.exec(e);if(e&&0<e[0].length)return{type:"space",raw:e[0]}}code(e){var t,e=this.rules.block.code.exec(e);if(e)return t=e[0].replace(this.rules.other.codeRemoveIndent,""),{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:VE(t,` ]`).replace("lheading",x$).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},r$=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,w$=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,s$=/^( {2,}|\\)\n(?!\s*$)/,a$=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,p$=/[\p{P}\p{S}]/u,d$=/[\s\p{P}\p{S}]/u,f$=/[^\s\p{P}\p{S}]/u,o$=HE(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,d$).getRegex(),v$=/(?!~)[\p{P}\p{S}]/u,b$=/(?!~)[\s\p{P}\p{S}]/u,u$=/(?:[^\s\p{P}\p{S}]|~)/u,x$=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,M$=HE(l$=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,"u").replace(/punct/g,p$).getRegex(),l$=HE(l$,"u").replace(/punct/g,v$).getRegex(),c$=HE(h$="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,f$).replace(/punctSpace/g,d$).replace(/punct/g,p$).getRegex(),h$=HE(h$,"gu").replace(/notPunctSpace/g,u$).replace(/punctSpace/g,b$).replace(/punct/g,v$).getRegex(),u$=HE("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,f$).replace(/punctSpace/g,d$).replace(/punct/g,p$).getRegex(),b$=HE(/\\(punct)/,"gu").replace(/punct/g,p$).getRegex(),v$=HE(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),f$=HE(g$).replace("(?:--\x3e|$)","--\x3e").getRegex(),d$=HE("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",f$).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),p$=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,g$=HE(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",p$).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),f$=HE(/^!?\[(label)\]\[(ref)\]/).replace("label",p$).replace("ref",m$).getRegex(),m$=HE(/^!?\[(ref)\](?:\[\])?/).replace("ref",m$).getRegex(),y$=HE("reflink|nolink(?!\\()","g").replace("reflink",f$).replace("nolink",m$).getRegex(),v$={...b$={_backpedal:JE,anyPunctuation:b$,autolink:v$,blockSkip:x$,br:s$,code:w$,del:JE,emStrongLDelim:M$,emStrongRDelimAst:c$,emStrongRDelimUnd:u$,escape:r$,link:g$,nolink:m$,punctuation:o$,reflink:f$,reflinkSearch:y$,tag:d$,text:a$,url:JE},link:HE(/^!?\[(label)\]\((.*?)\)/).replace("label",p$).getRegex(),reflink:HE(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",p$).getRegex()},x$={...b$,emStrongRDelimAst:h$,emStrongLDelim:l$,url:HE(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},w$={...x$,br:HE(s$).replace("{2,}","*").getRegex(),text:HE(x$.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},k$={normal:t$,gfm:i$,pedantic:n$},T$={normal:b$,gfm:x$,breaks:w$,pedantic:v$},S$={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},C$=mt(e=>S$[e],"ge"),mt(qE,"R"),mt(WE,"J"),mt(GE,"V"),mt(VE,"A"),mt(YE,"fe"),mt(XE,"de"),mt(KE,"Je"),_$=class{static{mt(this,"S")}options;rules;lexer;constructor(e){this.options=e||QE}space(e){e=this.rules.block.newline.exec(e);if(e&&0<e[0].length)return{type:"space",raw:e[0]}}code(e){var t,e=this.rules.block.code.exec(e);if(e)return t=e[0].replace(this.rules.other.codeRemoveIndent,""),{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:VE(t,`
`)}}fences(e){var t,i,e=this.rules.block.fences.exec(e);if(e)return i=KE(t=e[0],e[3]||"",this.rules),{type:"code",raw:t,lang:e[2]&&e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"),text:i}}heading(t){var i,t=this.rules.block.heading.exec(t);if(t){let e=t[2].trim();return this.rules.other.endingHash.test(e)&&(i=VE(e,"#"),!this.options.pedantic&&i&&!this.rules.other.endingSpaceChar.test(i)||(e=i.trim())),{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){e=this.rules.block.hr.exec(e);if(e)return{type:"hr",raw:VE(e[0],` `)}}fences(e){var t,i,e=this.rules.block.fences.exec(e);if(e)return i=KE(t=e[0],e[3]||"",this.rules),{type:"code",raw:t,lang:e[2]&&e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"),text:i}}heading(t){var i,t=this.rules.block.heading.exec(t);if(t){let e=t[2].trim();return this.rules.other.endingHash.test(e)&&(i=VE(e,"#"),!this.options.pedantic&&i&&!this.rules.other.endingSpaceChar.test(i)||(e=i.trim())),{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){e=this.rules.block.hr.exec(e);if(e)return{type:"hr",raw:VE(e[0],`
`)}}blockquote(e){e=this.rules.block.blockquote.exec(e);if(e){let n=VE(e[0],` `)}}blockquote(e){e=this.rules.block.blockquote.exec(e);if(e){let n=VE(e[0],`
`).split(` `).split(`
@@ -443,26 +443,26 @@ ${e}</tr>
`}tablecell(e){var t=this.parser.parseInline(e.tokens),i=e.header?"th":"td";return(e.align?`<${i} align="${e.align}">`:`<${i}>`)+t+`</${i}> `}tablecell(e){var t=this.parser.parseInline(e.tokens),i=e.header?"th":"td";return(e.align?`<${i} align="${e.align}">`:`<${i}>`)+t+`</${i}>
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${qE(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:i}){var i=this.parser.parseInline(i),n=WE(e);if(null===n)return i;let r='<a href="'+(e=n)+'"';return t&&(r+=' title="'+qE(t)+'"'),r+=">"+i+"</a>"}image({href:e,title:t,text:i,tokens:n}){n&&(i=this.parser.parseInline(n,this.parser.textRenderer));n=WE(e);if(null===n)return qE(i);let r=`<img src="${e=n}" alt="${i}"`;return t&&(r+=` title="${qE(t)}"`),r+=">"}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:qE(e.text)}},$$=class{static{mt(this,"_")}strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}},L$=class n{static{mt(this,"a")}options;renderer;textRenderer;constructor(e){this.options=e||QE,this.options.renderer=this.options.renderer||new E$,this.renderer=this.options.renderer,this.renderer.options=this.options,(this.renderer.parser=this).textRenderer=new $$}static parse(e,t){return new n(t).parse(e)}static parseInline(e,t){return new n(t).parseInline(e)}parse(n,r=!0){let s="";for(let i=0;i<n.length;i++){var e=n[i];if(this.options.extensions?.renderers?.[e.type]){var t=e,a=this.options.extensions.renderers[t.type].call({parser:this},t);if(!1!==a||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(t.type)){s+=a||"";continue}}var o=e;switch(o.type){case"space":s+=this.renderer.space(o);continue;case"hr":s+=this.renderer.hr(o);continue;case"heading":s+=this.renderer.heading(o);continue;case"code":s+=this.renderer.code(o);continue;case"table":s+=this.renderer.table(o);continue;case"blockquote":s+=this.renderer.blockquote(o);continue;case"list":s+=this.renderer.list(o);continue;case"html":s+=this.renderer.html(o);continue;case"paragraph":s+=this.renderer.paragraph(o);continue;case"text":{let e=o,t=this.renderer.text(e);for(;i+1<n.length&&"text"===n[i+1].type;)e=n[++i],t+=` `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${qE(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:i}){var i=this.parser.parseInline(i),n=WE(e);if(null===n)return i;let r='<a href="'+(e=n)+'"';return t&&(r+=' title="'+qE(t)+'"'),r+=">"+i+"</a>"}image({href:e,title:t,text:i,tokens:n}){n&&(i=this.parser.parseInline(n,this.parser.textRenderer));n=WE(e);if(null===n)return qE(i);let r=`<img src="${e=n}" alt="${i}"`;return t&&(r+=` title="${qE(t)}"`),r+=">"}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:qE(e.text)}},$$=class{static{mt(this,"_")}strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}},L$=class n{static{mt(this,"a")}options;renderer;textRenderer;constructor(e){this.options=e||QE,this.options.renderer=this.options.renderer||new E$,this.renderer=this.options.renderer,this.renderer.options=this.options,(this.renderer.parser=this).textRenderer=new $$}static parse(e,t){return new n(t).parse(e)}static parseInline(e,t){return new n(t).parseInline(e)}parse(n,r=!0){let s="";for(let i=0;i<n.length;i++){var e=n[i];if(this.options.extensions?.renderers?.[e.type]){var t=e,a=this.options.extensions.renderers[t.type].call({parser:this},t);if(!1!==a||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(t.type)){s+=a||"";continue}}var o=e;switch(o.type){case"space":s+=this.renderer.space(o);continue;case"hr":s+=this.renderer.hr(o);continue;case"heading":s+=this.renderer.heading(o);continue;case"code":s+=this.renderer.code(o);continue;case"table":s+=this.renderer.table(o);continue;case"blockquote":s+=this.renderer.blockquote(o);continue;case"list":s+=this.renderer.list(o);continue;case"html":s+=this.renderer.html(o);continue;case"paragraph":s+=this.renderer.paragraph(o);continue;case"text":{let e=o,t=this.renderer.text(e);for(;i+1<n.length&&"text"===n[i+1].type;)e=n[++i],t+=`
`+this.renderer.text(e);s+=r?this.renderer.paragraph({type:"paragraph",raw:t,text:t,tokens:[{type:"text",raw:t,text:t,escaped:!0}]}):t;continue}default:var l='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}return s}parseInline(t,i=this.renderer){let n="";for(let e=0;e<t.length;e++){var r=t[e];if(this.options.extensions?.renderers?.[r.type]){var s=this.options.extensions.renderers[r.type].call({parser:this},r);if(!1!==s||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){n+=s||"";continue}}var a=r;switch(a.type){case"escape":n+=i.text(a);break;case"html":n+=i.html(a);break;case"link":n+=i.link(a);break;case"image":n+=i.image(a);break;case"strong":n+=i.strong(a);break;case"em":n+=i.em(a);break;case"codespan":n+=i.codespan(a);break;case"br":n+=i.br(a);break;case"del":n+=i.del(a);break;case"text":n+=i.text(a);break;default:var o='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}return n}},R$=class{static{mt(this,"L")}options;block;constructor(e){this.options=e||QE}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?A$.lex:A$.lexInline}provideParser(){return this.block?L$.parse:L$.parseInline}},M$=class{static{mt(this,"B")}defaults=zE();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=L$;Renderer=E$;TextRenderer=$$;Lexer=A$;Tokenizer=_$;Hooks=R$;constructor(...e){this.use(...e)}walkTokens(e,i){let n=[];for(var r of e)switch(n=n.concat(i.call(this,r)),r.type){case"table":var t,s,a=r;for(t of a.header)n=n.concat(this.walkTokens(t.tokens,i));for(s of a.rows)for(var o of s)n=n.concat(this.walkTokens(o.tokens,i));break;case"list":a=r;n=n.concat(this.walkTokens(a.items,i));break;default:{let t=r;this.defaults.extensions?.childTokens?.[t.type]?this.defaults.extensions.childTokens[t.type].forEach(e=>{e=t[e].flat(1/0);n=n.concat(this.walkTokens(e,i))}):t.tokens&&(n=n.concat(this.walkTokens(t.tokens,i)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(t=>{var e={...t};if(e.async=this.defaults.async||e.async||!1,t.extensions&&(t.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let i=r.renderers[n.name];i?r.renderers[n.name]=function(...e){let t=n.renderer.apply(this,e);return t=!1===t?i.apply(this,e):t}:r.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||"block"!==n.level&&"inline"!==n.level)throw new Error("extension level must be 'block' or 'inline'");var e=r[n.level];e?e.unshift(n.tokenizer):r[n.level]=[n.tokenizer],n.start&&("block"===n.level?r.startBlock?r.startBlock.push(n.start):r.startBlock=[n.start]:"inline"===n.level&&(r.startInline?r.startInline.push(n.start):r.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(r.childTokens[n.name]=n.childTokens)}),e.extensions=r),t.renderer){let r=this.defaults.renderer||new E$(this.defaults);for(var s in t.renderer){if(!(s in r))throw new Error(`renderer '${s}' does not exist`);if(!["options","parser"].includes(s)){let e=s,i=t.renderer[e],n=r[e];r[e]=(...e)=>{let t=i.apply(r,e);return(t=!1===t?n.apply(r,e):t)||""}}}e.renderer=r}if(t.tokenizer){let r=this.defaults.tokenizer||new _$(this.defaults);for(var a in t.tokenizer){if(!(a in r))throw new Error(`tokenizer '${a}' does not exist`);if(!["options","rules","lexer"].includes(a)){let e=a,i=t.tokenizer[e],n=r[e];r[e]=(...e)=>{let t=i.apply(r,e);return t=!1===t?n.apply(r,e):t}}}e.tokenizer=r}if(t.hooks){let r=this.defaults.hooks||new R$;for(var o in t.hooks){if(!(o in r))throw new Error(`hook '${o}' does not exist`);if(!["options","block"].includes(o)){let e=o,i=t.hooks[e],n=r[e];R$.passThroughHooks.has(o)?r[e]=e=>{return this.defaults.async?Promise.resolve(i.call(r,e)).then(e=>n.call(r,e)):(e=i.call(r,e),n.call(r,e))}:r[e]=(...e)=>{let t=i.apply(r,e);return t=!1===t?n.apply(r,e):t}}}e.hooks=r}if(t.walkTokens){let i=this.defaults.walkTokens,n=t.walkTokens;e.walkTokens=function(e){let t=[];return t.push(n.call(this,e)),t=i?t.concat(i.call(this,e)):t}}this.defaults={...this.defaults,...e}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return A$.lex(e,t??this.defaults)}parser(e,t){return L$.parse(e,t??this.defaults)}parseMarkdown(o){return(i,e)=>{let t={...e},n={...this.defaults,...t},r=this.onError(!!n.silent,!!n.async);if(!0===this.defaults.async&&!1===t.async)return r(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if("u"<typeof i||null===i)return r(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof i)return r(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", str Line truncated `+this.renderer.text(e);s+=r?this.renderer.paragraph({type:"paragraph",raw:t,text:t,tokens:[{type:"text",raw:t,text:t,escaped:!0}]}):t;continue}default:var l='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}return s}parseInline(t,i=this.renderer){let n="";for(let e=0;e<t.length;e++){var r=t[e];if(this.options.extensions?.renderers?.[r.type]){var s=this.options.extensions.renderers[r.type].call({parser:this},r);if(!1!==s||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){n+=s||"";continue}}var a=r;switch(a.type){case"escape":n+=i.text(a);break;case"html":n+=i.html(a);break;case"link":n+=i.link(a);break;case"image":n+=i.image(a);break;case"strong":n+=i.strong(a);break;case"em":n+=i.em(a);break;case"codespan":n+=i.codespan(a);break;case"br":n+=i.br(a);break;case"del":n+=i.del(a);break;case"text":n+=i.text(a);break;default:var o='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}return n}},R$=class{static{mt(this,"L")}options;block;constructor(e){this.options=e||QE}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?A$.lex:A$.lexInline}provideParser(){return this.block?L$.parse:L$.parseInline}},M$=class{static{mt(this,"B")}defaults=zE();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=L$;Renderer=E$;TextRenderer=$$;Lexer=A$;Tokenizer=_$;Hooks=R$;constructor(...e){this.use(...e)}walkTokens(e,i){let n=[];for(var r of e)switch(n=n.concat(i.call(this,r)),r.type){case"table":var t,s,a=r;for(t of a.header)n=n.concat(this.walkTokens(t.tokens,i));for(s of a.rows)for(var o of s)n=n.concat(this.walkTokens(o.tokens,i));break;case"list":a=r;n=n.concat(this.walkTokens(a.items,i));break;default:{let t=r;this.defaults.extensions?.childTokens?.[t.type]?this.defaults.extensions.childTokens[t.type].forEach(e=>{e=t[e].flat(1/0);n=n.concat(this.walkTokens(e,i))}):t.tokens&&(n=n.concat(this.walkTokens(t.tokens,i)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(t=>{var e={...t};if(e.async=this.defaults.async||e.async||!1,t.extensions&&(t.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let i=r.renderers[n.name];i?r.renderers[n.name]=function(...e){let t=n.renderer.apply(this,e);return t=!1===t?i.apply(this,e):t}:r.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||"block"!==n.level&&"inline"!==n.level)throw new Error("extension level must be 'block' or 'inline'");var e=r[n.level];e?e.unshift(n.tokenizer):r[n.level]=[n.tokenizer],n.start&&("block"===n.level?r.startBlock?r.startBlock.push(n.start):r.startBlock=[n.start]:"inline"===n.level&&(r.startInline?r.startInline.push(n.start):r.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(r.childTokens[n.name]=n.childTokens)}),e.extensions=r),t.renderer){let r=this.defaults.renderer||new E$(this.defaults);for(var s in t.renderer){if(!(s in r))throw new Error(`renderer '${s}' does not exist`);if(!["options","parser"].includes(s)){let e=s,i=t.renderer[e],n=r[e];r[e]=(...e)=>{let t=i.apply(r,e);return(t=!1===t?n.apply(r,e):t)||""}}}e.renderer=r}if(t.tokenizer){let r=this.defaults.tokenizer||new _$(this.defaults);for(var a in t.tokenizer){if(!(a in r))throw new Error(`tokenizer '${a}' does not exist`);if(!["options","rules","lexer"].includes(a)){let e=a,i=t.tokenizer[e],n=r[e];r[e]=(...e)=>{let t=i.apply(r,e);return t=!1===t?n.apply(r,e):t}}}e.tokenizer=r}if(t.hooks){let r=this.defaults.hooks||new R$;for(var o in t.hooks){if(!(o in r))throw new Error(`hook '${o}' does not exist`);if(!["options","block"].includes(o)){let e=o,i=t.hooks[e],n=r[e];R$.passThroughHooks.has(o)?r[e]=e=>{return this.defaults.async?Promise.resolve(i.call(r,e)).then(e=>n.call(r,e)):(e=i.call(r,e),n.call(r,e))}:r[e]=(...e)=>{let t=i.apply(r,e);return t=!1===t?n.apply(r,e):t}}}e.hooks=r}if(t.walkTokens){let i=this.defaults.walkTokens,n=t.walkTokens;e.walkTokens=function(e){let t=[];return t.push(n.call(this,e)),t=i?t.concat(i.call(this,e)):t}}this.defaults={...this.defaults,...e}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return A$.lex(e,t??this.defaults)}parser(e,t){return L$.parse(e,t??this.defaults)}parseMarkdown(o){return(i,e)=>{let t={...e},n={...this.defaults,...t},r=this.onError(!!n.silent,!!n.async);if(!0===this.defaults.async&&!1===t.async)return r(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if("u"<typeof i||null===i)return r(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof i)return r(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", str Line truncated
Please report this to https://github.com/markedjs/marked.`,i)return t="<p>An error occurred:</p><pre>"+qE(e.message+"",!0)+"</pre>",n?Promise.resolve(t):t;if(n)return Promise.reject(e);throw e}}},I$=new M$,mt(ZE,"k"),ZE.options=ZE.setOptions=function(e){return I$.setOptions(e),HE(ZE.defaults=I$.defaults),ZE},ZE.getDefaults=zE,ZE.defaults=QE,ZE.use=function(...e){return I$.use(...e),HE(ZE.defaults=I$.defaults),ZE},ZE.walkTokens=function(e,t){return I$.walkTokens(e,t)},ZE.parseInline=I$.parseInline,ZE.Parser=L$,ZE.parser=L$.parse,ZE.Renderer=E$,ZE.TextRenderer=$$,ZE.Lexer=A$,ZE.lexer=A$.lex,ZE.Tokenizer=_$,ZE.Hooks=R$,ZE.parse=ZE,A$.lex});function D$(e,{markdownAutoWrap:t}){e=Ve(e.replace(/<br\/>/g,` Please report this to https://github.com/markedjs/marked.`,i)return t="<p>An error occurred:</p><pre>"+qE(e.message+"",!0)+"</pre>",n?Promise.resolve(t):t;if(n)return Promise.reject(e);throw e}}},I$=new M$,mt(ZE,"k"),ZE.options=ZE.setOptions=function(e){return I$.setOptions(e),UE(ZE.defaults=I$.defaults),ZE},ZE.getDefaults=zE,ZE.defaults=QE,ZE.use=function(...e){return I$.use(...e),UE(ZE.defaults=I$.defaults),ZE},ZE.walkTokens=function(e,t){return I$.walkTokens(e,t)},ZE.parseInline=I$.parseInline,ZE.Parser=L$,ZE.parser=L$.parse,ZE.Renderer=E$,ZE.TextRenderer=$$,ZE.Lexer=A$,ZE.lexer=A$.lex,ZE.Tokenizer=_$,ZE.Hooks=R$,ZE.parse=ZE,A$.lex});function D$(e,{markdownAutoWrap:t}){e=Ve(e.replace(/<br\/>/g,`
`).replace(/\n{2,}/g,` `).replace(/\n{2,}/g,`
`));return!1===t?e.replace(/ /g,"&nbsp;"):e}function O$(e,t={}){let i=D$(e,t),n=ZE.lexer(i),r=[[]],s=0;function a(t,i="normal"){"text"===t.type?t.text.split(` `));return!1===t?e.replace(/ /g,"&nbsp;"):e}function O$(e,t={}){let i=D$(e,t),n=ZE.lexer(i),r=[[]],s=0;function a(t,i="normal"){"text"===t.type?t.text.split(`
`).forEach((e,t)=>{0!==t&&(s++,r.push([])),e.split(" ").forEach(e=>{(e=e.replace(/&#39;/g,"'"))&&r[s].push({content:e,type:i})})}):"strong"===t.type||"em"===t.type?t.tokens.forEach(e=>{a(e,t.type)}):"html"===t.type&&r[s].push({content:t.text,type:"normal"})}return mt(a,"processNode"),n.forEach(e=>{"paragraph"===e.type?e.tokens?.forEach(e=>{a(e)}):"html"===e.type&&r[s].push({content:e.text,type:"normal"})}),r}function P$(e,{markdownAutoWrap:t}={}){e=ZE.lexer(e);function i(e){return"text"===e.type?!1===t?e.text.replace(/\n */g,"<br/>").replace(/ /g,"&nbsp;"):e.text.replace(/\n */g,"<br/>"):"strong"===e.type?`<strong>${e.tokens?.map(i).join("")}</strong>`:"em"===e.type?`<em>${e.tokens?.map(i).join("")}</em>`:"paragraph"===e.type?`<p>${e.tokens?.map(i).join("")}</p>`:"space"===e.type?"":"html"===e.type?""+e.text:"escape"===e.type?e.text:"Unsupported markdown: "+e.type}return mt(i,"output"),e.map(i).join("")}var B$=e(()=>{"use strict";N$(),zi(),mt(D$,"preprocessMarkdown"),mt(O$,"markdownToLines"),mt(P$,"markdownToHTML")});function F$(e){return Intl.Segmenter?[...(new Intl.Segmenter).segment(e)].map(e=>e.segment):[...e]}function j$(e,t){return z$(e,[],F$(t.content),t.type)}function z$(e,t,i,n){var r,s,a;return 0===i.length?[{content:t.join(""),type:n},{content:"",type:n}]:([r,...s]=i,e([{content:(a=[...t,r]).join(""),type:n}])?z$(e,a,s,n):(0===t.length&&r&&(t.push(r),i.shift()),[{content:t.join(""),type:n},{content:i.join(""),type:n}]))}function H$(e,t){if(e.some(({content:e})=>e.includes(` `).forEach((e,t)=>{0!==t&&(s++,r.push([])),e.split(" ").forEach(e=>{(e=e.replace(/&#39;/g,"'"))&&r[s].push({content:e,type:i})})}):"strong"===t.type||"em"===t.type?t.tokens.forEach(e=>{a(e,t.type)}):"html"===t.type&&r[s].push({content:t.text,type:"normal"})}return mt(a,"processNode"),n.forEach(e=>{"paragraph"===e.type?e.tokens?.forEach(e=>{a(e)}):"html"===e.type&&r[s].push({content:e.text,type:"normal"})}),r}function P$(e,{markdownAutoWrap:t}={}){e=ZE.lexer(e);function i(e){return"text"===e.type?!1===t?e.text.replace(/\n */g,"<br/>").replace(/ /g,"&nbsp;"):e.text.replace(/\n */g,"<br/>"):"strong"===e.type?`<strong>${e.tokens?.map(i).join("")}</strong>`:"em"===e.type?`<em>${e.tokens?.map(i).join("")}</em>`:"paragraph"===e.type?`<p>${e.tokens?.map(i).join("")}</p>`:"space"===e.type?"":"html"===e.type?""+e.text:"escape"===e.type?e.text:"Unsupported markdown: "+e.type}return mt(i,"output"),e.map(i).join("")}var B$=e(()=>{"use strict";N$(),zi(),mt(D$,"preprocessMarkdown"),mt(O$,"markdownToLines"),mt(P$,"markdownToHTML")});function F$(e){return Intl.Segmenter?[...(new Intl.Segmenter).segment(e)].map(e=>e.segment):[...e]}function j$(e,t){return z$(e,[],F$(t.content),t.type)}function z$(e,t,i,n){var r,s,a;return 0===i.length?[{content:t.join(""),type:n},{content:"",type:n}]:([r,...s]=i,e([{content:(a=[...t,r]).join(""),type:n}])?z$(e,a,s,n):(0===t.length&&r&&(t.push(r),i.shift()),[{content:t.join(""),type:n},{content:i.join(""),type:n}]))}function U$(e,t){if(e.some(({content:e})=>e.includes(`
`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return U$(e,t)}function U$(e,t,i=[],n=[]){if(0===e.length)return 0<n.length&&i.push(n),0<i.length?i:[];let r="";" "===e[0].content&&(r=" ",e.shift());var s=e.shift()??{content:" ",type:"normal"},a=[...n];return""!==r&&a.push({content:r,type:"normal"}),a.push(s),t(a)?U$(e,t,i,a):(0<n.length?(i.push(n),e.unshift(s)):s.content&&([a,n]=j$(t,s),i.push([a]),n.content)&&e.unshift(n),U$(e,t,i))}var q$=e(()=>{"use strict";mt(F$,"splitTextToChars"),mt(j$,"splitWordToFitWidth"),mt(z$,"splitWordToFitWidthRecursion"),mt(H$,"splitLineToFitWidth"),mt(U$,"splitLineToFitWidthRecursion")});function W$(e,t){t&&e.attr("style",t)}async function G$(e,t,i,n,r=!1){e=e.append("foreignObject");e.attr("width",10*i+"px"),e.attr("height",10*i+"px");let s=e.append("xhtml:div"),a=t.label;t.label&&Jc(t.label)&&(a=await th(t.label.replace($.lineBreakRegex,` `)))throw new Error("splitLineToFitWidth does not support newlines in the line");return H$(e,t)}function H$(e,t,i=[],n=[]){if(0===e.length)return 0<n.length&&i.push(n),0<i.length?i:[];let r="";" "===e[0].content&&(r=" ",e.shift());var s=e.shift()??{content:" ",type:"normal"},a=[...n];return""!==r&&a.push({content:r,type:"normal"}),a.push(s),t(a)?H$(e,t,i,a):(0<n.length?(i.push(n),e.unshift(s)):s.content&&([a,n]=j$(t,s),i.push([a]),n.content)&&e.unshift(n),H$(e,t,i))}var q$=e(()=>{"use strict";mt(F$,"splitTextToChars"),mt(j$,"splitWordToFitWidth"),mt(z$,"splitWordToFitWidthRecursion"),mt(U$,"splitLineToFitWidth"),mt(H$,"splitLineToFitWidthRecursion")});function W$(e,t){t&&e.attr("style",t)}async function G$(e,t,i,n,r=!1){e=e.append("foreignObject");e.attr("width",10*i+"px"),e.attr("height",10*i+"px");let s=e.append("xhtml:div"),a=t.label;t.label&&Jc(t.label)&&(a=await th(t.label.replace($.lineBreakRegex,`
`),N()));var o=t.isNode?"nodeLabel":"edgeLabel",l=s.append("span"),l=(l.html(a),W$(l,t.labelStyle),l.attr("class",o+" "+n),W$(s,t.labelStyle),s.style("display","table-cell"),s.style("white-space","nowrap"),s.style("line-height","1.5"),s.style("max-width",i+"px"),s.style("text-align","center"),s.attr("xmlns","http://www.w3.org/1999/xhtml"),r&&s.attr("class","labelBkg"),s.node().getBoundingClientRect());return l.width===i&&(s.style("display","table"),s.style("white-space","break-spaces"),s.style("width",i+"px"),l=s.node().getBoundingClientRect()),e.node()}function V$(e,t,i){return e.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",t*i-.1+"em").attr("dy",i+"em")}function Y$(e,t,i){e=e.append("text"),t=V$(e,1,t),Z$(t,i),i=t.node().getComputedTextLength();return e.remove(),i}function X$(e,t,i){e=e.append("text"),t=V$(e,1,t),Z$(t,[{content:i,type:"normal"}]),i=t.node()?.getBoundingClientRect();return i&&e.remove(),i}function K$(t,e,i,n=!1){let r=e.append("g"),s=r.insert("rect").attr("class","background").attr("style","stroke: none"),a=r.append("text").attr("y","-10.1"),o=0;for(var l of i){var c,h=mt(e=>Y$(r,1.1,e)<=t,"checkWidth");for(c of h(l)?[l]:H$(l,h))Z$(V$(a,o,1.1),c),o++}return(n?(e=a.node().getBBox(),s.attr("x",e.x-2).attr("y",e.y-2).attr("width",e.width+4).attr("height",e.height+4),r):a).node()}function Z$(n,e){n.text(""),e.forEach((e,t)=>{var i=n.append("tspan").attr("font-style","em"===e.type?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight","strong"===e.type?"bold":"normal");0===t?i.text(e.content):i.text(" "+e.content)})}async function Q$(e){let r=[],t=(e.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(t,i,n)=>(r.push((async()=>{var e=i+":"+n;return await Fe(e)?await je(e,void 0,{class:"label-icon"}):`<i class='${$h(t).replace(":"," ")}'></i>`})()),t)),await Promise.all(r));return e.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>t.shift()??"")}var J$,eL=e(()=>{"use strict";a6(),_u(),hh(),t(),B$(),s_(),Ge(),q$(),mt(W$,"applyStyle"),mt(G$,"addHtmlSpan"),mt(V$,"createTspan"),mt(Y$,"computeWidthOfText"),mt(X$,"computeDimensionOfText"),mt(K$,"createFormattedText"),mt(Z$,"updateTextContentAndStyles"),mt(Q$,"replaceIconSubstring"),J$=mt(async(e,t="",{style:i="",isTitle:n=!1,classes:r="",useHtmlLabels:s=!0,isNode:a=!0,width:o=200,addSvgBackground:l=!1}={},c)=>{return I.debug("XYZ createText",t,i,n,r,s,a,"addSvgBackground: ",l),s?(n=P$(t,c),s=await Q$(n_(n)),n=t.replace(/\\\\/g,"\\"),G$(e,{isNode:a,label:Jc(t)?n:s,labelStyle:i.replace("fill:","color:")},o,r,l)):(n=K$(o,e,O$(t.replace(/<br\s*\/?>/g,"<br/>").replace("<br>","<br/>"),c),!!t&&l),a?(s=(i=/stroke:/.exec(i)?i.replace("stroke:","lineColor:"):i).replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:"),V(n).attr("style",s)):(r=i.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:"),V(n).select("rect").attr("style",r.replace(/background:/g,"fill:")),o=i.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:"),V(n).select("text").attr("style",o)),n)},"createText")});function tL(e){e=e.map((e,t)=>(0===t?"M":"L")+e.x+","+e.y);return e.push("Z"),e.join(" ")}function iL(t,e,i,n,r,s){var a=[],o=i-t,l=2*Math.PI/(o/s),c=e+(n-e)/2;for(let e=0;e<=50;e++){var h=t+e/50*o,u=c+r*Math.sin(l*(h-t));a.push({x:h,y:u})}return a}function nL(t,i,n,r,e,s){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:-h,y:-c})}return a}var rL,sL,aL,oL,r=e(()=>{"use strict";eL(),_u(),a6(),Ln(),hh(),s_(),rL=mt(async(e,t,i)=>{let n,r=t.useHtmlLabels||qc(N()?.htmlLabels),s=(n=i||"node default",e.insert("g").attr("class",n).attr("id",t.domId||t.id)),a=s.insert("g").attr("class","label").attr("style",$C(t.labelStyle)),o,l=(o=void 0===t.label?"":"string"==typeof t.label?t.label:t.label[0],await J$(a,Pc(n_(o),N()),{useHtmlLabels:r,width:t.width||N().flowchart?.wrappingWidth,cssClasses:"markdown-node-label",style:t.labelStyle,addSvgBackground:!!t.icon||!!t.img})),c=l.getBBox(),h=(t?.padding??0)/2;if(r){var i=l.children[0],e=V(l),u=i.getElementsByTagName("img");if(u){let n=""===o.replace(/<img[^>]*>/g,"").trim();await Promise.all([...u].map(i=>new Promise(t=>{function e(){var e;i.style.display="flex",i.style.flexDirection="column",n?(e=(N().fontSize?N():window.getComputedStyle(document.body)).fontSize,[e=vi.fontSize]=e_(e),i.style.minWidth=e=5*e+"px",i.style.maxWidth=e):i.style.width="100%",t(i)}mt(e,"setupImage"),setTimeout(()=>{i.complete&&e()}),i.addEventListener("error",e),i.addEventListener("load",e)})))}c=i.getBoundingClientRect(),e.attr("width",c.width),e.attr("height",c.height)}return r?a.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"):a.attr("transform","translate(0, "+-c.height/2+")"),t.centerLabel&&a.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"),a.insert("rLine truncated `),N()));var o=t.isNode?"nodeLabel":"edgeLabel",l=s.append("span"),l=(l.html(a),W$(l,t.labelStyle),l.attr("class",o+" "+n),W$(s,t.labelStyle),s.style("display","table-cell"),s.style("white-space","nowrap"),s.style("line-height","1.5"),s.style("max-width",i+"px"),s.style("text-align","center"),s.attr("xmlns","http://www.w3.org/1999/xhtml"),r&&s.attr("class","labelBkg"),s.node().getBoundingClientRect());return l.width===i&&(s.style("display","table"),s.style("white-space","break-spaces"),s.style("width",i+"px"),l=s.node().getBoundingClientRect()),e.node()}function V$(e,t,i){return e.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",t*i-.1+"em").attr("dy",i+"em")}function Y$(e,t,i){e=e.append("text"),t=V$(e,1,t),Z$(t,i),i=t.node().getComputedTextLength();return e.remove(),i}function X$(e,t,i){e=e.append("text"),t=V$(e,1,t),Z$(t,[{content:i,type:"normal"}]),i=t.node()?.getBoundingClientRect();return i&&e.remove(),i}function K$(t,e,i,n=!1){let r=e.append("g"),s=r.insert("rect").attr("class","background").attr("style","stroke: none"),a=r.append("text").attr("y","-10.1"),o=0;for(var l of i){var c,h=mt(e=>Y$(r,1.1,e)<=t,"checkWidth");for(c of h(l)?[l]:U$(l,h))Z$(V$(a,o,1.1),c),o++}return(n?(e=a.node().getBBox(),s.attr("x",e.x-2).attr("y",e.y-2).attr("width",e.width+4).attr("height",e.height+4),r):a).node()}function Z$(n,e){n.text(""),e.forEach((e,t)=>{var i=n.append("tspan").attr("font-style","em"===e.type?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight","strong"===e.type?"bold":"normal");0===t?i.text(e.content):i.text(" "+e.content)})}async function Q$(e){let r=[],t=(e.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(t,i,n)=>(r.push((async()=>{var e=i+":"+n;return await Fe(e)?await je(e,void 0,{class:"label-icon"}):`<i class='${$h(t).replace(":"," ")}'></i>`})()),t)),await Promise.all(r));return e.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>t.shift()??"")}var J$,eL=e(()=>{"use strict";a6(),_u(),hh(),t(),B$(),s_(),Ge(),q$(),mt(W$,"applyStyle"),mt(G$,"addHtmlSpan"),mt(V$,"createTspan"),mt(Y$,"computeWidthOfText"),mt(X$,"computeDimensionOfText"),mt(K$,"createFormattedText"),mt(Z$,"updateTextContentAndStyles"),mt(Q$,"replaceIconSubstring"),J$=mt(async(e,t="",{style:i="",isTitle:n=!1,classes:r="",useHtmlLabels:s=!0,isNode:a=!0,width:o=200,addSvgBackground:l=!1}={},c)=>{return I.debug("XYZ createText",t,i,n,r,s,a,"addSvgBackground: ",l),s?(n=P$(t,c),s=await Q$(n_(n)),n=t.replace(/\\\\/g,"\\"),G$(e,{isNode:a,label:Jc(t)?n:s,labelStyle:i.replace("fill:","color:")},o,r,l)):(n=K$(o,e,O$(t.replace(/<br\s*\/?>/g,"<br/>").replace("<br>","<br/>"),c),!!t&&l),a?(s=(i=/stroke:/.exec(i)?i.replace("stroke:","lineColor:"):i).replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:"),V(n).attr("style",s)):(r=i.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:"),V(n).select("rect").attr("style",r.replace(/background:/g,"fill:")),o=i.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:"),V(n).select("text").attr("style",o)),n)},"createText")});function tL(e){e=e.map((e,t)=>(0===t?"M":"L")+e.x+","+e.y);return e.push("Z"),e.join(" ")}function iL(t,e,i,n,r,s){var a=[],o=i-t,l=2*Math.PI/(o/s),c=e+(n-e)/2;for(let e=0;e<=50;e++){var h=t+e/50*o,u=c+r*Math.sin(l*(h-t));a.push({x:h,y:u})}return a}function nL(t,i,n,r,e,s){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:-h,y:-c})}return a}var rL,sL,aL,oL,r=e(()=>{"use strict";eL(),_u(),a6(),Ln(),hh(),s_(),rL=mt(async(e,t,i)=>{let n,r=t.useHtmlLabels||qc(N()?.htmlLabels),s=(n=i||"node default",e.insert("g").attr("class",n).attr("id",t.domId||t.id)),a=s.insert("g").attr("class","label").attr("style",$C(t.labelStyle)),o,l=(o=void 0===t.label?"":"string"==typeof t.label?t.label:t.label[0],await J$(a,Pc(n_(o),N()),{useHtmlLabels:r,width:t.width||N().flowchart?.wrappingWidth,cssClasses:"markdown-node-label",style:t.labelStyle,addSvgBackground:!!t.icon||!!t.img})),c=l.getBBox(),h=(t?.padding??0)/2;if(r){var i=l.children[0],e=V(l),u=i.getElementsByTagName("img");if(u){let n=""===o.replace(/<img[^>]*>/g,"").trim();await Promise.all([...u].map(i=>new Promise(t=>{function e(){var e;i.style.display="flex",i.style.flexDirection="column",n?(e=(N().fontSize?N():window.getComputedStyle(document.body)).fontSize,[e=vi.fontSize]=e_(e),i.style.minWidth=e=5*e+"px",i.style.maxWidth=e):i.style.width="100%",t(i)}mt(e,"setupImage"),setTimeout(()=>{i.complete&&e()}),i.addEventListener("error",e),i.addEventListener("load",e)})))}c=i.getBoundingClientRect(),e.attr("width",c.width),e.attr("height",c.height)}return r?a.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"):a.attr("transform","translate(0, "+-c.height/2+")"),t.centerLabel&&a.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"),a.insert("rLine truncated
M ${r},${s} L ${l},`+c}function nM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i,t.label="";let r=e.insert("g").attr("class",oL(t)).attr("id",t.domId??t.id),s=Math.max(30,t?.width??0),a=t["cssStyles"],o=zR.svg(r),l=RL(t,{}),c=("handDrawn"!==t.look&&(l.roughness=0,l.fillStyle="solid"),o.circle(0,0,2*s,l)),h=iM(s),u=o.path(h,l),d=r.insert(()=>c,":first-child");return d.insert(()=>u),a&&"handDrawn"!==t.look&&d.selectAll("path").attr("style",a),n&&"handDrawn"!==t.look&&d.selectAll("path").attr("style",n),aL(t,d),t.intersect=function(e){return I.info("crossedCircle intersect",t,{radius:s,point:e}),CL.circle(t,s,e)},r}var rM=e(()=>{"use strict";t(),r(),DL(),HR(),NL(),mt(iM,"createLine"),mt(nM,"crossedCircle")});function sM(t,i,n,r=100,e=0,s=180){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:-h,y:-c})}return a}async function aM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=s.width+(t.padding??0),l=s.height+(t.padding??0),c=Math.max(5,.1*l),h=t["cssStyles"],u=[...sM(o/2,-l/2,c,30,-90,0),{x:-o/2-c,y:c},...sM(o/2+2*c,-c,c,20,-180,-270),...sM(o/2+2*c,c,c,20,-90,-180),{x:-o/2-c,y:-l/2},...sM(o/2,l/2,c,20,0,90)],d=[{x:o/2,y:-l/2-c},{x:-o/2,y:-l/2-c},...sM(o/2,-l/2,c,20,-90,0),{x:-o/2-c,y:-c},...sM(o/2+.1*o,-c,c,20,-180,-270),...sM(o/2+.1*o,c,c,20,-90,-180),{x:-o/2-c,y:l/2},...sM(o/2,l/2,c,20,0,90),{x:-o/2,y:l/2+c},{x:o/2,y:l/2+c}],p=zR.svg(r),g=RL(t,{fill:"none"}),f=("handDrawn"!==t.look&&(g.roughness=0,g.fillStyle="solid"),tL(u).replace("Z","")),m=p.path(f,g),y=tL(d),b=p.path(y,{...g}),v=r.insert("g",":first-child");return v.insert(()=>b,":first-child").attr("stroke-opacity",0),v.insert(()=>m,":first-child"),v.attr("class","text"),h&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",h),n&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${c}, 0)`),a.attr("transform",`translate(${-o/2+c-(s.x-(s.left??0))},${-l/2+(t.padding??0)/2-(s.y-(s.top??0))})`),aL(t,v),t.intersect=function(e){return CL.polygon(t,d,e)},r}var oM=e(()=>{"use strict";r(),NL(),DL(),HR(),mt(sM,"generateCirclePoints"),mt(aM,"curlyBraceLeft")});function lM(t,i,n,r=100,e=0,s=180){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:h,y:c})}return a}async function cM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=s.width+(t.padding??0),l=s.height+(t.padding??0),c=Math.max(5,.1*l),h=t["cssStyles"],u=[...lM(o/2,-l/2,c,20,-90,0),{x:o/2+c,y:-c},...lM(o/2+2*c,-c,c,20,-180,-270),...lM(o/2+2*c,c,c,20,-90,-180),{x:o/2+c,y:l/2},...lM(o/2,l/2,c,20,0,90)],d=[{x:-o/2,y:-l/2-c},{x:o/2,y:-l/2-c},...lM(o/2,-l/2,c,20,-90,0),{x:o/2+c,y:-c},...lM(o/2+2*c,-c,c,20,-180,-270),...lM(o/2+2*c,c,c,20,-90,-180),{x:o/2+c,y:l/2},...lM(o/2,l/2,c,20,0,90),{x:o/2,y:l/2+c},{x:-o/2,y:l/2+c}],p=zR.svg(r),g=RL(t,{fill:"none"}),f=("handDrawn"!==t.look&&(g.roughness=0,g.fillStyle="solid"),tL(u).replace("Z","")),m=p.path(f,g),y=tL(d),b=p.path(y,{...g}),v=r.insert("g",":first-child");return v.insert(()=>b,":first-child").attr("stroke-opacity",0),v.insert(()=>m,":first-child"),v.attr("class","text"),h&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",h),n&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${-c}, 0)`),a.attr("transform",`translate(${-o/2+(t.padding??0)/2-(s.x-(s.left??0))},${-l/2+(t.padding??0)/2-(s.y-(s.top??0))})`),aL(t,v),t.intersect=function(e){return CL.polygon(t,d,e)},r}var hM=e(()=>{"use strict";r(),NL(),DL(),HR(),mt(lM,"generateCirclePoints"),mt(cM,"curlyBraceRight")});function uM(t,i,n,r=100,e=0,s=180){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:-h,y:-c})}return a}async function dM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=s.width+(t.padding??0),l=s.height+(t.padding??0),c=Math.max(5,.1*l),h=t["cssStyles"],u=[...uM(o/2,-l/2,c,30,-90,0),{x:-o/2-c,y:c},...uM(o/2+2*c,-c,c,20,-180,-270),...uM(o/2+2*c,c,c,20,-90,-180),{x:-o/2-c,y:-l/2},...uM(o/2,l/2,c,20,0,90)],d=[...uM(-o/2+c+c/2,-l/2,c,20,-90,-180),{x:o/2-c/2,y:c},...uM(-o/2-c/2,-c,c,20,0,90),...uM(-o/2-c/2,c,c,20,-90,0),{x:o/2-c/2,y:-c},...uM(-o/2+c+c/2,l/2,c,30,-180,-270)],p=[{x:o/2,y:-l/2-c},{x:-o/2,y:-l/2-c},...uM(o/2,-l/2,c,20,-90,0),{x:-o/2-c,y:-c},...uM(o/2+2*c,-c,c,20,-180,-270),...uM(o/2+2*c,c,c,20,-90,-180),{x:-o/2-c,y:l/2},...uM(o/2,l/2,c,20,0,90),{x:-o/2,y:l/2+c},{x:o/2-c-c/2,y:l/2+c},...uM(-o/2+c+c/2,-l/2,c,20,-90,-180),{x:o/2-c/2,y:c},...uM(-o/2-c/2,-c,c,20,0,90),...uM(-o/2-c/2,c,c,20,-90,0),{x:o/2-c/2,y:-c},...uM(-o/2+c+c/2,l/2,c,30,-180,-270)],g=zR.svg(r),f=RL(t,{fill:"none"}),m=("handDrawn"!==t.look&&(f.roughness=0,f.fillStyle="solid"),tL(u).replace("Z"," Line truncated M ${r},${s} L ${l},`+c}function nM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i,t.label="";let r=e.insert("g").attr("class",oL(t)).attr("id",t.domId??t.id),s=Math.max(30,t?.width??0),a=t["cssStyles"],o=zR.svg(r),l=RL(t,{}),c=("handDrawn"!==t.look&&(l.roughness=0,l.fillStyle="solid"),o.circle(0,0,2*s,l)),h=iM(s),u=o.path(h,l),d=r.insert(()=>c,":first-child");return d.insert(()=>u),a&&"handDrawn"!==t.look&&d.selectAll("path").attr("style",a),n&&"handDrawn"!==t.look&&d.selectAll("path").attr("style",n),aL(t,d),t.intersect=function(e){return I.info("crossedCircle intersect",t,{radius:s,point:e}),CL.circle(t,s,e)},r}var rM=e(()=>{"use strict";t(),r(),DL(),UR(),NL(),mt(iM,"createLine"),mt(nM,"crossedCircle")});function sM(t,i,n,r=100,e=0,s=180){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:-h,y:-c})}return a}async function aM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=s.width+(t.padding??0),l=s.height+(t.padding??0),c=Math.max(5,.1*l),h=t["cssStyles"],u=[...sM(o/2,-l/2,c,30,-90,0),{x:-o/2-c,y:c},...sM(o/2+2*c,-c,c,20,-180,-270),...sM(o/2+2*c,c,c,20,-90,-180),{x:-o/2-c,y:-l/2},...sM(o/2,l/2,c,20,0,90)],d=[{x:o/2,y:-l/2-c},{x:-o/2,y:-l/2-c},...sM(o/2,-l/2,c,20,-90,0),{x:-o/2-c,y:-c},...sM(o/2+.1*o,-c,c,20,-180,-270),...sM(o/2+.1*o,c,c,20,-90,-180),{x:-o/2-c,y:l/2},...sM(o/2,l/2,c,20,0,90),{x:-o/2,y:l/2+c},{x:o/2,y:l/2+c}],p=zR.svg(r),g=RL(t,{fill:"none"}),f=("handDrawn"!==t.look&&(g.roughness=0,g.fillStyle="solid"),tL(u).replace("Z","")),m=p.path(f,g),y=tL(d),b=p.path(y,{...g}),v=r.insert("g",":first-child");return v.insert(()=>b,":first-child").attr("stroke-opacity",0),v.insert(()=>m,":first-child"),v.attr("class","text"),h&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",h),n&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${c}, 0)`),a.attr("transform",`translate(${-o/2+c-(s.x-(s.left??0))},${-l/2+(t.padding??0)/2-(s.y-(s.top??0))})`),aL(t,v),t.intersect=function(e){return CL.polygon(t,d,e)},r}var oM=e(()=>{"use strict";r(),NL(),DL(),UR(),mt(sM,"generateCirclePoints"),mt(aM,"curlyBraceLeft")});function lM(t,i,n,r=100,e=0,s=180){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:h,y:c})}return a}async function cM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=s.width+(t.padding??0),l=s.height+(t.padding??0),c=Math.max(5,.1*l),h=t["cssStyles"],u=[...lM(o/2,-l/2,c,20,-90,0),{x:o/2+c,y:-c},...lM(o/2+2*c,-c,c,20,-180,-270),...lM(o/2+2*c,c,c,20,-90,-180),{x:o/2+c,y:l/2},...lM(o/2,l/2,c,20,0,90)],d=[{x:-o/2,y:-l/2-c},{x:o/2,y:-l/2-c},...lM(o/2,-l/2,c,20,-90,0),{x:o/2+c,y:-c},...lM(o/2+2*c,-c,c,20,-180,-270),...lM(o/2+2*c,c,c,20,-90,-180),{x:o/2+c,y:l/2},...lM(o/2,l/2,c,20,0,90),{x:o/2,y:l/2+c},{x:-o/2,y:l/2+c}],p=zR.svg(r),g=RL(t,{fill:"none"}),f=("handDrawn"!==t.look&&(g.roughness=0,g.fillStyle="solid"),tL(u).replace("Z","")),m=p.path(f,g),y=tL(d),b=p.path(y,{...g}),v=r.insert("g",":first-child");return v.insert(()=>b,":first-child").attr("stroke-opacity",0),v.insert(()=>m,":first-child"),v.attr("class","text"),h&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",h),n&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${-c}, 0)`),a.attr("transform",`translate(${-o/2+(t.padding??0)/2-(s.x-(s.left??0))},${-l/2+(t.padding??0)/2-(s.y-(s.top??0))})`),aL(t,v),t.intersect=function(e){return CL.polygon(t,d,e)},r}var hM=e(()=>{"use strict";r(),NL(),DL(),UR(),mt(lM,"generateCirclePoints"),mt(cM,"curlyBraceRight")});function uM(t,i,n,r=100,e=0,s=180){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:-h,y:-c})}return a}async function dM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=s.width+(t.padding??0),l=s.height+(t.padding??0),c=Math.max(5,.1*l),h=t["cssStyles"],u=[...uM(o/2,-l/2,c,30,-90,0),{x:-o/2-c,y:c},...uM(o/2+2*c,-c,c,20,-180,-270),...uM(o/2+2*c,c,c,20,-90,-180),{x:-o/2-c,y:-l/2},...uM(o/2,l/2,c,20,0,90)],d=[...uM(-o/2+c+c/2,-l/2,c,20,-90,-180),{x:o/2-c/2,y:c},...uM(-o/2-c/2,-c,c,20,0,90),...uM(-o/2-c/2,c,c,20,-90,0),{x:o/2-c/2,y:-c},...uM(-o/2+c+c/2,l/2,c,30,-180,-270)],p=[{x:o/2,y:-l/2-c},{x:-o/2,y:-l/2-c},...uM(o/2,-l/2,c,20,-90,0),{x:-o/2-c,y:-c},...uM(o/2+2*c,-c,c,20,-180,-270),...uM(o/2+2*c,c,c,20,-90,-180),{x:-o/2-c,y:l/2},...uM(o/2,l/2,c,20,0,90),{x:-o/2,y:l/2+c},{x:o/2-c-c/2,y:l/2+c},...uM(-o/2+c+c/2,-l/2,c,20,-90,-180),{x:o/2-c/2,y:c},...uM(-o/2-c/2,-c,c,20,0,90),...uM(-o/2-c/2,c,c,20,-90,0),{x:o/2-c/2,y:-c},...uM(-o/2+c+c/2,l/2,c,30,-180,-270)],g=zR.svg(r),f=RL(t,{fill:"none"}),m=("handDrawn"!==t.look&&(f.roughness=0,f.fillStyle="solid"),tL(u).replace("Z"," Line truncated
point:`,e,` point:`,e,`
node: node:
`,r,` `,r,`
res:`,CL.polygon(r,c,e)),CL.polygon(r,c,e)},s}var kI,TI=e(()=>{"use strict";t(),r(),NL(),DL(),HR(),XR(),kI=mt((e,t,i)=>[`M${e+i/2},`+t,`L${e+i},`+(t-i/2),`L${e+i/2},`+(t-i),`L${e},`+(t-i/2),"Z"].join(" "),"createDecisionBoxPathD"),mt(wI,"question")});async function SI(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=Math.max(s.width+(t.padding??0),t?.width??0),l=Math.max(s.height+(t.padding??0),t?.height??0),c=-o/2,h=-l/2,u=h/2,d=[{x:c+u,y:h},{x:c,y:0},{x:c+u,y:-h},{x:-c,y:-h},{x:-c,y:h}],p=t["cssStyles"],g=zR.svg(r),f=RL(t,{}),m=("handDrawn"!==t.look&&(f.roughness=0,f.fillStyle="solid"),tL(d)),y=g.path(m,f),b=r.insert(()=>y,":first-child");return b.attr("class","basic label-container"),p&&"handDrawn"!==t.look&&b.selectAll("path").attr("style",p),n&&"handDrawn"!==t.look&&b.selectAll("path").attr("style",n),b.attr("transform",`translate(${-u/2},0)`),a.attr("transform",`translate(${-u/2-s.width/2-(s.x-(s.left??0))}, ${-s.height/2-(s.y-(s.top??0))})`),aL(t,b),t.intersect=function(e){return CL.polygon(t,d,e)},r}var CI=e(()=>{"use strict";r(),NL(),DL(),HR(),mt(SI,"rect_left_inv_arrow")});function _I(e,t){t&&e.attr("style",t)}async function AI(e){let t=V(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),i=t.append("xhtml:div"),n=e.label;e.label&&Jc(e.label)&&(n=await th(e.label.replace($.lineBreakRegex,` res:`,CL.polygon(r,c,e)),CL.polygon(r,c,e)},s}var kI,TI=e(()=>{"use strict";t(),r(),NL(),DL(),UR(),XR(),kI=mt((e,t,i)=>[`M${e+i/2},`+t,`L${e+i},`+(t-i/2),`L${e+i/2},`+(t-i),`L${e},`+(t-i/2),"Z"].join(" "),"createDecisionBoxPathD"),mt(wI,"question")});async function SI(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=Math.max(s.width+(t.padding??0),t?.width??0),l=Math.max(s.height+(t.padding??0),t?.height??0),c=-o/2,h=-l/2,u=h/2,d=[{x:c+u,y:h},{x:c,y:0},{x:c+u,y:-h},{x:-c,y:-h},{x:-c,y:h}],p=t["cssStyles"],g=zR.svg(r),f=RL(t,{}),m=("handDrawn"!==t.look&&(f.roughness=0,f.fillStyle="solid"),tL(d)),y=g.path(m,f),b=r.insert(()=>y,":first-child");return b.attr("class","basic label-container"),p&&"handDrawn"!==t.look&&b.selectAll("path").attr("style",p),n&&"handDrawn"!==t.look&&b.selectAll("path").attr("style",n),b.attr("transform",`translate(${-u/2},0)`),a.attr("transform",`translate(${-u/2-s.width/2-(s.x-(s.left??0))}, ${-s.height/2-(s.y-(s.top??0))})`),aL(t,b),t.intersect=function(e){return CL.polygon(t,d,e)},r}var CI=e(()=>{"use strict";r(),NL(),DL(),UR(),mt(SI,"rect_left_inv_arrow")});function _I(e,t){t&&e.attr("style",t)}async function AI(e){let t=V(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),i=t.append("xhtml:div"),n=e.label;e.label&&Jc(e.label)&&(n=await th(e.label.replace($.lineBreakRegex,`
`),N()));var r=e.isNode?"nodeLabel":"edgeLabel";return i.html('<span class="'+r+'" '+(e.labelStyle?'style="'+e.labelStyle+'"':"")+">"+n+"</span>"),_I(i,e.labelStyle),i.style("display","inline-block"),i.style("padding-right","1px"),i.style("white-space","nowrap"),i.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}var EI,$I,LI=e(()=>{"use strict";a6(),t(),_u(),hh(),s_(),mt(_I,"applyStyle"),mt(AI,"addHtmlLabel"),EI=mt(async(e,t,i,n)=>{let r=e||"";if("object"==typeof r&&(r=r[0]),qc(N().flowchart.htmlLabels))return r=r.replace(/\\n|\n/g,"<br />"),I.info("vertexText"+r),AI({isNode:n,label:n_(r).replace(/fa[blrs]?:fa-[\w-]+/g,e=>`<i class='${e.replace(":"," ")}'></i>`),labelStyle:t&&t.replace("fill:","color:")});{var s,a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",t.replace("color:","fill:"));let e=[];for(s of e="string"==typeof r?r.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(r)?r:[]){var o=document.createElementNS("http://www.w3.org/2000/svg","tspan");o.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),o.setAttribute("dy","1em"),o.setAttribute("x","0"),i?o.setAttribute("class","title-row"):o.setAttribute("class","row"),o.textContent=s.trim(),a.appendChild(o)}return a}},"createLabel"),$I=EI});async function RI(r,s){var{labelStyles:e,nodeStyles:t}=LL(s);s.labelStyle=e;let i,a=(i=s.cssClasses?"node "+s.cssClasses:"node default",r.insert("g").attr("class",i).attr("id",s.domId||s.id)),n=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",t),l=s.description,c=s.label,h=o.node().appendChild(await $I(c,s.labelStyle,!0,!0)),u={width:0,height:0};qc(N()?.flowchart?.htmlLabels)&&(e=h.children[0],r=V(h),u=e.getBoundingClientRect(),r.attr("width",u.width),r.attr("height",u.height)),I.info("Text 2",l);var e=l||[],r=h.getBBox(),e=o.node().appendChild(await $I(e.join?e.join("<br/>"):e,s.labelStyle,!0,!0)),d=e.children[0],p=V(e),d=(u=d.getBoundingClientRect(),p.attr("width",u.width),p.attr("height",u.height),(s.padding||0)/2);V(e).attr("transform","translate( "+(u.width>r.width?0:(r.width-u.width)/2)+", "+(r.height+d+5)+")"),V(h).attr("transform","translate( "+(u.width<r.width?0:-(r.width-u.width)/2)+", 0)"),u=o.node().getBBox(),o.attr("transform","translate("+-u.width/2+", "+(-u.height/2-d+3)+")");let g=u.width+(s.padding||0),f=u.height+(s.padding||0),m=-u.width/2-d,y=-u.height/2-d,b,v;if("handDrawn"===s.look){let e=zR.svg(a),t=RL(s,{}),i=e.path(zM(m,y,g,f,s.rx||0),t),n=e.line(-u.width/2-d,-u.height/2-d+r.height+d,u.width/2+d,-u.height/2-d+r.height+d,t);v=a.insert(()=>(I.debug("Rough node insert CXC",i),n),":first-child"),b=a.insert(()=>(I.debug("Rough node insert CXC",i),i),":first-child")}else b=n.insert("rect",":first-child"),v=n.insert("line"),b.attr("class","outer title-state").attr("style",t).attr("x",-u.width/2-d).attr("y",-u.height/2-d).attr("width",u.width+(s.padding||0)).attr("height",u.height+(s.padding||0)),v.attr("class","divider").attr("x1",-u.width/2-d).attr("x2",u.width/2+d).attr("y1",-u.height/2-d+r.height+d).attr("y2",-u.height/2-d+r.height+d);return aL(s,b),s.intersect=function(e){return CL.rect(s,e)},a}var MI=e(()=>{"use strict";a6(),hh(),r(),LI(),NL(),DL(),HR(),_u(),UM(),t(),mt(RI,"rectWithTitle")});async function II(e,t){return QM(e,t,{rx:5,ry:5,classes:"",labelPaddingX:+(t?.padding||0),labelPaddingY:+(t?.padding||0)})}var NI=e(()=>{"use strict";JM(),mt(II,"roundedRect")});async function DI(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e,label:r}=(t.labelStyle=i,await rL(e,t,oL(t))),s=t?.padding??0,a=Math.max(e.width+2*(t.padding??0),t?.width??0),o=Math.max(e.height+2*(t.padding??0),t?.height??0),l=-e.width/2-s,s=-e.height/2-s,c=t["cssStyles"],h=zR.svg(i),u=RL(t,{});"handDrawn"!==t.look&&(u.roughness=0,u.fillStyle="solid");let d=[{x:l,y:s},{x:l+a+8,y:s},{x:l+a+8,y:s+o},{x:l-8,y:s+o},{x:l-8,y:s},{x:l,y:s},{x:l,y:s+o}],p=h.polygon(d.map(e=>[e.x,e.y]),u),g=i.insert(()=>p,":first-child");return g.attr("class","basic label-container").attr("style",$C(c)),n&&"handDrawn"!==t.look&&g.selectAll("path").attr("style",n),c&&"handDrawn"!==t.look&&g.selectAll("path").attr("style",n),r.attr("transform",`translate(${-a/2+4+(t.padding??0)-(e.x-(e.left??0))},${-o/2+(t.padding??0)-(e.y-(e.top??0))})`),aL(t,g),t.intersect=function(e){return CL.rect(t,e)},i}var OI=e(()=>{"use strict";r(),NL(),DL(),HR(),s_(),mt(DI,"shadedProcess")});async function PI(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e,label:r}=(t.labelStyle=i,await rL(e,t,oL(t))),s=Math.max(e.width+2*(t.padding??0),t?.width??0),a=Math.max(e.height+2*(t.padding??0),t?.height??0),o=-s/2,l=-a/2,c=t["cssStyles"],h=zR.svg(i),u=RL(t,{});"handDrawn"!==t.look&&(u.roughness=0,u.fillStyle="solid");let d=[{x:o,y:l},{x:o,y:l+a},{x:o+s,y:l+a},{x:o+s,y:l-a/2}],p=tL(d),g=h.path(p,u),f=i.insert(()=>g,":first-child");return f.attr("class","basic label-container"),c&&"handDrawn"!==t.look&&f.selectChildren("path").attr("style",c),n&&"handDrawn"!==t.look&&f.selectChildren(" Line truncated `),N()));var r=e.isNode?"nodeLabel":"edgeLabel";return i.html('<span class="'+r+'" '+(e.labelStyle?'style="'+e.labelStyle+'"':"")+">"+n+"</span>"),_I(i,e.labelStyle),i.style("display","inline-block"),i.style("padding-right","1px"),i.style("white-space","nowrap"),i.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}var EI,$I,LI=e(()=>{"use strict";a6(),t(),_u(),hh(),s_(),mt(_I,"applyStyle"),mt(AI,"addHtmlLabel"),EI=mt(async(e,t,i,n)=>{let r=e||"";if("object"==typeof r&&(r=r[0]),qc(N().flowchart.htmlLabels))return r=r.replace(/\\n|\n/g,"<br />"),I.info("vertexText"+r),AI({isNode:n,label:n_(r).replace(/fa[blrs]?:fa-[\w-]+/g,e=>`<i class='${e.replace(":"," ")}'></i>`),labelStyle:t&&t.replace("fill:","color:")});{var s,a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",t.replace("color:","fill:"));let e=[];for(s of e="string"==typeof r?r.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(r)?r:[]){var o=document.createElementNS("http://www.w3.org/2000/svg","tspan");o.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),o.setAttribute("dy","1em"),o.setAttribute("x","0"),i?o.setAttribute("class","title-row"):o.setAttribute("class","row"),o.textContent=s.trim(),a.appendChild(o)}return a}},"createLabel"),$I=EI});async function RI(r,s){var{labelStyles:e,nodeStyles:t}=LL(s);s.labelStyle=e;let i,a=(i=s.cssClasses?"node "+s.cssClasses:"node default",r.insert("g").attr("class",i).attr("id",s.domId||s.id)),n=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",t),l=s.description,c=s.label,h=o.node().appendChild(await $I(c,s.labelStyle,!0,!0)),u={width:0,height:0};qc(N()?.flowchart?.htmlLabels)&&(e=h.children[0],r=V(h),u=e.getBoundingClientRect(),r.attr("width",u.width),r.attr("height",u.height)),I.info("Text 2",l);var e=l||[],r=h.getBBox(),e=o.node().appendChild(await $I(e.join?e.join("<br/>"):e,s.labelStyle,!0,!0)),d=e.children[0],p=V(e),d=(u=d.getBoundingClientRect(),p.attr("width",u.width),p.attr("height",u.height),(s.padding||0)/2);V(e).attr("transform","translate( "+(u.width>r.width?0:(r.width-u.width)/2)+", "+(r.height+d+5)+")"),V(h).attr("transform","translate( "+(u.width<r.width?0:-(r.width-u.width)/2)+", 0)"),u=o.node().getBBox(),o.attr("transform","translate("+-u.width/2+", "+(-u.height/2-d+3)+")");let g=u.width+(s.padding||0),f=u.height+(s.padding||0),m=-u.width/2-d,y=-u.height/2-d,b,v;if("handDrawn"===s.look){let e=zR.svg(a),t=RL(s,{}),i=e.path(zM(m,y,g,f,s.rx||0),t),n=e.line(-u.width/2-d,-u.height/2-d+r.height+d,u.width/2+d,-u.height/2-d+r.height+d,t);v=a.insert(()=>(I.debug("Rough node insert CXC",i),n),":first-child"),b=a.insert(()=>(I.debug("Rough node insert CXC",i),i),":first-child")}else b=n.insert("rect",":first-child"),v=n.insert("line"),b.attr("class","outer title-state").attr("style",t).attr("x",-u.width/2-d).attr("y",-u.height/2-d).attr("width",u.width+(s.padding||0)).attr("height",u.height+(s.padding||0)),v.attr("class","divider").attr("x1",-u.width/2-d).attr("x2",u.width/2+d).attr("y1",-u.height/2-d+r.height+d).attr("y2",-u.height/2-d+r.height+d);return aL(s,b),s.intersect=function(e){return CL.rect(s,e)},a}var MI=e(()=>{"use strict";a6(),hh(),r(),LI(),NL(),DL(),UR(),_u(),HM(),t(),mt(RI,"rectWithTitle")});async function II(e,t){return QM(e,t,{rx:5,ry:5,classes:"",labelPaddingX:+(t?.padding||0),labelPaddingY:+(t?.padding||0)})}var NI=e(()=>{"use strict";JM(),mt(II,"roundedRect")});async function DI(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e,label:r}=(t.labelStyle=i,await rL(e,t,oL(t))),s=t?.padding??0,a=Math.max(e.width+2*(t.padding??0),t?.width??0),o=Math.max(e.height+2*(t.padding??0),t?.height??0),l=-e.width/2-s,s=-e.height/2-s,c=t["cssStyles"],h=zR.svg(i),u=RL(t,{});"handDrawn"!==t.look&&(u.roughness=0,u.fillStyle="solid");let d=[{x:l,y:s},{x:l+a+8,y:s},{x:l+a+8,y:s+o},{x:l-8,y:s+o},{x:l-8,y:s},{x:l,y:s},{x:l,y:s+o}],p=h.polygon(d.map(e=>[e.x,e.y]),u),g=i.insert(()=>p,":first-child");return g.attr("class","basic label-container").attr("style",$C(c)),n&&"handDrawn"!==t.look&&g.selectAll("path").attr("style",n),c&&"handDrawn"!==t.look&&g.selectAll("path").attr("style",n),r.attr("transform",`translate(${-a/2+4+(t.padding??0)-(e.x-(e.left??0))},${-o/2+(t.padding??0)-(e.y-(e.top??0))})`),aL(t,g),t.intersect=function(e){return CL.rect(t,e)},i}var OI=e(()=>{"use strict";r(),NL(),DL(),UR(),s_(),mt(DI,"shadedProcess")});async function PI(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e,label:r}=(t.labelStyle=i,await rL(e,t,oL(t))),s=Math.max(e.width+2*(t.padding??0),t?.width??0),a=Math.max(e.height+2*(t.padding??0),t?.height??0),o=-s/2,l=-a/2,c=t["cssStyles"],h=zR.svg(i),u=RL(t,{});"handDrawn"!==t.look&&(u.roughness=0,u.fillStyle="solid");let d=[{x:o,y:l},{x:o,y:l+a},{x:o+s,y:l+a},{x:o+s,y:l-a/2}],p=tL(d),g=h.path(p,u),f=i.insert(()=>g,":first-child");return f.attr("class","basic label-container"),c&&"handDrawn"!==t.look&&f.selectChildren("path").attr("style",c),n&&"handDrawn"!==t.look&&f.selectChildren(" Line truncated
a${r},${s} 0,0,1 0,${-n} a${r},${s} 0,0,1 0,${-n}
l${i},0 l${i},0
a${r},${s} 0,0,1 0,${n} a${r},${s} 0,0,1 0,${n}
M${i},${-n} M${i},${-n}
a${r},${s} 0,0,0 0,${n} a${r},${s} 0,0,0 0,${n}
l${-i},0`,"createCylinderPathD"),sN=mt((e,t,i,n,r,s)=>[`M${e},`+t,`M${e+i},`+t,`a${r},${s} 0,0,0 0,`+-n,`l${-i},0`,`a${r},${s} 0,0,0 0,`+n,`l${i},0`].join(" "),"createOuterCylinderPathD"),aN=mt((e,t,i,n,r,s)=>[`M${e+i/2},`+-n/2,`a${r},${s} 0,0,0 0,`+n].join(" "),"createInnerCylinderPathD"),mt(nN,"tiltedCylinder")});async function lN(e,r){var{labelStyles:t,nodeStyles:i}=LL(r);r.labelStyle=t;let{shapeSvg:s,bbox:n}=await rL(e,r,oL(r)),a=n.width+r.padding,o=n.height+r.padding,l=[{x:-3*o/6,y:0},{x:a+3*o/6,y:0},{x:a,y:-o},{x:0,y:-o}],c,h=r["cssStyles"];if("handDrawn"===r.look){let e=zR.svg(s),t=RL(r,{}),i=tL(l),n=e.path(i,t);c=s.insert(()=>n,":first-child").attr("transform",`translate(${-a/2}, ${o/2})`),h&&c.attr("style",h)}else c=YR(s,a,o,l);return i&&c.attr("style",i),r.width=a,r.height=o,aL(r,c),r.intersect=function(e){return CL.polygon(r,l,e)},s}var cN=e(()=>{"use strict";r(),NL(),DL(),HR(),XR(),mt(lN,"trapezoid")});async function hN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e}=(t.labelStyle=i,await rL(e,t,oL(t))),r=Math.max(60,e.width+2*(t.padding??0),t?.width??0),e=Math.max(20,e.height+2*(t.padding??0),t?.height??0),s=t["cssStyles"],a=zR.svg(i),o=RL(t,{});"handDrawn"!==t.look&&(o.roughness=0,o.fillStyle="solid");let l=[{x:-r/2*.8,y:-e/2},{x:r/2*.8,y:-e/2},{x:r/2,y:-e/2*.6},{x:r/2,y:e/2},{x:-r/2,y:e/2},{x:-r/2,y:-e/2*.6}],c=tL(l),h=a.path(c,o),u=i.insert(()=>h,":first-child");return u.attr("class","basic label-container"),s&&"handDrawn"!==t.look&&u.selectChildren("path").attr("style",s),n&&"handDrawn"!==t.look&&u.selectChildren("path").attr("style",n),aL(t,u),t.intersect=function(e){return CL.polygon(t,l,e)},i}var uN=e(()=>{"use strict";r(),NL(),DL(),HR(),mt(hN,"trapezoidalPentagon")});async function dN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=qc(N().flowchart?.htmlLabels),l=s.width+(t.padding??0),c=l+s.height,h=l+s.height,u=[{x:0,y:0},{x:h,y:0},{x:h/2,y:-c}],d=t["cssStyles"],p=zR.svg(r),g=RL(t,{}),f=("handDrawn"!==t.look&&(g.roughness=0,g.fillStyle="solid"),tL(u)),m=p.path(f,g),y=r.insert(()=>m,":first-child").attr("transform",`translate(${-c/2}, ${c/2})`);return d&&"handDrawn"!==t.look&&y.selectChildren("path").attr("style",d),n&&"handDrawn"!==t.look&&y.selectChildren("path").attr("style",n),t.width=l,t.height=c,aL(t,y),a.attr("transform",`translate(${-s.width/2-(s.x-(s.left??0))}, ${c/2-(s.height+(t.padding??0)/(o?2:1)-(s.y-(s.top??0)))})`),t.intersect=function(e){return I.info("Triangle intersect",t,u,e),CL.polygon(t,u,e)},r}var pN=e(()=>{"use strict";t(),r(),NL(),DL(),HR(),r(),hh(),_u(),mt(dN,"triangle")});async function gN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e,label:r}=(t.labelStyle=i,await rL(e,t,oL(t))),s=Math.max(e.width+2*(t.padding??0),t?.width??0),a=Math.max(e.height+2*(t.padding??0),t?.height??0),o=a/8,l=a+o,c=t["cssStyles"],h=70-s,h=0<h?h/2:0,u=zR.svg(i),d=RL(t,{});"handDrawn"!==t.look&&(d.roughness=0,d.fillStyle="solid");let p=[{x:-s/2-h,y:l/2},...iL(-s/2-h,l/2,s/2+h,l/2,o,.8),{x:s/2+h,y:-l/2},{x:-s/2-h,y:-l/2}],g=tL(p),f=u.path(g,d),m=i.insert(()=>f,":first-child");return m.attr("class","basic label-container"),c&&"handDrawn"!==t.look&&m.selectAll("path").attr("style",c),n&&"handDrawn"!==t.look&&m.selectAll("path").attr("style",n),m.attr("transform",`translate(0,${-o/2})`),r.attr("transform",`translate(${-s/2+(t.padding??0)-(e.x-(e.left??0))},${-a/2+(t.padding??0)-o-(e.y-(e.top??0))})`),aL(t,m),t.intersect=function(e){return CL.polygon(t,p,e)},i}var fN=e(()=>{"use strict";r(),NL(),HR(),DL(),mt(gN,"waveEdgedRectangle")});async function mN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s}=await rL(e,t,oL(t)),a=Math.max(s.width+2*(t.padding??0),t?.width??0),o=Math.max(s.height+2*(t.padding??0),t?.height??0),l=a/o,c=a,h=o;c>h*l?h=c/l:c=h*l,c=Math.max(c,100),h=Math.max(h,50);var i=Math.min(.2*h,h/4),e=h+2*i,u=t["cssStyles"],d=zR.svg(r),p=RL(t,{});"handDrawn"!==t.look&&(p.roughness=0,p.fillStyle="solid");let g=[{x:-c/2,y:e/2},...iL(-c/2,e/2,c/2,e/2,i,1),{x:c/2,y:-e/2},...iL(c/2,-e/2,-c/2,-e/2,i,-1)],f=tL(g),m=d.path(f,p),y=r.insert(()=>m,":first-child");return y.attr("class","basic label-container"),u&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",u),n&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",n),aL(t,y),t.intersect=function(e){return CL.polygon(t,g,e)},r}var yN=e(()=>{"use strict";r(),NL(),DL(),HR(),mt(mN,"waveRectangle")});async function bN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=Math.max(s.width+2*(t.padding??0),t?.width??0),l=Math.max(s.height+2*(t.padding??0),t?.height??0),c=-o/2,h=-l/2,u=t["cssStyles"],d=zR.svg(r),p=RL(t,{}),g=[{x:c-5,y:h-5},{x:c-5,y:h+l},{x:c+o,y:h+l},{x:c+o,y:h-5}],f=`M${c-5},${h-5} L${c+o},${h-5} L${c+o},${h+l} L${c-5},${h+l} L${c-5},${h-5} l${-i},0`,"createCylinderPathD"),sN=mt((e,t,i,n,r,s)=>[`M${e},`+t,`M${e+i},`+t,`a${r},${s} 0,0,0 0,`+-n,`l${-i},0`,`a${r},${s} 0,0,0 0,`+n,`l${i},0`].join(" "),"createOuterCylinderPathD"),aN=mt((e,t,i,n,r,s)=>[`M${e+i/2},`+-n/2,`a${r},${s} 0,0,0 0,`+n].join(" "),"createInnerCylinderPathD"),mt(nN,"tiltedCylinder")});async function lN(e,r){var{labelStyles:t,nodeStyles:i}=LL(r);r.labelStyle=t;let{shapeSvg:s,bbox:n}=await rL(e,r,oL(r)),a=n.width+r.padding,o=n.height+r.padding,l=[{x:-3*o/6,y:0},{x:a+3*o/6,y:0},{x:a,y:-o},{x:0,y:-o}],c,h=r["cssStyles"];if("handDrawn"===r.look){let e=zR.svg(s),t=RL(r,{}),i=tL(l),n=e.path(i,t);c=s.insert(()=>n,":first-child").attr("transform",`translate(${-a/2}, ${o/2})`),h&&c.attr("style",h)}else c=YR(s,a,o,l);return i&&c.attr("style",i),r.width=a,r.height=o,aL(r,c),r.intersect=function(e){return CL.polygon(r,l,e)},s}var cN=e(()=>{"use strict";r(),NL(),DL(),UR(),XR(),mt(lN,"trapezoid")});async function hN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e}=(t.labelStyle=i,await rL(e,t,oL(t))),r=Math.max(60,e.width+2*(t.padding??0),t?.width??0),e=Math.max(20,e.height+2*(t.padding??0),t?.height??0),s=t["cssStyles"],a=zR.svg(i),o=RL(t,{});"handDrawn"!==t.look&&(o.roughness=0,o.fillStyle="solid");let l=[{x:-r/2*.8,y:-e/2},{x:r/2*.8,y:-e/2},{x:r/2,y:-e/2*.6},{x:r/2,y:e/2},{x:-r/2,y:e/2},{x:-r/2,y:-e/2*.6}],c=tL(l),h=a.path(c,o),u=i.insert(()=>h,":first-child");return u.attr("class","basic label-container"),s&&"handDrawn"!==t.look&&u.selectChildren("path").attr("style",s),n&&"handDrawn"!==t.look&&u.selectChildren("path").attr("style",n),aL(t,u),t.intersect=function(e){return CL.polygon(t,l,e)},i}var uN=e(()=>{"use strict";r(),NL(),DL(),UR(),mt(hN,"trapezoidalPentagon")});async function dN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=qc(N().flowchart?.htmlLabels),l=s.width+(t.padding??0),c=l+s.height,h=l+s.height,u=[{x:0,y:0},{x:h,y:0},{x:h/2,y:-c}],d=t["cssStyles"],p=zR.svg(r),g=RL(t,{}),f=("handDrawn"!==t.look&&(g.roughness=0,g.fillStyle="solid"),tL(u)),m=p.path(f,g),y=r.insert(()=>m,":first-child").attr("transform",`translate(${-c/2}, ${c/2})`);return d&&"handDrawn"!==t.look&&y.selectChildren("path").attr("style",d),n&&"handDrawn"!==t.look&&y.selectChildren("path").attr("style",n),t.width=l,t.height=c,aL(t,y),a.attr("transform",`translate(${-s.width/2-(s.x-(s.left??0))}, ${c/2-(s.height+(t.padding??0)/(o?2:1)-(s.y-(s.top??0)))})`),t.intersect=function(e){return I.info("Triangle intersect",t,u,e),CL.polygon(t,u,e)},r}var pN=e(()=>{"use strict";t(),r(),NL(),DL(),UR(),r(),hh(),_u(),mt(dN,"triangle")});async function gN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e,label:r}=(t.labelStyle=i,await rL(e,t,oL(t))),s=Math.max(e.width+2*(t.padding??0),t?.width??0),a=Math.max(e.height+2*(t.padding??0),t?.height??0),o=a/8,l=a+o,c=t["cssStyles"],h=70-s,h=0<h?h/2:0,u=zR.svg(i),d=RL(t,{});"handDrawn"!==t.look&&(d.roughness=0,d.fillStyle="solid");let p=[{x:-s/2-h,y:l/2},...iL(-s/2-h,l/2,s/2+h,l/2,o,.8),{x:s/2+h,y:-l/2},{x:-s/2-h,y:-l/2}],g=tL(p),f=u.path(g,d),m=i.insert(()=>f,":first-child");return m.attr("class","basic label-container"),c&&"handDrawn"!==t.look&&m.selectAll("path").attr("style",c),n&&"handDrawn"!==t.look&&m.selectAll("path").attr("style",n),m.attr("transform",`translate(0,${-o/2})`),r.attr("transform",`translate(${-s/2+(t.padding??0)-(e.x-(e.left??0))},${-a/2+(t.padding??0)-o-(e.y-(e.top??0))})`),aL(t,m),t.intersect=function(e){return CL.polygon(t,p,e)},i}var fN=e(()=>{"use strict";r(),NL(),UR(),DL(),mt(gN,"waveEdgedRectangle")});async function mN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s}=await rL(e,t,oL(t)),a=Math.max(s.width+2*(t.padding??0),t?.width??0),o=Math.max(s.height+2*(t.padding??0),t?.height??0),l=a/o,c=a,h=o;c>h*l?h=c/l:c=h*l,c=Math.max(c,100),h=Math.max(h,50);var i=Math.min(.2*h,h/4),e=h+2*i,u=t["cssStyles"],d=zR.svg(r),p=RL(t,{});"handDrawn"!==t.look&&(p.roughness=0,p.fillStyle="solid");let g=[{x:-c/2,y:e/2},...iL(-c/2,e/2,c/2,e/2,i,1),{x:c/2,y:-e/2},...iL(c/2,-e/2,-c/2,-e/2,i,-1)],f=tL(g),m=d.path(f,p),y=r.insert(()=>m,":first-child");return y.attr("class","basic label-container"),u&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",u),n&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",n),aL(t,y),t.intersect=function(e){return CL.polygon(t,g,e)},r}var yN=e(()=>{"use strict";r(),NL(),DL(),UR(),mt(mN,"waveRectangle")});async function bN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=Math.max(s.width+2*(t.padding??0),t?.width??0),l=Math.max(s.height+2*(t.padding??0),t?.height??0),c=-o/2,h=-l/2,u=t["cssStyles"],d=zR.svg(r),p=RL(t,{}),g=[{x:c-5,y:h-5},{x:c-5,y:h+l},{x:c+o,y:h+l},{x:c+o,y:h-5}],f=`M${c-5},${h-5} L${c+o},${h-5} L${c+o},${h+l} L${c-5},${h+l} L${c-5},${h-5}
M${c-5},${h} L${c+o},${h} M${c-5},${h} L${c+o},${h}
M${c},${h-5} L${c},`+(h+l),m=("handDrawn"!==t.look&&(p.roughness=0,p.fillStyle="solid"),d.path(f,p)),y=r.insert(()=>m,":first-child");return y.attr("transform","translate(2.5, 2.5)"),y.attr("class","basic label-container"),u&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",u),n&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",n),a.attr("transform",`translate(${-s.width/2+2.5-(s.x-(s.left??0))}, ${-s.height/2+2.5-(s.y-(s.top??0))})`),aL(t,y),t.intersect=function(e){return CL.polygon(t,g,e)},r}var vN=e(()=>{"use strict";r(),DL(),HR(),NL(),mt(bN,"windowPane")});async function xN(e,t){var i,n=t,r=(n.alias&&(t.label=n.alias),"handDrawn"===t.look&&(E=Ii()["themeVariables"],E=E["background"],await xN(e,{...t,id:t.id+"-background",look:"default",cssStyles:["stroke: none","fill: "+E]})),Ii());t.useHtmlLabels=r.htmlLabels;let o=r.er?.diagramPadding??10,l=r.er?.entityPadding??6,s=t["cssStyles"],{labelStyles:a,nodeStyles:c}=LL(t);if(0===n.attributes.length&&t.label)return E={rx:0,ry:0,labelPaddingX:o,labelPaddingY:1.5*o,classes:""},_C(t.label,r)+2*E.labelPaddingX<r.er.minEntityWidth&&(t.width=r.er.minEntityWidth),E=await QM(e,t,E),qc(r.htmlLabels)||(S=(A=E.select("text")).node()?.getBBox(),A.attr("transform",`translate(${-S.width/2}, 0)`)),E;r.htmlLabels||(o*=1.25,l*=1.25);let h=oL(t),u=(h=h||"node default",e.insert("g").attr("class",h).attr("id",t.domId||t.id)),d=await wN(u,t.label??"",r,0,0,["name"],a),p=(d.height+=l,0),g=[],f=[],m=0,y=0,b=0,v=0,x=!0,w=!0;for(i of n.attributes){var k=await wN(u,i.type,r,0,p,["attribute-type"],a),O=(m=Math.max(m,k.width+o),await wN(u,i.name,r,0,p,["attribute-name"],a)),P=(y=Math.max(y,O.width+o),await wN(u,i.keys.join(),r,0,p,["attribute-keys"],a)),B=(b=Math.max(b,P.width+o),await wN(u,i.comment,r,0,p,["attribute-comment"],a)),k=(v=Math.max(v,B.width+o),Math.max(k.height,O.height,P.height,B.height)+l);f.push({yOffset:p,rowHeight:k}),p+=k}let T=4;b<=o&&(x=!1,b=0,T--),v<=o&&(w=!1,v=0,T--);var S,F,C,_,A=u.node().getBBox(),E=(0<d.width+2*o-(m+y+b+v)&&(S=d.width+2*o-(m+y+b+v),m+=S/T,y+=S/T,0<b&&(b+=S/T),0<v)&&(v+=S/T),m+y+b+v),$=zR.svg(u),L=RL(t,{});"handDrawn"!==t.look&&(L.roughness=0,L.fillStyle="solid");let j=0,R=(0<f.length&&(j=f.reduce((e,t)=>e+(t?.rowHeight??0),0)),Math.max(A.width+2*o,t?.width||0,E)),M=Math.max((j??0)+d.height,t?.height||0),I=-R/2,N=-M/2,z=(u.selectAll("g:not(:first-child)").each((e,t,i)=>{let n=V(i[t]),r=n.attr("transform"),s=0,a=0;r&&(i=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(r))&&(s=parseFloat(i[1]),a=parseFloat(i[2]),n.attr("class").includes("attribute-name")?s+=m:n.attr("class").includes("attribute-keys")?s+=m+y:n.attr("class").includes("attribute-comment")&&(s+=m+y+b)),n.attr("transform",`translate(${I+o/2+s}, ${a+N+d.height+l/2})`)}),u.select(".name").attr("transform","translate("+-d.width/2+", "+(N+l/2)+")"),$.rectangle(I,N,R,M,L)),H=u.insert(()=>z,":first-child").attr("style",s.join("")),U=Ii()["themeVariables"],{rowEven:q,rowOdd:W,nodeBorder:G}=U;g.push(0);for([F,C]of f.entries()){let e=(F+1)%2==0&&0!==C.yOffset,t=$.rectangle(I,d.height+N+C?.yOffset,R,C?.rowHeight,{...L,fill:e?q:W,stroke:G});u.insert(()=>t,"g.label").attr("style",s.join("")).attr("class","row-rect-"+(e?"even":"odd"))}let D=$.line(I,d.height+N,R+I,d.height+N,L);u.insert(()=>D).attr("class","divider"),D=$.line(m+I,d.height+N,m+I,M+N,L),u.insert(()=>D).attr("class","divider"),x&&(D=$.line(m+y+I,d.height+N,m+y+I,M+N,L),u.insert(()=>D).attr("class","divider")),w&&(D=$.line(m+y+b+I,d.height+N,m+y+b+I,M+N,L),u.insert(()=>D).attr("class","divider"));for(_ of g)D=$.line(I,d.height+N+_,R+I,d.height+N+_,L),u.insert(()=>D).attr("class","divider");return aL(t,H),c&&"handDrawn"!==t.look&&(e=c.split(";")?.filter(e=>e.includes("stroke"))?.map(e=>""+e).join("; "),u.selectAll("path").attr("style",e??""),u.selectAll(".row-rect-even path").attr("style",c)),t.intersect=function(e){return CL.rect(t,e)},u}async function wN(e,t,i,n=0,r=0,s=[],a=""){e=e.insert("g").attr("class","label "+s.join(" ")).attr("transform",`translate(${n}, ${r})`).attr("style",a),t!==Vc(t)&&(t=(t=Vc(t)).replaceAll("<","&lt;").replaceAll(">","&gt;")),s=e.node().appendChild(await J$(e,t,{width:_C(t,i)+100,style:a,useHtmlLabels:i.htmlLabels},i));if(t.includes("&lt;")||t.includes("&gt;")){let e=s.children[0];for(e.textContent=e.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">");e.childNodes[0];)(e=e.childNodes[0]).textContent=e.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">")}let o=s.getBBox();return qc(i.htmlLabels)&&((n=s.children[0]).style.textAlign="start",r=V(s),o=n.getBoundingClientRect(),r.attr("width",o.width),r.attr("height",o.height)),o}var kN=e(()=>{"use strict";r(),NL(),DL(),HR(),JM(),Mn(),eL(),hh(),a6(),s_(),mt(xN,"erBox"),mt(wN,"addText")});async function TN(e,t,i,n,r=i.class.padding??12){let s=n?0:3,a=e.insert("g").attr("class",oL(t)).attr("id",t.domId||t.id),o=null,l=null,c=null,h=null,u=0,d,p=0;o=a.insert("g").attr("class","annotation-group text"),0<t.annotations.length&&(n= Line truncated M${c},${h-5} L${c},`+(h+l),m=("handDrawn"!==t.look&&(p.roughness=0,p.fillStyle="solid"),d.path(f,p)),y=r.insert(()=>m,":first-child");return y.attr("transform","translate(2.5, 2.5)"),y.attr("class","basic label-container"),u&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",u),n&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",n),a.attr("transform",`translate(${-s.width/2+2.5-(s.x-(s.left??0))}, ${-s.height/2+2.5-(s.y-(s.top??0))})`),aL(t,y),t.intersect=function(e){return CL.polygon(t,g,e)},r}var vN=e(()=>{"use strict";r(),DL(),UR(),NL(),mt(bN,"windowPane")});async function xN(e,t){var i,n=t,r=(n.alias&&(t.label=n.alias),"handDrawn"===t.look&&(E=Ii()["themeVariables"],E=E["background"],await xN(e,{...t,id:t.id+"-background",look:"default",cssStyles:["stroke: none","fill: "+E]})),Ii());t.useHtmlLabels=r.htmlLabels;let o=r.er?.diagramPadding??10,l=r.er?.entityPadding??6,s=t["cssStyles"],{labelStyles:a,nodeStyles:c}=LL(t);if(0===n.attributes.length&&t.label)return E={rx:0,ry:0,labelPaddingX:o,labelPaddingY:1.5*o,classes:""},_C(t.label,r)+2*E.labelPaddingX<r.er.minEntityWidth&&(t.width=r.er.minEntityWidth),E=await QM(e,t,E),qc(r.htmlLabels)||(S=(A=E.select("text")).node()?.getBBox(),A.attr("transform",`translate(${-S.width/2}, 0)`)),E;r.htmlLabels||(o*=1.25,l*=1.25);let h=oL(t),u=(h=h||"node default",e.insert("g").attr("class",h).attr("id",t.domId||t.id)),d=await wN(u,t.label??"",r,0,0,["name"],a),p=(d.height+=l,0),g=[],f=[],m=0,y=0,b=0,v=0,x=!0,w=!0;for(i of n.attributes){var k=await wN(u,i.type,r,0,p,["attribute-type"],a),O=(m=Math.max(m,k.width+o),await wN(u,i.name,r,0,p,["attribute-name"],a)),P=(y=Math.max(y,O.width+o),await wN(u,i.keys.join(),r,0,p,["attribute-keys"],a)),B=(b=Math.max(b,P.width+o),await wN(u,i.comment,r,0,p,["attribute-comment"],a)),k=(v=Math.max(v,B.width+o),Math.max(k.height,O.height,P.height,B.height)+l);f.push({yOffset:p,rowHeight:k}),p+=k}let T=4;b<=o&&(x=!1,b=0,T--),v<=o&&(w=!1,v=0,T--);var S,F,C,_,A=u.node().getBBox(),E=(0<d.width+2*o-(m+y+b+v)&&(S=d.width+2*o-(m+y+b+v),m+=S/T,y+=S/T,0<b&&(b+=S/T),0<v)&&(v+=S/T),m+y+b+v),$=zR.svg(u),L=RL(t,{});"handDrawn"!==t.look&&(L.roughness=0,L.fillStyle="solid");let j=0,R=(0<f.length&&(j=f.reduce((e,t)=>e+(t?.rowHeight??0),0)),Math.max(A.width+2*o,t?.width||0,E)),M=Math.max((j??0)+d.height,t?.height||0),I=-R/2,N=-M/2,z=(u.selectAll("g:not(:first-child)").each((e,t,i)=>{let n=V(i[t]),r=n.attr("transform"),s=0,a=0;r&&(i=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(r))&&(s=parseFloat(i[1]),a=parseFloat(i[2]),n.attr("class").includes("attribute-name")?s+=m:n.attr("class").includes("attribute-keys")?s+=m+y:n.attr("class").includes("attribute-comment")&&(s+=m+y+b)),n.attr("transform",`translate(${I+o/2+s}, ${a+N+d.height+l/2})`)}),u.select(".name").attr("transform","translate("+-d.width/2+", "+(N+l/2)+")"),$.rectangle(I,N,R,M,L)),U=u.insert(()=>z,":first-child").attr("style",s.join("")),H=Ii()["themeVariables"],{rowEven:q,rowOdd:W,nodeBorder:G}=H;g.push(0);for([F,C]of f.entries()){let e=(F+1)%2==0&&0!==C.yOffset,t=$.rectangle(I,d.height+N+C?.yOffset,R,C?.rowHeight,{...L,fill:e?q:W,stroke:G});u.insert(()=>t,"g.label").attr("style",s.join("")).attr("class","row-rect-"+(e?"even":"odd"))}let D=$.line(I,d.height+N,R+I,d.height+N,L);u.insert(()=>D).attr("class","divider"),D=$.line(m+I,d.height+N,m+I,M+N,L),u.insert(()=>D).attr("class","divider"),x&&(D=$.line(m+y+I,d.height+N,m+y+I,M+N,L),u.insert(()=>D).attr("class","divider")),w&&(D=$.line(m+y+b+I,d.height+N,m+y+b+I,M+N,L),u.insert(()=>D).attr("class","divider"));for(_ of g)D=$.line(I,d.height+N+_,R+I,d.height+N+_,L),u.insert(()=>D).attr("class","divider");return aL(t,U),c&&"handDrawn"!==t.look&&(e=c.split(";")?.filter(e=>e.includes("stroke"))?.map(e=>""+e).join("; "),u.selectAll("path").attr("style",e??""),u.selectAll(".row-rect-even path").attr("style",c)),t.intersect=function(e){return CL.rect(t,e)},u}async function wN(e,t,i,n=0,r=0,s=[],a=""){e=e.insert("g").attr("class","label "+s.join(" ")).attr("transform",`translate(${n}, ${r})`).attr("style",a),t!==Vc(t)&&(t=(t=Vc(t)).replaceAll("<","&lt;").replaceAll(">","&gt;")),s=e.node().appendChild(await J$(e,t,{width:_C(t,i)+100,style:a,useHtmlLabels:i.htmlLabels},i));if(t.includes("&lt;")||t.includes("&gt;")){let e=s.children[0];for(e.textContent=e.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">");e.childNodes[0];)(e=e.childNodes[0]).textContent=e.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">")}let o=s.getBBox();return qc(i.htmlLabels)&&((n=s.children[0]).style.textAlign="start",r=V(s),o=n.getBoundingClientRect(),r.attr("width",o.width),r.attr("height",o.height)),o}var kN=e(()=>{"use strict";r(),NL(),DL(),UR(),JM(),Mn(),eL(),hh(),a6(),s_(),mt(xN,"erBox"),mt(wN,"addText")});async function TN(e,t,i,n,r=i.class.padding??12){let s=n?0:3,a=e.insert("g").attr("class",oL(t)).attr("id",t.domId||t.id),o=null,l=null,c=null,h=null,u=0,d,p=0;o=a.insert("g").attr("class","annotation-group text"),0<t.annotations.length&&(n= Line truncated
`)?t+` `)?t+`
`:`{ `:`{
`+t+` `+t+`
@@ -470,22 +470,22 @@ res:`,CL.polygon(r,c,e)),CL.polygon(r,c,e)},s}var kI,TI=e(()=>{"use strict";t(),
Initialize mermaid with maxEdges set to a higher number to allow more edges. Initialize mermaid with maxEdges set to a higher number to allow more edges.
You cannot set this config via configuration inside the diagram as it is a secure config. You cannot set this config via configuration inside the diagram as it is a secure config.
You have to call mermaid.initialize.`);I.info("Pushing edge..."),this.edges.push(r)}isLinkData(e){return null!==e&&"object"==typeof e&&"id"in e&&"string"==typeof e.id}addLink(e,t,i){var n,r=this.isLinkData(i)?i.id.replace("@",""):void 0;I.info("addLink",e,t,r);for(n of e)for(var s of t){var a=n===e[e.length-1],o=s===t[0];a&&o?this.addSingleLink(n,s,i,r):this.addSingleLink(n,s,i,void 0)}}updateLinkInterpolate(e,t){e.forEach(e=>{"default"===e?this.edges.defaultInterpolate=t:this.edges[e].interpolate=t})}updateLink(e,t){e.forEach(e=>{if("number"==typeof e&&e>=this.edges.length)throw new Error(`The index ${e} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===e?this.edges.defaultStyle=t:(this.edges[e].style=t,0<(this.edges[e]?.style?.length??0)&&!this.edges[e]?.style?.some(e=>e?.startsWith("fill"))&&this.edges[e]?.style?.push("fill:none"))})}addClass(e,t){let n=t.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(e=>{let i=this.classes.get(e);void 0===i&&(i={id:e,styles:[],textStyles:[]},this.classes.set(e,i)),n?.forEach(e=>{var t;/color/.exec(e)&&(t=e.replace("fill","bgFill"),i.textStyles.push(t)),i.styles.push(e)})})}setDirection(e){this.direction=e,/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(e,i){for(let t of e.split(",")){var n=this.vertices.get(t),n=(n&&n.classes.push(i),this.edges.find(e=>e.id===t)),n=(n&&n.classes.push(i),this.subGraphLookup.get(t));n&&n.classes.push(i)}}setTooltip(e,t){if(void 0!==t){t=this.sanitizeText(t);for(var i of e.split(","))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(i):i,t)}}setClickFun(e,t,n){let r=this.lookUpDomId(e);if("loose"===N().securityLevel&&void 0!==t){let i=[];if("string"==typeof n){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<i.length;t++){let e=i[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),i[t]=e}}0===i.length&&i.push(e);n=this.vertices.get(e);n&&(n.haveCallback=!0,this.funs.push(()=>{var e=document.querySelector(`[id="${r}"]`);null!==e&&e.addEventListener("click",()=>{t_.runFunc(t,...i)},!1)}))}}setLink(e,t,i){e.split(",").forEach(e=>{e=this.vertices.get(e);void 0!==e&&(e.link=t_.formatUrl(t,this.config),e.linkTarget=i)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,t,i){e.split(",").forEach(e=>{this.setClickFun(e,t,i)}),this.setClass(e,"clickable")}bindFunctions(t){this.funs.forEach(e=>{e(t)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){let i=V(".mermaidTooltip");null===(i._groups||i)[0][0]&&(i=V("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),V(e).select("svg").selectAll("g.node").on("mouseover",e=>{var t=V(e.currentTarget);null!==t.attr("title")&&(e=e.currentTarget?.getBoundingClientRect(),i.transition().duration(200).style("opacity",".9"),i.text(t.attr("title")).style("left",window.scrollX+e.left+(e.right-e.left)/2+"px").style("top",window.scrollY+e.bottom+"px"),i.html(i.html().replace(/&lt;br\/&gt;/g,"<br/>")),t.classed("hover",!0))}).on("mouseout",e=>{i.transition().duration(500).style("opacity",0),V(e.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=N(),bh()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,t,i){let n=e.text.trim(),r=i.text;e===i&&/\s/.exec(i.text)&&(n=void 0);var e=mt(e=>{let i={boolean:{},number:{},string:{}},n=[],r;return{nodeList:e.filter(function(e){var t=typeof e;return e.stmt&&"dir"===e.stmt?(r=e.value,!1):""!==e.trim()&&(t in i?!i[t].hasOwnProperty(e)&&(i[t][e]=!0):!n.includes(e)&&n.push(e))}),dir:r}},"uniq")(t.flat()),s=e.nodeList,t=e.dir,e=N().flowchart??{},t=t??(e.inheritDir?this.getDirection()??N().direction??void 0:void 0);if("gen-1"===this.version)for(let e=0;e<s.length;e++)s[e]=this.lookUpDomId(s[e]);n=n??"subGraph"+this.subCount,r=this.sanitizeText(r=r||""),this.subCount=this.subCount+1;e={id:n,nodes:s,title:r.trim(),classes:[],dir:t,labelType:i.type};return I.info("Adding",e.id,e.nodes,e.dir),e.nodes=this.makeUniq(e,this.subGraphs).nodes,this.subGraphs.push(e),this.subGraphLookup.set(n,e),n}getPosForId(e){for(var[t,i]of this.subGraphs.entries())if(i.id===e)return t;return-1}indexNodes2(e,t){var i=this.subGraphs[t].nodes;if(this.secCount=this.secCount+1,2e3< Line truncated You have to call mermaid.initialize.`);I.info("Pushing edge..."),this.edges.push(r)}isLinkData(e){return null!==e&&"object"==typeof e&&"id"in e&&"string"==typeof e.id}addLink(e,t,i){var n,r=this.isLinkData(i)?i.id.replace("@",""):void 0;I.info("addLink",e,t,r);for(n of e)for(var s of t){var a=n===e[e.length-1],o=s===t[0];a&&o?this.addSingleLink(n,s,i,r):this.addSingleLink(n,s,i,void 0)}}updateLinkInterpolate(e,t){e.forEach(e=>{"default"===e?this.edges.defaultInterpolate=t:this.edges[e].interpolate=t})}updateLink(e,t){e.forEach(e=>{if("number"==typeof e&&e>=this.edges.length)throw new Error(`The index ${e} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===e?this.edges.defaultStyle=t:(this.edges[e].style=t,0<(this.edges[e]?.style?.length??0)&&!this.edges[e]?.style?.some(e=>e?.startsWith("fill"))&&this.edges[e]?.style?.push("fill:none"))})}addClass(e,t){let n=t.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(e=>{let i=this.classes.get(e);void 0===i&&(i={id:e,styles:[],textStyles:[]},this.classes.set(e,i)),n?.forEach(e=>{var t;/color/.exec(e)&&(t=e.replace("fill","bgFill"),i.textStyles.push(t)),i.styles.push(e)})})}setDirection(e){this.direction=e,/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(e,i){for(let t of e.split(",")){var n=this.vertices.get(t),n=(n&&n.classes.push(i),this.edges.find(e=>e.id===t)),n=(n&&n.classes.push(i),this.subGraphLookup.get(t));n&&n.classes.push(i)}}setTooltip(e,t){if(void 0!==t){t=this.sanitizeText(t);for(var i of e.split(","))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(i):i,t)}}setClickFun(e,t,n){let r=this.lookUpDomId(e);if("loose"===N().securityLevel&&void 0!==t){let i=[];if("string"==typeof n){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<i.length;t++){let e=i[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),i[t]=e}}0===i.length&&i.push(e);n=this.vertices.get(e);n&&(n.haveCallback=!0,this.funs.push(()=>{var e=document.querySelector(`[id="${r}"]`);null!==e&&e.addEventListener("click",()=>{t_.runFunc(t,...i)},!1)}))}}setLink(e,t,i){e.split(",").forEach(e=>{e=this.vertices.get(e);void 0!==e&&(e.link=t_.formatUrl(t,this.config),e.linkTarget=i)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,t,i){e.split(",").forEach(e=>{this.setClickFun(e,t,i)}),this.setClass(e,"clickable")}bindFunctions(t){this.funs.forEach(e=>{e(t)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){let i=V(".mermaidTooltip");null===(i._groups||i)[0][0]&&(i=V("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),V(e).select("svg").selectAll("g.node").on("mouseover",e=>{var t=V(e.currentTarget);null!==t.attr("title")&&(e=e.currentTarget?.getBoundingClientRect(),i.transition().duration(200).style("opacity",".9"),i.text(t.attr("title")).style("left",window.scrollX+e.left+(e.right-e.left)/2+"px").style("top",window.scrollY+e.bottom+"px"),i.html(i.html().replace(/&lt;br\/&gt;/g,"<br/>")),t.classed("hover",!0))}).on("mouseout",e=>{i.transition().duration(500).style("opacity",0),V(e.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=N(),bh()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,t,i){let n=e.text.trim(),r=i.text;e===i&&/\s/.exec(i.text)&&(n=void 0);var e=mt(e=>{let i={boolean:{},number:{},string:{}},n=[],r;return{nodeList:e.filter(function(e){var t=typeof e;return e.stmt&&"dir"===e.stmt?(r=e.value,!1):""!==e.trim()&&(t in i?!i[t].hasOwnProperty(e)&&(i[t][e]=!0):!n.includes(e)&&n.push(e))}),dir:r}},"uniq")(t.flat()),s=e.nodeList,t=e.dir,e=N().flowchart??{},t=t??(e.inheritDir?this.getDirection()??N().direction??void 0:void 0);if("gen-1"===this.version)for(let e=0;e<s.length;e++)s[e]=this.lookUpDomId(s[e]);n=n??"subGraph"+this.subCount,r=this.sanitizeText(r=r||""),this.subCount=this.subCount+1;e={id:n,nodes:s,title:r.trim(),classes:[],dir:t,labelType:i.type};return I.info("Adding",e.id,e.nodes,e.dir),e.nodes=this.makeUniq(e,this.subGraphs).nodes,this.subGraphs.push(e),this.subGraphLookup.set(n,e),n}getPosForId(e){for(var[t,i]of this.subGraphs.entries())if(i.id===e)return t;return-1}indexNodes2(e,t){var i=this.subGraphs[t].nodes;if(this.secCount=this.secCount+1,2e3< Line truncated
outsidePoint: ${JSON.stringify(n)} outsidePoint: ${JSON.stringify(n)}
insidePoint : ${JSON.stringify(r)} insidePoint : ${JSON.stringify(r)}
node : x:${e.x} y:${e.y} w:${e.width} h:`+e.height);let s=e.x,t=e.y,i=Math.abs(s-r.x),a=e.width/2,o=r.x<n.x?a-i:a+i,l=e.height/2,c=Math.abs(n.y-r.y),h=Math.abs(n.x-r.x);var u;if(Math.abs(t-n.y)*a>Math.abs(s-n.x)*l)return e=r.y<n.y?n.y-l-t:t-l-n.y,o=h*e/c,u={x:r.x<n.x?r.x+o:r.x-h+o,y:r.y<n.y?r.y+c-e:r.y-c+e},0===o&&(u.x=n.x,u.y=n.y),0===h&&(u.x=n.x),0===c&&(u.y=n.y),I.debug(`abc89 top/bottom calc, Q ${c}, q ${e}, R ${h}, r `+o,u),u;{let e=c*(o=r.x<n.x?n.x-a-s:s-a-n.x)/h,t=r.x<n.x?r.x+h-o:r.x-h+o,i=r.y<n.y?r.y+e:r.y-e;return I.debug(`sides calc abc89, Q ${c}, q ${e}, R ${h}, r `+o,{_x:t,_y:i}),0===o&&(t=n.x,i=n.y),0===h&&(t=n.x),0===c&&(i=n.y),{x:t,y:i}}},"intersection"),xD=mt((e,n)=>{I.warn("abc88 cutPathAtIntersect",e,n);let r=[],s=e[0],a=!1;return e.forEach(e=>{if(I.info("abc88 checking point",e,n),bD(n,e)||a)I.warn("abc88 outside",e,s),s=e,a||r.push(e);else{let t=vD(n,s,e),i=(I.debug("abc88 inside",e,s,t),I.debug("abc88 intersection",t,n),!1);r.forEach(e=>{i=i||e.x===t.x&&e.y===t.y}),r.some(e=>e.x===t.x&&e.y===t.y)?I.warn("abc88 no intersect",t,r):r.push(t),a=!0}}),I.debug("returning points",r),r},"cutPathAtIntersect"),mt(uD,"extractCornerPoints"),wD=mt(function(e,t,i){var n=t.x-e.x,e=t.y-e.y,i=i/Math.sqrt(n*n+e*e);return{x:t.x-i*n,y:t.y-i*e}},"findAdjacentPoint"),kD=mt(function(n){var e=uD(n)["cornerPointPositions"],r=[];for(let i=0;i<n.length;i++)if(e.includes(i)){var s=n[i-1],a=n[i+1],o=n[i],l=wD(s,o,5),c=wD(a,o,5),h=c.x-l.x,u=c.y-l.y;r.push(l);let e=2*Math.sqrt(2),t={x:o.x,y:o.y};10<Math.abs(a.x-s.x)&&10<=Math.abs(a.y-s.y)?(I.debug("Corner point fixing",Math.abs(a.x-s.x),Math.abs(a.y-s.y)),t=o.x===l.x?{x:h<0?l.x-5+e:l.x+5-e,y:u<0?l.y-e:l.y+e}:{x:h<0?l.x-e:l.x+e,y:u<0?l.y-5+e:l.y+5-e}):I.debug("Corner point skipping fixing",Math.abs(a.x-s.x),Math.abs(a.y-s.y)),r.push(t,c)}else r.push(n[i]);return r},"fixCorners"),TD=mt(function(n,r,e,t,s,i,a){let o=N()["handDrawnSeed"],l=r.points,c=!1,h=s;var u,s=i,d=[];for(u in r.cssCompiledStyles)$L(u)||d.push(r.cssCompiledStyles[u]);s.intersect&&h.intersect&&((l=l.slice(1,r.points.length-1)).unshift(h.intersect(l[0])),I.debug("Last point APA12",r.start,"--\x3e",r.end,l[l.length-1],s,s.intersect(l[l.length-1])),l.push(s.intersect(l[l.length-1]))),r.toCluster&&(I.info("to cluster abc88",e.get(r.toCluster)),l=xD(r.points,e.get(r.toCluster).node),c=!0),r.fromCluster&&(I.debug("from cluster abc88",e.get(r.fromCluster),JSON.stringify(l,null,2)),l=xD(l.reverse(),e.get(r.fromCluster).node).reverse(),c=!0);i=l.filter(e=>!Number.isNaN(e.y)),i=kD(i);let p=x5;switch(p=J3,r.curve){case"linear":p=J3;break;case"basis":p=x5;break;case"cardinal":p=I5;break;case"bumpX":p=d5;break;case"bumpY":p=p5;break;case"catmullRom":p=U5;break;case"monotoneX":p=ow;break;case"monotoneY":p=lw;break;case"natural":p=dw;break;case"step":p=fw;break;case"stepAfter":p=yw;break;case"stepBefore":p=mw;break;default:p=x5}let{x:g,y:f}=rD(r),m=r5().x(g).y(f).curve(p),y;switch(r.thickness){case"normal":y="edge-thickness-normal";break;case"thick":y="edge-thickness-thick";break;case"invisible":y="edge-thickness-invisible";break;default:y="edge-thickness-normal"}switch(r.pattern){case"solid":y+=" edge-pattern-solid";break;case"dotted":y+=" edge-pattern-dotted";break;case"dashed":y+=" edge-pattern-dashed";break;default:y+=" edge-pattern-solid"}let b,v=m(i),x=Array.isArray(r.style)?r.style:r.style?[r.style]:[],w=x.find(e=>e?.startsWith("stroke:"));if("handDrawn"===r.look){s=zR.svg(n),e=(Object.assign([],i),s.path(v,{roughness:.3,seed:o})),i=(y+=" transition",(b=V(e).select("path").attr("id",r.id).attr("class"," "+y+(r.classes?" "+r.classes:"")).attr("style",x?x.reduce((e,t)=>e+";"+t,""):"")).attr("d"));b.attr("d",i),n.node().appendChild(b.node())}else{let e=d.join(";"),t=x?x.reduce((e,t)=>e+t+";",""):"",i="";r.animate&&(i=" edge-animation-fast"),r.animation&&(i=" edge-animation-"+r.animation);s=e?e+";"+t+";":t;b=n.append("path").attr("d",v).attr("id",r.id).attr("class"," "+y+(r.classes?" "+r.classes:"")+(i??"")).attr("style",s),w=s.match(/stroke:([^;]+)/)?.[1]}let k="";(N().flowchart.arrowMarkerAbsolute||N().state.arrowMarkerAbsolute)&&(k=Uc(!0)),I.info("arrowTypeStart",r.arrowTypeStart),I.info("arrowTypeEnd",r.arrowTypeEnd),sD(b,r,k,a,t,w);e={};return c&&(e.updatedPath=l),e.originalPath=r.points,e},"insertEdge")}),UD=e(()=>{"use strict";t(),SD=mt((t,e,i,n)=>{e.forEach(e=>{jD[e](t,i,n)})},"insertMarkers"),CD=mt((e,t,i)=>{I.trace("Making markers for ",i),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),_D=mt((e,t,i)=>{e.append("defs").append("mark Line truncated node : x:${e.x} y:${e.y} w:${e.width} h:`+e.height);let s=e.x,t=e.y,i=Math.abs(s-r.x),a=e.width/2,o=r.x<n.x?a-i:a+i,l=e.height/2,c=Math.abs(n.y-r.y),h=Math.abs(n.x-r.x);var u;if(Math.abs(t-n.y)*a>Math.abs(s-n.x)*l)return e=r.y<n.y?n.y-l-t:t-l-n.y,o=h*e/c,u={x:r.x<n.x?r.x+o:r.x-h+o,y:r.y<n.y?r.y+c-e:r.y-c+e},0===o&&(u.x=n.x,u.y=n.y),0===h&&(u.x=n.x),0===c&&(u.y=n.y),I.debug(`abc89 top/bottom calc, Q ${c}, q ${e}, R ${h}, r `+o,u),u;{let e=c*(o=r.x<n.x?n.x-a-s:s-a-n.x)/h,t=r.x<n.x?r.x+h-o:r.x-h+o,i=r.y<n.y?r.y+e:r.y-e;return I.debug(`sides calc abc89, Q ${c}, q ${e}, R ${h}, r `+o,{_x:t,_y:i}),0===o&&(t=n.x,i=n.y),0===h&&(t=n.x),0===c&&(i=n.y),{x:t,y:i}}},"intersection"),xD=mt((e,n)=>{I.warn("abc88 cutPathAtIntersect",e,n);let r=[],s=e[0],a=!1;return e.forEach(e=>{if(I.info("abc88 checking point",e,n),bD(n,e)||a)I.warn("abc88 outside",e,s),s=e,a||r.push(e);else{let t=vD(n,s,e),i=(I.debug("abc88 inside",e,s,t),I.debug("abc88 intersection",t,n),!1);r.forEach(e=>{i=i||e.x===t.x&&e.y===t.y}),r.some(e=>e.x===t.x&&e.y===t.y)?I.warn("abc88 no intersect",t,r):r.push(t),a=!0}}),I.debug("returning points",r),r},"cutPathAtIntersect"),mt(uD,"extractCornerPoints"),wD=mt(function(e,t,i){var n=t.x-e.x,e=t.y-e.y,i=i/Math.sqrt(n*n+e*e);return{x:t.x-i*n,y:t.y-i*e}},"findAdjacentPoint"),kD=mt(function(n){var e=uD(n)["cornerPointPositions"],r=[];for(let i=0;i<n.length;i++)if(e.includes(i)){var s=n[i-1],a=n[i+1],o=n[i],l=wD(s,o,5),c=wD(a,o,5),h=c.x-l.x,u=c.y-l.y;r.push(l);let e=2*Math.sqrt(2),t={x:o.x,y:o.y};10<Math.abs(a.x-s.x)&&10<=Math.abs(a.y-s.y)?(I.debug("Corner point fixing",Math.abs(a.x-s.x),Math.abs(a.y-s.y)),t=o.x===l.x?{x:h<0?l.x-5+e:l.x+5-e,y:u<0?l.y-e:l.y+e}:{x:h<0?l.x-e:l.x+e,y:u<0?l.y-5+e:l.y+5-e}):I.debug("Corner point skipping fixing",Math.abs(a.x-s.x),Math.abs(a.y-s.y)),r.push(t,c)}else r.push(n[i]);return r},"fixCorners"),TD=mt(function(n,r,e,t,s,i,a){let o=N()["handDrawnSeed"],l=r.points,c=!1,h=s;var u,s=i,d=[];for(u in r.cssCompiledStyles)$L(u)||d.push(r.cssCompiledStyles[u]);s.intersect&&h.intersect&&((l=l.slice(1,r.points.length-1)).unshift(h.intersect(l[0])),I.debug("Last point APA12",r.start,"--\x3e",r.end,l[l.length-1],s,s.intersect(l[l.length-1])),l.push(s.intersect(l[l.length-1]))),r.toCluster&&(I.info("to cluster abc88",e.get(r.toCluster)),l=xD(r.points,e.get(r.toCluster).node),c=!0),r.fromCluster&&(I.debug("from cluster abc88",e.get(r.fromCluster),JSON.stringify(l,null,2)),l=xD(l.reverse(),e.get(r.fromCluster).node).reverse(),c=!0);i=l.filter(e=>!Number.isNaN(e.y)),i=kD(i);let p=x5;switch(p=J3,r.curve){case"linear":p=J3;break;case"basis":p=x5;break;case"cardinal":p=I5;break;case"bumpX":p=d5;break;case"bumpY":p=p5;break;case"catmullRom":p=H5;break;case"monotoneX":p=ow;break;case"monotoneY":p=lw;break;case"natural":p=dw;break;case"step":p=fw;break;case"stepAfter":p=yw;break;case"stepBefore":p=mw;break;default:p=x5}let{x:g,y:f}=rD(r),m=r5().x(g).y(f).curve(p),y;switch(r.thickness){case"normal":y="edge-thickness-normal";break;case"thick":y="edge-thickness-thick";break;case"invisible":y="edge-thickness-invisible";break;default:y="edge-thickness-normal"}switch(r.pattern){case"solid":y+=" edge-pattern-solid";break;case"dotted":y+=" edge-pattern-dotted";break;case"dashed":y+=" edge-pattern-dashed";break;default:y+=" edge-pattern-solid"}let b,v=m(i),x=Array.isArray(r.style)?r.style:r.style?[r.style]:[],w=x.find(e=>e?.startsWith("stroke:"));if("handDrawn"===r.look){s=zR.svg(n),e=(Object.assign([],i),s.path(v,{roughness:.3,seed:o})),i=(y+=" transition",(b=V(e).select("path").attr("id",r.id).attr("class"," "+y+(r.classes?" "+r.classes:"")).attr("style",x?x.reduce((e,t)=>e+";"+t,""):"")).attr("d"));b.attr("d",i),n.node().appendChild(b.node())}else{let e=d.join(";"),t=x?x.reduce((e,t)=>e+t+";",""):"",i="";r.animate&&(i=" edge-animation-fast"),r.animation&&(i=" edge-animation-"+r.animation);s=e?e+";"+t+";":t;b=n.append("path").attr("d",v).attr("id",r.id).attr("class"," "+y+(r.classes?" "+r.classes:"")+(i??"")).attr("style",s),w=s.match(/stroke:([^;]+)/)?.[1]}let k="";(N().flowchart.arrowMarkerAbsolute||N().state.arrowMarkerAbsolute)&&(k=Hc(!0)),I.info("arrowTypeStart",r.arrowTypeStart),I.info("arrowTypeEnd",r.arrowTypeEnd),sD(b,r,k,a,t,w);e={};return c&&(e.updatedPath=l),e.originalPath=r.points,e},"insertEdge")}),HD=e(()=>{"use strict";t(),SD=mt((t,e,i,n)=>{e.forEach(e=>{jD[e](t,i,n)})},"insertMarkers"),CD=mt((e,t,i)=>{I.trace("Making markers for ",i),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),_D=mt((e,t,i)=>{e.append("defs").append("mark Line truncated
L20,10 L20,10
M20,10 M20,10
L0,20`)},"requirement_arrow"),FD=mt((e,t,i)=>{e=e.append("defs").append("marker").attr("id",i+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");e.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),e.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),e.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),jD={extension:CD,composition:_D,aggregation:AD,dependency:ED,lollipop:$D,point:LD,circle:RD,cross:MD,barb:ID,only_one:ND,zero_or_one:DD,one_or_more:OD,zero_or_more:PD,requirement_arrow:BD,requirement_contains:FD},zD=SD});async function qD(t,i,n){let r,s;"rect"===i.shape&&(i.rx&&i.ry?i.shape="roundedRect":i.shape="squareRect");var a=i.shape?PN[i.shape]:void 0;if(!a)throw new Error(`No such shape: ${i.shape}. Please check your syntax.`);if(i.link){let e;"sandbox"===n.config.securityLevel?e="_top":i.linkTarget&&(e=i.linkTarget||"_blank"),r=t.insert("svg:a").attr("xlink:href",i.link).attr("target",e??null),s=await a(r,i,n)}else s=await a(t,i,n),r=s;return i.tooltip&&s.attr("title",i.tooltip),WD.set(i.id,r),i.haveCallback&&r.attr("class",r.attr("class")+" clickable"),r}var WD,GD,VD,YD,XD,KD=e(()=>{"use strict";t(),KN(),WD=new Map,mt(qD,"insertNode"),GD=mt((e,t)=>{WD.set(t.id,e)},"setNodeElem"),VD=mt(()=>{WD.clear()},"clear"),YD=mt(e=>{var t=WD.get(e.id),i=(I.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")"),e.diff||0);return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-8)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},"positionNode")}),ZD=e(()=>{"use strict";Mn(),hh(),t(),eD(),HD(),UD(),KD(),r(),s_(),XD={common:$,getConfig:Ii,insertCluster:YN,insertEdge:TD,insertEdgeLabel:mD,insertMarkers:zD,insertNode:qD,interpolateToCurve:yC,labelHelper:rL,log:I,positionEdgeLabel:yD}});function QD(e){return"symbol"==typeof e||Kk(e)&&"[object Symbol]"==E6(e)}var JD,eO=e(()=>{"use strict";$6(),Zk(),mt(QD,"isSymbol"),JD=QD});function tO(e,t){for(var i=-1,n=null==e?0:e.length,r=Array(n);++i<n;)r[i]=t(e[i],i,e);return r}var iO,nO=e(()=>{"use strict";mt(tO,"arrayMap"),iO=tO});function rO(e){var t;return"string"==typeof e?e:sT(e)?iO(e,rO)+"":JD(e)?oO?oO.call(e):"":"0"==(t=e+"")&&1/e==-sO?"-0":t}var sO,aO,oO,lO,cO=e(()=>{"use strict";p6(),nO(),lT(),eO(),sO=1/0,aO=t6?t6.prototype:void 0,oO=aO?aO.toString:void 0,mt(rO,"baseToString"),lO=rO});function hO(e){for(var t=e.length;t--&&uO.test(e.charAt(t)););return t}var uO,dO,pO=e(()=>{"use strict";uO=/\s/,mt(hO,"trimmedEndIndex"),dO=hO});function gO(e){return e&&e.slice(0,dO(e)+1).replace(fO,"")}var fO,mO,yO=e(()=>{"use strict";pO(),fO=/^\s+/,mt(gO,"baseTrim"),mO=gO});function bO(e){if("number"==typeof e)return e;if(JD(e))return vO;if(R6(e)&&(t="function"==typeof e.valueOf?e.valueOf():e,e=R6(t)?t+"":t),"string"!=typeof e)return 0===e?e:+e;e=mO(e);var t=wO.test(e);return t||kO.test(e)?TO(e.slice(2),t?2:8):xO.test(e)?vO:+e}var vO,xO,wO,kO,TO,SO,CO=e(()=>{"use strict";yO(),M6(),eO(),vO=NaN,xO=/^[-+]0x[0-9a-f]+$/i,wO=/^0b[01]+$/i,kO=/^0o[0-7]+$/i,TO=parseInt,mt(bO,"toNumber"),SO=bO});function _O(e){return e?(e=SO(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}var AO,EO=e(()=>{"use strict";CO(),mt(_O,"toFinite"),AO=_O});function $O(e){var e=AO(e),t=e%1;return e==e?t?e-t:e:0}var LO,RO,MO,IO=e(()=>{"use strict";EO(),mt($O,"toInteger"),LO=$O}),NO=e(()=>{"use strict";c8(),d6(),RO=a8(Jw,"WeakMap"),MO=RO});function DO(){}var OO,PO=e(()=>{"use strict";mt(DO,"noop"),OO=DO});function BO(e,t){for(var i=-1,n=null==e?0:e.length;++i<n&&!1!==t(e[i],i,e););return e}var FO,jO=e(()=>{"use strict";mt(BO,"arrayEach"),FO=BO});function zO(e,t,i,n){for(var r=e.length,s=i+(n?1:-1);n?s--:++s<r;)if(t(e[s],s,e))return s;return-1}var HO,UO=e(()=>{"use strict";mt(zO,"baseFindIndex"),HO=zO});function qO(e){return e!=e}var WO,GO=e(()=>{"use strict";mt(qO,"baseIsNaN"),WO=qO});function VO(e,t,i){for(var n=i-1,r=e.length;++n<r;)if(e[n]===t)return n;return-1}var YO,XO=e(()=>{"use strict";mt(VO,"strictIndexOf"),YO=VO});function KO(e,t,i){return t==t?YO(e,t,i):HO(e,WO,i)}var ZO,QO=e(()=>{"use strict";UO(),GO(),XO(),mt(KO,"baseIndexOf"),ZO=KO});function JO(e,t){return!!(null==e?0:e.length)&&-1<ZO(e,t,0)}var eP,tP,iP,nP=e(()=>{"use strict";QO(),mt(JO,"arrayIncludes"),eP=JO}),rP=e(()=>{"use strict";jk(),tP=Pk(Object.keys,Object),iP=tP});function sP(e){if(!qk(e))return iP(e);var t,i=[];for(t in Object(e))oP.call(e,t)&&"constructor"!=t&&i.push(t);return i}var aP,oP,lP,cP=e(()=>{"use strict";Wk(),rP(),aP=Object.prototype,oP=aP.hasOwnProperty,mt(sP,"baseKeys"),lP=sP});function hP(e){return(pT(e)?fS:lP)(e)}var uP,dP,pP,gP,fP=e(()=>{"use strict";mS(),cP(),gT(),mt(hP,"keys"),uP=hP}),mP=e(()=>{"use strict";tS(),rS(),fC(),gT(),Wk(),fP(),pP=Object.prototype,dP=pP.hasOwnProperty,pP=dC(function(e,t){if(qk(t)||pT(t))nS(t,uP(t),e);else for(var i in t Line truncated L0,20`)},"requirement_arrow"),FD=mt((e,t,i)=>{e=e.append("defs").append("marker").attr("id",i+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");e.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),e.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),e.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),jD={extension:CD,composition:_D,aggregation:AD,dependency:ED,lollipop:$D,point:LD,circle:RD,cross:MD,barb:ID,only_one:ND,zero_or_one:DD,one_or_more:OD,zero_or_more:PD,requirement_arrow:BD,requirement_contains:FD},zD=SD});async function qD(t,i,n){let r,s;"rect"===i.shape&&(i.rx&&i.ry?i.shape="roundedRect":i.shape="squareRect");var a=i.shape?PN[i.shape]:void 0;if(!a)throw new Error(`No such shape: ${i.shape}. Please check your syntax.`);if(i.link){let e;"sandbox"===n.config.securityLevel?e="_top":i.linkTarget&&(e=i.linkTarget||"_blank"),r=t.insert("svg:a").attr("xlink:href",i.link).attr("target",e??null),s=await a(r,i,n)}else s=await a(t,i,n),r=s;return i.tooltip&&s.attr("title",i.tooltip),WD.set(i.id,r),i.haveCallback&&r.attr("class",r.attr("class")+" clickable"),r}var WD,GD,VD,YD,XD,KD=e(()=>{"use strict";t(),KN(),WD=new Map,mt(qD,"insertNode"),GD=mt((e,t)=>{WD.set(t.id,e)},"setNodeElem"),VD=mt(()=>{WD.clear()},"clear"),YD=mt(e=>{var t=WD.get(e.id),i=(I.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")"),e.diff||0);return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-8)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},"positionNode")}),ZD=e(()=>{"use strict";Mn(),hh(),t(),eD(),UD(),HD(),KD(),r(),s_(),XD={common:$,getConfig:Ii,insertCluster:YN,insertEdge:TD,insertEdgeLabel:mD,insertMarkers:zD,insertNode:qD,interpolateToCurve:yC,labelHelper:rL,log:I,positionEdgeLabel:yD}});function QD(e){return"symbol"==typeof e||K7(e)&&"[object Symbol]"==E6(e)}var JD,eO=e(()=>{"use strict";$6(),Z7(),mt(QD,"isSymbol"),JD=QD});function tO(e,t){for(var i=-1,n=null==e?0:e.length,r=Array(n);++i<n;)r[i]=t(e[i],i,e);return r}var iO,nO=e(()=>{"use strict";mt(tO,"arrayMap"),iO=tO});function rO(e){var t;return"string"==typeof e?e:sT(e)?iO(e,rO)+"":JD(e)?oO?oO.call(e):"":"0"==(t=e+"")&&1/e==-sO?"-0":t}var sO,aO,oO,lO,cO=e(()=>{"use strict";p6(),nO(),lT(),eO(),sO=1/0,aO=t6?t6.prototype:void 0,oO=aO?aO.toString:void 0,mt(rO,"baseToString"),lO=rO});function hO(e){for(var t=e.length;t--&&uO.test(e.charAt(t)););return t}var uO,dO,pO=e(()=>{"use strict";uO=/\s/,mt(hO,"trimmedEndIndex"),dO=hO});function gO(e){return e&&e.slice(0,dO(e)+1).replace(fO,"")}var fO,mO,yO=e(()=>{"use strict";pO(),fO=/^\s+/,mt(gO,"baseTrim"),mO=gO});function bO(e){if("number"==typeof e)return e;if(JD(e))return vO;if(R6(e)&&(t="function"==typeof e.valueOf?e.valueOf():e,e=R6(t)?t+"":t),"string"!=typeof e)return 0===e?e:+e;e=mO(e);var t=wO.test(e);return t||kO.test(e)?TO(e.slice(2),t?2:8):xO.test(e)?vO:+e}var vO,xO,wO,kO,TO,SO,CO=e(()=>{"use strict";yO(),M6(),eO(),vO=NaN,xO=/^[-+]0x[0-9a-f]+$/i,wO=/^0b[01]+$/i,kO=/^0o[0-7]+$/i,TO=parseInt,mt(bO,"toNumber"),SO=bO});function _O(e){return e?(e=SO(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}var AO,EO=e(()=>{"use strict";CO(),mt(_O,"toFinite"),AO=_O});function $O(e){var e=AO(e),t=e%1;return e==e?t?e-t:e:0}var LO,RO,MO,IO=e(()=>{"use strict";EO(),mt($O,"toInteger"),LO=$O}),NO=e(()=>{"use strict";c8(),d6(),RO=a8(Jw,"WeakMap"),MO=RO});function DO(){}var OO,PO=e(()=>{"use strict";mt(DO,"noop"),OO=DO});function BO(e,t){for(var i=-1,n=null==e?0:e.length;++i<n&&!1!==t(e[i],i,e););return e}var FO,jO=e(()=>{"use strict";mt(BO,"arrayEach"),FO=BO});function zO(e,t,i,n){for(var r=e.length,s=i+(n?1:-1);n?s--:++s<r;)if(t(e[s],s,e))return s;return-1}var UO,HO=e(()=>{"use strict";mt(zO,"baseFindIndex"),UO=zO});function qO(e){return e!=e}var WO,GO=e(()=>{"use strict";mt(qO,"baseIsNaN"),WO=qO});function VO(e,t,i){for(var n=i-1,r=e.length;++n<r;)if(e[n]===t)return n;return-1}var YO,XO=e(()=>{"use strict";mt(VO,"strictIndexOf"),YO=VO});function KO(e,t,i){return t==t?YO(e,t,i):UO(e,WO,i)}var ZO,QO=e(()=>{"use strict";HO(),GO(),XO(),mt(KO,"baseIndexOf"),ZO=KO});function JO(e,t){return!!(null==e?0:e.length)&&-1<ZO(e,t,0)}var eP,tP,iP,nP=e(()=>{"use strict";QO(),mt(JO,"arrayIncludes"),eP=JO}),rP=e(()=>{"use strict";j7(),tP=P7(Object.keys,Object),iP=tP});function sP(e){if(!q7(e))return iP(e);var t,i=[];for(t in Object(e))oP.call(e,t)&&"constructor"!=t&&i.push(t);return i}var aP,oP,lP,cP=e(()=>{"use strict";W7(),rP(),aP=Object.prototype,oP=aP.hasOwnProperty,mt(sP,"baseKeys"),lP=sP});function hP(e){return(pT(e)?fS:lP)(e)}var uP,dP,pP,gP,fP=e(()=>{"use strict";mS(),cP(),gT(),mt(hP,"keys"),uP=hP}),mP=e(()=>{"use strict";tS(),rS(),fC(),gT(),W7(),fP(),pP=Object.prototype,dP=pP.hasOwnProperty,pP=dC(function(e,t){if(q7(t)||pT(t))nS(t,uP(t),e);else for(var i in t Line truncated
Node.id = `,e,` Node.id = `,e,`
data=`,t.height,` data=`,t.height,`
Parent cluster`,o.height),r.setNode(o.id,t),r.parent(e)||(I.trace("Setting parent",e,o.id),r.setParent(e,o.id,t))),I.info("(Insert) Node XXX"+e+": "+JSON.stringify(r.node(e))),n?.clusterNode?(I.info("Cluster identified XBX",e,n.width,r.node(e)),{ranksep:t,nodesep:i}=r.graph(),n.graph.setGraph({...n.graph.graph(),ranksep:t+25,nodesep:i}),i=(t=await LK(u,n.graph,s,a,r.node(e),l)).elem,aL(n,i),n.diff=t.diff||0,I.info("New compound node after recursive render XAX",e,"width",n.width,"height",n.height),GD(i,n)):0<r.children(e).length?(I.trace("Cluster - the non recursive path XBX",e,n.id,n,n.width,"Graph:",r),I.trace(wK(n.id,r)),dK.set(n.id,{id:wK(n.id,r),node:n})):(I.trace("Node - the non recursive path XAX",e,u,r.node(e),c),await qD(u,r.node(e),{config:l,dir:c}))})),await mt(async()=>{var e=r.edges().map(async function(e){var t=r.edge(e.v,e.w,e.name);I.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),I.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(r.edge(e))),I.info("Fix",dK,"ids:",e.v,e.w,"Translating: ",dK.get(e.v),dK.get(e.w)),await mD(i,t)});await Promise.all(e)},"processEdges")(),I.info("Graph before layout:",JSON.stringify(cK(r))),I.info("############################################# XXX"),I.info("### Layout ### XXX"),I.info("############################################# XXX"),DX(r),I.info("Graph after layout:",JSON.stringify(cK(r))),0),p=jN(l)["subGraphTitleTotalMargin"];return await Promise.all(_K(r).map(async function(e){var t,i=r.node(e);I.info("Position XBX => "+e+": ("+i.x,","+i.y,") width: ",i.width," height: ",i.height),i?.clusterNode?(i.y+=p,I.info("A tainted cluster node XBX1",e,i.id,i.width,i.height,i.x,i.y,r.parent(e)),dK.get(i.id).node=i,YD(i)):0<r.children(e).length?(I.info("A pure cluster node XBX1",e,i.id,i.x,i.y,i.width,i.height,r.parent(e)),i.height+=p,r.node(i.parentId),e=i?.padding/2||0,t=i?.labelBBox?.height||0,I.debug("OffsetY",t-e||0,"labelHeight",t,"halfPadding",e),await YN(n,i),dK.get(i.id).node=i):(t=r.node(i.parentId),i.y+=p/2,I.info("A regular node XBX1 - using the padding",i.id,"parent",i.parentId,i.width,i.height,i.x,i.y,"offsetY",i.offsetY,"parent",t,t?.offsetY,i),YD(i))})),r.edges().forEach(function(e){var t=r.edge(e),i=(I.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(t),t),t.points.forEach(e=>e.y+=p/2),r.node(e.v)),e=r.node(e.w),i=TD(h,t,dK,s,i,e,a);yD(t,i)}),r.nodes().forEach(function(e){var t=r.node(e);I.info(e,t.type,t.diff),t.isGroup&&(d=t.diff)}),I.warn("Returning from recursive render XAX",e,d),{elem:e,diff:d}},"recursiveRender"),RK=mt(async(e,t)=>{let l=new VG({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),i=t.select("g");zD(i,e.markers,e.type,e.diagramId),VD(),gD(),XN(),fK(),e.nodes.forEach(e=>{l.setNode(e.id,{...e}),e.parentId&&l.setParent(e.id,e.parentId)}),I.debug("Edges:",e.edges),e.edges.forEach(e=>{var t,i,n,r,s,a,o;e.start===e.end?(i=(t=e.start)+"---"+t+"---1",n=t+"---"+t+"---2",r=l.node(t),l.setNode(i,{domId:i,id:i,parentId:r.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),l.setParent(i,r.parentId),l.setNode(n,{domId:n,id:n,parentId:r.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),l.setParent(n,r.parentId),s=structuredClone(e),a=structuredClone(e),o=structuredClone(e),s.label="",s.arrowTypeEnd="none",s.id=t+"-cyclic-special-1",a.arrowTypeStart="none",a.arrowTypeEnd="none",a.id=t+"-cyclic-special-mid",o.label="",r.isGroup&&(s.fromCluster=t,o.toCluster=t),o.id=t+"-cyclic-special-2",o.arrowTypeStart="none",l.setEdge(t,i,s,t+"-cyclic-special-0"),l.setEdge(i,n,a,t+"-cyclic-special-1"),l.setEdge(n,t,o,t+"-cyc<lic-special-2")):l.setEdge(e.start,e.end,{...e},e.id)}),I.warn("Graph at first:",JSON.stringify(cK(l))),TK(l),I.warn("Graph after XAX:",JSON.stringify(cK(l)));t=N();await LK(i,l,e.type,e.diagramId,void 0,t)},"render")}),ZK=e(()=>{"use strict";ZD(),t(),MK={},IK=mt(e=>{for(var t of e)MK[t.name]=t},"registerLayoutLoaders"),mt(()=>{IK([{name:"dagre",loader:mt(async()=>Promise.resolve().then(()=>(KK(),$K)),"loader")}])},"registerDefaultLayoutLoaders")(),NK=mt(async(e,t)=>{var i;if(e.layoutAlgorithm in MK)return(await(i=MK[e.layoutAlgorithm]).loader()).render(e,t,XD,{algorithm:i.algorithm});throw new Error("Unknown layout algorithm: "+e.layoutAlgorithm)},"render"),DK=mt((e="",{fallback:t="dagre"}={})=>{if(e in MK)return e;if(t in MK)return I.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm")}),QK=e(()=>{"use strict";uh(),t(),OK=mt((e,t,i,n)=>{e.attr("class",i);var{width:i,height:r,x:s,y:a}=PK(e,t),n=(rh(e,r,i,n),BK(s,a,i,r,t));e.attr("viewBox",n),I.debug(`viewBox configured: $Line truncated Parent cluster`,o.height),r.setNode(o.id,t),r.parent(e)||(I.trace("Setting parent",e,o.id),r.setParent(e,o.id,t))),I.info("(Insert) Node XXX"+e+": "+JSON.stringify(r.node(e))),n?.clusterNode?(I.info("Cluster identified XBX",e,n.width,r.node(e)),{ranksep:t,nodesep:i}=r.graph(),n.graph.setGraph({...n.graph.graph(),ranksep:t+25,nodesep:i}),i=(t=await LK(u,n.graph,s,a,r.node(e),l)).elem,aL(n,i),n.diff=t.diff||0,I.info("New compound node after recursive render XAX",e,"width",n.width,"height",n.height),GD(i,n)):0<r.children(e).length?(I.trace("Cluster - the non recursive path XBX",e,n.id,n,n.width,"Graph:",r),I.trace(wK(n.id,r)),dK.set(n.id,{id:wK(n.id,r),node:n})):(I.trace("Node - the non recursive path XAX",e,u,r.node(e),c),await qD(u,r.node(e),{config:l,dir:c}))})),await mt(async()=>{var e=r.edges().map(async function(e){var t=r.edge(e.v,e.w,e.name);I.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),I.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(r.edge(e))),I.info("Fix",dK,"ids:",e.v,e.w,"Translating: ",dK.get(e.v),dK.get(e.w)),await mD(i,t)});await Promise.all(e)},"processEdges")(),I.info("Graph before layout:",JSON.stringify(cK(r))),I.info("############################################# XXX"),I.info("### Layout ### XXX"),I.info("############################################# XXX"),DX(r),I.info("Graph after layout:",JSON.stringify(cK(r))),0),p=jN(l)["subGraphTitleTotalMargin"];return await Promise.all(_K(r).map(async function(e){var t,i=r.node(e);I.info("Position XBX => "+e+": ("+i.x,","+i.y,") width: ",i.width," height: ",i.height),i?.clusterNode?(i.y+=p,I.info("A tainted cluster node XBX1",e,i.id,i.width,i.height,i.x,i.y,r.parent(e)),dK.get(i.id).node=i,YD(i)):0<r.children(e).length?(I.info("A pure cluster node XBX1",e,i.id,i.x,i.y,i.width,i.height,r.parent(e)),i.height+=p,r.node(i.parentId),e=i?.padding/2||0,t=i?.labelBBox?.height||0,I.debug("OffsetY",t-e||0,"labelHeight",t,"halfPadding",e),await YN(n,i),dK.get(i.id).node=i):(t=r.node(i.parentId),i.y+=p/2,I.info("A regular node XBX1 - using the padding",i.id,"parent",i.parentId,i.width,i.height,i.x,i.y,"offsetY",i.offsetY,"parent",t,t?.offsetY,i),YD(i))})),r.edges().forEach(function(e){var t=r.edge(e),i=(I.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(t),t),t.points.forEach(e=>e.y+=p/2),r.node(e.v)),e=r.node(e.w),i=TD(h,t,dK,s,i,e,a);yD(t,i)}),r.nodes().forEach(function(e){var t=r.node(e);I.info(e,t.type,t.diff),t.isGroup&&(d=t.diff)}),I.warn("Returning from recursive render XAX",e,d),{elem:e,diff:d}},"recursiveRender"),RK=mt(async(e,t)=>{let l=new VG({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),i=t.select("g");zD(i,e.markers,e.type,e.diagramId),VD(),gD(),XN(),fK(),e.nodes.forEach(e=>{l.setNode(e.id,{...e}),e.parentId&&l.setParent(e.id,e.parentId)}),I.debug("Edges:",e.edges),e.edges.forEach(e=>{var t,i,n,r,s,a,o;e.start===e.end?(i=(t=e.start)+"---"+t+"---1",n=t+"---"+t+"---2",r=l.node(t),l.setNode(i,{domId:i,id:i,parentId:r.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),l.setParent(i,r.parentId),l.setNode(n,{domId:n,id:n,parentId:r.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),l.setParent(n,r.parentId),s=structuredClone(e),a=structuredClone(e),o=structuredClone(e),s.label="",s.arrowTypeEnd="none",s.id=t+"-cyclic-special-1",a.arrowTypeStart="none",a.arrowTypeEnd="none",a.id=t+"-cyclic-special-mid",o.label="",r.isGroup&&(s.fromCluster=t,o.toCluster=t),o.id=t+"-cyclic-special-2",o.arrowTypeStart="none",l.setEdge(t,i,s,t+"-cyclic-special-0"),l.setEdge(i,n,a,t+"-cyclic-special-1"),l.setEdge(n,t,o,t+"-cyc<lic-special-2")):l.setEdge(e.start,e.end,{...e},e.id)}),I.warn("Graph at first:",JSON.stringify(cK(l))),TK(l),I.warn("Graph after XAX:",JSON.stringify(cK(l)));t=N();await LK(i,l,e.type,e.diagramId,void 0,t)},"render")}),ZK=e(()=>{"use strict";ZD(),t(),MK={},IK=mt(e=>{for(var t of e)MK[t.name]=t},"registerLayoutLoaders"),mt(()=>{IK([{name:"dagre",loader:mt(async()=>Promise.resolve().then(()=>(KK(),$K)),"loader")}])},"registerDefaultLayoutLoaders")(),NK=mt(async(e,t)=>{var i;if(e.layoutAlgorithm in MK)return(await(i=MK[e.layoutAlgorithm]).loader()).render(e,t,XD,{algorithm:i.algorithm});throw new Error("Unknown layout algorithm: "+e.layoutAlgorithm)},"render"),DK=mt((e="",{fallback:t="dagre"}={})=>{if(e in MK)return e;if(t in MK)return I.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm")}),QK=e(()=>{"use strict";uh(),t(),OK=mt((e,t,i,n)=>{e.attr("class",i);var{width:i,height:r,x:s,y:a}=PK(e,t),n=(rh(e,r,i,n),BK(s,a,i,r,t));e.attr("viewBox",n),I.debug(`viewBox configured: $Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},B={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},B={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:mt(function(e,t,i,n){switch(i){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),t.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:return t.yytext=t.yytext.replace(/\n\s*/g,"<br/>"),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:case 36:case 37:return e.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:case 41:case 42:case 43:return 98;case 44:return this.popState(),13;case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 78;case 60:return 105;case 61:return 111;case 62:return 46;case 63:return 60;case 64:return 44;case 65:return 8;case 66:return 106;case 67:return 115;case 68:return this.popState(),77;case 69:return this.pushState("edgeText"),75;case 70:return 119;case 71:return this.popState(),77;case 72:return this.pushState("thickEdgeText"),75;case 73:return 119;case 74:return this.popState(),77;case 75:return this.pushState("dottedEdgeText"),75;case 76:return 119;case 77:return 77;case 78:return this.popState(),53;case 79:return"TEXT";case 80:return this.pushState("ellipseText"),52;case 81:return this.popState(),55;case 82:return this.pushState("text"),54;case 83:return this.popState(),57;case 84:return this.pushState("text"),56;case 85:return 58;case 86:return this.pushState("text"),67;case 87:return this.popState(),64;case 88:return this.pushState("text"),63;case 89:return this.popState(),49;case 90:return this.pushState("text"),48;case 91:return this.popState(),69;case 92:return this.popState(),71;case 93:return 117;case 94:return this.pushState("trapText"),68;case 95:return this.pushState("trapText"),70;case 96:return 118;case 97:return 67;case 98:return 90;case 99:return"SEP";case 100:return 89;case 101:return 115;case 102:return 111;case 103:return 44;case 104:return 109;case 105:return 114;case 106:return 116;case 107:return this.popState(),62;case 108:return this.pushState("text"),62;case 109:return this.popState(),51;case 110:return this.pushState("text"),50;case 111:return this.popState(),31;case 112:return this.pushState("text"),29;case 113:return this.popState(),66;case 114:return this.pushState("text"),65;case 115:return"TEXT";case 116:return"QUOTE";case 117:return 9;case 118:return 10;case 119:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TBLine truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:mt(function(e,t,i,n){switch(i){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),t.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:return t.yytext=t.yytext.replace(/\n\s*/g,"<br/>"),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:case 36:case 37:return e.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:case 41:case 42:case 43:return 98;case 44:return this.popState(),13;case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 78;case 60:return 105;case 61:return 111;case 62:return 46;case 63:return 60;case 64:return 44;case 65:return 8;case 66:return 106;case 67:return 115;case 68:return this.popState(),77;case 69:return this.pushState("edgeText"),75;case 70:return 119;case 71:return this.popState(),77;case 72:return this.pushState("thickEdgeText"),75;case 73:return 119;case 74:return this.popState(),77;case 75:return this.pushState("dottedEdgeText"),75;case 76:return 119;case 77:return 77;case 78:return this.popState(),53;case 79:return"TEXT";case 80:return this.pushState("ellipseText"),52;case 81:return this.popState(),55;case 82:return this.pushState("text"),54;case 83:return this.popState(),57;case 84:return this.pushState("text"),56;case 85:return 58;case 86:return this.pushState("text"),67;case 87:return this.popState(),64;case 88:return this.pushState("text"),63;case 89:return this.popState(),49;case 90:return this.pushState("text"),48;case 91:return this.popState(),69;case 92:return this.popState(),71;case 93:return 117;case 94:return this.pushState("trapText"),68;case 95:return this.pushState("trapText"),70;case 96:return 118;case 97:return 67;case 98:return 90;case 99:return"SEP";case 100:return 89;case 101:return 115;case 102:return 111;case 103:return 44;case 104:return 109;case 105:return 114;case 106:return 116;case 107:return this.popState(),62;case 108:return this.pushState("text"),62;case 109:return this.popState(),51;case 110:return this.pushState("text"),50;case 111:return this.popState(),31;case 112:return this.pushState("text"),29;case 113:return this.popState(),66;case 114:return this.pushState("text"),65;case 115:return"TEXT";case 116:return"QUOTE";case 117:return 9;case 118:return 10;case 119:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TBLine truncated
`);return UK.parse(e)},WK=qK}),iZ=e(()=>{"use strict";GK=mt(()=>` `);return HK.parse(e)},WK=qK}),iZ=e(()=>{"use strict";GK=mt(()=>`
/* Font Awesome icon styling - consolidated */ /* Font Awesome icon styling - consolidated */
.label-icon { .label-icon {
display: inline-block; display: inline-block;
@@ -646,7 +646,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
text-align: center; text-align: center;
} }
${GK()} ${GK()}
`,"getStyles"),XK=YK}),rZ={};G(rZ,{diagram:()=>sZ});var sZ,aZ,oZ,lZ,cZ=e(()=>{"use strict";_u(),ZN(),JK(),tZ(),nZ(),sZ={parser:WK,get db(){return new BN},renderer:zK,styles:XK,init:mt(e=>{e.flowchart||(e.flowchart={}),e.layout&&Ah({layout:e.layout}),e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,Ah({flowchart:{arrowMarkerAbsolute:e.arrowMarkerAbsolute}})},"init")}}),hZ=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,O,g,f,m,y,b,v,P,x,w,k,T,S,C,_,A,E,$,B,F,j,z,H,U,L,R,M,I,N,q,W,D;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],n=[1,10],r=[1,11],s=[1,12],a=[1,13],o=[1,20],l=[1,21],c=[1,22],h=[1,23],u=[1,24],d=[1,19],p=[1,25],O=[1,26],g=[1,18],f=[1,33],m=[1,34],y=[1,35],b=[1,36],v=[1,37],P=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,50,63,64,65,66,67],x=[1,42],w=[1,43],k=[1,52],T=[40,50,68,69],S=[1,63],C=[1,61],_=[1,58],A=[1,62],E=[1,64],$=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,63,64,65,66,67],B=[63,64,65,66,67],F=[1,81],j=[1,80],z=[1,78],H=[1,79],U=[6,10,42,47],L=[6,10,13,41,42,47,48,49],R=[1,89],M=[1,88],I=[1,87],N=[19,56],q=[1,98],W=[1,97],D=[19,56,58,60],n={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 1:break;case 2:this.$=[];break;case 3:s[o-1].push(s[o]),this.$=s[o-1];break;case 4:case 5:this.$=s[o];break;case 6:case 7:this.$=[];break;case 8:n.addEntity(s[o-4]),n.addEntity(s[o-2]),n.addRelationship(s[o-4],s[o],s[o-2],s[o-3]);break;case 9:n.addEntity(s[o-8]),n.addEntity(s[o-4]),n.addRelationship(s[o-8],s[o],s[o-4],s[o-5]),n.setClass([s[o-8]],s[o-6]),n.setClass([s[o-4]],s[o-2]);break;case 10:n.addEntity(s[o-6]),n.addEntity(s[o-2]),n.addRelationship(s[o-6],s[o],s[o-2],s[o-3]),n.setClass([s[o-6]],s[o-4]);break;case 11:n.addEntity(s[o-6]),n.addEntity(s[o-4]),n.addRelationship(s[o-6],s[o],s[o-4],s[o-5]),n.setClass([s[o-4]],s[o-2]);break;case 12:n.addEntity(s[o-3]),n.addAttributes(s[o-3],s[o-1]);break;case 13:n.addEntity(s[o-5]),n.addAttributes(s[o-5],s[o-1]),n.setClass([s[o-5]],s[o-3]);break;case 14:n.addEntity(s[o-2]);break;case 15:n.addEntity(s[o-4]),n.setClass([s[o-4]],s[o-2]);break;case 16:n.addEntity(s[o]);break;case 17:n.addEntity(s[o-2]),n.setClass([s[o-2]],s[o]);break;case 18:n.addEntity(s[o-6],s[o-4]),n.addAttributes(s[o-6],s[o-1]);break;case 19:n.addEntity(s[o-8],s[o-6]),n.addAttributes(s[o-8],s[o-1]),n.setClass([s[o-8]],s[o-3]);break;case 20:n.addEntity(s[o-5],s[o-3]);break;case 21:n.addEntity(s[o-7],s[o-5]),n.setClass([s[o-7]],s[o-2]);break;case 22:n.addEntity(s[o-3],s[o-1]);break;case 23:n.addEntity(s[o-5],s[o-3]),n.setClass([s[o-5]],s[o]);break;case 24:case 25:this.$=s[o].trim(),n.setAccTitle(this.$);break;case 26:case 27:this.$=s[o].trim(),n.setAccDescription(this.$); Line truncated `,"getStyles"),XK=YK}),rZ={};G(rZ,{diagram:()=>sZ});var sZ,aZ,oZ,lZ,cZ=e(()=>{"use strict";_u(),ZN(),JK(),tZ(),nZ(),sZ={parser:WK,get db(){return new BN},renderer:zK,styles:XK,init:mt(e=>{e.flowchart||(e.flowchart={}),e.layout&&Ah({layout:e.layout}),e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,Ah({flowchart:{arrowMarkerAbsolute:e.arrowMarkerAbsolute}})},"init")}}),hZ=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,O,g,f,m,y,b,v,P,x,w,k,T,S,C,_,A,E,$,B,F,j,z,U,H,L,R,M,I,N,q,W,D;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],n=[1,10],r=[1,11],s=[1,12],a=[1,13],o=[1,20],l=[1,21],c=[1,22],h=[1,23],u=[1,24],d=[1,19],p=[1,25],O=[1,26],g=[1,18],f=[1,33],m=[1,34],y=[1,35],b=[1,36],v=[1,37],P=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,50,63,64,65,66,67],x=[1,42],w=[1,43],k=[1,52],T=[40,50,68,69],S=[1,63],C=[1,61],_=[1,58],A=[1,62],E=[1,64],$=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,63,64,65,66,67],B=[63,64,65,66,67],F=[1,81],j=[1,80],z=[1,78],U=[1,79],H=[6,10,42,47],L=[6,10,13,41,42,47,48,49],R=[1,89],M=[1,88],I=[1,87],N=[19,56],q=[1,98],W=[1,97],D=[19,56,58,60],n={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 1:break;case 2:this.$=[];break;case 3:s[o-1].push(s[o]),this.$=s[o-1];break;case 4:case 5:this.$=s[o];break;case 6:case 7:this.$=[];break;case 8:n.addEntity(s[o-4]),n.addEntity(s[o-2]),n.addRelationship(s[o-4],s[o],s[o-2],s[o-3]);break;case 9:n.addEntity(s[o-8]),n.addEntity(s[o-4]),n.addRelationship(s[o-8],s[o],s[o-4],s[o-5]),n.setClass([s[o-8]],s[o-6]),n.setClass([s[o-4]],s[o-2]);break;case 10:n.addEntity(s[o-6]),n.addEntity(s[o-2]),n.addRelationship(s[o-6],s[o],s[o-2],s[o-3]),n.setClass([s[o-6]],s[o-4]);break;case 11:n.addEntity(s[o-6]),n.addEntity(s[o-4]),n.addRelationship(s[o-6],s[o],s[o-4],s[o-5]),n.setClass([s[o-4]],s[o-2]);break;case 12:n.addEntity(s[o-3]),n.addAttributes(s[o-3],s[o-1]);break;case 13:n.addEntity(s[o-5]),n.addAttributes(s[o-5],s[o-1]),n.setClass([s[o-5]],s[o-3]);break;case 14:n.addEntity(s[o-2]);break;case 15:n.addEntity(s[o-4]),n.setClass([s[o-4]],s[o-2]);break;case 16:n.addEntity(s[o]);break;case 17:n.addEntity(s[o-2]),n.setClass([s[o-2]],s[o]);break;case 18:n.addEntity(s[o-6],s[o-4]),n.addAttributes(s[o-6],s[o-1]);break;case 19:n.addEntity(s[o-8],s[o-6]),n.addAttributes(s[o-8],s[o-1]),n.setClass([s[o-8]],s[o-3]);break;case 20:n.addEntity(s[o-5],s[o-3]);break;case 21:n.addEntity(s[o-7],s[o-5]),n.setClass([s[o-7]],s[o-2]);break;case 22:n.addEntity(s[o-3],s[o-1]);break;case 23:n.addEntity(s[o-5],s[o-3]),n.setClass([s[o-5]],s[o]);break;case 24:case 25:this.$=s[o].trim(),n.setAccTitle(this.$);break;case 26:case 27:this.$=s[o].trim(),n.setAccDescription(this.$); Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
@@ -705,7 +705,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
stroke: ${e.lineColor} !important; stroke: ${e.lineColor} !important;
stroke-width: 1; stroke-width: 1;
} }
`,"getStyles"),mZ=fZ}),vZ={};G(vZ,{diagram:()=>xZ});var xZ,wZ=e(()=>{"use strict";hZ(),uZ(),yZ(),bZ(),xZ={parser:oZ,get db(){return new lZ},renderer:dZ,styles:mZ}});function kZ(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function TZ(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText}function SZ(e){return"object"==typeof e&&null!==e&&"string"==typeof e.name&&"string"==typeof e.type&&"string"==typeof e.path}function CZ(e){return"object"==typeof e&&null!==e&&kZ(e.container)&&TZ(e.reference)&&"string"==typeof e.message}function _Z(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function AZ(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function EZ(e){return _Z(e)&&"string"==typeof e.fullText}var $Z,LZ=e(()=>{"use strict";mt(kZ,"isAstNode"),mt(TZ,"isReference"),mt(SZ,"isAstNodeDescription"),mt(CZ,"isLinkingError"),$Z=class{static{mt(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return kZ(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let i=this.subtypes[e];var n=(i=i||(this.subtypes[e]={}))[t];return void 0!==n?n:(n=this.computeIsSubtype(e,t),i[t]=n)}getAllSubTypes(e){var t=this.allSubtypes[e];if(t)return t;var i,n=[];for(i of this.getAllTypes())this.isSubtype(i,e)&&n.push(i);return this.allSubtypes[e]=n}},mt(_Z,"isCompositeCstNode"),mt(AZ,"isLeafCstNode"),mt(EZ,"isRootCstNode")});function RZ(e){return"string"==typeof e?e:"u"<typeof e?"undefined":"function"==typeof e.toString?e.toString():Object.prototype.toString.call(e)}function MZ(e){return!!e&&"function"==typeof e[Symbol.iterator]}function IZ(...i){if(1===i.length){let t=i[0];if(t instanceof NZ)return t;if(MZ(t))return new NZ(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new NZ(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:OZ)}return 1<i.length?new NZ(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){var t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}e.collIndex<i.length&&(MZ(t=i[e.collIndex++])?e.iterator=t[Symbol.iterator]():t&&"number"==typeof t.length&&(e.array=t))}while(e.iterator||e.array||e.collIndex<i.length);return OZ}):DZ}var NZ,DZ,OZ,PZ,BZ,FZ=e(()=>{"use strict";function e(e){return e.reduce((e,t)=>e+t,0)}function t(e){return e.reduce((e,t)=>e*t,0)}function i(e){return e.reduce((e,t)=>Math.min(e,t))}function n(e){return e.reduce((e,t)=>Math.max(e,t))}var r;NZ=class s{static{mt(this,"StreamImpl")}constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:mt(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,i=e.next();for(;!i.done;)t++,i=e.next();return t}toArray(){for(var e,t=[],i=this.iterator();void 0!==(e=i.next()).value&&t.push(e.value),!e.done;);return t}toSet(){return new Set(this)}toMap(t,i){var e=this.map(e=>[t?t(e):e,i?i(e):e]);return new Map(e)}toString(){return this.join()}concat(e){return new s(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do{if(!(t=this.nextFn(e.first)).done)return t}while(!t.done);e.firstDone=!0}do{if(!(t=e.iterator.next()).done)return t}while(!t.done);return OZ})}join(e=","){let t=this.iterator(),i="",n,r=!1;for(;(n=t.next()).done||(r&&(i+=e),i+=RZ(n.value)),r=!0,!n.done;);return i}indexOf(e,t=0){let i=this.iterator(),n=0,r=i.next();for(;!r.done;){if(n>=t&&r.value===e)return n;r=i.next(),n++}return-1}every(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(!e(i.value))return!1;i=t.next()}return!0}some(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(e(i.value))return!0;i=t.next()}return!1}forEach(e){let t=this.iterator(),i=0,n=t.next();for(;!n.done;)e(n.value,i),n=t.next(),i++}map(i){return new s(this.startFn,e=>{var{done:e,value:t}=this.nextFn(e);return e?OZ:{done:!1,value:i(t)}})}filter(i){return new s(this.startFn,e=>{var t;do{if(!(t=this.nextFn(e)).done&&i(t.value))return t}while(!t.done);return OZ})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){let i=this.iterator(),n=t,r=i.next();for(;!r.done;)n=void 0===n?r.value:e(n,r.value),r=i.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,i){var n=e.next();return n.done?i:void 0===(e=this.recursiveReduce(e,t,i))?n.value:t(e,n.value)}find(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(e(i.value))return i.value;i=t.next()}}findIndex(e){let t=this.iterator(),i=0,n=t.next();for(;!n.done;){if(e(n.value))return i;n=t.next(),i++}return-1}includes(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(i.value===e)return!0;i=t.next()}return!1}flatMap(n){return new s(()=>({this:this.startFn()}),e=>{do{if(e.iterator){var t=e.iterator.next();if(!t.done)return t;e.iterator=void Line truncated `,"getStyles"),mZ=fZ}),vZ={};G(vZ,{diagram:()=>xZ});var xZ,wZ=e(()=>{"use strict";hZ(),uZ(),yZ(),bZ(),xZ={parser:oZ,get db(){return new lZ},renderer:dZ,styles:mZ}});function kZ(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function TZ(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText}function SZ(e){return"object"==typeof e&&null!==e&&"string"==typeof e.name&&"string"==typeof e.type&&"string"==typeof e.path}function CZ(e){return"object"==typeof e&&null!==e&&kZ(e.container)&&TZ(e.reference)&&"string"==typeof e.message}function _Z(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function AZ(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function EZ(e){return _Z(e)&&"string"==typeof e.fullText}var $Z,LZ=e(()=>{"use strict";mt(kZ,"isAstNode"),mt(TZ,"isReference"),mt(SZ,"isAstNodeDescription"),mt(CZ,"isLinkingError"),$Z=class{static{mt(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return kZ(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let i=this.subtypes[e];var n=(i=i||(this.subtypes[e]={}))[t];return void 0!==n?n:(n=this.computeIsSubtype(e,t),i[t]=n)}getAllSubTypes(e){var t=this.allSubtypes[e];if(t)return t;var i,n=[];for(i of this.getAllTypes())this.isSubtype(i,e)&&n.push(i);return this.allSubtypes[e]=n}},mt(_Z,"isCompositeCstNode"),mt(AZ,"isLeafCstNode"),mt(EZ,"isRootCstNode")});function RZ(e){return"string"==typeof e?e:"u"<typeof e?"undefined":"function"==typeof e.toString?e.toString():Object.prototype.toString.call(e)}function MZ(e){return!!e&&"function"==typeof e[Symbol.iterator]}function IZ(...i){if(1===i.length){let t=i[0];if(t instanceof NZ)return t;if(MZ(t))return new NZ(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new NZ(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:OZ)}return 1<i.length?new NZ(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){var t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}e.collIndex<i.length&&(MZ(t=i[e.collIndex++])?e.iterator=t[Symbol.iterator]():t&&"number"==typeof t.length&&(e.array=t))}while(e.iterator||e.array||e.collIndex<i.length);return OZ}):DZ}var NZ,DZ,OZ,PZ,BZ,FZ=e(()=>{"use strict";function e(e){return e.reduce((e,t)=>e+t,0)}function t(e){return e.reduce((e,t)=>e*t,0)}function i(e){return e.reduce((e,t)=>Math.min(e,t))}function n(e){return e.reduce((e,t)=>Math.max(e,t))}var r;NZ=class s{static{mt(this,"StreamImpl")}constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:mt(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,i=e.next();for(;!i.done;)t++,i=e.next();return t}toArray(){for(var e,t=[],i=this.iterator();void 0!==(e=i.next()).value&&t.push(e.value),!e.done;);return t}toSet(){return new Set(this)}toMap(t,i){var e=this.map(e=>[t?t(e):e,i?i(e):e]);return new Map(e)}toString(){return this.join()}concat(e){return new s(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do{if(!(t=this.nextFn(e.first)).done)return t}while(!t.done);e.firstDone=!0}do{if(!(t=e.iterator.next()).done)return t}while(!t.done);return OZ})}join(e=","){let t=this.iterator(),i="",n,r=!1;for(;(n=t.next()).done||(r&&(i+=e),i+=RZ(n.value)),r=!0,!n.done;);return i}indexOf(e,t=0){let i=this.iterator(),n=0,r=i.next();for(;!r.done;){if(n>=t&&r.value===e)return n;r=i.next(),n++}return-1}every(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(!e(i.value))return!1;i=t.next()}return!0}some(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(e(i.value))return!0;i=t.next()}return!1}forEach(e){let t=this.iterator(),i=0,n=t.next();for(;!n.done;)e(n.value,i),n=t.next(),i++}map(i){return new s(this.startFn,e=>{var{done:e,value:t}=this.nextFn(e);return e?OZ:{done:!1,value:i(t)}})}filter(i){return new s(this.startFn,e=>{var t;do{if(!(t=this.nextFn(e)).done&&i(t.value))return t}while(!t.done);return OZ})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){let i=this.iterator(),n=t,r=i.next();for(;!r.done;)n=void 0===n?r.value:e(n,r.value),r=i.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,i){var n=e.next();return n.done?i:void 0===(e=this.recursiveReduce(e,t,i))?n.value:t(e,n.value)}find(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(e(i.value))return i.value;i=t.next()}}findIndex(e){let t=this.iterator(),i=0,n=t.next();for(;!n.done;){if(e(n.value))return i;n=t.next(),i++}return-1}includes(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(i.value===e)return!0;i=t.next()}return!1}flatMap(n){return new s(()=>({this:this.startFn()}),e=>{do{if(e.iterator){var t=e.iterator.next();if(!t.done)return t;e.iterator=void Line truncated
`),vee("\r"),vee("\t"),vee("\v"),vee("\t"),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee("\u2028"),vee("\u2029"),vee(" "),vee(" "),vee(" "),vee("\ufeff")]}),Dee=e(()=>{"use strict";Iee(),Nee(),Eee=/[0-9a-fA-F]/,$ee=/[0-9]/,Lee=/[1-9]/,Ree=class{static{mt(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");for(var t=this.disjunction(),i=(this.consumeChar("/"),{type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1});this.isRegExpFlag();)switch(this.popChar()){case"g":wee(i,"global");break;case"i":wee(i,"ignoreCase");break;case"m":wee(i,"multiLine");break;case"u":wee(i,"unicode");break;case"y":wee(i,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:i,value:t,loc:this.loc(0)}}disjunction(){var e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){for(var e=[],t=this.idx;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){var t=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(t)};case"$":return{type:"EndAnchor",loc:this.loc(t)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(t)};case"B":return{type:"NonWordBoundary",loc:this.loc(t)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let e;switch(this.popChar()){case"=":e="Lookahead";break;case"!":e="NegativeLookahead"}kee(e);var i=this.disjunction();return this.consumeChar(")"),{type:e,value:i,loc:this.loc(t)}}return Tee()}quantifier(e=!1){let t,i=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":var n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":t=this.isDigit()?{atLeast:n,atMost:this.integerIncludingZero()}:{atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;kee(t)}if((!0!==e||void 0!==t)&&kee(t))return"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(i),t}atom(){let e,t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}return kee(e=void 0===e&&this.isPatternCharacter()?this.patternCharacter():e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):Tee()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[vee(` `),vee("\r"),vee("\t"),vee("\v"),vee("\t"),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee("\u2028"),vee("\u2029"),vee(" "),vee(" "),vee(" "),vee("\ufeff")]}),Dee=e(()=>{"use strict";Iee(),Nee(),Eee=/[0-9a-fA-F]/,$ee=/[0-9]/,Lee=/[1-9]/,Ree=class{static{mt(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");for(var t=this.disjunction(),i=(this.consumeChar("/"),{type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1});this.isRegExpFlag();)switch(this.popChar()){case"g":wee(i,"global");break;case"i":wee(i,"ignoreCase");break;case"m":wee(i,"multiLine");break;case"u":wee(i,"unicode");break;case"y":wee(i,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:i,value:t,loc:this.loc(0)}}disjunction(){var e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){for(var e=[],t=this.idx;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){var t=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(t)};case"$":return{type:"EndAnchor",loc:this.loc(t)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(t)};case"B":return{type:"NonWordBoundary",loc:this.loc(t)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let e;switch(this.popChar()){case"=":e="Lookahead";break;case"!":e="NegativeLookahead"}kee(e);var i=this.disjunction();return this.consumeChar(")"),{type:e,value:i,loc:this.loc(t)}}return Tee()}quantifier(e=!1){let t,i=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":var n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":t=this.isDigit()?{atLeast:n,atMost:this.integerIncludingZero()}:{atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;kee(t)}if((!0!==e||void 0!==t)&&kee(t))return"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(i),t}atom(){let e,t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}return kee(e=void 0===e&&this.isPatternCharacter()?this.patternCharacter():e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):Tee()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[vee(`
`),vee("\r"),vee("\u2028"),vee("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=Cee;break;case"D":e=Cee,t=!0;break;case"s":e=Aee;break;case"S":e=Aee,t=!0;break;case"w":e=_ee;break;case"W":e=_ee,t=!0}return kee(e)?{type:"Set",value:e,complement:t}:Tee()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=vee("\f");break;case"n":e=vee(` `),vee("\r"),vee("\u2028"),vee("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=Cee;break;case"D":e=Cee,t=!0;break;case"s":e=Aee;break;case"S":e=Aee,t=!0;break;case"w":e=_ee;break;case"W":e=_ee,t=!0}return kee(e)?{type:"Set",value:e,complement:t}:Tee()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=vee("\f");break;case"n":e=vee(`
`);break;case"r":e=vee("\r");break;case"t":e=vee("\t");break;case"v":e=vee("\v")}return kee(e)?{type:"Character",value:e}:Tee()}controlLetterEscapeAtom(){this.consumeChar("c");var e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:vee("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:vee(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case` `);break;case"r":e=vee("\r");break;case"t":e=vee("\t");break;case"v":e=vee("\v")}return kee(e)?{type:"Character",value:e}:Tee()}controlLetterEscapeAtom(){this.consumeChar("c");var e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:vee("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:vee(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case`
@@ -713,10 +713,10 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:vee("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;"?"===(this.consumeChar("("),this.peekChar(0))?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;var t=this.disjunction(),t=(this.consumeChar(")"),{type:"Group",capturing:e,value:t});return e&&(t.idx=this.groupIdx),t}positiveInteger(){let e=this.popChar();if(!1===Lee.test(e))throw Error("Expecting a positive integer");for(;$ee.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===$ee.test(e))throw Error("Expecting an integer");for(;$ee.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){var e=this.popChar();switch(e){case` `:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:vee("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;"?"===(this.consumeChar("("),this.peekChar(0))?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;var t=this.disjunction(),t=(this.consumeChar(")"),{type:"Group",capturing:e,value:t});return e&&(t.idx=this.groupIdx),t}positiveInteger(){let e=this.popChar();if(!1===Lee.test(e))throw Error("Expecting a positive integer");for(;$ee.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===$ee.test(e))throw Error("Expecting an integer");for(;$ee.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){var e=this.popChar();switch(e){case`
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:vee(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return"-"===this.peekChar()&&this.isClassAtom(1)}isDigit(){return $ee.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case` `:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:vee(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return"-"===this.peekChar()&&this.isClassAtom(1)}isDigit(){return $ee.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2));default:return!1}}isQuantifier(){var e=this.saveState();try{return void 0!==this.quantifier(!0)}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case` `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2));default:return!1}}isQuantifier(){var e=this.saveState();try{return void 0!==this.quantifier(!0)}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(t){let i="";for(let e=0;e<t;e++){var n=this.popChar();if(!1===Eee.test(n))throw Error("Expecting a HexDecimal digits");i+=n}return{type:"Character",value:parseInt(i,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){var e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(void 0!==e&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}}),Oee=e(()=>{"use strict";Mee=class{static{mt(this,"BaseRegExpVisitor")}visitChildren(e){for(var t in e){var i=e[t];e.hasOwnProperty(t)&&(void 0!==i.type?this.visit(i):Array.isArray(i)&&i.forEach(e=>{this.visit(e)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}}),Pee=e(()=>{"use strict";Dee(),Oee()}),Bee={};function Fee(e){try{e=`/${e="string"!=typeof e?e.source:e}/`;var t,i=Vee.pattern(e),n=[];for(t of i.value.value)Xee.reset(e),Xee.visit(t),n.push({start:Xee.startRegexp,end:Xee.endRegex});return n}catch{return[]}}function jee(e){try{return e=(e="string"==typeof e?new RegExp(e):e).toString(),Xee.reset(e),Xee.visit(Vee.pattern(e)),Xee.multiline}catch{return!1}}function zee(e){let t="string"==typeof e?new RegExp(e):e;return Kee.some(e=>t.test(e))}function Hee(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Uee(e){return Array.prototype.map.call(e,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Hee(e)).join("")}function qee(e,t){e=Wee(e),t=t.match(e);return!!t&&0<t[0].length}function Wee(e){let r=e="string"==typeof e?new RegExp(e):e,s=e.source,a=0;function o(){let t="",e;function i(e){t+=s.substr(a,e),a+=e}function n(e){t+="(?:"+s.substr(a,e)+"|$)",a+=e}for(mt(i,"appendRaw"),mt(n,"appendOptional");a<s.length;)switch(s[a]){case"\\":switch(s[a+1]){case"c":n(3);break;case"x":n(4);break;case"u":r.unicode?"{"===s[a+2]?n(s.indexOf("}",a)-a+1):n(6):n(2);break;case"p":case"P":r.unicode?n(s.indexOf("}",a)-a+1):n(2);break;case"k":n(s.indexOf(">",a)-a+1);break;default:n(2)}break;case"[":(e=/\[(?:\\.|.)*?\]/g).lastIndex=a,n((e=e.exec(s)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":i(1);break;case"{":(e=/\{\d+,?\d*\}/g).lastIndex=a,(e=e.exec(s))?i(e[0].length):n(1);break;case"(":if("?"===s[a+1])switch(s[a+2]){case":":t+="(?:",a+=3,t+=o()+"|$)";break;case"=":t+="(?=",a+=3,t+=o()+")";break;case"!":e=a,a+=3,o(),t+=s.substr(e,a-e);break;case"<":switch(s[a+3]){case"=":case"!":e=a,a+=4,o(),t+=s.substr(e,a-e);break;default:i(s.indexOf(">",a)-a+1),t+=o()+"|$)"}}else i(1),t+=o()+"|$)";break;case")":return++a,t;default:n(1)}return t}return mt(o,"process"),new RegExp(o(),e.flags)}G(Bee,{NEWLINE_REGEXP:()=>Gee,escapeRegExp:()=>Hee,getCaseInsensitivePattern:()=>Uee,getTerminalParts:()=>Fee,isMultilineComment:()=>jee,isWhitespace:()=>zee,partialMatches:()=>qee,partialRegExp:()=>Wee,whitespaceCharacters:()=>Kee});var Gee,Vee,Yee,Xee,Kee,Zee=e(()=>{"use strict";Pee(),Gee=/\r?\n/gm,Vee=new Ree,Yee=class extends Mee{static{mt(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){var t=String.fromCharCode(e.value);this.multiline||t!==` `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(t){let i="";for(let e=0;e<t;e++){var n=this.popChar();if(!1===Eee.test(n))throw Error("Expecting a HexDecimal digits");i+=n}return{type:"Character",value:parseInt(i,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){var e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(void 0!==e&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}}),Oee=e(()=>{"use strict";Mee=class{static{mt(this,"BaseRegExpVisitor")}visitChildren(e){for(var t in e){var i=e[t];e.hasOwnProperty(t)&&(void 0!==i.type?this.visit(i):Array.isArray(i)&&i.forEach(e=>{this.visit(e)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}}),Pee=e(()=>{"use strict";Dee(),Oee()}),Bee={};function Fee(e){try{e=`/${e="string"!=typeof e?e.source:e}/`;var t,i=Vee.pattern(e),n=[];for(t of i.value.value)Xee.reset(e),Xee.visit(t),n.push({start:Xee.startRegexp,end:Xee.endRegex});return n}catch{return[]}}function jee(e){try{return e=(e="string"==typeof e?new RegExp(e):e).toString(),Xee.reset(e),Xee.visit(Vee.pattern(e)),Xee.multiline}catch{return!1}}function zee(e){let t="string"==typeof e?new RegExp(e):e;return Kee.some(e=>t.test(e))}function Uee(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Hee(e){return Array.prototype.map.call(e,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Uee(e)).join("")}function qee(e,t){e=Wee(e),t=t.match(e);return!!t&&0<t[0].length}function Wee(e){let r=e="string"==typeof e?new RegExp(e):e,s=e.source,a=0;function o(){let t="",e;function i(e){t+=s.substr(a,e),a+=e}function n(e){t+="(?:"+s.substr(a,e)+"|$)",a+=e}for(mt(i,"appendRaw"),mt(n,"appendOptional");a<s.length;)switch(s[a]){case"\\":switch(s[a+1]){case"c":n(3);break;case"x":n(4);break;case"u":r.unicode?"{"===s[a+2]?n(s.indexOf("}",a)-a+1):n(6):n(2);break;case"p":case"P":r.unicode?n(s.indexOf("}",a)-a+1):n(2);break;case"k":n(s.indexOf(">",a)-a+1);break;default:n(2)}break;case"[":(e=/\[(?:\\.|.)*?\]/g).lastIndex=a,n((e=e.exec(s)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":i(1);break;case"{":(e=/\{\d+,?\d*\}/g).lastIndex=a,(e=e.exec(s))?i(e[0].length):n(1);break;case"(":if("?"===s[a+1])switch(s[a+2]){case":":t+="(?:",a+=3,t+=o()+"|$)";break;case"=":t+="(?=",a+=3,t+=o()+")";break;case"!":e=a,a+=3,o(),t+=s.substr(e,a-e);break;case"<":switch(s[a+3]){case"=":case"!":e=a,a+=4,o(),t+=s.substr(e,a-e);break;default:i(s.indexOf(">",a)-a+1),t+=o()+"|$)"}}else i(1),t+=o()+"|$)";break;case")":return++a,t;default:n(1)}return t}return mt(o,"process"),new RegExp(o(),e.flags)}G(Bee,{NEWLINE_REGEXP:()=>Gee,escapeRegExp:()=>Uee,getCaseInsensitivePattern:()=>Hee,getTerminalParts:()=>Fee,isMultilineComment:()=>jee,isWhitespace:()=>zee,partialMatches:()=>qee,partialRegExp:()=>Wee,whitespaceCharacters:()=>Kee});var Gee,Vee,Yee,Xee,Kee,Zee=e(()=>{"use strict";Pee(),Gee=/\r?\n/gm,Vee=new Ree,Yee=class extends Mee{static{mt(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){var t=String.fromCharCode(e.value);this.multiline||t!==`
`||(this.multiline=!0),e.quantifier?(this.isStarting=!1,this.endRegexpStack=[]):(e=Hee(t),this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e))}visitSet(e){var t;this.multiline||(t=this.regex.substring(e.loc.begin,e.loc.end),t=new RegExp(t),this.multiline=!!` `||(this.multiline=!0),e.quantifier?(this.isStarting=!1,this.endRegexpStack=[]):(e=Uee(t),this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e))}visitSet(e){var t;this.multiline||(t=this.regex.substring(e.loc.begin,e.loc.end),t=new RegExp(t),this.multiline=!!`
`.match(t)),e.quantifier?(this.isStarting=!1,this.endRegexpStack=[]):(t=this.regex.substring(e.loc.begin,e.loc.end),this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t))}visitChildren(e){"Group"===e.type&&e.quantifier||super.visitChildren(e)}},Xee=new Yee,mt(Fee,"getTerminalParts"),mt(jee,"isMultilineComment"),Kee=` `.match(t)),e.quantifier?(this.isStarting=!1,this.endRegexpStack=[]):(t=this.regex.substring(e.loc.begin,e.loc.end),this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t))}visitChildren(e){"Group"===e.type&&e.quantifier||super.visitChildren(e)}},Xee=new Yee,mt(Fee,"getTerminalParts"),mt(jee,"isMultilineComment"),Kee=`
\r              

   `.split(""),mt(zee,"isWhitespace"),mt(Hee,"escapeRegExp"),mt(Uee,"getCaseInsensitivePattern"),mt(qee,"partialMatches"),mt(Wee,"partialRegExp")}),Qee={};function Jee(e){return e.rules.find(e=>DQ(e)&&e.entry)}function ete(e){return e.rules.filter(e=>jQ(e)&&e.hidden)}function tte(e,t){var i,n=new Set,r=Jee(e);if(!r)return new Set(e.rules);for(i of[r].concat(ete(e)))ite(i,n,t);var s,a=new Set;for(s of e.rules)(n.has(s.name)||jQ(s)&&s.hidden)&&a.add(s);return a}function ite(e,t,i){t.add(e.name),hee(e).forEach(e=>{(eJ(e)||i&&nJ(e))&&(e=e.rule.ref)&&!t.has(e.name)&&ite(e,t,i)})}function nte(e){return e.terminal||(e.type.ref?dte(e.type.ref)?.terminal:void 0)}function rte(e){return e.hidden&&!zee(Ate(e))}function ste(e,t){return e&&t?ote(e,t,e.astNode,!0):[]}function ate(e,t,i){return e&&t&&0!==(t=ote(e,t,e.astNode,!0)).length?t[i=void 0!==i?Math.max(0,Math.min(i,t.length-1)):0]:void 0}function ote(e,t,i,n){if(!n){n=see(e.grammarSource,GQ);if(n&&n.feature===t)return[e]}return _Z(e)&&e.astNode===i?e.content.flatMap(e=>ote(e,t,i,!1)):[]}function lte(e,t){return e?hte(e,t,e?.astNode):[]}function cte(e,t,i){return e&&0!==(t=hte(e,t,e?.astNode)).length?t[i=void 0!==i?Math.max(0,Math.min(i,t.length-1)):0]:void 0}function hte(e,t,i){if(e.astNode!==i)return[];if(ZQ(e.grammarSource)&&e.grammarSource.value===t)return[e];var n,r,s=zZ(e).iterator(),a=[];do{(r=s.next()).done||((n=r.value).astNode===i?ZQ(n.grammarSource)&&n.grammarSource.value===t&&a.push(n):s.prune())}while(!r.done);return a}function ute(e){for(var t=e.astNode;t===(null==(i=e.container)?void 0:i.astNode);){var i=see(e.grammarSource,GQ);if(i)return i;e=e.container}}function dte(e){let t=e;return EQ(t)&&(qQ(t.$container)?t=t.$container.$container:DQ(t.$container)?t=t.$container:cQ(t.$container)),pte(e,t,new Map)}function pte(n,e,r){var t,i;function s(e,t){let i;return see(e,GQ)||(i=pte(t,t,r)),r.set(n,i),i}if(mt(s,"go"),r.has(n))return r.get(n);r.set(n,void 0);for(i of hee(e)){if(GQ(i)&&"name"===i.feature.toLowerCase())return r.set(n,i),i;if(eJ(i)&&DQ(i.rule.ref))return s(i,i.rule.ref);if(BQ(i)&&null!=(t=i.typeRef)&&t.ref)return s(i,i.typeRef.ref)}}function gte(t){var e=t.$container;if(KQ(e)){var i=e.elements;for(let e=i.indexOf(t)-1;0<=e;e--){var n=i[e];if(qQ(n))return n;n=hee(i[e]).find(qQ);if(n)return n}}if(xQ(e))return gte(e)}function fte(e,t){return"?"===e||"*"===e||KQ(t)&&!!t.guardCondition}function mte(e){return"*"===e||"+"===e}function yte(e){return"+="===e}function bte(e){return vte(e,new Set)}function vte(e,t){if(t.has(e))return!0;t.add(e);for(var i of hee(e))if(eJ(i)){if(!i.rule.ref||DQ(i.rule.ref)&&!vte(i.rule.ref,t))return!1}else{if(GQ(i))return!1;if(qQ(i))return!1}return!!e.definition}function xte(e){return wte(e.type,new Set)}function wte(e,t){return!!t.has(e)||(t.add(e),!kQ(e)&&!OQ(e)&&(UQ(e)?e.types.every(e=>wte(e,t)):!!BQ(e)&&(void 0!==e.primitiveType||void 0!==e.stringType||void 0!==e.typeRef&&!!zQ(e=e.typeRef.ref)&&wte(e.type,t))))}function kte(e){return e.inferredType?e.inferredType.name:e.dataType||(e.returnType&&(e=e.returnType.ref)&&(DQ(e)||$Q(e)||zQ(e))?e.name:void 0)}function Tte(e){if(DQ(e))return!bte(e)&&null!=(t=kte(e))?t:e.name;if($Q(e)||zQ(e)||PQ(e))return e.name;if(qQ(e)){var t=Ste(e);if(t)return t}else if(EQ(e))return e.name;throw new Error("Cannot get name of Unknown Type")}function Ste(e){var t;return e.inferredType?e.inferredType.name:null!=(t=e.type)&&t.ref?Tte(e.type.ref):void 0}function Cte(e){var t;return jQ(e)?null!=(t=null==(t=e.type)?void 0:t.name)?t:"string":!bte(e)&&null!=(t=kte(e))?t:e.name}function _te(e){var t;return jQ(e)?null!=(t=null==(t=e.type)?void 0:t.name)?t:"string":null!=(t=kte(e))?t:e.name}function Ate(e){var t={s:!1,i:!1,u:!1},e=Ete(e.definition,t),t=Object.entries(t).filter(([,e])=>e).map(([e])=>e).join("");return new RegExp(e,t)}function Ete(e,t){if(tJ(e))return $te(e);if(iJ(e))return Lte(e);if(VQ(e))return Ite(e);if(nJ(e)){var i=e.rule.ref;if(i)return Dte(Ete(i.definition),{cardinality:e.cardinality,lookahead:e.lookahead});throw new Error("Missing rule reference.")}if(QQ(e))return Mte(e);if(sJ(e))return Rte(e);var n;if(JQ(e))return i=e.regex.lastIndexOf("/"),n=e.regex.substring(1,i),i=e.regex.substring(i+1),t&&(t.i=i.includes("i"),t.s=i.includes("s"),t.u=i.includes("u")),Dte(n,{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1});if(aJ(e))return Dte(Ote,{cardinality:e.cardinality,lookahead:e.lookahead});throw new Error("Invalid terminal element: "+e?.$type)}function $te(e){return Dte(e.elements.map(e=>Ete(e)).join("|"),{cardinality:e.cardinality,lookahead:e.lookahead})}function Lte(e){return Dte(e.elements.map(e=>Ete(e)).join(""),{cardinality:e.cardinality,lookahead:e.lookahead})}function Rte(e){return Dte(Ote+"*?"+Ete(e.terminal),{cardinality:e.cardinality,lookahead:e.lookahead})}function Mte(e){return Dte(`(?!${Ete(e.terminal)})${Ote}*?`,{cardinality:e.cardinality,lookahead:e.lookahead})}function Ite(e){return e.right?Dte(`[${Nte(e.lefLine truncated \r              

   `.split(""),mt(zee,"isWhitespace"),mt(Uee,"escapeRegExp"),mt(Hee,"getCaseInsensitivePattern"),mt(qee,"partialMatches"),mt(Wee,"partialRegExp")}),Qee={};function Jee(e){return e.rules.find(e=>DQ(e)&&e.entry)}function ete(e){return e.rules.filter(e=>jQ(e)&&e.hidden)}function tte(e,t){var i,n=new Set,r=Jee(e);if(!r)return new Set(e.rules);for(i of[r].concat(ete(e)))ite(i,n,t);var s,a=new Set;for(s of e.rules)(n.has(s.name)||jQ(s)&&s.hidden)&&a.add(s);return a}function ite(e,t,i){t.add(e.name),hee(e).forEach(e=>{(eJ(e)||i&&nJ(e))&&(e=e.rule.ref)&&!t.has(e.name)&&ite(e,t,i)})}function nte(e){return e.terminal||(e.type.ref?dte(e.type.ref)?.terminal:void 0)}function rte(e){return e.hidden&&!zee(Ate(e))}function ste(e,t){return e&&t?ote(e,t,e.astNode,!0):[]}function ate(e,t,i){return e&&t&&0!==(t=ote(e,t,e.astNode,!0)).length?t[i=void 0!==i?Math.max(0,Math.min(i,t.length-1)):0]:void 0}function ote(e,t,i,n){if(!n){n=see(e.grammarSource,GQ);if(n&&n.feature===t)return[e]}return _Z(e)&&e.astNode===i?e.content.flatMap(e=>ote(e,t,i,!1)):[]}function lte(e,t){return e?hte(e,t,e?.astNode):[]}function cte(e,t,i){return e&&0!==(t=hte(e,t,e?.astNode)).length?t[i=void 0!==i?Math.max(0,Math.min(i,t.length-1)):0]:void 0}function hte(e,t,i){if(e.astNode!==i)return[];if(ZQ(e.grammarSource)&&e.grammarSource.value===t)return[e];var n,r,s=zZ(e).iterator(),a=[];do{(r=s.next()).done||((n=r.value).astNode===i?ZQ(n.grammarSource)&&n.grammarSource.value===t&&a.push(n):s.prune())}while(!r.done);return a}function ute(e){for(var t=e.astNode;t===(null==(i=e.container)?void 0:i.astNode);){var i=see(e.grammarSource,GQ);if(i)return i;e=e.container}}function dte(e){let t=e;return EQ(t)&&(qQ(t.$container)?t=t.$container.$container:DQ(t.$container)?t=t.$container:cQ(t.$container)),pte(e,t,new Map)}function pte(n,e,r){var t,i;function s(e,t){let i;return see(e,GQ)||(i=pte(t,t,r)),r.set(n,i),i}if(mt(s,"go"),r.has(n))return r.get(n);r.set(n,void 0);for(i of hee(e)){if(GQ(i)&&"name"===i.feature.toLowerCase())return r.set(n,i),i;if(eJ(i)&&DQ(i.rule.ref))return s(i,i.rule.ref);if(BQ(i)&&null!=(t=i.typeRef)&&t.ref)return s(i,i.typeRef.ref)}}function gte(t){var e=t.$container;if(KQ(e)){var i=e.elements;for(let e=i.indexOf(t)-1;0<=e;e--){var n=i[e];if(qQ(n))return n;n=hee(i[e]).find(qQ);if(n)return n}}if(xQ(e))return gte(e)}function fte(e,t){return"?"===e||"*"===e||KQ(t)&&!!t.guardCondition}function mte(e){return"*"===e||"+"===e}function yte(e){return"+="===e}function bte(e){return vte(e,new Set)}function vte(e,t){if(t.has(e))return!0;t.add(e);for(var i of hee(e))if(eJ(i)){if(!i.rule.ref||DQ(i.rule.ref)&&!vte(i.rule.ref,t))return!1}else{if(GQ(i))return!1;if(qQ(i))return!1}return!!e.definition}function xte(e){return wte(e.type,new Set)}function wte(e,t){return!!t.has(e)||(t.add(e),!kQ(e)&&!OQ(e)&&(HQ(e)?e.types.every(e=>wte(e,t)):!!BQ(e)&&(void 0!==e.primitiveType||void 0!==e.stringType||void 0!==e.typeRef&&!!zQ(e=e.typeRef.ref)&&wte(e.type,t))))}function kte(e){return e.inferredType?e.inferredType.name:e.dataType||(e.returnType&&(e=e.returnType.ref)&&(DQ(e)||$Q(e)||zQ(e))?e.name:void 0)}function Tte(e){if(DQ(e))return!bte(e)&&null!=(t=kte(e))?t:e.name;if($Q(e)||zQ(e)||PQ(e))return e.name;if(qQ(e)){var t=Ste(e);if(t)return t}else if(EQ(e))return e.name;throw new Error("Cannot get name of Unknown Type")}function Ste(e){var t;return e.inferredType?e.inferredType.name:null!=(t=e.type)&&t.ref?Tte(e.type.ref):void 0}function Cte(e){var t;return jQ(e)?null!=(t=null==(t=e.type)?void 0:t.name)?t:"string":!bte(e)&&null!=(t=kte(e))?t:e.name}function _te(e){var t;return jQ(e)?null!=(t=null==(t=e.type)?void 0:t.name)?t:"string":null!=(t=kte(e))?t:e.name}function Ate(e){var t={s:!1,i:!1,u:!1},e=Ete(e.definition,t),t=Object.entries(t).filter(([,e])=>e).map(([e])=>e).join("");return new RegExp(e,t)}function Ete(e,t){if(tJ(e))return $te(e);if(iJ(e))return Lte(e);if(VQ(e))return Ite(e);if(nJ(e)){var i=e.rule.ref;if(i)return Dte(Ete(i.definition),{cardinality:e.cardinality,lookahead:e.lookahead});throw new Error("Missing rule reference.")}if(QQ(e))return Mte(e);if(sJ(e))return Rte(e);var n;if(JQ(e))return i=e.regex.lastIndexOf("/"),n=e.regex.substring(1,i),i=e.regex.substring(i+1),t&&(t.i=i.includes("i"),t.s=i.includes("s"),t.u=i.includes("u")),Dte(n,{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1});if(aJ(e))return Dte(Ote,{cardinality:e.cardinality,lookahead:e.lookahead});throw new Error("Invalid terminal element: "+e?.$type)}function $te(e){return Dte(e.elements.map(e=>Ete(e)).join("|"),{cardinality:e.cardinality,lookahead:e.lookahead})}function Lte(e){return Dte(e.elements.map(e=>Ete(e)).join(""),{cardinality:e.cardinality,lookahead:e.lookahead})}function Rte(e){return Dte(Ote+"*?"+Ete(e.terminal),{cardinality:e.cardinality,lookahead:e.lookahead})}function Mte(e){return Dte(`(?!${Ete(e.terminal)})${Ote}*?`,{cardinality:e.cardinality,lookahead:e.lookahead})}function Ite(e){return e.right?Dte(`[${Nte(e.lefLine truncated
Complement Sets cannot be automatically optimized. Complement Sets cannot be automatically optimized.
This will disable the lexer's first char optimizations. This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let e=i?` See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let e=i?`
@@ -724,50 +724,50 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`:"";zte(`${Gie} See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`:"";zte(`${Gie}
Failed parsing: < ${t.toString()} > Failed parsing: < ${t.toString()} >
Using the @chevrotain/regexp-to-ast library Using the @chevrotain/regexp-to-ast library
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+e)}}return[]}function Fie(t,r,s){switch(t.type){case"Disjunction":for(let e=0;e<t.value.length;e++)Fie(t.value[e],r,s);break;case"Alternative":var i=t.value;for(let e=0;e<i.length;e++){var n=i[e];switch(n.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}var a=n;switch(a.type){case"Character":jie(a.value,r,s);break;case"Set":if(!0===a.complement)throw Error(Wie);b(a.value,t=>{if("number"==typeof t)jie(t,r,s);else{var i=t;if(!0===s)for(let e=i.from;e<=i.to;e++)jie(e,r,s);else{for(let e=i.from;e<=i.to&&e<Lne;e++)jie(e,r,s);if(i.to>=Lne){var t=i.from>=Lne?i.from:Lne,e=i.to,t=wne(t),n=wne(e);for(let e=t;e<=n;e++)r[e]=e}}}});break;case"Group":Fie(a.value,r,s);break;default:throw Error("Non Exhaustive Match")}n=void 0!==a.quantifier&&0===a.quantifier.atLeast;if("Group"===a.type&&!1===Uie(a)||"Group"!==a.type&&!1==n)break}break;default:throw Error("non exhaustive match!")}return tq(r)}function jie(e,t,i){var n=wne(e);t[n]=n,!0===i&&zie(e,t)}function zie(e,t){var e=String.fromCharCode(e),i=e.toUpperCase();i!==e?t[i=wne(i.charCodeAt(0))]=i:(i=e.toLowerCase())!==e&&(t[e=wne(i.charCodeAt(0))]=e)}function Hie(e,i){return dU(e.value,e=>{if("number"==typeof e)return sq(i,e);{let t=e;return void 0!==dU(i,e=>t.from<=e&&e<=t.to)}})}function Uie(e){var t=e.quantifier;return!(!t||0!==t.atLeast)||!!e.value&&(sT(e.value)?ZH(e.value,Uie):Uie(e.value))}function qie(t,e){var i,n;return e instanceof RegExp?(i=Iie(e),(n=new Vie(t)).visit(i),n.found):void 0!==dU(e,e=>sq(t,e.charCodeAt(0)))}var Wie,Gie,Vie,Yie=e(()=>{"use strict";Pee(),zG(),Yte(),Pie(),Mne(),Wie="Complement Sets are not supported for first char optimization",Gie=`Unable to use "first char" lexer optimizations: Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+e)}}return[]}function Fie(t,r,s){switch(t.type){case"Disjunction":for(let e=0;e<t.value.length;e++)Fie(t.value[e],r,s);break;case"Alternative":var i=t.value;for(let e=0;e<i.length;e++){var n=i[e];switch(n.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}var a=n;switch(a.type){case"Character":jie(a.value,r,s);break;case"Set":if(!0===a.complement)throw Error(Wie);b(a.value,t=>{if("number"==typeof t)jie(t,r,s);else{var i=t;if(!0===s)for(let e=i.from;e<=i.to;e++)jie(e,r,s);else{for(let e=i.from;e<=i.to&&e<Lne;e++)jie(e,r,s);if(i.to>=Lne){var t=i.from>=Lne?i.from:Lne,e=i.to,t=wne(t),n=wne(e);for(let e=t;e<=n;e++)r[e]=e}}}});break;case"Group":Fie(a.value,r,s);break;default:throw Error("Non Exhaustive Match")}n=void 0!==a.quantifier&&0===a.quantifier.atLeast;if("Group"===a.type&&!1===Hie(a)||"Group"!==a.type&&!1==n)break}break;default:throw Error("non exhaustive match!")}return tq(r)}function jie(e,t,i){var n=wne(e);t[n]=n,!0===i&&zie(e,t)}function zie(e,t){var e=String.fromCharCode(e),i=e.toUpperCase();i!==e?t[i=wne(i.charCodeAt(0))]=i:(i=e.toLowerCase())!==e&&(t[e=wne(i.charCodeAt(0))]=e)}function Uie(e,i){return dH(e.value,e=>{if("number"==typeof e)return sq(i,e);{let t=e;return void 0!==dH(i,e=>t.from<=e&&e<=t.to)}})}function Hie(e){var t=e.quantifier;return!(!t||0!==t.atLeast)||!!e.value&&(sT(e.value)?ZU(e.value,Hie):Hie(e.value))}function qie(t,e){var i,n;return e instanceof RegExp?(i=Iie(e),(n=new Vie(t)).visit(i),n.found):void 0!==dH(e,e=>sq(t,e.charCodeAt(0)))}var Wie,Gie,Vie,Yie=e(()=>{"use strict";Pee(),zG(),Yte(),Pie(),Mne(),Wie="Complement Sets are not supported for first char optimization",Gie=`Unable to use "first char" lexer optimizations:
`,mt(Bie,"getOptimizedStartCodesIndices"),mt(Fie,"firstCharOptimizedIndices"),mt(jie,"addOptimizedIdxToResult"),mt(zie,"handleIgnoreCase"),mt(Hie,"findCode"),mt(Uie,"isWholeOptional"),Vie=class extends Mee{static{mt(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":return void this.visitLookahead(e);case"NegativeLookahead":return void this.visitNegativeLookahead(e)}super.visitChildren(e)}}visitCharacter(e){sq(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===Hie(e,this.targetCharCodes)&&(this.found=!0):void 0!==Hie(e,this.targetCharCodes)&&(this.found=!0)}},mt(qie,"canMatchCharCode")});function Xie(e,r){var t=(r=mH(r,{useSticky:_ne,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` `,mt(Bie,"getOptimizedStartCodesIndices"),mt(Fie,"firstCharOptimizedIndices"),mt(jie,"addOptimizedIdxToResult"),mt(zie,"handleIgnoreCase"),mt(Uie,"findCode"),mt(Hie,"isWholeOptional"),Vie=class extends Mee{static{mt(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":return void this.visitLookahead(e);case"NegativeLookahead":return void this.visitNegativeLookahead(e)}super.visitChildren(e)}}visitCharacter(e){sq(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===Uie(e,this.targetCharCodes)&&(this.found=!0):void 0!==Uie(e,this.targetCharCodes)&&(this.found=!0)}},mt(qie,"canMatchCharCode")});function Xie(e,r){var t=(r=mU(r,{useSticky:_ne,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
`],tracer:mt((e,t)=>t(),"tracer")})).tracer;t("initCharCodeToOptimizedIndexMap",()=>{kne()});let i,n=(t("Reject Lexer.NA",()=>{i=iG(e,e=>e[Tne]===Zne.NA)}),!1),s;t("Transform Patterns",()=>{n=!1,s=v(i,e=>{var t,e=e[Tne];if(vq(e))return 1!==(t=e.source).length||"^"===t||"$"===t||"."===t||e.ignoreCase?2!==t.length||"\\"!==t[0]||sq(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],t[1])?(r.useSticky?une:hne)(e):t[1]:t;if(N6(e))return n=!0,{exec:e};if("object"==typeof e)return n=!0,e;if("string"==typeof e)return 1===e.length?e:(t=e.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),e=new RegExp(t),(r.useSticky?une:hne)(e));throw Error("non exhaustive match")})});let a,o,l,c,h;t("misc mapping",()=>{a=v(i,e=>e.tokenTypeIdx),o=v(i,e=>{e=e.GROUP;if(e!==Zne.SKIPPED){if(XU(e))return e;if(Tq(e))return!1;throw Error("non exhaustive match")}}),l=v(i,e=>{e=e.LONGER_ALT;if(e)return sT(e)?v(e,e=>cq(i,e)):[cq(i,e)]}),c=v(i,e=>e.PUSH_MODE),h=v(i,e=>GU(e,"POP_MODE"))});let u;t("Line Terminator Handling",()=>{let t=vne(r.lineTerminatorCharacters);u=v(i,e=>!1),"onlyOffset"!==r.positionTracking&&(u=v(i,e=>GU(e,"LINE_BREAKS")?!!e.LINE_BREAKS:!1===yne(e,t)&&qie(t,e.PATTERN)))});let d,p,g,f,m=(t("Misc Mapping #2",()=>{d=v(i,fne),p=v(s,mne),g=JW(i,(e,t)=>{t=t.GROUP;return XU(t)&&t!==Zne.SKIPPED&&(e[t]=[]),e},{}),f=v(s,(e,t)=>({pattern:s[t],longerAlt:l[t],canLineTerminator:u[t],isCustom:d[t],short:p[t],group:o[t],push:c[t],pop:h[t],tokenTypeIdx:a[t],tokenType:i[t]}))}),!0),y=[];return r.safeMode||t("First Char Optimization",()=>{y=JW(i,(i,e,n)=>{if("string"==typeof e.PATTERN){var t=wne(e.PATTERN.charCodeAt(0));xne(i,t,f[n])}else if(sT(e.START_CHARS_HINT)){let t;b(e.START_CHARS_HINT,e=>{e=wne("string"==typeof e?e.charCodeAt(0):e);t!==e&&(t=e,xne(i,e,f[n]))})}else vq(e.PATTERN)?e.PATTERN.unicode?(m=!1,r.ensureOptimizations&&zte(`${Gie} Unable to analyze < ${e.PATTERN.toString()} > pattern. `],tracer:mt((e,t)=>t(),"tracer")})).tracer;t("initCharCodeToOptimizedIndexMap",()=>{kne()});let i,n=(t("Reject Lexer.NA",()=>{i=iG(e,e=>e[Tne]===Zne.NA)}),!1),s;t("Transform Patterns",()=>{n=!1,s=v(i,e=>{var t,e=e[Tne];if(vq(e))return 1!==(t=e.source).length||"^"===t||"$"===t||"."===t||e.ignoreCase?2!==t.length||"\\"!==t[0]||sq(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],t[1])?(r.useSticky?une:hne)(e):t[1]:t;if(N6(e))return n=!0,{exec:e};if("object"==typeof e)return n=!0,e;if("string"==typeof e)return 1===e.length?e:(t=e.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),e=new RegExp(t),(r.useSticky?une:hne)(e));throw Error("non exhaustive match")})});let a,o,l,c,h;t("misc mapping",()=>{a=v(i,e=>e.tokenTypeIdx),o=v(i,e=>{e=e.GROUP;if(e!==Zne.SKIPPED){if(XH(e))return e;if(Tq(e))return!1;throw Error("non exhaustive match")}}),l=v(i,e=>{e=e.LONGER_ALT;if(e)return sT(e)?v(e,e=>cq(i,e)):[cq(i,e)]}),c=v(i,e=>e.PUSH_MODE),h=v(i,e=>GH(e,"POP_MODE"))});let u;t("Line Terminator Handling",()=>{let t=vne(r.lineTerminatorCharacters);u=v(i,e=>!1),"onlyOffset"!==r.positionTracking&&(u=v(i,e=>GH(e,"LINE_BREAKS")?!!e.LINE_BREAKS:!1===yne(e,t)&&qie(t,e.PATTERN)))});let d,p,g,f,m=(t("Misc Mapping #2",()=>{d=v(i,fne),p=v(s,mne),g=JW(i,(e,t)=>{t=t.GROUP;return XH(t)&&t!==Zne.SKIPPED&&(e[t]=[]),e},{}),f=v(s,(e,t)=>({pattern:s[t],longerAlt:l[t],canLineTerminator:u[t],isCustom:d[t],short:p[t],group:o[t],push:c[t],pop:h[t],tokenTypeIdx:a[t],tokenType:i[t]}))}),!0),y=[];return r.safeMode||t("First Char Optimization",()=>{y=JW(i,(i,e,n)=>{if("string"==typeof e.PATTERN){var t=wne(e.PATTERN.charCodeAt(0));xne(i,t,f[n])}else if(sT(e.START_CHARS_HINT)){let t;b(e.START_CHARS_HINT,e=>{e=wne("string"==typeof e?e.charCodeAt(0):e);t!==e&&(t=e,xne(i,e,f[n]))})}else vq(e.PATTERN)?e.PATTERN.unicode?(m=!1,r.ensureOptimizations&&zte(`${Gie} Unable to analyze < ${e.PATTERN.toString()} > pattern.
The regexp unicode flag is not currently supported by the regexp-to-ast library. The regexp unicode flag is not currently supported by the regexp-to-ast library.
This will disable the lexer's first char optimizations. This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`)):(t=Bie(e.PATTERN,r.ensureOptimizations),gq(t)&&(m=!1),b(t,e=>{xne(i,e,f[n])})):(r.ensureOptimizations&&zte(`${Gie} TokenType: <${e.name}> is using a custom token pattern without providing <start_chars_hint> parameter. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`)):(t=Bie(e.PATTERN,r.ensureOptimizations),gq(t)&&(m=!1),b(t,e=>{xne(i,e,f[n])})):(r.ensureOptimizations&&zte(`${Gie} TokenType: <${e.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
This will disable the lexer's first char optimizations. This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),m=!1);return i},[])}),{emptyGroups:g,patternIdxToConfig:f,charCodeToPatternIdxToConfig:y,hasCustom:n,canBeOptimized:m}}function Kie(e,t){let i=[],n=Qie(e);i=i.concat(n.errors);var e=Jie(n.valid),r=e.valid;return i=(i=(i=(i=(i=i.concat(e.errors)).concat(Zie(r))).concat(sne(r))).concat(ane(r,t))).concat(one(r))}function Zie(e){let t=[],i=nU(e,e=>vq(e[Tne]));return t=(t=(t=(t=(t=t.concat(ene(i))).concat(ine(i))).concat(nne(i))).concat(rne(i))).concat(tne(i))}function Qie(e){var t=nU(e,e=>!GU(e,Tne));return{errors:v(t,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:Xne.MISSING_PATTERN,tokenTypes:[e]})),valid:_H(e,t)}}function Jie(e){var t=nU(e,e=>{e=e[Tne];return!(vq(e)||N6(e)||GU(e,"exec")||XU(e))});return{errors:v(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Xne.INVALID_PATTERN,tokenTypes:[e]})),valid:_H(e,t)}}function ene(e){class n extends Mee{static{mt(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}e=nU(e,e=>{e=e.PATTERN;try{var t=Iie(e),i=new n;return i.visit(t),i.found}catch{return Ane.test(e.source)}});return v(e,e=>({message:`Unexpected RegExp Anchor Error: For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),m=!1);return i},[])}),{emptyGroups:g,patternIdxToConfig:f,charCodeToPatternIdxToConfig:y,hasCustom:n,canBeOptimized:m}}function Kie(e,t){let i=[],n=Qie(e);i=i.concat(n.errors);var e=Jie(n.valid),r=e.valid;return i=(i=(i=(i=(i=i.concat(e.errors)).concat(Zie(r))).concat(sne(r))).concat(ane(r,t))).concat(one(r))}function Zie(e){let t=[],i=nH(e,e=>vq(e[Tne]));return t=(t=(t=(t=(t=t.concat(ene(i))).concat(ine(i))).concat(nne(i))).concat(rne(i))).concat(tne(i))}function Qie(e){var t=nH(e,e=>!GH(e,Tne));return{errors:v(t,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:Xne.MISSING_PATTERN,tokenTypes:[e]})),valid:_U(e,t)}}function Jie(e){var t=nH(e,e=>{e=e[Tne];return!(vq(e)||N6(e)||GH(e,"exec")||XH(e))});return{errors:v(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Xne.INVALID_PATTERN,tokenTypes:[e]})),valid:_U(e,t)}}function ene(e){class n extends Mee{static{mt(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}e=nH(e,e=>{e=e.PATTERN;try{var t=Iie(e),i=new n;return i.visit(t),i.found}catch{return Ane.test(e.source)}});return v(e,e=>({message:`Unexpected RegExp Anchor Error:
Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain end of input anchor '$' Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Xne.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}function tne(e){e=nU(e,e=>e.PATTERN.test(""));return v(e,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:Xne.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}function ine(e){class n extends Mee{static{mt(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}e=nU(e,e=>{e=e.PATTERN;try{var t=Iie(e),i=new n;return i.visit(t),i.found}catch{return Ene.test(e.source)}});return v(e,e=>({message:`Unexpected RegExp Anchor Error: See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Xne.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}function tne(e){e=nH(e,e=>e.PATTERN.test(""));return v(e,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:Xne.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}function ine(e){class n extends Mee{static{mt(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}e=nH(e,e=>{e=e.PATTERN;try{var t=Iie(e),i=new n;return i.visit(t),i.found}catch{return Ene.test(e.source)}});return v(e,e=>({message:`Unexpected RegExp Anchor Error:
Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain start of input anchor '^' Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Xne.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}function nne(e){e=nU(e,e=>{e=e[Tne];return e instanceof RegExp&&(e.multiline||e.global)});return v(e,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Xne.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}function rne(e){let n=[],t=v(e,i=>JW(e,(e,t)=>(i.PATTERN.source!==t.PATTERN.source||sq(n,t)||t.PATTERN===Zne.NA||(n.push(t),e.push(t)),e),[]));t=mj(t);var i=nU(t,e=>1<e.length);return v(i,e=>{var t=v(e,e=>e.name);return{message:`The same RegExp pattern ->${mU(e).PATTERN}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:Xne.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}function sne(e){e=nU(e,e=>{return!!GU(e,"GROUP")&&(e=e.GROUP)!==Zne.SKIPPED&&e!==Zne.NA&&!XU(e)});return v(e,e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Xne.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}function ane(e,t){e=nU(e,e=>void 0!==e.PUSH_MODE&&!sq(t,e.PUSH_MODE));return v(e,e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:Xne.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}function one(e){let s=[],t=JW(e,(e,t,i)=>{var n=t.PATTERN;return n!==Zne.NA&&(XU(n)?e.push({str:n,idx:i,tokenType:t}):vq(n)&&cne(n)&&e.push({str:n.source,idx:i,tokenType:t})),e},[]);return b(e,(n,r)=>{b(t,({str:e,idx:t,tokenType:i})=>{r<t&&lne(e,n.PATTERN)&&(t=`Token: ->${i.name}<- can never be matched. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Xne.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}function nne(e){e=nH(e,e=>{e=e[Tne];return e instanceof RegExp&&(e.multiline||e.global)});return v(e,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Xne.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}function rne(e){let n=[],t=v(e,i=>JW(e,(e,t)=>(i.PATTERN.source!==t.PATTERN.source||sq(n,t)||t.PATTERN===Zne.NA||(n.push(t),e.push(t)),e),[]));t=mj(t);var i=nH(t,e=>1<e.length);return v(i,e=>{var t=v(e,e=>e.name);return{message:`The same RegExp pattern ->${mH(e).PATTERN}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:Xne.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}function sne(e){e=nH(e,e=>{return!!GH(e,"GROUP")&&(e=e.GROUP)!==Zne.SKIPPED&&e!==Zne.NA&&!XH(e)});return v(e,e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Xne.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}function ane(e,t){e=nH(e,e=>void 0!==e.PUSH_MODE&&!sq(t,e.PUSH_MODE));return v(e,e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:Xne.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}function one(e){let s=[],t=JW(e,(e,t,i)=>{var n=t.PATTERN;return n!==Zne.NA&&(XH(n)?e.push({str:n,idx:i,tokenType:t}):vq(n)&&cne(n)&&e.push({str:n.source,idx:i,tokenType:t})),e},[]);return b(e,(n,r)=>{b(t,({str:e,idx:t,tokenType:i})=>{r<t&&lne(e,n.PATTERN)&&(t=`Token: ->${i.name}<- can never be matched.
Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`,s.push({message:t,type:Xne.UNREACHABLE_PATTERN,tokenTypes:[n,i]}))})}),s}function lne(e,t){var i;if(vq(t))return null!==(i=t.exec(e))&&0===i.index;if(N6(t))return t(e,0,[],{});if(GU(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}function cne(t){return void 0===dU([".","\\","[","]","|","^","$","(",")","?","*","+","{"],e=>-1!==t.source.indexOf(e))}function hne(e){var t=e.ignoreCase?"i":"";return new RegExp(`^(?:${e.source})`,t)}function une(e){var t=e.ignoreCase?"iy":"y";return new RegExp(""+e.source,t)}function dne(e,t,i){let r=[];return GU(e,Sne)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Sne+`> property in its definition See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`,s.push({message:t,type:Xne.UNREACHABLE_PATTERN,tokenTypes:[n,i]}))})}),s}function lne(e,t){var i;if(vq(t))return null!==(i=t.exec(e))&&0===i.index;if(N6(t))return t(e,0,[],{});if(GH(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}function cne(t){return void 0===dH([".","\\","[","]","|","^","$","(",")","?","*","+","{"],e=>-1!==t.source.indexOf(e))}function hne(e){var t=e.ignoreCase?"i":"";return new RegExp(`^(?:${e.source})`,t)}function une(e){var t=e.ignoreCase?"iy":"y";return new RegExp(""+e.source,t)}function dne(e,t,i){let r=[];return GH(e,Sne)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Sne+`> property in its definition
`,type:Xne.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),GU(e,Cne)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Cne+`> property in its definition `,type:Xne.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),GH(e,Cne)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Cne+`> property in its definition
`,type:Xne.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),GU(e,Cne)&&GU(e,Sne)&&!GU(e.modes,e.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Sne}: <${e.defaultMode}>which does not exist `,type:Xne.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),GH(e,Cne)&&GH(e,Sne)&&!GH(e.modes,e.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Sne}: <${e.defaultMode}>which does not exist
`,type:Xne.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),GU(e,Cne)&&b(e.modes,(i,n)=>{b(i,(t,e)=>{Tq(t)?r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${n}> at index: <${e}> `,type:Xne.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),GH(e,Cne)&&b(e.modes,(i,n)=>{b(i,(t,e)=>{Tq(t)?r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${n}> at index: <${e}>
`,type:Xne.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):GU(t,"LONGER_ALT")&&(e=sT(t.LONGER_ALT)?t.LONGER_ALT:[t.LONGER_ALT],b(e,e=>{Tq(e)||sq(i,e)||r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${e.name}> on token <${t.name}> outside of mode <${n}> `,type:Xne.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):GH(t,"LONGER_ALT")&&(e=sT(t.LONGER_ALT)?t.LONGER_ALT:[t.LONGER_ALT],b(e,e=>{Tq(e)||sq(i,e)||r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${e.name}> on token <${t.name}> outside of mode <${n}>
`,type:Xne.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})}))})}),r}function pne(e,t,i){let n=[],r=!1,s=mj(iB(tq(e.modes))),a=iG(s,e=>e[Tne]===Zne.NA),o=vne(i);return t&&b(a,e=>{var t=yne(e,o);!1!==t?(t={message:bne(e,t),type:t.issue,tokenType:e},n.push(t)):GU(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(r=!0):qie(o,e.PATTERN)&&(r=!0)}),t&&!r&&n.push({message:`Warning: No LINE_BREAKS Found. `,type:Xne.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})}))})}),r}function pne(e,t,i){let n=[],r=!1,s=mj(iB(tq(e.modes))),a=iG(s,e=>e[Tne]===Zne.NA),o=vne(i);return t&&b(a,e=>{var t=yne(e,o);!1!==t?(t={message:bne(e,t),type:t.issue,tokenType:e},n.push(t)):GH(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(r=!0):qie(o,e.PATTERN)&&(r=!0)}),t&&!r&&n.push({message:`Warning: No LINE_BREAKS Found.
This Lexer has been defined to track line and column information, This Lexer has been defined to track line and column information,
But none of the Token Types can be identified as matching a line terminator. But none of the Token Types can be identified as matching a line terminator.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
for details.`,type:Xne.NO_LINE_BREAKS_FLAGS}),n}function gne(i){let n={},e=uP(i);return b(e,e=>{var t=i[e];if(!sT(t))throw Error("non exhaustive match");n[e]=[]}),n}function fne(e){e=e.PATTERN;if(vq(e))return!1;if(N6(e))return!0;if(GU(e,"exec"))return!0;if(XU(e))return!1;throw Error("non exhaustive match")}function mne(e){return!(!XU(e)||1!==e.length)&&e.charCodeAt(0)}function yne(e,t){if(GU(e,"LINE_BREAKS"))return!1;if(vq(e.PATTERN)){try{qie(t,e.PATTERN)}catch(e){return{issue:Xne.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if(XU(e.PATTERN))return!1;if(fne(e))return{issue:Xne.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function bne(e,t){if(t.issue===Xne.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. for details.`,type:Xne.NO_LINE_BREAKS_FLAGS}),n}function gne(i){let n={},e=uP(i);return b(e,e=>{var t=i[e];if(!sT(t))throw Error("non exhaustive match");n[e]=[]}),n}function fne(e){e=e.PATTERN;if(vq(e))return!1;if(N6(e))return!0;if(GH(e,"exec"))return!0;if(XH(e))return!1;throw Error("non exhaustive match")}function mne(e){return!(!XH(e)||1!==e.length)&&e.charCodeAt(0)}function yne(e,t){if(GH(e,"LINE_BREAKS"))return!1;if(vq(e.PATTERN)){try{qie(t,e.PATTERN)}catch(e){return{issue:Xne.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if(XH(e.PATTERN))return!1;if(fne(e))return{issue:Xne.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function bne(e,t){if(t.issue===Xne.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
The problem is in the <${e.name}> Token Type The problem is in the <${e.name}> Token Type
Root cause: ${t.errMsg}. Root cause: ${t.errMsg}.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===Xne.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===Xne.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
The problem is in the <${e.name}> Token Type The problem is in the <${e.name}> Token Type
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function vne(e){return v(e,e=>XU(e)?e.charCodeAt(0):e)}function xne(e,t,i){void 0===e[t]?e[t]=[i]:e[t].push(i)}function wne(e){return e<Lne?e:Rne[e]}function kne(){if(gq(Rne)){Rne=new Array(65536);for(let e=0;e<65536;e++)Rne[e]=255<e?255+~~(e/255):e}}var Tne,Sne,Cne,_ne,Ane,Ene,$ne,Lne,Rne,Mne=e(()=>{"use strict";Pee(),ere(),zG(),Yte(),Yie(),Pie(),Tne="PATTERN",Sne="defaultMode",Cne="modes",_ne="boolean"==typeof new RegExp("(?:)").sticky,mt(Xie,"analyzeTokenTypes"),mt(Kie,"validatePatterns"),mt(Zie,"validateRegExpPattern"),mt(Qie,"findMissingPatterns"),mt(Jie,"findInvalidPatterns"),Ane=/[^\\][$]/,mt(ene,"findEndOfInputAnchor"),mt(tne,"findEmptyMatchRegExps"),Ene=/[^\\[][\^]|^\^/,mt(ine,"findStartOfInputAnchor"),mt(nne,"findUnsupportedFlags"),mt(rne,"findDuplicatePatterns"),mt(sne,"findInvalidGroupType"),mt(ane,"findModesThatDoNotExist"),mt(one,"findUnreachablePatterns"),mt(lne,"testTokenType"),mt(cne,"noMetaChar"),mt(hne,"addStartOfInput"),mt(une,"addStickyFlag"),mt(dne,"performRuntimeChecks"),mt(pne,"performWarningRuntimeChecks"),mt(gne,"cloneEmptyGroups"),mt(fne,"isCustomPattern"),mt(mne,"isShortPattern"),$ne={test:mt(function(t){var i=t.length;for(let e=this.lastIndex;e<i;e++){var n=t.charCodeAt(e);if(10===n)return this.lastIndex=e+1,!0;if(13===n)return 10===t.charCodeAt(e+1)?this.lastIndex=e+2:this.lastIndex=e+1,!0}return!1},"test"),lastIndex:0},mt(yne,"checkLineBreaksIssues"),mt(bne,"buildLineBreakIssueMessage"),mt(vne,"getCharCodes"),mt(xne,"addToMapOfArrays"),Lne=256,Rne=[],mt(wne,"charCodeToOptimizedIndex"),mt(kne,"initCharCodeToOptimizedIndexMap")});function Ine(e,t){e=e.tokenTypeIdx;return e===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[e]}function Nne(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}function Dne(e){e=One(e);Pne(e),Fne(e),Bne(e),b(e,e=>{e.isParent=0<e.categoryMatches.length})}function One(e){let t=hj(e),i=e,n=!0;for(;n;){i=mj(iB(v(i,e=>e.CATEGORIES)));var r=_H(i,t);t=t.concat(r),gq(r)?n=!1:i=r}return t}function Pne(e){b(e,e=>{zne(e)||((Vne[Gne]=e).tokenTypeIdx=Gne++),Hne(e)&&!sT(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Hne(e)||(e.CATEGORIES=[]),Une(e)||(e.categoryMatches=[]),qne(e)||(e.categoryMatchesMap={})})}function Bne(e){b(e,i=>{i.categoryMatches=[],b(i.categoryMatchesMap,(e,t)=>{i.categoryMatches.push(Vne[t].tokenTypeIdx)})})}function Fne(e){b(e,e=>{jne([],e)})}function jne(i,n){b(i,e=>{n.categoryMatchesMap[e.tokenTypeIdx]=!0}),b(n.CATEGORIES,e=>{var t=i.concat(n);sq(t,e)||jne(t,e)})}function zne(e){return GU(e,"tokenTypeIdx")}function Hne(e){return GU(e,"CATEGORIES")}function Une(e){return GU(e,"categoryMatches")}function qne(e){return GU(e,"categoryMatchesMap")}function Wne(e){return GU(e,"tokenTypeIdx")}var Gne,Vne,Yne,Xne,Kne,Zne,Qne=e(()=>{"use strict";zG(),mt(Ine,"tokenStructuredMatcher"),mt(Nne,"tokenStructuredMatcherNoCategories"),Gne=1,Vne={},mt(Dne,"augmentTokenTypes"),mt(One,"expandCategories"),mt(Pne,"assignTokenDefaultProps"),mt(Bne,"assignCategoriesTokensProp"),mt(Fne,"assignCategoriesMapProp"),mt(jne,"singleAssignCategoriesToksMap"),mt(zne,"hasShortKeyProperty"),mt(Hne,"hasCategoriesProperty"),mt(Une,"hasExtendingTokensTypesProperty"),mt(qne,"hasExtendingTokensTypesMapProperty"),mt(Wne,"isTokenType")}),Jne=e(()=>{"use strict";Yne={buildUnableToPopLexerModeMessage(e){return`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(e,t,i,n,r){return`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${i} characters.`}}}),ere=e(()=>{"use strict";var e;Mne(),zG(),Yte(),Qne(),Jne(),Pie(),(e=Xne=Xne||{})[e.MISSING_PATTERN=0]="MISSING_PATTERN",e[e.INVALID_PATTERN=1]="INVALID_PATTERN",e[e.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",e[e.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",e[e.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",e[e.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",e[e.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",e[e.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",e[e.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",e[e.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",e[e.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",e[e.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",e[e.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",e[e.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",e[e.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",e[e.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",e[e.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",e[e.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE",Kne={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function vne(e){return v(e,e=>XH(e)?e.charCodeAt(0):e)}function xne(e,t,i){void 0===e[t]?e[t]=[i]:e[t].push(i)}function wne(e){return e<Lne?e:Rne[e]}function kne(){if(gq(Rne)){Rne=new Array(65536);for(let e=0;e<65536;e++)Rne[e]=255<e?255+~~(e/255):e}}var Tne,Sne,Cne,_ne,Ane,Ene,$ne,Lne,Rne,Mne=e(()=>{"use strict";Pee(),ere(),zG(),Yte(),Yie(),Pie(),Tne="PATTERN",Sne="defaultMode",Cne="modes",_ne="boolean"==typeof new RegExp("(?:)").sticky,mt(Xie,"analyzeTokenTypes"),mt(Kie,"validatePatterns"),mt(Zie,"validateRegExpPattern"),mt(Qie,"findMissingPatterns"),mt(Jie,"findInvalidPatterns"),Ane=/[^\\][$]/,mt(ene,"findEndOfInputAnchor"),mt(tne,"findEmptyMatchRegExps"),Ene=/[^\\[][\^]|^\^/,mt(ine,"findStartOfInputAnchor"),mt(nne,"findUnsupportedFlags"),mt(rne,"findDuplicatePatterns"),mt(sne,"findInvalidGroupType"),mt(ane,"findModesThatDoNotExist"),mt(one,"findUnreachablePatterns"),mt(lne,"testTokenType"),mt(cne,"noMetaChar"),mt(hne,"addStartOfInput"),mt(une,"addStickyFlag"),mt(dne,"performRuntimeChecks"),mt(pne,"performWarningRuntimeChecks"),mt(gne,"cloneEmptyGroups"),mt(fne,"isCustomPattern"),mt(mne,"isShortPattern"),$ne={test:mt(function(t){var i=t.length;for(let e=this.lastIndex;e<i;e++){var n=t.charCodeAt(e);if(10===n)return this.lastIndex=e+1,!0;if(13===n)return 10===t.charCodeAt(e+1)?this.lastIndex=e+2:this.lastIndex=e+1,!0}return!1},"test"),lastIndex:0},mt(yne,"checkLineBreaksIssues"),mt(bne,"buildLineBreakIssueMessage"),mt(vne,"getCharCodes"),mt(xne,"addToMapOfArrays"),Lne=256,Rne=[],mt(wne,"charCodeToOptimizedIndex"),mt(kne,"initCharCodeToOptimizedIndexMap")});function Ine(e,t){e=e.tokenTypeIdx;return e===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[e]}function Nne(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}function Dne(e){e=One(e);Pne(e),Fne(e),Bne(e),b(e,e=>{e.isParent=0<e.categoryMatches.length})}function One(e){let t=hj(e),i=e,n=!0;for(;n;){i=mj(iB(v(i,e=>e.CATEGORIES)));var r=_U(i,t);t=t.concat(r),gq(r)?n=!1:i=r}return t}function Pne(e){b(e,e=>{zne(e)||((Vne[Gne]=e).tokenTypeIdx=Gne++),Une(e)&&!sT(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Une(e)||(e.CATEGORIES=[]),Hne(e)||(e.categoryMatches=[]),qne(e)||(e.categoryMatchesMap={})})}function Bne(e){b(e,i=>{i.categoryMatches=[],b(i.categoryMatchesMap,(e,t)=>{i.categoryMatches.push(Vne[t].tokenTypeIdx)})})}function Fne(e){b(e,e=>{jne([],e)})}function jne(i,n){b(i,e=>{n.categoryMatchesMap[e.tokenTypeIdx]=!0}),b(n.CATEGORIES,e=>{var t=i.concat(n);sq(t,e)||jne(t,e)})}function zne(e){return GH(e,"tokenTypeIdx")}function Une(e){return GH(e,"CATEGORIES")}function Hne(e){return GH(e,"categoryMatches")}function qne(e){return GH(e,"categoryMatchesMap")}function Wne(e){return GH(e,"tokenTypeIdx")}var Gne,Vne,Yne,Xne,Kne,Zne,Qne=e(()=>{"use strict";zG(),mt(Ine,"tokenStructuredMatcher"),mt(Nne,"tokenStructuredMatcherNoCategories"),Gne=1,Vne={},mt(Dne,"augmentTokenTypes"),mt(One,"expandCategories"),mt(Pne,"assignTokenDefaultProps"),mt(Bne,"assignCategoriesTokensProp"),mt(Fne,"assignCategoriesMapProp"),mt(jne,"singleAssignCategoriesToksMap"),mt(zne,"hasShortKeyProperty"),mt(Une,"hasCategoriesProperty"),mt(Hne,"hasExtendingTokensTypesProperty"),mt(qne,"hasExtendingTokensTypesMapProperty"),mt(Wne,"isTokenType")}),Jne=e(()=>{"use strict";Yne={buildUnableToPopLexerModeMessage(e){return`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(e,t,i,n,r){return`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${i} characters.`}}}),ere=e(()=>{"use strict";var e;Mne(),zG(),Yte(),Qne(),Jne(),Pie(),(e=Xne=Xne||{})[e.MISSING_PATTERN=0]="MISSING_PATTERN",e[e.INVALID_PATTERN=1]="INVALID_PATTERN",e[e.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",e[e.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",e[e.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",e[e.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",e[e.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",e[e.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",e[e.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",e[e.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",e[e.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",e[e.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",e[e.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",e[e.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",e[e.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",e[e.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",e[e.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",e[e.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE",Kne={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Yne,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0},Object.freeze(Kne),(Zne=class{static{mt(this,"Lexer")}constructor(r,s=Kne){if(this.lexerDefinition=r,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{var i,n,r,s;return!0===this.traceInitPerf?(this.traceInitIndent++,i=new Array(this.traceInitIndent+1).join("\t"),{time:n,value:r}=(this.traceInitIndent<this.traceInitMaxIdent&&console.log(i+`--> <${e}>`),qte(t)),s=10<n?console.warn:console.log,this.traceInitIndent<this.traceInitMaxIdent&&s(i+`<-- <${e}> time: ${n}ms`),this.traceInitIndent--,r):t()},"boolean"==typeof s)throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Yne,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0},Object.freeze(Kne),(Zne=class{static{mt(this,"Lexer")}constructor(r,s=Kne){if(this.lexerDefinition=r,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{var i,n,r,s;return!0===this.traceInitPerf?(this.traceInitIndent++,i=new Array(this.traceInitIndent+1).join("\t"),{time:n,value:r}=(this.traceInitIndent<this.traceInitMaxIdent&&console.log(i+`--> <${e}>`),qte(t)),s=10<n?console.warn:console.log,this.traceInitIndent<this.traceInitMaxIdent&&s(i+`<-- <${e}> time: ${n}ms`),this.traceInitIndent--,r):t()},"boolean"==typeof s)throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
a boolean 2nd argument is no longer supported`);this.config=gP({},Kne,s);var e=this.config.traceInitPerf;!0===e?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof e&&(this.traceInitMaxIdent=e,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,e=!0,n=(this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Kne.lineTerminatorsPattern)this.config.lineTerminatorsPattern=$ne;else if(this.config.lineTerminatorCharacters===Kne.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config. a boolean 2nd argument is no longer supported`);this.config=gP({},Kne,s);var e=this.config.traceInitPerf;!0===e?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof e&&(this.traceInitMaxIdent=e,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,e=!0,n=(this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Kne.lineTerminatorsPattern)this.config.lineTerminatorsPattern=$ne;else if(this.config.lineTerminatorCharacters===Kne.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(s.safeMode&&s.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),i=sT(r)?{modes:{defaultMode:hj(r)},defaultMode:Sne}:(e=!1,hj(r))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(dne(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(pne(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes||{},b(i.modes,(e,t)=>{i.modes[t]=iG(e,e=>Tq(e))}),uP(i.modes));var t;if(b(i.modes,(t,i)=>{this.TRACE_INIT(`Mode: <${i}> processing`,()=>{if(this.modes.push(i),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Kie(t,n))}),gq(this.lexerDefinitionErrors)){Dne(t);let e;this.TRACE_INIT("analyzeTokenTypes",()=>{e=Xie(t,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:s.positionTracking,ensureOptimizations:s.ensureOptimizations,safeMode:s.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[i]=e.patternIdxToConfig,this.charCodeToPatternIdxToConfig[i]=e.charCodeToPatternIdxToConfig,this.emptyGroups=gP({},this.emptyGroups,e.emptyGroups),this.hasCustom=e.hasCustom||this.hasCustom,this.canModeBeOptimized[i]=e.canBeOptimized}})}),this.defaultMode=i.defaultMode,!gq(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw t=v(this.lexerDefinitionErrors,e=>e.message).join(`----------------------- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(s.safeMode&&s.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),i=sT(r)?{modes:{defaultMode:hj(r)},defaultMode:Sne}:(e=!1,hj(r))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(dne(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(pne(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes||{},b(i.modes,(e,t)=>{i.modes[t]=iG(e,e=>Tq(e))}),uP(i.modes));var t;if(b(i.modes,(t,i)=>{this.TRACE_INIT(`Mode: <${i}> processing`,()=>{if(this.modes.push(i),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Kie(t,n))}),gq(this.lexerDefinitionErrors)){Dne(t);let e;this.TRACE_INIT("analyzeTokenTypes",()=>{e=Xie(t,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:s.positionTracking,ensureOptimizations:s.ensureOptimizations,safeMode:s.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[i]=e.patternIdxToConfig,this.charCodeToPatternIdxToConfig[i]=e.charCodeToPatternIdxToConfig,this.emptyGroups=gP({},this.emptyGroups,e.emptyGroups),this.hasCustom=e.hasCustom||this.hasCustom,this.canModeBeOptimized[i]=e.canBeOptimized}})}),this.defaultMode=i.defaultMode,!gq(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw t=v(this.lexerDefinitionErrors,e=>e.message).join(`-----------------------
`),new Error(`Errors detected in definition of Lexer: `),new Error(`Errors detected in definition of Lexer:
`+t);b(this.lexerDefinitionWarning,e=>{Hte(e.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(_ne?(this.chopInput=BS,this.match=this.matchWithTest):(this.updateLastIndex=OO,this.match=this.matchWithExec),e&&(this.handleModes=OO),!1===this.trackStartLines&&(this.computeNewColumn=BS),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=OO),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else{if(!/onlyOffset/i.test(this.config.positionTracking))throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.createTokenInstance=this.createOffsetOnlyToken}this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{var e=JW(this.canModeBeOptimized,(e,t,i)=>(!1===t&&e.push(i),e),[]);if(s.ensureOptimizations&&!gq(e))throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized. `+t);b(this.lexerDefinitionWarning,e=>{Ute(e.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(_ne?(this.chopInput=BS,this.match=this.matchWithTest):(this.updateLastIndex=OO,this.match=this.matchWithExec),e&&(this.handleModes=OO),!1===this.trackStartLines&&(this.computeNewColumn=BS),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=OO),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else{if(!/onlyOffset/i.test(this.config.positionTracking))throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.createTokenInstance=this.createOffsetOnlyToken}this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{var e=JW(this.canModeBeOptimized,(e,t,i)=>(!1===t&&e.push(i),e),[]);if(s.ensureOptimizations&&!gq(e))throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized.
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Nie()}),this.TRACE_INIT("toFastProperties",()=>{Gte(this)})})}tokenize(e,t=this.defaultMode){if(gq(this.lexerDefinitionErrors))return this.tokenizeInternal(e,t);throw e=v(this.lexerDefinitionErrors,e=>e.message).join(`----------------------- Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Nie()}),this.TRACE_INIT("toFastProperties",()=>{Gte(this)})})}tokenize(e,t=this.defaultMode){if(gq(this.lexerDefinitionErrors))return this.tokenizeInternal(e,t);throw e=v(this.lexerDefinitionErrors,e=>e.message).join(`-----------------------
`),new Error(`Unable to Tokenize because Errors detected in definition of Lexer: `),new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
`+e)}tokenizeInternal(r,O){let e,s,t,i,n,a,o,l,c,h,P,u,d,B,p,g=r,F=g.length,f=0,m=0,j=this.hasCustom?0:Math.floor(r.length/10),y=new Array(j),b=[],v=this.trackStartLines?1:void 0,x=this.trackStartLines?1:void 0,w=gne(this.emptyGroups),z=this.trackStartLines,k=this.config.lineTerminatorsPattern,T=0,S=[],C=[],_=[],H=[];Object.freeze(H);let A;function E(){return S}function $(e){e=wne(e),e=C[e];return void 0===e?H:e}mt(E,"getPossiblePatternsSlow"),mt($,"getPossiblePatternsOptimized");var U=mt(e=>{var t;1===_.length&&void 0===e.tokenType.PUSH_MODE?(t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e),b.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})):(_.pop(),e=LH(_),S=this.patternIdxToConfig[e],C=this.charCodeToPatternIdxToConfig[e],T=S.length,t=this.canModeBeOptimized[e]&&!1===this.config.safeMode,A=C&&t?$:E)},"pop_mode");function L(e){_.push(e),C=this.charCodeToPatternIdxToConfig[e],S=this.patternIdxToConfig[e],T=S.length,T=S.length;e=this.canModeBeOptimized[e]&&!1===this.config.safeMode;A=C&&e?$:E}mt(L,"push_mode"),L.call(this,O);let R,q=this.config.recoveryEnabled;for(;f<F;){a=null;var W=g.charCodeAt(f),G=A(W),V=G.length;for(e=0;e<V;e++){var M=(R=G[e]).pattern,Y=(o=null,R.short);if(!1!==Y?W===Y&&(a=M):!0===R.isCustom?null!==(p=M.exec(g,f,y,w))?(a=p[0],void 0!==p.payload&&(o=p.payload)):a=null:(this.updateLastIndex(M,f),a=this.match(M,r,f)),null!==a){if(void 0!==(n=R.longerAlt)){var X=n.length;for(t=0;t<X;t++){var I=S[n[t]],N=I.pattern;if(!(l=null)===I.isCustom?null!==(p=N.exec(g,f,y,w))?(i=p[0],void 0!==p.payload&&(l=p.payload)):i=null:(this.updateLastIndex(N,f),i=this.match(N,r,f)),i&&i.length>a.length){a=i,o=l,R=I;break}}}break}}if(null!==a){if(c=a.length,void 0!==(h=R.group)&&(P=R.tokenTypeIdx,u=this.createTokenInstance(a,f,P,R.tokenType,v,x,c),this.handlePayload(u,o),!1===h?m=this.addToken(y,m,u):w[h].push(u)),r=this.chopInput(r,c),f+=c,x=this.computeNewColumn(x,c),!0===z&&!0===R.canLineTerminator){let e=0,t,i;for(k.lastIndex=0;!0===(t=k.test(a))&&(i=k.lastIndex-1,e++),!0===t;);0!==e&&(v+=e,x=c-i,this.updateTokenEndLineColumnLocation(u,h,i,e,v,x,c))}this.handleModes(R,U,L,u)}else{let e=f,t=v,i=x,n=!1===q;for(;!1===n&&f<F;)for(r=this.chopInput(r,1),f++,s=0;s<T;s++){var D=S[s],K=D.pattern,Z=D.short;if(!1!==Z?g.charCodeAt(f)===Z&&(n=!0):n=!0===D.isCustom?null!==K.exec(g,f,y,w):(this.updateLastIndex(K,f),null!==K.exec(r)),!0===n)break}if(d=f-e,x=this.computeNewColumn(x,d),B=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(g,e,d,t,i),b.push({offset:e,line:t,column:i,length:d,message:B}),!1===q)break}}return this.hasCustom||(y.length=m),{tokens:y,groups:w,errors:b}}handleModes(e,t,i,n){var r;!0===e.pop?(r=e.push,t(n),void 0!==r&&i.call(this,r)):void 0!==e.push&&i.call(this,e.push)}chopInput(e,t){return e.substring(t)}updateLastIndex(e,t){e.lastIndex=t}updateTokenEndLineColumnLocation(e,t,i,n,r,s,a){void 0!==t&&(i=(t=i===a-1)?-1:0,1===n&&!0==t||(e.endLine=r+i,e.endColumn=s-1-i))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,i,n){return{image:e,startOffset:t,tokenTypeIdx:i,tokenType:n}}createStartOnlyToken(e,t,i,n,r,s){return{image:e,startOffset:t,startLine:r,startColumn:s,tokenTypeIdx:i,tokenType:n}}createFullToken(e,t,i,n,r,s,a){return{image:e,startOffset:t,endOffset:t+a-1,startLine:r,endLine:r,startColumn:s,endColumn:s+a-1,tokenTypeIdx:i,tokenType:n}}addTokenUsingPush(e,t,i){return e.push(i),t}addTokenUsingMemberAccess(e,t,i){return e[t]=i,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){null!==t&&(e.payload=t)}matchWithTest(e,t,i){return!0===e.test(t)?t.substring(i,e.lastIndex):null}matchWithExec(e,t){e=e.exec(t);return null!==e?e[0]:null}}).SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",Zne.NA=/NOT_APPLICABLE/});function tre(e){return ire(e)?e.LABEL:e.name}function ire(e){return XU(e.LABEL)&&""!==e.LABEL}function nre(e){return rre(e)}function rre(e){var t=e.pattern,i={};if(i.name=e.name,Tq(t)||(i.PATTERN=t),GU(e,ore))throw`The parent property is no longer supported. `+e)}tokenizeInternal(r,O){let e,s,t,i,n,a,o,l,c,h,P,u,d,B,p,g=r,F=g.length,f=0,m=0,j=this.hasCustom?0:Math.floor(r.length/10),y=new Array(j),b=[],v=this.trackStartLines?1:void 0,x=this.trackStartLines?1:void 0,w=gne(this.emptyGroups),z=this.trackStartLines,k=this.config.lineTerminatorsPattern,T=0,S=[],C=[],_=[],U=[];Object.freeze(U);let A;function E(){return S}function $(e){e=wne(e),e=C[e];return void 0===e?U:e}mt(E,"getPossiblePatternsSlow"),mt($,"getPossiblePatternsOptimized");var H=mt(e=>{var t;1===_.length&&void 0===e.tokenType.PUSH_MODE?(t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e),b.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})):(_.pop(),e=LU(_),S=this.patternIdxToConfig[e],C=this.charCodeToPatternIdxToConfig[e],T=S.length,t=this.canModeBeOptimized[e]&&!1===this.config.safeMode,A=C&&t?$:E)},"pop_mode");function L(e){_.push(e),C=this.charCodeToPatternIdxToConfig[e],S=this.patternIdxToConfig[e],T=S.length,T=S.length;e=this.canModeBeOptimized[e]&&!1===this.config.safeMode;A=C&&e?$:E}mt(L,"push_mode"),L.call(this,O);let R,q=this.config.recoveryEnabled;for(;f<F;){a=null;var W=g.charCodeAt(f),G=A(W),V=G.length;for(e=0;e<V;e++){var M=(R=G[e]).pattern,Y=(o=null,R.short);if(!1!==Y?W===Y&&(a=M):!0===R.isCustom?null!==(p=M.exec(g,f,y,w))?(a=p[0],void 0!==p.payload&&(o=p.payload)):a=null:(this.updateLastIndex(M,f),a=this.match(M,r,f)),null!==a){if(void 0!==(n=R.longerAlt)){var X=n.length;for(t=0;t<X;t++){var I=S[n[t]],N=I.pattern;if(!(l=null)===I.isCustom?null!==(p=N.exec(g,f,y,w))?(i=p[0],void 0!==p.payload&&(l=p.payload)):i=null:(this.updateLastIndex(N,f),i=this.match(N,r,f)),i&&i.length>a.length){a=i,o=l,R=I;break}}}break}}if(null!==a){if(c=a.length,void 0!==(h=R.group)&&(P=R.tokenTypeIdx,u=this.createTokenInstance(a,f,P,R.tokenType,v,x,c),this.handlePayload(u,o),!1===h?m=this.addToken(y,m,u):w[h].push(u)),r=this.chopInput(r,c),f+=c,x=this.computeNewColumn(x,c),!0===z&&!0===R.canLineTerminator){let e=0,t,i;for(k.lastIndex=0;!0===(t=k.test(a))&&(i=k.lastIndex-1,e++),!0===t;);0!==e&&(v+=e,x=c-i,this.updateTokenEndLineColumnLocation(u,h,i,e,v,x,c))}this.handleModes(R,H,L,u)}else{let e=f,t=v,i=x,n=!1===q;for(;!1===n&&f<F;)for(r=this.chopInput(r,1),f++,s=0;s<T;s++){var D=S[s],K=D.pattern,Z=D.short;if(!1!==Z?g.charCodeAt(f)===Z&&(n=!0):n=!0===D.isCustom?null!==K.exec(g,f,y,w):(this.updateLastIndex(K,f),null!==K.exec(r)),!0===n)break}if(d=f-e,x=this.computeNewColumn(x,d),B=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(g,e,d,t,i),b.push({offset:e,line:t,column:i,length:d,message:B}),!1===q)break}}return this.hasCustom||(y.length=m),{tokens:y,groups:w,errors:b}}handleModes(e,t,i,n){var r;!0===e.pop?(r=e.push,t(n),void 0!==r&&i.call(this,r)):void 0!==e.push&&i.call(this,e.push)}chopInput(e,t){return e.substring(t)}updateLastIndex(e,t){e.lastIndex=t}updateTokenEndLineColumnLocation(e,t,i,n,r,s,a){void 0!==t&&(i=(t=i===a-1)?-1:0,1===n&&!0==t||(e.endLine=r+i,e.endColumn=s-1-i))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,i,n){return{image:e,startOffset:t,tokenTypeIdx:i,tokenType:n}}createStartOnlyToken(e,t,i,n,r,s){return{image:e,startOffset:t,startLine:r,startColumn:s,tokenTypeIdx:i,tokenType:n}}createFullToken(e,t,i,n,r,s,a){return{image:e,startOffset:t,endOffset:t+a-1,startLine:r,endLine:r,startColumn:s,endColumn:s+a-1,tokenTypeIdx:i,tokenType:n}}addTokenUsingPush(e,t,i){return e.push(i),t}addTokenUsingMemberAccess(e,t,i){return e[t]=i,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){null!==t&&(e.payload=t)}matchWithTest(e,t,i){return!0===e.test(t)?t.substring(i,e.lastIndex):null}matchWithExec(e,t){e=e.exec(t);return null!==e?e[0]:null}}).SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",Zne.NA=/NOT_APPLICABLE/});function tre(e){return ire(e)?e.LABEL:e.name}function ire(e){return XH(e.LABEL)&&""!==e.LABEL}function nre(e){return rre(e)}function rre(e){var t=e.pattern,i={};if(i.name=e.name,Tq(t)||(i.PATTERN=t),GH(e,ore))throw`The parent property is no longer supported.
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return GU(e,lre)&&(i.CATEGORIES=e[lre]),Dne([i]),GU(e,cre)&&(i.LABEL=e[cre]),GU(e,hre)&&(i.GROUP=e[hre]),GU(e,dre)&&(i.POP_MODE=e[dre]),GU(e,ure)&&(i.PUSH_MODE=e[ure]),GU(e,pre)&&(i.LONGER_ALT=e[pre]),GU(e,gre)&&(i.LINE_BREAKS=e[gre]),GU(e,fre)&&(i.START_CHARS_HINT=e[fre]),i}function sre(e,t,i,n,r,s,a,o){return{image:t,startOffset:i,endOffset:n,startLine:r,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function are(e,t){return Ine(e,t)}var ore,lre,cre,hre,ure,dre,pre,gre,fre,mre,yre,bre,vre,xre=e(()=>{"use strict";zG(),ere(),Qne(),mt(tre,"tokenLabel"),mt(ire,"hasTokenLabel"),ore="parent",lre="categories",cre="label",hre="group",ure="push_mode",dre="pop_mode",pre="longer_alt",gre="line_breaks",fre="start_chars_hint",mt(nre,"createToken"),mt(rre,"createTokenInternal"),Dne([mre=nre({name:"EOF",pattern:Zne.NA})]),mt(sre,"createTokenInstance"),mt(are,"tokenMatcher")}),wre=e(()=>{"use strict";xre(),zG(),bie(),yre={buildMismatchTokenMessage({expected:e,actual:t}){return`Expecting ${ire(e)?`--> ${tre(e)} <--`:`token of type --> ${e.name} <--`} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:e}){return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,customUserDescription:i}){var n="Expecting: ",t=` See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return GH(e,lre)&&(i.CATEGORIES=e[lre]),Dne([i]),GH(e,cre)&&(i.LABEL=e[cre]),GH(e,hre)&&(i.GROUP=e[hre]),GH(e,dre)&&(i.POP_MODE=e[dre]),GH(e,ure)&&(i.PUSH_MODE=e[ure]),GH(e,pre)&&(i.LONGER_ALT=e[pre]),GH(e,gre)&&(i.LINE_BREAKS=e[gre]),GH(e,fre)&&(i.START_CHARS_HINT=e[fre]),i}function sre(e,t,i,n,r,s,a,o){return{image:t,startOffset:i,endOffset:n,startLine:r,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function are(e,t){return Ine(e,t)}var ore,lre,cre,hre,ure,dre,pre,gre,fre,mre,yre,bre,vre,xre=e(()=>{"use strict";zG(),ere(),Qne(),mt(tre,"tokenLabel"),mt(ire,"hasTokenLabel"),ore="parent",lre="categories",cre="label",hre="group",ure="push_mode",dre="pop_mode",pre="longer_alt",gre="line_breaks",fre="start_chars_hint",mt(nre,"createToken"),mt(rre,"createTokenInternal"),Dne([mre=nre({name:"EOF",pattern:Zne.NA})]),mt(sre,"createTokenInstance"),mt(are,"tokenMatcher")}),wre=e(()=>{"use strict";xre(),zG(),bie(),yre={buildMismatchTokenMessage({expected:e,actual:t}){return`Expecting ${ire(e)?`--> ${tre(e)} <--`:`token of type --> ${e.name} <--`} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:e}){return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,customUserDescription:i}){var n="Expecting: ",t=`
but found: '`+mU(t).image+"'";return i?n+i+t:(i=JW(e,(e,t)=>e.concat(t),[]),e=v(i,e=>`[${v(e,e=>tre(e)).join(", ")}]`),n+(`one of these possible Token sequences: but found: '`+mH(t).image+"'";return i?n+i+t:(i=JW(e,(e,t)=>e.concat(t),[]),e=v(i,e=>`[${v(e,e=>tre(e)).join(", ")}]`),n+(`one of these possible Token sequences:
`+v(e,(e,t)=>` ${t+1}. `+e).join(` `+v(e,(e,t)=>` ${t+1}. `+e).join(`
`))+t)},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:i}){var n="Expecting: ",t=` `))+t)},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:i}){var n="Expecting: ",t=`
but found: '`+mU(t).image+"'";return i?n+i+t:n+`expecting at least one iteration which starts with one of these possible Token sequences:: but found: '`+mH(t).image+"'";return i?n+i+t:n+`expecting at least one iteration which starts with one of these possible Token sequences::
<${v(e,e=>`[${v(e,e=>tre(e)).join(",")}]`).join(" ,")}>`+t}},Object.freeze(yre),bre={buildRuleNotFoundError(e,t){return"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+`<- <${v(e,e=>`[${v(e,e=>tre(e)).join(",")}]`).join(" ,")}>`+t}},Object.freeze(yre),bre={buildRuleNotFoundError(e,t){return"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+`<-
inside top level rule: ->`+e.name+"<-"}},vre={buildDuplicateFoundError(e,t){function i(e){return e instanceof cie?e.terminalType.name:e instanceof eie?e.nonTerminalName:""}mt(i,"getExtraProductionArgument");let n=e.name,r=mU(t),s=r.idx,a=mie(r),o=i(r),l=0<s,c=`->${a}${l?s:""}<- ${o?`with argument: ->${o}<-`:""} inside top level rule: ->`+e.name+"<-"}},vre={buildDuplicateFoundError(e,t){function i(e){return e instanceof cie?e.terminalType.name:e instanceof eie?e.nonTerminalName:""}mt(i,"getExtraProductionArgument");let n=e.name,r=mH(t),s=r.idx,a=mie(r),o=i(r),l=0<s,c=`->${a}${l?s:""}<- ${o?`with argument: ->${o}<-`:""}
appears more than once (${t.length} times) in the top level rule: ->${n}<-. appears more than once (${t.length} times) in the top level rule: ->${n}<-.
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
`;return c=(c=c.replace(/[ \t]+/g," ")).replace(/\s\s+/g,` `;return c=(c=c.replace(/[ \t]+/g," ")).replace(/\s\s+/g,`
@@ -791,49 +791,49 @@ rule: <${t}> can be invoked from itself (directly or indirectly)
without consuming any Tokens. The grammar path that causes this is: without consuming any Tokens. The grammar path that causes this is:
${t+" --\x3e "+v(e.leftRecursionPath,e=>e.name).concat([t]).join(" --\x3e ")} ${t+" --\x3e "+v(e.leftRecursionPath,e=>e.name).concat([t]).join(" --\x3e ")}
To fix this refactor your grammar to remove the left recursion. To fix this refactor your grammar to remove the left recursion.
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(e){return"deprecated"},buildDuplicateRuleNameError(e){let t;return`Duplicate definition, rule: ->${t=e.topLevelRule instanceof tie?e.topLevelRule.name:e.topLevelRule}<- is already defined in the grammar: ->${e.grammarName}<-`}}});function kre(e,t){e=new Tre(e,t);return e.resolveRefs(),e.errors}var Tre,Sre=e(()=>{"use strict";Wae(),zG(),bie(),mt(kre,"resolveGrammar"),Tre=class extends hie{static{mt(this,"GastRefResolverVisitor")}constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){b(tq(this.nameToTopRule),e=>{(this.currTopLevel=e).accept(this)})}visitNonTerminal(e){var t=this.nameToTopRule[e.nonTerminalName];t?e.referencedRule=t:(t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e),this.errors.push({message:t,type:Hae.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName}))}}});function Cre(t,i,n=[]){n=hj(n);let r=[],s=0;function a(e){return e.concat(IH(t,s+1))}function o(e){e=Cre(a(e),i,n);return r.concat(e)}for(mt(a,"remainingPathWith"),mt(o,"getAlternativesForProd");n.length<i&&s<t.length;){var e=t[s];if(e instanceof iie)return o(e.definition);if(e instanceof eie)return o(e.definition);if(e instanceof nie)r=o(e.definition);else{if(e instanceof rie)return o(e.definition.concat([new aie({definition:e.definition})]));if(e instanceof sie)return o([new iie({definition:e.definition}),new aie({definition:[new cie({terminalType:e.separator})].concat(e.definition)})]);if(e instanceof oie){var l=e.definition.concat([new aie({definition:[new cie({terminalType:e.separator})].concat(e.definition)})]);r=o(l)}else if(e instanceof aie){l=e.definition.concat([new aie({definition:e.definition})]);r=o(l)}else{if(e instanceof lie)return b(e.definition,e=>{!1===gq(e.definition)&&(r=o(e.definition))}),r;if(!(e instanceof cie))throw Error("non exhaustive match");n.push(e.terminalType)}}s++}return r.push({partialPath:n,suffixDef:IH(t,s)}),r}function _re(e,t,i,n){let r="EXIT_NONE_TERMINAL",s=[r],a="EXIT_ALTERNATIVE",o=!1,l=t.length,c=l-n-1,h=[],u=[];for(u.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!gq(u);){var d=u.pop();if(d===a)o&&LH(u).idx<=c&&u.pop();else{var p=d.def,g=d.idx,f=d.ruleStack,m=d.occurrenceStack;if(!gq(p)){var y=p[0];if(y===r){d={idx:g,def:IH(p),ruleStack:OH(f),occurrenceStack:OH(m)};u.push(d)}else if(y instanceof cie)if(g<l-1){var d=g+1;i(t[d],y.terminalType)&&(d={idx:d,def:IH(p),ruleStack:f,occurrenceStack:m},u.push(d))}else{if(g!==l-1)throw Error("non exhaustive match");h.push({nextTokenType:y.terminalType,nextTokenOccurrence:y.idx,ruleStack:f,occurrenceStack:m}),o=!0}else if(y instanceof eie){var d=hj(f),b=(d.push(y.nonTerminalName),hj(m)),d=(b.push(y.idx),{idx:g,def:y.definition.concat(s,IH(p)),ruleStack:d,occurrenceStack:b});u.push(d)}else if(y instanceof nie){b={idx:g,def:IH(p),ruleStack:f,occurrenceStack:m},d=(u.push(b),u.push(a),{idx:g,def:y.definition.concat(IH(p)),ruleStack:f,occurrenceStack:m});u.push(d)}else if(y instanceof rie){d=new aie({definition:y.definition,idx:y.idx}),d=y.definition.concat([d],IH(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof sie){d=new cie({terminalType:y.separator}),d=new aie({definition:[d].concat(y.definition),idx:y.idx}),d=y.definition.concat([d],IH(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof oie){d={idx:g,def:IH(p),ruleStack:f,occurrenceStack:m},d=(u.push(d),u.push(a),new cie({terminalType:y.separator})),d=new aie({definition:[d].concat(y.definition),idx:y.idx}),d=y.definition.concat([d],IH(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof aie){d={idx:g,def:IH(p),ruleStack:f,occurrenceStack:m},d=(u.push(d),u.push(a),new aie({definition:y.definition,idx:y.idx})),d=y.definition.concat([d],IH(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof lie)for(let e=y.definition.length-1;0<=e;e--){var v={idx:g,def:y.definition[e].definition.concat(IH(p)),ruleStack:f,occurrenceStack:m};u.push(v),u.push(a)}else if(y instanceof iie)u.push({idx:g,def:y.definition.concat(IH(p)),ruleStack:f,occurrenceStack:m});else{if(!(y instanceof tie))throw Error("non exhaustive match");u.push(Are(y,g,f,m))}}}}return h}function Are(e,t,i,n){i=hj(i),i.push(e.name),n=hj(n);return n.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:n}}var Ere,$re,Lre,Rre,Mre,Ire,Nre=e(()=>{"use strict";zG(),Aie(),wie(),bie(),$re=class extends xie{static{mt(this,"AbstractNextPossibleTokensWalker")}constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=hj(this.path.ruleStack).reverse(),this.occurrenceStack=hj(this.path.occurrenceStack). Line truncated see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(e){return"deprecated"},buildDuplicateRuleNameError(e){let t;return`Duplicate definition, rule: ->${t=e.topLevelRule instanceof tie?e.topLevelRule.name:e.topLevelRule}<- is already defined in the grammar: ->${e.grammarName}<-`}}});function kre(e,t){e=new Tre(e,t);return e.resolveRefs(),e.errors}var Tre,Sre=e(()=>{"use strict";Wae(),zG(),bie(),mt(kre,"resolveGrammar"),Tre=class extends hie{static{mt(this,"GastRefResolverVisitor")}constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){b(tq(this.nameToTopRule),e=>{(this.currTopLevel=e).accept(this)})}visitNonTerminal(e){var t=this.nameToTopRule[e.nonTerminalName];t?e.referencedRule=t:(t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e),this.errors.push({message:t,type:Uae.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName}))}}});function Cre(t,i,n=[]){n=hj(n);let r=[],s=0;function a(e){return e.concat(IU(t,s+1))}function o(e){e=Cre(a(e),i,n);return r.concat(e)}for(mt(a,"remainingPathWith"),mt(o,"getAlternativesForProd");n.length<i&&s<t.length;){var e=t[s];if(e instanceof iie)return o(e.definition);if(e instanceof eie)return o(e.definition);if(e instanceof nie)r=o(e.definition);else{if(e instanceof rie)return o(e.definition.concat([new aie({definition:e.definition})]));if(e instanceof sie)return o([new iie({definition:e.definition}),new aie({definition:[new cie({terminalType:e.separator})].concat(e.definition)})]);if(e instanceof oie){var l=e.definition.concat([new aie({definition:[new cie({terminalType:e.separator})].concat(e.definition)})]);r=o(l)}else if(e instanceof aie){l=e.definition.concat([new aie({definition:e.definition})]);r=o(l)}else{if(e instanceof lie)return b(e.definition,e=>{!1===gq(e.definition)&&(r=o(e.definition))}),r;if(!(e instanceof cie))throw Error("non exhaustive match");n.push(e.terminalType)}}s++}return r.push({partialPath:n,suffixDef:IU(t,s)}),r}function _re(e,t,i,n){let r="EXIT_NONE_TERMINAL",s=[r],a="EXIT_ALTERNATIVE",o=!1,l=t.length,c=l-n-1,h=[],u=[];for(u.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!gq(u);){var d=u.pop();if(d===a)o&&LU(u).idx<=c&&u.pop();else{var p=d.def,g=d.idx,f=d.ruleStack,m=d.occurrenceStack;if(!gq(p)){var y=p[0];if(y===r){d={idx:g,def:IU(p),ruleStack:OU(f),occurrenceStack:OU(m)};u.push(d)}else if(y instanceof cie)if(g<l-1){var d=g+1;i(t[d],y.terminalType)&&(d={idx:d,def:IU(p),ruleStack:f,occurrenceStack:m},u.push(d))}else{if(g!==l-1)throw Error("non exhaustive match");h.push({nextTokenType:y.terminalType,nextTokenOccurrence:y.idx,ruleStack:f,occurrenceStack:m}),o=!0}else if(y instanceof eie){var d=hj(f),b=(d.push(y.nonTerminalName),hj(m)),d=(b.push(y.idx),{idx:g,def:y.definition.concat(s,IU(p)),ruleStack:d,occurrenceStack:b});u.push(d)}else if(y instanceof nie){b={idx:g,def:IU(p),ruleStack:f,occurrenceStack:m},d=(u.push(b),u.push(a),{idx:g,def:y.definition.concat(IU(p)),ruleStack:f,occurrenceStack:m});u.push(d)}else if(y instanceof rie){d=new aie({definition:y.definition,idx:y.idx}),d=y.definition.concat([d],IU(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof sie){d=new cie({terminalType:y.separator}),d=new aie({definition:[d].concat(y.definition),idx:y.idx}),d=y.definition.concat([d],IU(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof oie){d={idx:g,def:IU(p),ruleStack:f,occurrenceStack:m},d=(u.push(d),u.push(a),new cie({terminalType:y.separator})),d=new aie({definition:[d].concat(y.definition),idx:y.idx}),d=y.definition.concat([d],IU(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof aie){d={idx:g,def:IU(p),ruleStack:f,occurrenceStack:m},d=(u.push(d),u.push(a),new aie({definition:y.definition,idx:y.idx})),d=y.definition.concat([d],IU(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof lie)for(let e=y.definition.length-1;0<=e;e--){var v={idx:g,def:y.definition[e].definition.concat(IU(p)),ruleStack:f,occurrenceStack:m};u.push(v),u.push(a)}else if(y instanceof iie)u.push({idx:g,def:y.definition.concat(IU(p)),ruleStack:f,occurrenceStack:m});else{if(!(y instanceof tie))throw Error("non exhaustive match");u.push(Are(y,g,f,m))}}}}return h}function Are(e,t,i,n){i=hj(i),i.push(e.name),n=hj(n);return n.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:n}}var Ere,$re,Lre,Rre,Mre,Ire,Nre=e(()=>{"use strict";zG(),Aie(),wie(),bie(),$re=class extends xie{static{mt(this,"AbstractNextPossibleTokensWalker")}constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=hj(this.path.ruleStack).reverse(),this.occurrenceStack=hj(this.path.occurrenceStack). Line truncated
`+e.join(` `+e.join(`
`).replace(/\n/g,` `).replace(/\n/g,`
`))},"validateVisitor")});return i.prototype=e,(i.prototype.constructor=i)._RULE_NAMES=t,i}function aae(e,t,i){var n=mt(function(){},"derivedConstructor");tae(n,e+"BaseSemanticsWithDefaults");let r=Object.create(i.prototype);return b(t,e=>{r[e]=rae}),n.prototype=r,n.prototype.constructor=n}function oae(e,t){return lae(e,t)}function lae(t,e){e=nU(e,e=>!1===N6(t[e])),e=v(e,e=>({msg:`Missing visitor method: <${e}> on ${t.constructor.name} CST Visitor.`,type:cae.MISSING_METHOD,methodName:e}));return mj(e)}var cae,hae,uae,dae,pae,gae,fae,mae=e(()=>{"use strict";var e;zG(),nae(),mt(rae,"defaultVisit"),mt(sae,"createBaseSemanticVisitorConstructor"),mt(aae,"createBaseVisitorConstructorWithDefaults"),(e=cae=cae||{})[e.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",e[e.MISSING_METHOD=1]="MISSING_METHOD",mt(oae,"validateVisitor"),mt(lae,"validateMissingCstMethods")}),yae=e(()=>{"use strict";eae(),zG(),mae(),Wae(),hae=class{static{mt(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(GU(e,"nodeLocationTracking")?e:jae).nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Zse,this.setNodeLocationFromNode=Zse,this.cstPostRule=OO,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=OO,this.setNodeLocationFromNode=OO,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Kse,this.setNodeLocationFromNode=Kse,this.cstPostRule=OO,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=OO,this.setNodeLocationFromNode=OO,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else{if(!/none/i.test(this.nodeLocationTracking))throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`);this.setNodeLocationFromToken=OO,this.setNodeLocationFromNode=OO,this.cstPostRule=OO,this.setInitialNodeLocation=OO}else this.cstInvocationStateUpdate=OO,this.cstFinallyStateUpdate=OO,this.cstPostTerminal=OO,this.cstPostNonTerminal=OO,this.cstPostRule=OO}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){e={name:e,children:Object.create(null)};this.setInitialNodeLocation(e),this.CST_STACK.push(e)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){var t=this.LA(0),e=e.location;e.startOffset<=t.startOffset?(e.endOffset=t.endOffset,e.endLine=t.endLine,e.endColumn=t.endColumn):(e.startOffset=NaN,e.startLine=NaN,e.startColumn=NaN)}cstPostRuleOnlyOffset(e){var t=this.LA(0),e=e.location;e.startOffset<=t.startOffset?e.endOffset=t.endOffset:e.startOffset=NaN}cstPostTerminal(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];Qse(i,t,e),this.setNodeLocationFromToken(i.location,t)}cstPostNonTerminal(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];Jse(i,t,e),this.setNodeLocationFromNode(i.location,e.location)}getBaseCstVisitorConstructor(){var e;return Tq(this.baseCstVisitorConstructor)?(e=sae(this.className,uP(this.gastProductionsCache)),this.baseCstVisitorConstructor=e):this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){var e;return Tq(this.baseCstVisitorWithDefaultsConstructor)?(e=aae(this.className,uP(this.gastProductionsCache),this.getBaseCstVisitorConstructor()),this.baseCstVisitorWithDefaultsConstructor=e):this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){var e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){var e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}}),bae=e(()=>{"use strict";Wae(),uae=class{static{mt(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Fae}LA(e){e=this.currIdx+e;return e<0||this.tokVectorLength<=e?Fae:this.tokVector[e]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx= Line truncated `))},"validateVisitor")});return i.prototype=e,(i.prototype.constructor=i)._RULE_NAMES=t,i}function aae(e,t,i){var n=mt(function(){},"derivedConstructor");tae(n,e+"BaseSemanticsWithDefaults");let r=Object.create(i.prototype);return b(t,e=>{r[e]=rae}),n.prototype=r,n.prototype.constructor=n}function oae(e,t){return lae(e,t)}function lae(t,e){e=nH(e,e=>!1===N6(t[e])),e=v(e,e=>({msg:`Missing visitor method: <${e}> on ${t.constructor.name} CST Visitor.`,type:cae.MISSING_METHOD,methodName:e}));return mj(e)}var cae,hae,uae,dae,pae,gae,fae,mae=e(()=>{"use strict";var e;zG(),nae(),mt(rae,"defaultVisit"),mt(sae,"createBaseSemanticVisitorConstructor"),mt(aae,"createBaseVisitorConstructorWithDefaults"),(e=cae=cae||{})[e.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",e[e.MISSING_METHOD=1]="MISSING_METHOD",mt(oae,"validateVisitor"),mt(lae,"validateMissingCstMethods")}),yae=e(()=>{"use strict";eae(),zG(),mae(),Wae(),hae=class{static{mt(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(GH(e,"nodeLocationTracking")?e:jae).nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Zse,this.setNodeLocationFromNode=Zse,this.cstPostRule=OO,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=OO,this.setNodeLocationFromNode=OO,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Kse,this.setNodeLocationFromNode=Kse,this.cstPostRule=OO,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=OO,this.setNodeLocationFromNode=OO,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else{if(!/none/i.test(this.nodeLocationTracking))throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`);this.setNodeLocationFromToken=OO,this.setNodeLocationFromNode=OO,this.cstPostRule=OO,this.setInitialNodeLocation=OO}else this.cstInvocationStateUpdate=OO,this.cstFinallyStateUpdate=OO,this.cstPostTerminal=OO,this.cstPostNonTerminal=OO,this.cstPostRule=OO}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){e={name:e,children:Object.create(null)};this.setInitialNodeLocation(e),this.CST_STACK.push(e)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){var t=this.LA(0),e=e.location;e.startOffset<=t.startOffset?(e.endOffset=t.endOffset,e.endLine=t.endLine,e.endColumn=t.endColumn):(e.startOffset=NaN,e.startLine=NaN,e.startColumn=NaN)}cstPostRuleOnlyOffset(e){var t=this.LA(0),e=e.location;e.startOffset<=t.startOffset?e.endOffset=t.endOffset:e.startOffset=NaN}cstPostTerminal(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];Qse(i,t,e),this.setNodeLocationFromToken(i.location,t)}cstPostNonTerminal(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];Jse(i,t,e),this.setNodeLocationFromNode(i.location,e.location)}getBaseCstVisitorConstructor(){var e;return Tq(this.baseCstVisitorConstructor)?(e=sae(this.className,uP(this.gastProductionsCache)),this.baseCstVisitorConstructor=e):this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){var e;return Tq(this.baseCstVisitorWithDefaultsConstructor)?(e=aae(this.className,uP(this.gastProductionsCache),this.getBaseCstVisitorConstructor()),this.baseCstVisitorWithDefaultsConstructor=e):this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){var e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){var e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}}),bae=e(()=>{"use strict";Wae(),uae=class{static{mt(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Fae}LA(e){e=this.currIdx+e;return e<0||this.tokVectorLength<=e?Fae:this.tokVector[e]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx= Line truncated
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
For Further details.`);if(sT(e)){if(gq(e))throw Error(`A Token Vocabulary cannot be empty. For Further details.`);if(sT(e)){if(gq(e))throw Error(`A Token Vocabulary cannot be empty.
Note that the first argument for the parser constructor Note that the first argument for the parser constructor
is no longer a Token vector (since v4.0).`);if("number"==typeof e[0].startOffset)throw Error(`The Parser constructor no longer accepts a token vector as the first argument. is no longer a Token vector (since v4.0).`);if("number"==typeof e[0].startOffset)throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
For Further details.`)}if(sT(e))this.tokensMap=JW(e,(e,t)=>(e[t.name]=t,e),{});else if(GU(e,"modes")&&ZH(iB(tq(e.modes)),Wne)){t=iB(tq(e.modes)),t=_G(t);this.tokensMap=JW(t,(e,t)=>(e[t.name]=t,e),{})}else{if(!R6(e))throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap=hj(e)}this.tokensMap.EOF=mre;t=GU(e,"modes")?iB(tq(e.modes)):tq(e),e=ZH(t,e=>gq(e.categoryMatches));this.tokenMatcher=e?Nne:Ine,Dne(tq(this.tokensMap))}defineRule(i,n,e){if(this.selfAnalysisDone)throw Error(`Grammar rule <${i}> may not be defined after the 'performSelfAnalysis' method has been called' For Further details.`)}if(sT(e))this.tokensMap=JW(e,(e,t)=>(e[t.name]=t,e),{});else if(GH(e,"modes")&&ZU(iB(tq(e.modes)),Wne)){t=iB(tq(e.modes)),t=_G(t);this.tokensMap=JW(t,(e,t)=>(e[t.name]=t,e),{})}else{if(!R6(e))throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap=hj(e)}this.tokensMap.EOF=mre;t=GH(e,"modes")?iB(tq(e.modes)):tq(e),e=ZU(t,e=>gq(e.categoryMatches));this.tokenMatcher=e?Nne:Ine,Dne(tq(this.tokensMap))}defineRule(i,n,e){if(this.selfAnalysisDone)throw Error(`Grammar rule <${i}> may not be defined after the 'performSelfAnalysis' method has been called'
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let r=(GU(e,"resyncEnabled")?e:zae).resyncEnabled,s=(GU(e,"recoveryValueFunc")?e:zae).recoveryValueFunc,a=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=i,this.fullRuleNameToShort[i]=a;let t;return t=!0===this.outputCst?mt(function(...e){try{this.ruleInvocationStateUpdate(a,i,this.subruleIdx),n.apply(this,e);var t=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(t),t}catch(e){return this.invokeRuleCatch(e,r,s)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):mt(function(...e){try{return this.ruleInvocationStateUpdate(a,i,this.subruleIdx),n.apply(this,e)}catch(e){return this.invokeRuleCatch(e,r,s)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(t,{ruleName:i,originalGrammarAction:n})}invokeRuleCatch(e,t,i){var n=1===this.RULE_STACK.length,t=t&&!this.isBackTracking()&&this.recoveryEnabled;if(Tse(e)){var r=e;if(t){var t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t))return r.resyncedTokens=this.reSyncTo(t),this.outputCst?((t=this.CST_STACK[this.CST_STACK.length-1]).recoveredNode=!0,t):i(e);this.outputCst&&((t=this.CST_STACK[this.CST_STACK.length-1]).recoveredNode=!0,r.partialCstResult=t)}else if(n)return this.moveToTerminatedState(),i(e);throw r}throw e}optionInternal(e,t){var i=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,i)}optionInternalLogic(e,t,i){let n=this.getLaFuncFromCache(i),r;if("function"!=typeof e){r=e.DEF;let t=e.GATE;if(void 0!==t){let e=n;n=mt(()=>t.call(this)&&e.call(this),"lookAheadFunc")}}else r=e;if(!0===n.call(this))return r.call(this)}atLeastOneInternal(e,t){var i=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,i)}atLeastOneInternalLogic(e,i,t){let n=this.getLaFuncFromCache(t),r;if("function"!=typeof i){r=i.DEF;let t=i.GATE;if(void 0!==t){let e=n;n=mt(()=>t.call(this)&&e.call(this),"lookAheadFunc")}}else r=i;if(!0!==n.call(this))throw this.raiseEarlyExitException(e,Kre.REPETITION_MANDATORY,i.ERR_MSG);{let e=this.doSingleRepetition(r);for(;!0===n.call(this)&&!0===e;)e=this.doSingleRepetition(r)}this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,i],n,1024,e,Mre)}atLeastOneSepFirstInternal(e,t){var i=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,i)}atLeastOneSepFirstInternalLogic(e,t,i){let n=t.DEF,r=t.SEP;if(!0!==this.getLaFuncFromCache(i).call(this))throw this.raiseEarlyExitException(e,Kre.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG);n.call(this);for(i=mt(()=>this.tokenMatcher(this.LA(1),r),"separatorLookAheadFunc");!0===this.tokenMatcher(this.LA(1),r);)this.CONSUME(r),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,i,n,Ire],i,1536,e,Ire)}manyInternal(e,t){var i=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,i)}manyInternalLogic(e,i,t){let n=this.getLaFuncFromCache(t),r;if("function"!=typeof i){r=i.DEF;let t=i.GATE;if(void 0!==t){let e=n;n=mt(()=>t.call(this)&&e.call(this),"lookaheadFunction")}}else r=i;let s=!0;for(;!0===n.call(this)&&!0===s;)s=this.doSingleRepetition(r);this.attemptInRepetitionRecovery(this.manyInternal,[e,i],n,768,e,Lre,s)}manySepFirstInternal(e,t){var i=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,i)}manySepFirstInternalLogic(e,t,i){let n=t.DEF,r=t.SEP;if(!0===this.getLaFuncFromCache(i).call(this)){n.call(this);for(t=mt(()=>this.tokenMatcher(this.LA(1),r),"separatorLookAheadFunc");!0===this.tokenMatcher(this.LA(1),r);)this.CONSUME(r),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,t,n,Rre],t,1280,e,Rre)}}repetitionSepSecondInternal(e,t,i,n,r){for(;i();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,i,n,r],i,1536,e,r)}doSingleRepetition(e){var t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){var i=this.getKeyForAutomaticLookahead(256,t),n=sT(e)?e:e.DEF,i=this.getLaFuncFromCache(i).call(this,n);if(void 0!==i)return n[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){var e,t;this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()&&(e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Mse(t,e)))}subruleInternal(t,e,i){var n;try{var r=void 0!==i?i.ARGS:void 0;return this.subruleIdx=e,n=t.apply(this,r),this.cstPostNonTerminal(n,void 0!==i&&void 0!==i.LABEL?i.LABEL:t.ruleName),n}catch(e){throw this.subruleInternalError(e,i,t.ruleName)}}subruleInternalError(e,t,i){throw Tse(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:i),delete e.partialCstResult),e}consumeInternal(t,i,e){let n;try{ Line truncated Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let r=(GH(e,"resyncEnabled")?e:zae).resyncEnabled,s=(GH(e,"recoveryValueFunc")?e:zae).recoveryValueFunc,a=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=i,this.fullRuleNameToShort[i]=a;let t;return t=!0===this.outputCst?mt(function(...e){try{this.ruleInvocationStateUpdate(a,i,this.subruleIdx),n.apply(this,e);var t=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(t),t}catch(e){return this.invokeRuleCatch(e,r,s)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):mt(function(...e){try{return this.ruleInvocationStateUpdate(a,i,this.subruleIdx),n.apply(this,e)}catch(e){return this.invokeRuleCatch(e,r,s)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(t,{ruleName:i,originalGrammarAction:n})}invokeRuleCatch(e,t,i){var n=1===this.RULE_STACK.length,t=t&&!this.isBackTracking()&&this.recoveryEnabled;if(Tse(e)){var r=e;if(t){var t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t))return r.resyncedTokens=this.reSyncTo(t),this.outputCst?((t=this.CST_STACK[this.CST_STACK.length-1]).recoveredNode=!0,t):i(e);this.outputCst&&((t=this.CST_STACK[this.CST_STACK.length-1]).recoveredNode=!0,r.partialCstResult=t)}else if(n)return this.moveToTerminatedState(),i(e);throw r}throw e}optionInternal(e,t){var i=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,i)}optionInternalLogic(e,t,i){let n=this.getLaFuncFromCache(i),r;if("function"!=typeof e){r=e.DEF;let t=e.GATE;if(void 0!==t){let e=n;n=mt(()=>t.call(this)&&e.call(this),"lookAheadFunc")}}else r=e;if(!0===n.call(this))return r.call(this)}atLeastOneInternal(e,t){var i=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,i)}atLeastOneInternalLogic(e,i,t){let n=this.getLaFuncFromCache(t),r;if("function"!=typeof i){r=i.DEF;let t=i.GATE;if(void 0!==t){let e=n;n=mt(()=>t.call(this)&&e.call(this),"lookAheadFunc")}}else r=i;if(!0!==n.call(this))throw this.raiseEarlyExitException(e,Kre.REPETITION_MANDATORY,i.ERR_MSG);{let e=this.doSingleRepetition(r);for(;!0===n.call(this)&&!0===e;)e=this.doSingleRepetition(r)}this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,i],n,1024,e,Mre)}atLeastOneSepFirstInternal(e,t){var i=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,i)}atLeastOneSepFirstInternalLogic(e,t,i){let n=t.DEF,r=t.SEP;if(!0!==this.getLaFuncFromCache(i).call(this))throw this.raiseEarlyExitException(e,Kre.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG);n.call(this);for(i=mt(()=>this.tokenMatcher(this.LA(1),r),"separatorLookAheadFunc");!0===this.tokenMatcher(this.LA(1),r);)this.CONSUME(r),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,i,n,Ire],i,1536,e,Ire)}manyInternal(e,t){var i=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,i)}manyInternalLogic(e,i,t){let n=this.getLaFuncFromCache(t),r;if("function"!=typeof i){r=i.DEF;let t=i.GATE;if(void 0!==t){let e=n;n=mt(()=>t.call(this)&&e.call(this),"lookaheadFunction")}}else r=i;let s=!0;for(;!0===n.call(this)&&!0===s;)s=this.doSingleRepetition(r);this.attemptInRepetitionRecovery(this.manyInternal,[e,i],n,768,e,Lre,s)}manySepFirstInternal(e,t){var i=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,i)}manySepFirstInternalLogic(e,t,i){let n=t.DEF,r=t.SEP;if(!0===this.getLaFuncFromCache(i).call(this)){n.call(this);for(t=mt(()=>this.tokenMatcher(this.LA(1),r),"separatorLookAheadFunc");!0===this.tokenMatcher(this.LA(1),r);)this.CONSUME(r),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,t,n,Rre],t,1280,e,Rre)}}repetitionSepSecondInternal(e,t,i,n,r){for(;i();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,i,n,r],i,1536,e,r)}doSingleRepetition(e){var t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){var i=this.getKeyForAutomaticLookahead(256,t),n=sT(e)?e:e.DEF,i=this.getLaFuncFromCache(i).call(this,n);if(void 0!==i)return n[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){var e,t;this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()&&(e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Mse(t,e)))}subruleInternal(t,e,i){var n;try{var r=void 0!==i?i.ARGS:void 0;return this.subruleIdx=e,n=t.apply(this,r),this.cstPostNonTerminal(n,void 0!==i&&void 0!==i.LABEL?i.LABEL:t.ruleName),n}catch(e){throw this.subruleInternalError(e,i,t.ruleName)}}subruleInternalError(e,t,i){throw Tse(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:i),delete e.partialCstResult),e}consumeInternal(t,i,e){let n;try{ Line truncated
Idx value must be a none negative value smaller than `+(Eae+1))).KNOWN_RECORDER_ERROR=!0,e}var Aae,Eae,$ae,Lae,Rae,Mae,Iae,Nae=e(()=>{"use strict";zG(),bie(),ere(),Qne(),xre(),Wae(),Use(),Aae={description:"This Object indicates the Parser is during Recording Phase"},Object.freeze(Aae),Eae=Math.pow(2,8)-1,Dne([$ae=nre({name:"RECORDING_PHASE_TOKEN",pattern:Zne.NA})]),Lae=sre($ae,`This IToken indicates the Parser is in Recording Phase Idx value must be a none negative value smaller than `+(Eae+1))).KNOWN_RECORDER_ERROR=!0,e}var Aae,Eae,$ae,Lae,Rae,Mae,Iae,Nae=e(()=>{"use strict";zG(),bie(),ere(),Qne(),xre(),Wae(),Hse(),Aae={description:"This Object indicates the Parser is during Recording Phase"},Object.freeze(Aae),Eae=Math.pow(2,8)-1,Dne([$ae=nre({name:"RECORDING_PHASE_TOKEN",pattern:Zne.NA})]),Lae=sre($ae,`This IToken indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1),Object.freeze(Lae),Rae={name:`This CSTNode indicates the Parser is in Recording Phase See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1),Object.freeze(Lae),Rae={name:`This CSTNode indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Mae=class{static{mt(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let i=0;i<10;i++){var e=0<i?i:"";this["CONSUME"+e]=function(e,t){return this.consumeInternalRecord(e,i,t)},this["SUBRULE"+e]=function(e,t){return this.subruleInternalRecord(e,i,t)},this["OPTION"+e]=function(e){return this.optionInternalRecord(e,i)},this["OR"+e]=function(e){return this.orInternalRecord(e,i)},this["MANY"+e]=function(e){this.manyInternalRecord(i,e)},this["MANY_SEP"+e]=function(e){this.manySepFirstInternalRecord(i,e)},this["AT_LEAST_ONE"+e]=function(e){this.atLeastOneInternalRecord(i,e)},this["AT_LEAST_ONE_SEP"+e]=function(e){this.atLeastOneSepFirstInternalRecord(i,e)}}this.consume=function(e,t,i){return this.consumeInternalRecord(t,e,i)},this.subrule=function(e,t,i){return this.subruleInternalRecord(t,e,i)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{var t=this;for(let e=0;e<10;e++){var i=0<e?e:"";delete t["CONSUME"+i],delete t["SUBRULE"+i],delete t["OPTION"+i],delete t["OR"+i],delete t["MANY"+i],delete t["MANY_SEP"+i],delete t["AT_LEAST_ONE"+i],delete t["AT_LEAST_ONE_SEP"+i]}delete t.consume,delete t.subrule,delete t.option,delete t.or,delete t.many,delete t.atLeastOne,delete t.ACTION,delete t.BACKTRACK,delete t.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return Fae}topLevelRuleRecord(e,t){try{var i=new tie({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+` See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Mae=class{static{mt(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let i=0;i<10;i++){var e=0<i?i:"";this["CONSUME"+e]=function(e,t){return this.consumeInternalRecord(e,i,t)},this["SUBRULE"+e]=function(e,t){return this.subruleInternalRecord(e,i,t)},this["OPTION"+e]=function(e){return this.optionInternalRecord(e,i)},this["OR"+e]=function(e){return this.orInternalRecord(e,i)},this["MANY"+e]=function(e){this.manyInternalRecord(i,e)},this["MANY_SEP"+e]=function(e){this.manySepFirstInternalRecord(i,e)},this["AT_LEAST_ONE"+e]=function(e){this.atLeastOneInternalRecord(i,e)},this["AT_LEAST_ONE_SEP"+e]=function(e){this.atLeastOneSepFirstInternalRecord(i,e)}}this.consume=function(e,t,i){return this.consumeInternalRecord(t,e,i)},this.subrule=function(e,t,i){return this.subruleInternalRecord(t,e,i)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{var t=this;for(let e=0;e<10;e++){var i=0<e?e:"";delete t["CONSUME"+i],delete t["SUBRULE"+i],delete t["OPTION"+i],delete t["OR"+i],delete t["MANY"+i],delete t["MANY_SEP"+i],delete t["AT_LEAST_ONE"+i],delete t["AT_LEAST_ONE_SEP"+i]}delete t.consume,delete t.subrule,delete t.option,delete t.or,delete t.many,delete t.atLeastOne,delete t.ACTION,delete t.BACKTRACK,delete t.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return Fae}topLevelRuleRecord(e,t){try{var i=new tie({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+`
This error was thrown during the "grammar recording phase" For more info see: This error was thrown during the "grammar recording phase" For more info see:
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{}throw e}}optionInternalRecord(e,t){return Tae.call(this,nie,e,t)}atLeastOneInternalRecord(e,t){Tae.call(this,rie,t,e)}atLeastOneSepFirstInternalRecord(e,t){Tae.call(this,sie,t,e,!0)}manyInternalRecord(e,t){Tae.call(this,aie,t,e)}manySepFirstInternalRecord(e,t){Tae.call(this,oie,t,e,!0)}orInternalRecord(e,t){return Sae.call(this,e,t)}subruleInternalRecord(e,t,i){var n,r;if(_ae(t),e&&!1!==GU(e,"ruleName"))return n=LH(this.recordingProdStack),r=e.ruleName,r=new eie({idx:t,nonTerminalName:r,label:i?.LABEL,referencedRule:void 0}),n.definition.push(r),this.outputCst?Rae:Aae;throw(i=new Error(`<SUBRULE${Cae(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{}throw e}}optionInternalRecord(e,t){return Tae.call(this,nie,e,t)}atLeastOneInternalRecord(e,t){Tae.call(this,rie,t,e)}atLeastOneSepFirstInternalRecord(e,t){Tae.call(this,sie,t,e,!0)}manyInternalRecord(e,t){Tae.call(this,aie,t,e)}manySepFirstInternalRecord(e,t){Tae.call(this,oie,t,e,!0)}orInternalRecord(e,t){return Sae.call(this,e,t)}subruleInternalRecord(e,t,i){var n,r;if(_ae(t),e&&!1!==GH(e,"ruleName"))return n=LU(this.recordingProdStack),r=e.ruleName,r=new eie({idx:t,nonTerminalName:r,label:i?.LABEL,referencedRule:void 0}),n.definition.push(r),this.outputCst?Rae:Aae;throw(i=new Error(`<SUBRULE${Cae(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
inside top level rule: <${this.recordingProdStack[0].name}>`)).KNOWN_RECORDER_ERROR=!0,i}consumeInternalRecord(e,t,i){var n;if(_ae(t),zne(e))return n=LH(this.recordingProdStack),i=new cie({idx:t,terminalType:e,label:i?.LABEL}),n.definition.push(i),Lae;throw(n=new Error(`<CONSUME${Cae(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> inside top level rule: <${this.recordingProdStack[0].name}>`)).KNOWN_RECORDER_ERROR=!0,i}consumeInternalRecord(e,t,i){var n;if(_ae(t),zne(e))return n=LU(this.recordingProdStack),i=new cie({idx:t,terminalType:e,label:i?.LABEL}),n.definition.push(i),Lae;throw(n=new Error(`<CONSUME${Cae(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
inside top level rule: <${this.recordingProdStack[0].name}>`)).KNOWN_RECORDER_ERROR=!0,n}},mt(Tae,"recordProd"),mt(Sae,"recordOrProd"),mt(Cae,"getIdxSuffix"),mt(_ae,"assertMethodIdxIsValid")}),Dae=e(()=>{"use strict";zG(),Yte(),Wae(),Iae=class{static{mt(this,"PerformanceTracer")}initPerformanceTracer(e){var t;GU(e,"traceInitPerf")?(e=e.traceInitPerf,this.traceInitMaxIdent=(t="number"==typeof e)?e:1/0,this.traceInitPerf=t?0<e:e):(this.traceInitMaxIdent=0,this.traceInitPerf=jae.traceInitPerf),this.traceInitIndent=-1}TRACE_INIT(e,t){var i,n,r,s;return!0===this.traceInitPerf?(this.traceInitIndent++,i=new Array(this.traceInitIndent+1).join("\t"),{time:n,value:r}=(this.traceInitIndent<this.traceInitMaxIdent&&console.log(i+`--> <${e}>`),qte(t)),s=10<n?console.warn:console.log,this.traceInitIndent<this.traceInitMaxIdent&&s(i+`<-- <${e}> time: ${n}ms`),this.traceInitIndent--,r):t()}}});function Oae(r,e){e.forEach(i=>{let n=i.prototype;Object.getOwnPropertyNames(n).forEach(e=>{var t;"constructor"!==e&&((t=Object.getOwnPropertyDescriptor(n,e))&&(t.get||t.set)?Object.defineProperty(r.prototype,e,t):r.prototype[e]=i.prototype[e])})})}var Pae=e(()=>{"use strict";mt(Oae,"applyMixins")});function Bae(e=void 0){return function(){return e}}var Fae,jae,zae,Hae,Uae,qae,Wae=e(()=>{"use strict";var e;zG(),Yte(),Mie(),xre(),wre(),kse(),jse(),Xse(),yae(),bae(),vae(),xae(),wae(),kae(),Nae(),Dae(),Pae(),vse(),Fae=sre(mre,"",NaN,NaN,NaN,NaN,NaN,NaN),Object.freeze(Fae),jae=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:yre,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),zae=Object.freeze({recoveryValueFunc:mt(()=>{},"recoveryValueFunc"),resyncEnabled:!0}),(e=Hae=Hae||{})[e.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",e[e.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",e[e.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",e[e.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",e[e.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",e[e.LEFT_RECURSION=5]="LEFT_RECURSION",e[e.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",e[e.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",e[e.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",e[e.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",e[e.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",e[e.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",e[e.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",e[e.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION",mt(Bae,"EMPTY_ALT"),(Uae=class t{static{mt(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated.\t\nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{var e;this.selfAnalysisDone=!0;let i=this.className,n=(this.TRACE_INIT("toFastProps",()=>{Gte(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),b(this.definedRulesNames,e=>{let t=this[e].originalGrammarAction,i;this.TRACE_INIT(e+" Rule",()=>{i=this.topLevelRuleRecord(e,t)}),this.gastProductionsCache[e]=i})}finally{this.disableRecording()}}),[]);if(this.TRACE_INIT("Grammar Resolving",()=>{n=xse({rules:tq(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{var e,t;gq(n)&&!1===this.skipValidations&&(e=wse({rules:tq(this.gastProductionsCache),tokenTypes:tq(this.tokensMap),errMsgProvider:vre,grammarName:i}),t=ese({lookaheadStrategy:this.lookaheadStrategy,rules:tq(this.gastProductionsCache),tokenTypes:tq(this.tokensMap),grammarName:i}),this.definitionErrors=this.definitionErrors.concat(e,t))}),gq(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{var e=$ie(tq(this.gastProductionsCache));this.resyncFollows=e}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var e,t;null!=(t=(e=this.lookaheadStrategy).initialize)&&t.call(e,{rules:tq(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(tq(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!gq(this.definitionErrors))throw e=v(this.definitionErrors,e=>e.message),new Error(`Parser Definition Errors detected: inside top level rule: <${this.recordingProdStack[0].name}>`)).KNOWN_RECORDER_ERROR=!0,n}},mt(Tae,"recordProd"),mt(Sae,"recordOrProd"),mt(Cae,"getIdxSuffix"),mt(_ae,"assertMethodIdxIsValid")}),Dae=e(()=>{"use strict";zG(),Yte(),Wae(),Iae=class{static{mt(this,"PerformanceTracer")}initPerformanceTracer(e){var t;GH(e,"traceInitPerf")?(e=e.traceInitPerf,this.traceInitMaxIdent=(t="number"==typeof e)?e:1/0,this.traceInitPerf=t?0<e:e):(this.traceInitMaxIdent=0,this.traceInitPerf=jae.traceInitPerf),this.traceInitIndent=-1}TRACE_INIT(e,t){var i,n,r,s;return!0===this.traceInitPerf?(this.traceInitIndent++,i=new Array(this.traceInitIndent+1).join("\t"),{time:n,value:r}=(this.traceInitIndent<this.traceInitMaxIdent&&console.log(i+`--> <${e}>`),qte(t)),s=10<n?console.warn:console.log,this.traceInitIndent<this.traceInitMaxIdent&&s(i+`<-- <${e}> time: ${n}ms`),this.traceInitIndent--,r):t()}}});function Oae(r,e){e.forEach(i=>{let n=i.prototype;Object.getOwnPropertyNames(n).forEach(e=>{var t;"constructor"!==e&&((t=Object.getOwnPropertyDescriptor(n,e))&&(t.get||t.set)?Object.defineProperty(r.prototype,e,t):r.prototype[e]=i.prototype[e])})})}var Pae=e(()=>{"use strict";mt(Oae,"applyMixins")});function Bae(e=void 0){return function(){return e}}var Fae,jae,zae,Uae,Hae,qae,Wae=e(()=>{"use strict";var e;zG(),Yte(),Mie(),xre(),wre(),kse(),jse(),Xse(),yae(),bae(),vae(),xae(),wae(),kae(),Nae(),Dae(),Pae(),vse(),Fae=sre(mre,"",NaN,NaN,NaN,NaN,NaN,NaN),Object.freeze(Fae),jae=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:yre,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),zae=Object.freeze({recoveryValueFunc:mt(()=>{},"recoveryValueFunc"),resyncEnabled:!0}),(e=Uae=Uae||{})[e.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",e[e.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",e[e.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",e[e.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",e[e.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",e[e.LEFT_RECURSION=5]="LEFT_RECURSION",e[e.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",e[e.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",e[e.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",e[e.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",e[e.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",e[e.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",e[e.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",e[e.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION",mt(Bae,"EMPTY_ALT"),(Hae=class t{static{mt(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated.\t\nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{var e;this.selfAnalysisDone=!0;let i=this.className,n=(this.TRACE_INIT("toFastProps",()=>{Gte(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),b(this.definedRulesNames,e=>{let t=this[e].originalGrammarAction,i;this.TRACE_INIT(e+" Rule",()=>{i=this.topLevelRuleRecord(e,t)}),this.gastProductionsCache[e]=i})}finally{this.disableRecording()}}),[]);if(this.TRACE_INIT("Grammar Resolving",()=>{n=xse({rules:tq(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{var e,t;gq(n)&&!1===this.skipValidations&&(e=wse({rules:tq(this.gastProductionsCache),tokenTypes:tq(this.tokensMap),errMsgProvider:vre,grammarName:i}),t=ese({lookaheadStrategy:this.lookaheadStrategy,rules:tq(this.gastProductionsCache),tokenTypes:tq(this.tokensMap),grammarName:i}),this.definitionErrors=this.definitionErrors.concat(e,t))}),gq(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{var e=$ie(tq(this.gastProductionsCache));this.resyncFollows=e}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var e,t;null!=(t=(e=this.lookaheadStrategy).initialize)&&t.call(e,{rules:tq(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(tq(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!gq(this.definitionErrors))throw e=v(this.definitionErrors,e=>e.message),new Error(`Parser Definition Errors detected:
`+e.join(` `+e.join(`
------------------------------- -------------------------------
`))})}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;if(this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),GU(t,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated. `))})}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;if(this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),GH(t,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead. Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
For further details.`);this.skipValidations=(GU(t,"skipValidations")?t:jae).skipValidations}}).DEFER_DEFINITION_ERRORS_HANDLING=!1,Oae(Uae,[Fse,Gse,hae,uae,pae,dae,gae,fae,Mae,Iae]),qae=class extends Uae{static{mt(this,"EmbeddedActionsParser")}constructor(e,t=jae){t=hj(t);t.outputCst=!1,super(e,t)}}}),Gae=e(()=>{"use strict";bie()}),Vae=e(()=>{}),Yae=e(()=>{"use strict";Gae(),Vae()}),Xae=e(()=>{"use strict";jte()}),Kae=e(()=>{"use strict";jte(),Wae(),ere(),xre(),Jre(),qse(),wre(),Nse(),Jne(),bie(),bie(),Yae(),Xae()});function Zae(e,t,i){return e.name+`_${t}_`+i}function Qae(t){var i={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]},n=(Jae(i,t),t.length);for(let e=0;e<n;e++){var r=t[e],s=ooe(i,r,r);void 0!==s&&yoe(i,r,s)}return i}function Jae(t,i){var n=i.length;for(let e=0;e<n;e++){var r=i[e],s=voe(t,r,void 0,{type:Toe}),a=voe(t,r,void 0,{type:_oe});s.stop=a,t.ruleToStartState.set(r,s),t.ruleToStopState.set(r,a)}}function eoe(e,t,i){return i instanceof cie?foe(e,t,i.terminalType,i):(i instanceof eie?moe:i instanceof lie?soe:i instanceof nie?aoe:i instanceof aie?toe:i instanceof oie?ioe:i instanceof rie?noe:i instanceof sie?roe:ooe)(e,t,i)}function toe(e,t,i){var n=voe(e,t,i,{type:Coe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return coe(e,t,i,n)}function ioe(e,t,i){var n=voe(e,t,i,{type:Coe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return coe(e,t,i,n,foe(e,t,i.separator,i))}function noe(e,t,i){var n=voe(e,t,i,{type:Soe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return loe(e,t,i,n)}function roe(e,t,i){var n=voe(e,t,i,{type:Soe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return loe(e,t,i,n,foe(e,t,i.separator,i))}function soe(t,i,e){var n=voe(t,i,e,{type:koe}),r=(uoe(t,n),v(e.definition,e=>eoe(t,i,e)));return doe(t,i,n,e,...r)}function aoe(e,t,i){var n=voe(e,t,i,{type:koe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return hoe(e,t,i,n)}function ooe(t,i,e){e=nU(v(e.definition,e=>eoe(t,i,e)),e=>void 0!==e);return 1===e.length?e[0]:0===e.length?void 0:goe(t,e)}function loe(e,t,i,n,r){var s=n.left,n=n.right,a=voe(e,t,i,{type:Loe}),o=(uoe(e,a),voe(e,t,i,{type:Roe}));return s.loopback=a,o.loopback=a,boe(n,e.decisionMap[Zae(t,r?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",i.idx)]=a),void 0===r?(boe(a,s),boe(a,o)):(boe(a,o),boe(a,r.left),boe(r.right,s)),{left:s,right:o}}function coe(e,t,i,n,r){var s=n.left,n=n.right,a=voe(e,t,i,{type:$oe}),o=(uoe(e,a),voe(e,t,i,{type:Roe})),l=voe(e,t,i,{type:Eoe});return a.loopback=l,o.loopback=l,boe(a,s),boe(a,o),boe(n,l),void 0!==r?(boe(l,o),boe(l,r.left),boe(r.right,s)):boe(l,a),{left:e.decisionMap[Zae(t,r?"RepetitionWithSeparator":"Repetition",i.idx)]=a,right:o}}function hoe(e,t,i,n){var r=n.left;return boe(r,n.right),e.decisionMap[Zae(t,"Option",i.idx)]=r,n}function uoe(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function doe(e,t,i,n,...r){var s,a=voe(e,t,n,{type:Aoe,start:i});i.end=a;for(s of r)void 0!==s?(boe(i,s.left),boe(s.right,a)):boe(i,a);r={left:i,right:a};return e.decisionMap[Zae(t,poe(n),n.idx)]=i,r}function poe(e){if(e instanceof lie)return"Alternation";if(e instanceof nie)return"Option";if(e instanceof aie)return"Repetition";if(e instanceof oie)return"RepetitionWithSeparator";if(e instanceof rie)return"RepetitionMandatory";if(e instanceof sie)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function goe(n,r){var e=r.length;for(let i=0;i<e-1;i++){let e=r[i],t;var s=(t=1===e.left.transitions.length?e.left.transitions[0]:t)instanceof Doe,a=t,o=r[i+1].left;e.left.type===koe&&e.right.type===koe&&void 0!==t&&(s&&a.followState===e.right||t.target===e.right)?(s?a.followState=o:t.target=o,woe(n,e.right)):boe(e.right,o)}var t=r[0],i=r[e-1];return{left:t.left,right:i.right}}function foe(e,t,i,n){var r=voe(e,t,n,{type:koe}),e=voe(e,t,n,{type:koe});return xoe(r,new Ioe(e,i)),{left:r,right:e}}function moe(e,t,i){var n=i.referencedRule,r=e.ruleToStartState.get(n),s=voe(e,t,i,{type:koe}),e=voe(e,t,i,{type:koe});return xoe(s,new Doe(r,n,e)),{left:s,right:e}}function yoe(e,t,i){var n=e.ruleToStartState.get(t),e=(boe(n,i.left),e.ruleToStopState.get(t));return boe(i.right,e),{left:n,right:e}}function boe(e,t){xoe(e,new Noe(t))}function voe(e,t,i,n){i=Object.assign({atn:e,production:i,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n);return e.states.push(i),i}function xoe(e,t){0===e.transitions.length&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}function woe(e,t){e.states.splice(e.states.indexOf(t),1)}var koe,Toe,Soe,Coe,_oe,Aoe,Eoe,$oe,Loe,Roe,Moe,Ioe,Noe,Doe,Ooe=e(()=>{"use strict";TU(),rU(),Kae(),mt(Zae,"buildATNKey"),koe=1,Toe=2,Soe=4,Coe=5,_oe=7,Aoe=8,Eoe=9,$oe=10,Loe=11,Roe=12,Moe=class{static{mt(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},Ioe=class extends Moe{static{mt(this,"AtomTransition")}constructor(e,t){super(e),this.tokenType=t}},Noe=class extends Line truncated For further details.`);this.skipValidations=(GH(t,"skipValidations")?t:jae).skipValidations}}).DEFER_DEFINITION_ERRORS_HANDLING=!1,Oae(Hae,[Fse,Gse,hae,uae,pae,dae,gae,fae,Mae,Iae]),qae=class extends Hae{static{mt(this,"EmbeddedActionsParser")}constructor(e,t=jae){t=hj(t);t.outputCst=!1,super(e,t)}}}),Gae=e(()=>{"use strict";bie()}),Vae=e(()=>{}),Yae=e(()=>{"use strict";Gae(),Vae()}),Xae=e(()=>{"use strict";jte()}),Kae=e(()=>{"use strict";jte(),Wae(),ere(),xre(),Jre(),qse(),wre(),Nse(),Jne(),bie(),bie(),Yae(),Xae()});function Zae(e,t,i){return e.name+`_${t}_`+i}function Qae(t){var i={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]},n=(Jae(i,t),t.length);for(let e=0;e<n;e++){var r=t[e],s=ooe(i,r,r);void 0!==s&&yoe(i,r,s)}return i}function Jae(t,i){var n=i.length;for(let e=0;e<n;e++){var r=i[e],s=voe(t,r,void 0,{type:Toe}),a=voe(t,r,void 0,{type:_oe});s.stop=a,t.ruleToStartState.set(r,s),t.ruleToStopState.set(r,a)}}function eoe(e,t,i){return i instanceof cie?foe(e,t,i.terminalType,i):(i instanceof eie?moe:i instanceof lie?soe:i instanceof nie?aoe:i instanceof aie?toe:i instanceof oie?ioe:i instanceof rie?noe:i instanceof sie?roe:ooe)(e,t,i)}function toe(e,t,i){var n=voe(e,t,i,{type:Coe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return coe(e,t,i,n)}function ioe(e,t,i){var n=voe(e,t,i,{type:Coe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return coe(e,t,i,n,foe(e,t,i.separator,i))}function noe(e,t,i){var n=voe(e,t,i,{type:Soe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return loe(e,t,i,n)}function roe(e,t,i){var n=voe(e,t,i,{type:Soe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return loe(e,t,i,n,foe(e,t,i.separator,i))}function soe(t,i,e){var n=voe(t,i,e,{type:koe}),r=(uoe(t,n),v(e.definition,e=>eoe(t,i,e)));return doe(t,i,n,e,...r)}function aoe(e,t,i){var n=voe(e,t,i,{type:koe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return hoe(e,t,i,n)}function ooe(t,i,e){e=nH(v(e.definition,e=>eoe(t,i,e)),e=>void 0!==e);return 1===e.length?e[0]:0===e.length?void 0:goe(t,e)}function loe(e,t,i,n,r){var s=n.left,n=n.right,a=voe(e,t,i,{type:Loe}),o=(uoe(e,a),voe(e,t,i,{type:Roe}));return s.loopback=a,o.loopback=a,boe(n,e.decisionMap[Zae(t,r?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",i.idx)]=a),void 0===r?(boe(a,s),boe(a,o)):(boe(a,o),boe(a,r.left),boe(r.right,s)),{left:s,right:o}}function coe(e,t,i,n,r){var s=n.left,n=n.right,a=voe(e,t,i,{type:$oe}),o=(uoe(e,a),voe(e,t,i,{type:Roe})),l=voe(e,t,i,{type:Eoe});return a.loopback=l,o.loopback=l,boe(a,s),boe(a,o),boe(n,l),void 0!==r?(boe(l,o),boe(l,r.left),boe(r.right,s)):boe(l,a),{left:e.decisionMap[Zae(t,r?"RepetitionWithSeparator":"Repetition",i.idx)]=a,right:o}}function hoe(e,t,i,n){var r=n.left;return boe(r,n.right),e.decisionMap[Zae(t,"Option",i.idx)]=r,n}function uoe(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function doe(e,t,i,n,...r){var s,a=voe(e,t,n,{type:Aoe,start:i});i.end=a;for(s of r)void 0!==s?(boe(i,s.left),boe(s.right,a)):boe(i,a);r={left:i,right:a};return e.decisionMap[Zae(t,poe(n),n.idx)]=i,r}function poe(e){if(e instanceof lie)return"Alternation";if(e instanceof nie)return"Option";if(e instanceof aie)return"Repetition";if(e instanceof oie)return"RepetitionWithSeparator";if(e instanceof rie)return"RepetitionMandatory";if(e instanceof sie)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function goe(n,r){var e=r.length;for(let i=0;i<e-1;i++){let e=r[i],t;var s=(t=1===e.left.transitions.length?e.left.transitions[0]:t)instanceof Doe,a=t,o=r[i+1].left;e.left.type===koe&&e.right.type===koe&&void 0!==t&&(s&&a.followState===e.right||t.target===e.right)?(s?a.followState=o:t.target=o,woe(n,e.right)):boe(e.right,o)}var t=r[0],i=r[e-1];return{left:t.left,right:i.right}}function foe(e,t,i,n){var r=voe(e,t,n,{type:koe}),e=voe(e,t,n,{type:koe});return xoe(r,new Ioe(e,i)),{left:r,right:e}}function moe(e,t,i){var n=i.referencedRule,r=e.ruleToStartState.get(n),s=voe(e,t,i,{type:koe}),e=voe(e,t,i,{type:koe});return xoe(s,new Doe(r,n,e)),{left:s,right:e}}function yoe(e,t,i){var n=e.ruleToStartState.get(t),e=(boe(n,i.left),e.ruleToStopState.get(t));return boe(i.right,e),{left:n,right:e}}function boe(e,t){xoe(e,new Noe(t))}function voe(e,t,i,n){i=Object.assign({atn:e,production:i,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n);return e.states.push(i),i}function xoe(e,t){0===e.transitions.length&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}function woe(e,t){e.states.splice(e.states.indexOf(t),1)}var koe,Toe,Soe,Coe,_oe,Aoe,Eoe,$oe,Loe,Roe,Moe,Ioe,Noe,Doe,Ooe=e(()=>{"use strict";TH(),rH(),Kae(),mt(Zae,"buildATNKey"),koe=1,Toe=2,Soe=4,Coe=5,_oe=7,Aoe=8,Eoe=9,$oe=10,Loe=11,Roe=12,Moe=class{static{mt(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},Ioe=class extends Moe{static{mt(this,"AtomTransition")}constructor(e,t){super(e),this.tokenType=t}},Noe=class extends Line truncated
<${t}> may appears as a prefix path in all these alternatives. <${t}> may appears as a prefix path in all these alternatives.
`;return i+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES `;return i+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`}function Xoe(e){if(e instanceof eie)return"SUBRULE";if(e instanceof nie)return"OPTION";if(e instanceof lie)return"OR";if(e instanceof rie)return"AT_LEAST_ONE";if(e instanceof sie)return"AT_LEAST_ONE_SEP";if(e instanceof oie)return"MANY_SEP";if(e instanceof aie)return"MANY";if(e instanceof cie)return"CONSUME";throw Error("non exhaustive match")}function Koe(e,t,i){t=CU(t.configs.elements,e=>e.state.transitions);return{actualToken:i,possibleTokenTypes:$G(t.filter(e=>e instanceof Ioe).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:e}}function Zoe(e,t){return e.edges[t.tokenTypeIdx]}function Qoe(e,t,i){var n,r=new Foe,s=[];for(n of e.elements)if(!1!==i.is(n.alt))if(n.state.type===_oe)s.push(n);else{var a=n.state.transitions.length;for(let e=0;e<a;e++){var o=Joe(n.state.transitions[e],t);void 0!==o&&r.add({state:o,alt:n.alt,stack:n.stack})}}let l;if(void 0===(l=0===s.length&&1===r.size?r:l)){l=new Foe;for(var c of r.elements)sle(c,l)}if(0<s.length&&!ole(l))for(var h of s)l.add(h);return l}function Joe(e,t){if(e instanceof Ioe&&are(t,e.tokenType))return e.target}function ele(e,t){let i;for(var n of e.elements)if(!0===t.is(n.alt))if(void 0===i)i=n.alt;else if(i!==n.alt)return;return i}function tle(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function ile(e,t,i,n){return n=nle(e,n),t.edges[i.tokenTypeIdx]=n}function nle(e,t){var i,n;return t===Boe?t:(i=t.configs.key,void 0!==(n=e.states[i])?n:(t.configs.finalize(),e.states[i]=t))}function rle(t){var i=new Foe,n=t.transitions.length;for(let e=0;e<n;e++)sle({state:t.transitions[e].target,alt:e,stack:[]},i);return i}function sle(t,i){var e,n=t.state;if(n.type===_oe)0<t.stack.length?sle({state:(e=[...t.stack]).pop(),alt:t.alt,stack:e},i):i.add(t);else{n.epsilonOnlyTransitions||i.add(t);var r=n.transitions.length;for(let e=0;e<r;e++){var s=ale(t,n.transitions[e]);void 0!==s&&sle(s,i)}}}function ale(e,t){var i;return t instanceof Noe?{state:t.target,alt:e.alt,stack:e.stack}:t instanceof Doe?(i=[...e.stack,t.followState],{state:t.target,alt:e.alt,stack:i}):void 0}function ole(e){for(var t of e.elements)if(t.state.type===_oe)return!0;return!1}function lle(e){for(var t of e.elements)if(t.state.type!==_oe)return!1;return!0}function cle(e){return!!lle(e)||ule(e=hle(e.elements))&&!dle(e)}function hle(e){var i,n=new Map;for(i of e){let e=Poe(i,!1),t=n.get(e);void 0===t&&(t={},n.set(e,t)),t[i.alt]=!0}return n}function ule(e){for(var t of Array.from(e.values()))if(1<Object.keys(t).length)return!0;return!1}function dle(e){for(var t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}var ple,gle,fle,mle,yle,ble,vle,xle,wle,kle,Tle,Sle,Cle,_le,Ale,Ele,$le,Lle,Rle,Mle,Ile,Nle,Dle,Ole,Ple,Ble,Fle,jle,zle,Hle,Ule,qle,Wle,Gle,Vle,Yle,Xle,Kle,Zle,Qle,Jle,ece,tce,ice,nce,rce,sce,ace,oce,lce,cce,hce,uce,dce,pce,gce,fce,mce,yce,bce,vce,xce,wce,kce,Tce,Sce,Cce,_ce,Ace,Ece,$ce,Lce,Rce,Mce,Ice,Nce,Dce,Oce,Pce,Bce,Fce,yt,jce,zce,Hce,Uce,qce,Wce,Gce=e(()=>{"use strict";Kae(),Ooe(),joe(),Fq(),_U(),LG(),TU(),nB(),HH(),fq(),eG(),mt(zoe,"createDFACache"),ple=class{static{mt(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let t="",i=this.predicates.length;for(let e=0;e<i;e++)t+=!0===this.predicates[e]?"1":"0";return t}},gle=new ple,fle=class extends Hse{static{mt(this,"LLStarLookaheadStrategy")}constructor(e){super(),this.logging=null!=(e=e?.logging)?e:e=>console.log(e)}initialize(e){this.atn=Qae(e.rules),this.dfas=Uoe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:i,hasPredicates:n,dynamicTokensEnabled:r}=e,s=this.dfas,a=this.logging,o=Zae(i,"Alternation",t),l=this.atn.decisionMap[o].decision,c=v(Ore({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:i}),e=>v(e,e=>e[0]));if(!Hoe(c,!1)||r)return n?function(t){var i=new ple,n=void 0===t?0:t.length;for(let e=0;e<n;e++){var r=t?.[e].GATE;i.set(e,void 0===r||r.call(this))}var e=qoe.call(this,s,l,i,a);return"number"==typeof e?e:void 0}:function(){var e=qoe.call(this,s,l,gle,a);return"number"==typeof e?e:void 0};{let i=JW(c,(t,e,i)=>(b(e,e=>{e&&(t[e.tokenTypeIdx]=i,b(e.categoryMatches,e=>{t[e]=i}))}),t),{});return n?function(e){var t=this.LA(1),t=i[t.tokenTypeIdx];if(void 0!==e&&void 0!==t){e=null==(e=e[t])?void 0:e.GATE;if(void 0!==e&&!1===e.call(this))return}return t}:function(){var e=this.LA(1);return i[e.tokenTypeIdx]}}}buildLookaheadForOptional(i){let{prodOccurrence:e,rule:t,prodType:n,dynamicTokensEnabled:r}=i,s=this.dfas,a=this.logging,o=Zae(t,n,e),l=this.atn.decisionMap[o].decision,c=v(Ore({maxLookahead:1,occurrence:e,prodType:n,rule:t}),e=>v(e,e=>e[0]));if(Hoe(c)&&c[0][0]&&!r){i=c[0],i=iB(i);if(1===i.length&&gq(i[0].categoryMatches)){let e=i[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let t=JW(i,(t,e)=>(void 0!==e&&(t[e.tokenTypeIdx]=!0,b(e Line truncated For Further details.`}function Xoe(e){if(e instanceof eie)return"SUBRULE";if(e instanceof nie)return"OPTION";if(e instanceof lie)return"OR";if(e instanceof rie)return"AT_LEAST_ONE";if(e instanceof sie)return"AT_LEAST_ONE_SEP";if(e instanceof oie)return"MANY_SEP";if(e instanceof aie)return"MANY";if(e instanceof cie)return"CONSUME";throw Error("non exhaustive match")}function Koe(e,t,i){t=CH(t.configs.elements,e=>e.state.transitions);return{actualToken:i,possibleTokenTypes:$G(t.filter(e=>e instanceof Ioe).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:e}}function Zoe(e,t){return e.edges[t.tokenTypeIdx]}function Qoe(e,t,i){var n,r=new Foe,s=[];for(n of e.elements)if(!1!==i.is(n.alt))if(n.state.type===_oe)s.push(n);else{var a=n.state.transitions.length;for(let e=0;e<a;e++){var o=Joe(n.state.transitions[e],t);void 0!==o&&r.add({state:o,alt:n.alt,stack:n.stack})}}let l;if(void 0===(l=0===s.length&&1===r.size?r:l)){l=new Foe;for(var c of r.elements)sle(c,l)}if(0<s.length&&!ole(l))for(var h of s)l.add(h);return l}function Joe(e,t){if(e instanceof Ioe&&are(t,e.tokenType))return e.target}function ele(e,t){let i;for(var n of e.elements)if(!0===t.is(n.alt))if(void 0===i)i=n.alt;else if(i!==n.alt)return;return i}function tle(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function ile(e,t,i,n){return n=nle(e,n),t.edges[i.tokenTypeIdx]=n}function nle(e,t){var i,n;return t===Boe?t:(i=t.configs.key,void 0!==(n=e.states[i])?n:(t.configs.finalize(),e.states[i]=t))}function rle(t){var i=new Foe,n=t.transitions.length;for(let e=0;e<n;e++)sle({state:t.transitions[e].target,alt:e,stack:[]},i);return i}function sle(t,i){var e,n=t.state;if(n.type===_oe)0<t.stack.length?sle({state:(e=[...t.stack]).pop(),alt:t.alt,stack:e},i):i.add(t);else{n.epsilonOnlyTransitions||i.add(t);var r=n.transitions.length;for(let e=0;e<r;e++){var s=ale(t,n.transitions[e]);void 0!==s&&sle(s,i)}}}function ale(e,t){var i;return t instanceof Noe?{state:t.target,alt:e.alt,stack:e.stack}:t instanceof Doe?(i=[...e.stack,t.followState],{state:t.target,alt:e.alt,stack:i}):void 0}function ole(e){for(var t of e.elements)if(t.state.type===_oe)return!0;return!1}function lle(e){for(var t of e.elements)if(t.state.type!==_oe)return!1;return!0}function cle(e){return!!lle(e)||ule(e=hle(e.elements))&&!dle(e)}function hle(e){var i,n=new Map;for(i of e){let e=Poe(i,!1),t=n.get(e);void 0===t&&(t={},n.set(e,t)),t[i.alt]=!0}return n}function ule(e){for(var t of Array.from(e.values()))if(1<Object.keys(t).length)return!0;return!1}function dle(e){for(var t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}var ple,gle,fle,mle,yle,ble,vle,xle,wle,kle,Tle,Sle,Cle,_le,Ale,Ele,$le,Lle,Rle,Mle,Ile,Nle,Dle,Ole,Ple,Ble,Fle,jle,zle,Ule,Hle,qle,Wle,Gle,Vle,Yle,Xle,Kle,Zle,Qle,Jle,ece,tce,ice,nce,rce,sce,ace,oce,lce,cce,hce,uce,dce,pce,gce,fce,mce,yce,bce,vce,xce,wce,kce,Tce,Sce,Cce,_ce,Ace,Ece,$ce,Lce,Rce,Mce,Ice,Nce,Dce,Oce,Pce,Bce,Fce,yt,jce,zce,Uce,Hce,qce,Wce,Gce=e(()=>{"use strict";Kae(),Ooe(),joe(),Fq(),_H(),LG(),TH(),nB(),UU(),fq(),eG(),mt(zoe,"createDFACache"),ple=class{static{mt(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let t="",i=this.predicates.length;for(let e=0;e<i;e++)t+=!0===this.predicates[e]?"1":"0";return t}},gle=new ple,fle=class extends Use{static{mt(this,"LLStarLookaheadStrategy")}constructor(e){super(),this.logging=null!=(e=e?.logging)?e:e=>console.log(e)}initialize(e){this.atn=Qae(e.rules),this.dfas=Hoe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:i,hasPredicates:n,dynamicTokensEnabled:r}=e,s=this.dfas,a=this.logging,o=Zae(i,"Alternation",t),l=this.atn.decisionMap[o].decision,c=v(Ore({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:i}),e=>v(e,e=>e[0]));if(!Uoe(c,!1)||r)return n?function(t){var i=new ple,n=void 0===t?0:t.length;for(let e=0;e<n;e++){var r=t?.[e].GATE;i.set(e,void 0===r||r.call(this))}var e=qoe.call(this,s,l,i,a);return"number"==typeof e?e:void 0}:function(){var e=qoe.call(this,s,l,gle,a);return"number"==typeof e?e:void 0};{let i=JW(c,(t,e,i)=>(b(e,e=>{e&&(t[e.tokenTypeIdx]=i,b(e.categoryMatches,e=>{t[e]=i}))}),t),{});return n?function(e){var t=this.LA(1),t=i[t.tokenTypeIdx];if(void 0!==e&&void 0!==t){e=null==(e=e[t])?void 0:e.GATE;if(void 0!==e&&!1===e.call(this))return}return t}:function(){var e=this.LA(1);return i[e.tokenTypeIdx]}}}buildLookaheadForOptional(i){let{prodOccurrence:e,rule:t,prodType:n,dynamicTokensEnabled:r}=i,s=this.dfas,a=this.logging,o=Zae(t,n,e),l=this.atn.decisionMap[o].decision,c=v(Ore({maxLookahead:1,occurrence:e,prodType:n,rule:t}),e=>v(e,e=>e[0]));if(Uoe(c)&&c[0][0]&&!r){i=c[0],i=iB(i);if(1===i.length&&gq(i[0].categoryMatches)){let e=i[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let t=JW(i,(t,e)=>(void 0!==e&&(t[e.tokenTypeIdx]=!0,b(e Line truncated
`,"\r"===r&&e+1<i.length&&i.charAt(e+1)===` `,"\r"===r&&e+1<i.length&&i.charAt(e+1)===`
`&&e++}n&&0<i.length&&t.push(i.length),this._lineOffsets=t}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),i=0,n=t.length;if(0===n)return xle.create(0,e);for(;i<n;){var r=Math.floor((i+n)/2);t[r]>e?n=r:i=r+1}var s=i-1;return xle.create(s,e-t[s])}offsetAt(e){var t,i=this.getLineOffsets();return e.line>=i.length?this._content.length:e.line<0?0:(t=i[e.line],i=e.line+1<i.length?i[e.line+1]:this._content.length,Math.max(Math.min(t+e.character,i),t))}get lineCount(){return this.getLineOffsets().length}};{var D=yt=yt||{};let n=Object.prototype.toString;function st(e){return typeof e<"u"}function at(e){return"u"<typeof e}function ot(e){return!0===e||!1===e}function lt(e){return"[object String]"===n.call(e)}function ct(e){return"[object Number]"===n.call(e)}function ht(e,t,i){return"[object Number]"===n.call(e)&&t<=e&&e<=i}function ut(e){return"[object Number]"===n.call(e)&&-2147483648<=e&&e<=2147483647}function dt(e){return"[object Number]"===n.call(e)&&0<=e&&e<=2147483647}function pt(e){return"[object Function]"===n.call(e)}function gt(e){return null!==e&&"object"==typeof e}function ft(e,t){return Array.isArray(e)&&e.every(t)}mt(st,"defined"),D.defined=st,mt(at,"undefined"),D.undefined=at,mt(ot,"boolean"),D.boolean=ot,mt(lt,"string"),D.string=lt,mt(ct,"number"),D.number=ct,mt(ht,"numberRange"),D.numberRange=ht,mt(ut,"integer"),D.integer=ut,mt(dt,"uinteger"),D.uinteger=dt,mt(pt,"func"),D.func=pt,mt(gt,"objectLiteral"),D.objectLiteral=gt,mt(ft,"typedArray"),D.typedArray=ft}}),Xce=e(()=>{"use strict";Yce(),lQ(),jce=class{static{mt(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){var e;return null!=(e=this.nodeStack[this.nodeStack.length-1])?e:this.rootNode}buildRootNode(e){return this.rootNode=new Wce(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){var t=new Uce;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){e=new Hce(e.startOffset,e.image.length,qZ(e),e.tokenType,!t);return e.grammarSource=t,e.root=this.rootNode,this.current.content.push(e),e}removeNode(e){var t=e.container;t&&0<=(e=t.content.indexOf(e))&&t.content.splice(e,1)}addHiddenNodes(e){var t,i=[];for(t of e){var n=new Hce(t.startOffset,t.image.length,qZ(t),t.tokenType,!0);n.root=this.rootNode,i.push(n)}let r=this.current,s=!1;if(0<r.content.length)r.content.push(...i);else{for(;r.container;){var a=r.container.content.indexOf(r);if(0<a){r.container.content.splice(a,0,...i),s=!0;break}r=r.container}s||this.rootNode.content.unshift(...i)}}construct(e){var t=this.current,e=("string"==typeof e.$type&&(this.current.astNode=e),e.$cstNode=t,this.nodeStack.pop());0===e?.content.length&&this.removeNode(e)}},zce=class{static{mt(this,"AbstractCstNode")}get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e="string"==typeof(null==(e=this._astNode)?void 0:e.$type)?this._astNode:null==(e=this.container)?void 0:e.astNode;if(e)return e;throw new Error("This node has no associated AST element")}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}},Hce=class extends zce{static{mt(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,i,n,r=!1){super(),this._hidden=r,this._offset=e,this._tokenType=n,this._length=t,this._range=i}},Uce=class extends zce{static{mt(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new qce(this)}get children(){return this.content}get offset(){var e;return null!=(e=null==(e=this.firstNonHiddenNode)?void 0:e.offset)?e:0}get length(){return this.end-this.offset}get end(){var e;return null!=(e=null==(e=this.lastNonHiddenNode)?void 0:e.end)?e:0}get range(){var e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;return e&&t?(void 0===this._rangeCache&&(e=e["range"],t=t["range"],this._rangeCache={start:e.start,end:t.end.line<e.start.line?e.start:t.end}),this._rangeCache):{start:xle.create(0,0),end:xle.create(0,0)}}get firstNonHiddenNode(){for(var e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;0<=e;e--){var t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},qce=class t extends Array{static{mt(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...i){return this.addParents(i),super.splice(e,t,...i)}addParents(e){for(var t of e)t.container=this.parent}},Wce=class extends Uce{static{mt(this,"RootCstNodeImpl")}get t Line truncated `&&e++}n&&0<i.length&&t.push(i.length),this._lineOffsets=t}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),i=0,n=t.length;if(0===n)return xle.create(0,e);for(;i<n;){var r=Math.floor((i+n)/2);t[r]>e?n=r:i=r+1}var s=i-1;return xle.create(s,e-t[s])}offsetAt(e){var t,i=this.getLineOffsets();return e.line>=i.length?this._content.length:e.line<0?0:(t=i[e.line],i=e.line+1<i.length?i[e.line+1]:this._content.length,Math.max(Math.min(t+e.character,i),t))}get lineCount(){return this.getLineOffsets().length}};{var D=yt=yt||{};let n=Object.prototype.toString;function st(e){return typeof e<"u"}function at(e){return"u"<typeof e}function ot(e){return!0===e||!1===e}function lt(e){return"[object String]"===n.call(e)}function ct(e){return"[object Number]"===n.call(e)}function ht(e,t,i){return"[object Number]"===n.call(e)&&t<=e&&e<=i}function ut(e){return"[object Number]"===n.call(e)&&-2147483648<=e&&e<=2147483647}function dt(e){return"[object Number]"===n.call(e)&&0<=e&&e<=2147483647}function pt(e){return"[object Function]"===n.call(e)}function gt(e){return null!==e&&"object"==typeof e}function ft(e,t){return Array.isArray(e)&&e.every(t)}mt(st,"defined"),D.defined=st,mt(at,"undefined"),D.undefined=at,mt(ot,"boolean"),D.boolean=ot,mt(lt,"string"),D.string=lt,mt(ct,"number"),D.number=ct,mt(ht,"numberRange"),D.numberRange=ht,mt(ut,"integer"),D.integer=ut,mt(dt,"uinteger"),D.uinteger=dt,mt(pt,"func"),D.func=pt,mt(gt,"objectLiteral"),D.objectLiteral=gt,mt(ft,"typedArray"),D.typedArray=ft}}),Xce=e(()=>{"use strict";Yce(),lQ(),jce=class{static{mt(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){var e;return null!=(e=this.nodeStack[this.nodeStack.length-1])?e:this.rootNode}buildRootNode(e){return this.rootNode=new Wce(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){var t=new Hce;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){e=new Uce(e.startOffset,e.image.length,qZ(e),e.tokenType,!t);return e.grammarSource=t,e.root=this.rootNode,this.current.content.push(e),e}removeNode(e){var t=e.container;t&&0<=(e=t.content.indexOf(e))&&t.content.splice(e,1)}addHiddenNodes(e){var t,i=[];for(t of e){var n=new Uce(t.startOffset,t.image.length,qZ(t),t.tokenType,!0);n.root=this.rootNode,i.push(n)}let r=this.current,s=!1;if(0<r.content.length)r.content.push(...i);else{for(;r.container;){var a=r.container.content.indexOf(r);if(0<a){r.container.content.splice(a,0,...i),s=!0;break}r=r.container}s||this.rootNode.content.unshift(...i)}}construct(e){var t=this.current,e=("string"==typeof e.$type&&(this.current.astNode=e),e.$cstNode=t,this.nodeStack.pop());0===e?.content.length&&this.removeNode(e)}},zce=class{static{mt(this,"AbstractCstNode")}get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e="string"==typeof(null==(e=this._astNode)?void 0:e.$type)?this._astNode:null==(e=this.container)?void 0:e.astNode;if(e)return e;throw new Error("This node has no associated AST element")}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}},Uce=class extends zce{static{mt(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,i,n,r=!1){super(),this._hidden=r,this._offset=e,this._tokenType=n,this._length=t,this._range=i}},Hce=class extends zce{static{mt(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new qce(this)}get children(){return this.content}get offset(){var e;return null!=(e=null==(e=this.firstNonHiddenNode)?void 0:e.offset)?e:0}get length(){return this.end-this.offset}get end(){var e;return null!=(e=null==(e=this.lastNonHiddenNode)?void 0:e.end)?e:0}get range(){var e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;return e&&t?(void 0===this._rangeCache&&(e=e["range"],t=t["range"],this._rangeCache={start:e.start,end:t.end.line<e.start.line?e.start:t.end}),this._rangeCache):{start:xle.create(0,0),end:xle.create(0,0)}}get firstNonHiddenNode(){for(var e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;0<=e;e--){var t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},qce=class t extends Array{static{mt(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...i){return this.addParents(i),super.splice(e,t,...i)}addParents(e){for(var t of e)t.container=this.parent}},Wce=class extends Hce{static{mt(this,"RootCstNodeImpl")}get t Line truncated
`;case"r":return"\r";case"t":return"\t";case"v":return"\v";case"0":return"\0";default:return e}}function t(e){return"^"===e.charAt(0)?e.substring(1):e}function i(e){return parseInt(e)}function n(e){return BigInt(e)}function r(e){return new Date(e)}function a(e){return Number(e)}function o(e){return"true"===e.toLowerCase()}var l;iee(),Pte(),Lhe=class{static{mt(this,"DefaultValueConverter")}convert(e,t){let i=t.grammarSource;if(eJ(i=YQ(i)?nte(i):i)){var n=i.rule.ref;if(n)return this.runConverter(n,e,t);throw new Error("This cst node was not parsed by a rule.")}return e}runConverter(e,t,i){switch(e.name.toUpperCase()){case"INT":return Rhe.convertInt(t);case"STRING":return Rhe.convertString(t);case"ID":return Rhe.convertID(t)}switch(null==(e=_te(e))?void 0:e.toLowerCase()){case"number":return Rhe.convertNumber(t);case"boolean":return Rhe.convertBoolean(t);case"bigint":return Rhe.convertBigint(t);case"date":return Rhe.convertDate(t);default:return t}}},l=Rhe=Rhe||{},mt(e,"convertString"),l.convertString=e,mt(s,"convertEscapeCharacter"),mt(t,"convertID"),l.convertID=t,mt(i,"convertInt"),l.convertInt=i,mt(n,"convertBigint"),l.convertBigint=n,mt(r,"convertDate"),l.convertDate=r,mt(a,"convertNumber"),l.convertNumber=a,mt(o,"convertBoolean"),l.convertBoolean=o}),Dhe=W(e=>{"use strict";var t,i;function n(){if(void 0===t)throw new Error("No runtime abstraction layer installed");return t}function r(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");t=e}Object.defineProperty(e,"__esModule",{value:!0}),mt(n,"RAL"),i=n=n||{},mt(r,"install"),i.install=r,e.default=n}),Ohe=W(e=>{"use strict";function t(e){return!0===e||!1===e}function i(e){return"string"==typeof e||e instanceof String}function n(e){return"number"==typeof e||e instanceof Number}function r(e){return e instanceof Error}function s(e){return"function"==typeof e}function a(e){return Array.isArray(e)}function o(e){return a(e)&&e.every(e=>i(e))}Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,mt(t,"boolean"),e.boolean=t,mt(i,"string"),e.string=i,mt(n,"number"),e.number=n,mt(r,"error"),e.error=r,mt(s,"func"),e.func=s,mt(a,"array"),e.array=a,mt(o,"stringArray"),e.stringArray=o}),Phe=W(t=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;var a=Dhe();{var i=t.Event={};let e={dispose(){}};i.None=function(){return e}}var r=class{static{mt(this,"CallbackList")}add(e,t=null,i){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(i)&&i.push({dispose:mt(()=>this.remove(e,t),"dispose")})}remove(n,r=null){if(this._callbacks){let i=!1;for(let e=0,t=this._callbacks.length;e<t;e++)if(this._callbacks[e]===n){if(this._contexts[e]===r)return this._callbacks.splice(e,1),void this._contexts.splice(e,1);i=!0}if(i)throw new Error("When adding a listener with a context, you should remove it with the same context")}}invoke(...i){if(!this._callbacks)return[];var n=[],r=this._callbacks.slice(0),s=this._contexts.slice(0);for(let e=0,t=r.length;e<t;e++)try{n.push(r[e].apply(s[e],i))}catch(e){(0,a.default)().console.error(e)}return n}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}},i=class s{static{mt(this,"Emitter")}constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,i)=>{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);let n={dispose:mt(()=>{this._callbacks&&(this._callbacks.remove(e,t),n.dispose=s._noop,this._options)&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this)},"dispose")};return Array.isArray(i)&&i.push(n),n}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};(t.Emitter=i)._noop=function(){}}),Bhe=W(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t,i,n=Dhe(),r=Ohe(),s=Phe();function a(e){return e&&(e===i.None||e===i.Cancelled||r.boolean(e.isCancellationRequested)&&!!e.onCancellationRequested)}(i=t||(e.CancellationToken=t={})).None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),i.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),mt(a,"is"),i.is=a;var o=Object.freeze(function(e,t){let i=(0,n.default)().timer.setTimeout(e.bind(t),0);return{dispose(){i.dispose()}}}),l=class{static{mt(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?o Line truncated `;case"r":return"\r";case"t":return"\t";case"v":return"\v";case"0":return"\0";default:return e}}function t(e){return"^"===e.charAt(0)?e.substring(1):e}function i(e){return parseInt(e)}function n(e){return BigInt(e)}function r(e){return new Date(e)}function a(e){return Number(e)}function o(e){return"true"===e.toLowerCase()}var l;iee(),Pte(),Lhe=class{static{mt(this,"DefaultValueConverter")}convert(e,t){let i=t.grammarSource;if(eJ(i=YQ(i)?nte(i):i)){var n=i.rule.ref;if(n)return this.runConverter(n,e,t);throw new Error("This cst node was not parsed by a rule.")}return e}runConverter(e,t,i){switch(e.name.toUpperCase()){case"INT":return Rhe.convertInt(t);case"STRING":return Rhe.convertString(t);case"ID":return Rhe.convertID(t)}switch(null==(e=_te(e))?void 0:e.toLowerCase()){case"number":return Rhe.convertNumber(t);case"boolean":return Rhe.convertBoolean(t);case"bigint":return Rhe.convertBigint(t);case"date":return Rhe.convertDate(t);default:return t}}},l=Rhe=Rhe||{},mt(e,"convertString"),l.convertString=e,mt(s,"convertEscapeCharacter"),mt(t,"convertID"),l.convertID=t,mt(i,"convertInt"),l.convertInt=i,mt(n,"convertBigint"),l.convertBigint=n,mt(r,"convertDate"),l.convertDate=r,mt(a,"convertNumber"),l.convertNumber=a,mt(o,"convertBoolean"),l.convertBoolean=o}),Dhe=W(e=>{"use strict";var t,i;function n(){if(void 0===t)throw new Error("No runtime abstraction layer installed");return t}function r(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");t=e}Object.defineProperty(e,"__esModule",{value:!0}),mt(n,"RAL"),i=n=n||{},mt(r,"install"),i.install=r,e.default=n}),Ohe=W(e=>{"use strict";function t(e){return!0===e||!1===e}function i(e){return"string"==typeof e||e instanceof String}function n(e){return"number"==typeof e||e instanceof Number}function r(e){return e instanceof Error}function s(e){return"function"==typeof e}function a(e){return Array.isArray(e)}function o(e){return a(e)&&e.every(e=>i(e))}Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,mt(t,"boolean"),e.boolean=t,mt(i,"string"),e.string=i,mt(n,"number"),e.number=n,mt(r,"error"),e.error=r,mt(s,"func"),e.func=s,mt(a,"array"),e.array=a,mt(o,"stringArray"),e.stringArray=o}),Phe=W(t=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;var a=Dhe();{var i=t.Event={};let e={dispose(){}};i.None=function(){return e}}var r=class{static{mt(this,"CallbackList")}add(e,t=null,i){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(i)&&i.push({dispose:mt(()=>this.remove(e,t),"dispose")})}remove(n,r=null){if(this._callbacks){let i=!1;for(let e=0,t=this._callbacks.length;e<t;e++)if(this._callbacks[e]===n){if(this._contexts[e]===r)return this._callbacks.splice(e,1),void this._contexts.splice(e,1);i=!0}if(i)throw new Error("When adding a listener with a context, you should remove it with the same context")}}invoke(...i){if(!this._callbacks)return[];var n=[],r=this._callbacks.slice(0),s=this._contexts.slice(0);for(let e=0,t=r.length;e<t;e++)try{n.push(r[e].apply(s[e],i))}catch(e){(0,a.default)().console.error(e)}return n}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}},i=class s{static{mt(this,"Emitter")}constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,i)=>{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);let n={dispose:mt(()=>{this._callbacks&&(this._callbacks.remove(e,t),n.dispose=s._noop,this._options)&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this)},"dispose")};return Array.isArray(i)&&i.push(n),n}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};(t.Emitter=i)._noop=function(){}}),Bhe=W(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t,i,n=Dhe(),r=Ohe(),s=Phe();function a(e){return e&&(e===i.None||e===i.Cancelled||r.boolean(e.isCancellationRequested)&&!!e.onCancellationRequested)}(i=t||(e.CancellationToken=t={})).None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),i.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),mt(a,"is"),i.is=a;var o=Object.freeze(function(e,t){let i=(0,n.default)().timer.setTimeout(e.bind(t),0);return{dispose(){i.dispose()}}}),l=class{static{mt(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?o Line truncated
`)?` `)?`
`:` `:`
`}var qde,Wde,Gde,Vde,Yde,Xde,Kde,Zde,Qde,Jde,epe,tpe,ipe,npe,rpe,spe=e(()=>{"use strict";Yce(),Zee(),gue(),mt(Cde,"parseJSDoc"),mt(_de,"isJSDoc"),mt(Ade,"getLines"),qde=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,Wde=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu,mt(Ede,"tokenize"),mt($de,"buildInlineTokens"),Gde=/\S/,Vde=/\s*$/,mt(Lde,"skipWhitespace"),mt(Rde,"lastCharacter"),mt(Mde,"parseJSDocComment"),mt(Ide,"parseJSDocElement"),mt(Nde,"appendEmptyLine"),mt(Dde,"parseJSDocText"),mt(Ode,"parseJSDocInline"),mt(Pde,"parseJSDocTag"),mt(Bde,"parseJSDocLine"),mt(Fde,"normalizeOptions"),mt(jde,"normalizeOption"),Yde=class{static{mt(this,"JSDocCommentImpl")}constructor(e,t){this.elements=e,this.range=t}getTag(t){return this.getAllTags().find(e=>e.name===t)}getTags(t){return this.getAllTags().filter(e=>e.name===t)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(var t of this.elements)0===e.length?e=t.toString():(t=t.toString(),e+=Ude(e)+t);return e.trim()}toMarkdown(e){let t="";for(var i of this.elements)0===t.length?t=i.toMarkdown(e):(i=i.toMarkdown(e),t+=Ude(t)+i);return t.trim()}},Xde=class{static{mt(this,"JSDocTagImpl")}constructor(e,t,i,n){this.name=e,this.content=t,this.inline=i,this.range=n}toString(){let e="@"+this.name,t=this.content.toString();return 1===this.content.inlines.length?e=e+" "+t:1<this.content.inlines.length&&(e=e+` `}var qde,Wde,Gde,Vde,Yde,Xde,Kde,Zde,Qde,Jde,epe,tpe,ipe,npe,rpe,spe=e(()=>{"use strict";Yce(),Zee(),gue(),mt(Cde,"parseJSDoc"),mt(_de,"isJSDoc"),mt(Ade,"getLines"),qde=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,Wde=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu,mt(Ede,"tokenize"),mt($de,"buildInlineTokens"),Gde=/\S/,Vde=/\s*$/,mt(Lde,"skipWhitespace"),mt(Rde,"lastCharacter"),mt(Mde,"parseJSDocComment"),mt(Ide,"parseJSDocElement"),mt(Nde,"appendEmptyLine"),mt(Dde,"parseJSDocText"),mt(Ode,"parseJSDocInline"),mt(Pde,"parseJSDocTag"),mt(Bde,"parseJSDocLine"),mt(Fde,"normalizeOptions"),mt(jde,"normalizeOption"),Yde=class{static{mt(this,"JSDocCommentImpl")}constructor(e,t){this.elements=e,this.range=t}getTag(t){return this.getAllTags().find(e=>e.name===t)}getTags(t){return this.getAllTags().filter(e=>e.name===t)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(var t of this.elements)0===e.length?e=t.toString():(t=t.toString(),e+=Hde(e)+t);return e.trim()}toMarkdown(e){let t="";for(var i of this.elements)0===t.length?t=i.toMarkdown(e):(i=i.toMarkdown(e),t+=Hde(t)+i);return t.trim()}},Xde=class{static{mt(this,"JSDocTagImpl")}constructor(e,t,i,n){this.name=e,this.content=t,this.inline=i,this.range=n}toString(){let e="@"+this.name,t=this.content.toString();return 1===this.content.inlines.length?e=e+" "+t:1<this.content.inlines.length&&(e=e+`
`+t),this.inline?`{${e}}`:e}toMarkdown(e){var t;return null!=(t=null==(t=e?.renderTag)?void 0:t.call(e,this))?t:this.toMarkdownDefault(e)}toMarkdownDefault(e){var t=this.content.toMarkdown(e);if(this.inline){var i=zde(this.name,t,e??{});if("string"==typeof i)return i}let n="",r=("italic"===e?.tag||void 0===e?.tag?n="*":"bold"===e?.tag?n="**":"bold-italic"===e?.tag&&(n="***"),n+"@"+this.name+n);return 1===this.content.inlines.length?r=r+" — "+t:1<this.content.inlines.length&&(r=r+` `+t),this.inline?`{${e}}`:e}toMarkdown(e){var t;return null!=(t=null==(t=e?.renderTag)?void 0:t.call(e,this))?t:this.toMarkdownDefault(e)}toMarkdownDefault(e){var t=this.content.toMarkdown(e);if(this.inline){var i=zde(this.name,t,e??{});if("string"==typeof i)return i}let n="",r=("italic"===e?.tag||void 0===e?.tag?n="*":"bold"===e?.tag?n="**":"bold-italic"===e?.tag&&(n="***"),n+"@"+this.name+n);return 1===this.content.inlines.length?r=r+" — "+t:1<this.content.inlines.length&&(r=r+`
`+t),this.inline?`{${r}}`:r}},mt(zde,"renderInlineTag"),mt(Hde,"renderLinkDefault"),Kde=class{static{mt(this,"JSDocTextImpl")}constructor(e,t){this.inlines=e,this.range=t}toString(){let t="";for(let e=0;e<this.inlines.length;e++){var i=this.inlines[e],n=this.inlines[e+1];t+=i.toString(),n&&n.range.start.line>i.range.start.line&&(t+=` `+t),this.inline?`{${r}}`:r}},mt(zde,"renderInlineTag"),mt(Ude,"renderLinkDefault"),Kde=class{static{mt(this,"JSDocTextImpl")}constructor(e,t){this.inlines=e,this.range=t}toString(){let t="";for(let e=0;e<this.inlines.length;e++){var i=this.inlines[e],n=this.inlines[e+1];t+=i.toString(),n&&n.range.start.line>i.range.start.line&&(t+=`
`)}return t}toMarkdown(t){let i="";for(let e=0;e<this.inlines.length;e++){var n=this.inlines[e],r=this.inlines[e+1];i+=n.toMarkdown(t),r&&r.range.start.line>n.range.start.line&&(i+=` `)}return t}toMarkdown(t){let i="";for(let e=0;e<this.inlines.length;e++){var n=this.inlines[e],r=this.inlines[e+1];i+=n.toMarkdown(t),r&&r.range.start.line>n.range.start.line&&(i+=`
`)}return i}},Zde=class{static{mt(this,"JSDocLineImpl")}constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}},mt(Ude,"fillNewlines")}),ape=e(()=>{"use strict";bee(),spe(),Qde=class{static{mt(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(i){var e=this.commentProvider.getComment(i);if(e&&_de(e))return Cde(e).toMarkdown({renderLink:mt((e,t)=>this.documentationLinkRenderer(i,e,t),"renderLink"),renderTag:mt(e=>this.documentationTagRenderer(i,e),"renderTag")})}documentationLinkRenderer(e,t,i){var n=null!=(n=this.findNameInPrecomputedScopes(e,t))?n:this.findNameInGlobalScope(e,t);return n&&n.nameSegment?(e=n.nameSegment.range.start.line+1,t=n.nameSegment.range.start.character+1,`[${i}](${n.documentUri.with({fragment:`L${e},`+t}).toString()})`):void 0}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(t,i){var n=oee(t).precomputedScopes;if(n){let e=t;do{var r=n.get(e).find(e=>e.name===i);if(r)return r}while(e=e.$container)}}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}}}),ope=e(()=>{"use strict";Uue(),lQ(),Jde=class{static{mt(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return Fue(e)?e.$comment:null==(e=XZ(e.$cstNode,this.grammarConfig().multilineCommentRules))?void 0:e.text}}}),lpe=e(()=>{"use strict";Khe(),dde(),epe=class{static{mt(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},tpe=class{static{mt(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let t=this.createWorker();t.onReady(()=>{var e;0<this.queue.length&&(e=this.queue.shift())&&(t.lock(),e.resolve(t))}),this.workerPool.push(t)}}async parse(e,t){let i=await this.acquireParserWorker(t),n=new Xhe,r,s=t.onCancellationRequested(()=>{r=setTimeout(()=>{this.terminateWorker(i)},this.terminationDelay)});return i.parse(e).then(e=>{e=this.hydrator.hydrate(e);n.resolve(e)}).catch(e=>{n.reject(e)}).finally(()=>{s.dispose(),clearTimeout(r)}),n.promise}terminateWorker(e){e.terminate();e=this.workerPool.indexOf(e);0<=e&&this.workerPool.splice(e,1)}async acquireParserWorker(e){this.initializeWorkers();for(var t of this.workerPool)if(t.ready)return t.lock(),t;let i=new Xhe;return e.onCancellationRequested(()=>{var e=this.queue.indexOf(i);0<=e&&this.queue.splice(e,1),i.reject(Yhe)}),this.queue.push(i),i.promise}},ipe=class{static{mt(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,i,n){this.onReadyEmitter=new ude.Emitter,this.deferred=new Xhe,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=n,t(e=>{this.deferred.resolve(e),this.unlock()}),i(e=>{this.deferred.reject(e),this.unlock()})}terminate(){this.deferred.reject(Yhe),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Xhe,this.sendMessage(e),this.deferred.promise}}}),cpe=e(()=>{"use strict";jhe(),Khe(),npe=class{static{mt(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new Fhe.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();var t=Hhe();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,i=Fhe.CancellationToken.None){var n=new Xhe;return e.push({action:t,deferred:n,cancellationToken:i}),this.performNextOperation(),n.promise}async performNextOperation(){if(this.done){var e=[];if(0<this.writeQueue.length)e.push(this.writeQueue.shift());else{if(!(0<this.readQueue.length))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:i})=>{try{var n=await Promise.resolve().then(()=>e(i));t.resolve(n)}catch(e){qhe(e)?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}}cancelWrite(){this.previousTokenSource.cancel()}}}),hpe=e(()=>{"use strict";Xce(),iee(),LZ(),bee(),Nue(),lQ(),rpe=class{static{mt(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new wue,this.tokenTypeIdMap=new wue,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(e=>Object.assign(Object.assign({},e),{message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerRepor Line truncated `)}return i}},Zde=class{static{mt(this,"JSDocLineImpl")}constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}},mt(Hde,"fillNewlines")}),ape=e(()=>{"use strict";bee(),spe(),Qde=class{static{mt(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(i){var e=this.commentProvider.getComment(i);if(e&&_de(e))return Cde(e).toMarkdown({renderLink:mt((e,t)=>this.documentationLinkRenderer(i,e,t),"renderLink"),renderTag:mt(e=>this.documentationTagRenderer(i,e),"renderTag")})}documentationLinkRenderer(e,t,i){var n=null!=(n=this.findNameInPrecomputedScopes(e,t))?n:this.findNameInGlobalScope(e,t);return n&&n.nameSegment?(e=n.nameSegment.range.start.line+1,t=n.nameSegment.range.start.character+1,`[${i}](${n.documentUri.with({fragment:`L${e},`+t}).toString()})`):void 0}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(t,i){var n=oee(t).precomputedScopes;if(n){let e=t;do{var r=n.get(e).find(e=>e.name===i);if(r)return r}while(e=e.$container)}}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}}}),ope=e(()=>{"use strict";Hue(),lQ(),Jde=class{static{mt(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return Fue(e)?e.$comment:null==(e=XZ(e.$cstNode,this.grammarConfig().multilineCommentRules))?void 0:e.text}}}),lpe=e(()=>{"use strict";Khe(),dde(),epe=class{static{mt(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},tpe=class{static{mt(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let t=this.createWorker();t.onReady(()=>{var e;0<this.queue.length&&(e=this.queue.shift())&&(t.lock(),e.resolve(t))}),this.workerPool.push(t)}}async parse(e,t){let i=await this.acquireParserWorker(t),n=new Xhe,r,s=t.onCancellationRequested(()=>{r=setTimeout(()=>{this.terminateWorker(i)},this.terminationDelay)});return i.parse(e).then(e=>{e=this.hydrator.hydrate(e);n.resolve(e)}).catch(e=>{n.reject(e)}).finally(()=>{s.dispose(),clearTimeout(r)}),n.promise}terminateWorker(e){e.terminate();e=this.workerPool.indexOf(e);0<=e&&this.workerPool.splice(e,1)}async acquireParserWorker(e){this.initializeWorkers();for(var t of this.workerPool)if(t.ready)return t.lock(),t;let i=new Xhe;return e.onCancellationRequested(()=>{var e=this.queue.indexOf(i);0<=e&&this.queue.splice(e,1),i.reject(Yhe)}),this.queue.push(i),i.promise}},ipe=class{static{mt(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,i,n){this.onReadyEmitter=new ude.Emitter,this.deferred=new Xhe,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=n,t(e=>{this.deferred.resolve(e),this.unlock()}),i(e=>{this.deferred.reject(e),this.unlock()})}terminate(){this.deferred.reject(Yhe),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Xhe,this.sendMessage(e),this.deferred.promise}}}),cpe=e(()=>{"use strict";jhe(),Khe(),npe=class{static{mt(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new Fhe.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();var t=Uhe();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,i=Fhe.CancellationToken.None){var n=new Xhe;return e.push({action:t,deferred:n,cancellationToken:i}),this.performNextOperation(),n.promise}async performNextOperation(){if(this.done){var e=[];if(0<this.writeQueue.length)e.push(this.writeQueue.shift());else{if(!(0<this.readQueue.length))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:i})=>{try{var n=await Promise.resolve().then(()=>e(i));t.resolve(n)}catch(e){qhe(e)?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}}cancelWrite(){this.previousTokenSource.cancel()}}}),hpe=e(()=>{"use strict";Xce(),iee(),LZ(),bee(),Nue(),lQ(),rpe=class{static{mt(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new wue,this.tokenTypeIdMap=new wue,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(e=>Object.assign(Object.assign({},e),{message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerRepor Line truncated
`.includes(e[t-1])}matchWhitespace(e,t,i,n){this.whitespaceRegExp.lastIndex=t;t=this.whitespaceRegExp.exec(e);return{currIndentLevel:null!=(e=t?.[0].length)?e:0,prevIndentLevel:this.indentationStack.at(-1),match:t}}createIndentationTokenInstance(e,t,i,n){t=this.getLineNumber(t,n);return sre(e,i,n,n+i.length,t,t,1,i.length)}getLineNumber(e,t){return e.substring(0,t).split(/\r\n|\r|\n/).length}indentMatcher(e,t,i,n){return!this.isStartOfLine(e,t)||({currIndentLevel:e,prevIndentLevel:t,match:i}=this.matchWhitespace(e,t,i,n),e<=t)?null:(this.indentationStack.push(e),i)}dedentMatcher(t,i,n,e){if(this.isStartOfLine(t,i)){var{currIndentLevel:e,prevIndentLevel:r,match:s}=this.matchWhitespace(t,i,n,e);if(!(r<=e)){r=this.indentationStack.lastIndexOf(e);if(-1===r)this.diagnostics.push({severity:"error",message:`Invalid dedent level ${e} at offset: ${i}. Current indentation stack: `+this.indentationStack,offset:i,length:null!=(s=null==(e=s?.[0])?void 0:e.length)?s:0,line:this.getLineNumber(t,i),column:1});else{var a=this.indentationStack.length-r-1,o=null!=(s=null==(e=t.substring(0,i).match(/[\r\n]+$/))?void 0:e[0].length)?s:1;for(let e=0;e<a;e++){var l=this.createIndentationTokenInstance(this.dedentTokenType,t,"",i-(o-1));n.push(l),this.indentationStack.pop()}}}}return null}buildTerminalToken(e){var e=super.buildTerminalToken(e),{indentTokenName:t,dedentTokenName:i,whitespaceTokenName:n}=this.options;return e.name===t?this.indentTokenType:e.name===i?this.dedentTokenType:e.name===n?nre({name:n,pattern:this.whitespaceRegExp,group:Zne.SKIPPED}):e}flushRemainingDedents(e){for(var t=[];1<this.indentationStack.length;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}},Cpe=class extends Tde{static{mt(this,"IndentationAwareLexer")}constructor(e){if(super(e),!(e.parser.TokenBuilder instanceof Spe))throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder");this.indentationTokenBuilder=e.parser.TokenBuilder}tokenize(e,t=kde){var i=super.tokenize(e),e=i.report,{indentTokenType:t,dedentTokenType:e}=("full"===t?.mode&&i.tokens.push(...e.remainingDedents),e.remainingDedents=[],this.indentationTokenBuilder),n=t.tokenTypeIdx,r=e.tokenTypeIdx,s=[],a=i.tokens.length-1;for(let e=0;e<a;e++){var o=i.tokens[e],l=i.tokens[e+1];o.tokenTypeIdx===n&&l.tokenTypeIdx===r?e++:s.push(o)}return 0<=a&&s.push(i.tokens[a]),i.tokens=s,i}}}),Npe=e(()=>{}),Dpe=e(()=>{"use strict";lpe(),_he(),Xce(),Ipe(),Mhe(),ahe(),Sde(),She(),Npe(),Ihe(),Nhe()}),Ope=e(()=>{"use strict";mue(),Mue(),Iue(),Oue(),Due(),Bue()}),Ppe=e(()=>{"use strict";hpe(),Uue()}),Bpe=e(()=>{"use strict";_pe=class{static{mt(this,"EmptyFileSystemProvider")}readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}},Ape={fileSystemProvider:mt(()=>new _pe,"fileSystemProvider")}});function Fpe(){var e=gpe(dpe(Ape),Hpe),t=gpe(upe({shared:e}),zpe);return e.ServiceRegistry.register(t),t}function jpe(e){var t=Fpe(),e=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(e,rue.parse(`memory://${null!=(t=e.name)?t:"grammar"}.langium`)),e}var zpe,Hpe,Upe=e(()=>{"use strict";ppe(),Epe(),iee(),Bpe(),gue(),zpe={Grammar:mt(()=>{},"Grammar"),LanguageMetaData:mt(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},Hpe={AstReflection:mt(()=>new eee,"AstReflection")},mt(Fpe,"createMinimalGrammarServices"),mt(jpe,"loadGrammarFromJson")}),qpe={},Wpe=(G(qpe,{AstUtils:()=>nee,BiMap:()=>wue,Cancellation:()=>Fhe,ContextCache:()=>Eue,CstUtils:()=>jZ,DONE_RESULT:()=>OZ,Deferred:()=>Xhe,Disposable:()=>rde,DisposableCache:()=>_ue,DocumentCache:()=>$ue,EMPTY_STREAM:()=>DZ,ErrorWithLocation:()=>hQ,GrammarUtils:()=>Qee,MultiMap:()=>xue,OperationCancelled:()=>Yhe,Reduction:()=>BZ,RegExpUtils:()=>Bee,SimpleCache:()=>Aue,StreamImpl:()=>NZ,TreeStreamImpl:()=>PZ,URI:()=>rue,UriUtils:()=>aue,WorkspaceCache:()=>Lue,assertUnreachable:()=>cQ,delayNextTick:()=>zhe,interruptAndCheck:()=>Whe,isOperationCancelled:()=>qhe,loadGrammarFromJson:()=>jpe,setInterruptionPeriod:()=>Uhe,startCancelableOperation:()=>Hhe,stream:()=>IZ}),e(()=>{"use strict";Pue(),dde(),te(qpe,ude),Nue(),gde(),uQ(),Upe(),Khe(),FZ(),gue(),bee(),jhe(),lQ(),Pte(),Zee()})),Gpe=e(()=>{"use strict";lde(),Yue()}),Vpe=e(()=>{"use strict";cde(),hde(),pde(),fde(),fue(),Bpe(),mde(),cpe(),yde()}),Ype={},Xpe=(G(Ype,{AbstractAstReflection:()=>$Z,AbstractCstNode:()=>zce,AbstractLangiumParser:()=>Jce,AbstractParserErrorMessageProvider:()=>the,AbstractThreadedAsyncParser:()=>tpe,AstUtils:()=>nee,BiMap:()=>wue,Cancellation:()=>Fhe,CompositeCstNodeImpl:()=>Uce,ContextCache:()=>Eue,CstNodeBuilder:()=>jce,CstUtils:()=>jZ,DEFAULT_TOKENIZE_OPTIONS:()=>kde,DONE_RESULT:()=>OZ,DatatypeSymbol:()=>Zce,DefaultAstNodeDescriptionProvider:()=>ede,DefaultAstNodeLocator:()=>ide,DefaultAsyncParser:()=>epe,DefaultCommentProvider:()=>Jde,DefaultConfigu Line truncated `.includes(e[t-1])}matchWhitespace(e,t,i,n){this.whitespaceRegExp.lastIndex=t;t=this.whitespaceRegExp.exec(e);return{currIndentLevel:null!=(e=t?.[0].length)?e:0,prevIndentLevel:this.indentationStack.at(-1),match:t}}createIndentationTokenInstance(e,t,i,n){t=this.getLineNumber(t,n);return sre(e,i,n,n+i.length,t,t,1,i.length)}getLineNumber(e,t){return e.substring(0,t).split(/\r\n|\r|\n/).length}indentMatcher(e,t,i,n){return!this.isStartOfLine(e,t)||({currIndentLevel:e,prevIndentLevel:t,match:i}=this.matchWhitespace(e,t,i,n),e<=t)?null:(this.indentationStack.push(e),i)}dedentMatcher(t,i,n,e){if(this.isStartOfLine(t,i)){var{currIndentLevel:e,prevIndentLevel:r,match:s}=this.matchWhitespace(t,i,n,e);if(!(r<=e)){r=this.indentationStack.lastIndexOf(e);if(-1===r)this.diagnostics.push({severity:"error",message:`Invalid dedent level ${e} at offset: ${i}. Current indentation stack: `+this.indentationStack,offset:i,length:null!=(s=null==(e=s?.[0])?void 0:e.length)?s:0,line:this.getLineNumber(t,i),column:1});else{var a=this.indentationStack.length-r-1,o=null!=(s=null==(e=t.substring(0,i).match(/[\r\n]+$/))?void 0:e[0].length)?s:1;for(let e=0;e<a;e++){var l=this.createIndentationTokenInstance(this.dedentTokenType,t,"",i-(o-1));n.push(l),this.indentationStack.pop()}}}}return null}buildTerminalToken(e){var e=super.buildTerminalToken(e),{indentTokenName:t,dedentTokenName:i,whitespaceTokenName:n}=this.options;return e.name===t?this.indentTokenType:e.name===i?this.dedentTokenType:e.name===n?nre({name:n,pattern:this.whitespaceRegExp,group:Zne.SKIPPED}):e}flushRemainingDedents(e){for(var t=[];1<this.indentationStack.length;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}},Cpe=class extends Tde{static{mt(this,"IndentationAwareLexer")}constructor(e){if(super(e),!(e.parser.TokenBuilder instanceof Spe))throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder");this.indentationTokenBuilder=e.parser.TokenBuilder}tokenize(e,t=kde){var i=super.tokenize(e),e=i.report,{indentTokenType:t,dedentTokenType:e}=("full"===t?.mode&&i.tokens.push(...e.remainingDedents),e.remainingDedents=[],this.indentationTokenBuilder),n=t.tokenTypeIdx,r=e.tokenTypeIdx,s=[],a=i.tokens.length-1;for(let e=0;e<a;e++){var o=i.tokens[e],l=i.tokens[e+1];o.tokenTypeIdx===n&&l.tokenTypeIdx===r?e++:s.push(o)}return 0<=a&&s.push(i.tokens[a]),i.tokens=s,i}}}),Npe=e(()=>{}),Dpe=e(()=>{"use strict";lpe(),_he(),Xce(),Ipe(),Mhe(),ahe(),Sde(),She(),Npe(),Ihe(),Nhe()}),Ope=e(()=>{"use strict";mue(),Mue(),Iue(),Oue(),Due(),Bue()}),Ppe=e(()=>{"use strict";hpe(),Hue()}),Bpe=e(()=>{"use strict";_pe=class{static{mt(this,"EmptyFileSystemProvider")}readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}},Ape={fileSystemProvider:mt(()=>new _pe,"fileSystemProvider")}});function Fpe(){var e=gpe(dpe(Ape),Upe),t=gpe(upe({shared:e}),zpe);return e.ServiceRegistry.register(t),t}function jpe(e){var t=Fpe(),e=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(e,rue.parse(`memory://${null!=(t=e.name)?t:"grammar"}.langium`)),e}var zpe,Upe,Hpe=e(()=>{"use strict";ppe(),Epe(),iee(),Bpe(),gue(),zpe={Grammar:mt(()=>{},"Grammar"),LanguageMetaData:mt(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},Upe={AstReflection:mt(()=>new eee,"AstReflection")},mt(Fpe,"createMinimalGrammarServices"),mt(jpe,"loadGrammarFromJson")}),qpe={},Wpe=(G(qpe,{AstUtils:()=>nee,BiMap:()=>wue,Cancellation:()=>Fhe,ContextCache:()=>Eue,CstUtils:()=>jZ,DONE_RESULT:()=>OZ,Deferred:()=>Xhe,Disposable:()=>rde,DisposableCache:()=>_ue,DocumentCache:()=>$ue,EMPTY_STREAM:()=>DZ,ErrorWithLocation:()=>hQ,GrammarUtils:()=>Qee,MultiMap:()=>xue,OperationCancelled:()=>Yhe,Reduction:()=>BZ,RegExpUtils:()=>Bee,SimpleCache:()=>Aue,StreamImpl:()=>NZ,TreeStreamImpl:()=>PZ,URI:()=>rue,UriUtils:()=>aue,WorkspaceCache:()=>Lue,assertUnreachable:()=>cQ,delayNextTick:()=>zhe,interruptAndCheck:()=>Whe,isOperationCancelled:()=>qhe,loadGrammarFromJson:()=>jpe,setInterruptionPeriod:()=>Hhe,startCancelableOperation:()=>Uhe,stream:()=>IZ}),e(()=>{"use strict";Pue(),dde(),te(qpe,ude),Nue(),gde(),uQ(),Hpe(),Khe(),FZ(),gue(),bee(),jhe(),lQ(),Pte(),Zee()})),Gpe=e(()=>{"use strict";lde(),Yue()}),Vpe=e(()=>{"use strict";cde(),hde(),pde(),fde(),fue(),Bpe(),mde(),cpe(),yde()}),Ype={},Xpe=(G(Ype,{AbstractAstReflection:()=>$Z,AbstractCstNode:()=>zce,AbstractLangiumParser:()=>Jce,AbstractParserErrorMessageProvider:()=>the,AbstractThreadedAsyncParser:()=>tpe,AstUtils:()=>nee,BiMap:()=>wue,Cancellation:()=>Fhe,CompositeCstNodeImpl:()=>Hce,ContextCache:()=>Eue,CstNodeBuilder:()=>jce,CstUtils:()=>jZ,DEFAULT_TOKENIZE_OPTIONS:()=>kde,DONE_RESULT:()=>OZ,DatatypeSymbol:()=>Zce,DefaultAstNodeDescriptionProvider:()=>ede,DefaultAstNodeLocator:()=>ide,DefaultAsyncParser:()=>epe,DefaultCommentProvider:()=>Jde,DefaultConfigu Line truncated
`):void 0:void 0}},c0e=class extends l0e{static{mt(this,"CommonValueConverter")}static{a(this,"CommonValueConverter")}runCustomConverter(e,t,i){}},h0e=class extends $he{static{mt(this,"AbstractMermaidTokenBuilder")}static{a(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,i){e=super.buildKeywordTokens(e,t,i);return e.forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=new RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),e}},class extends h0e{static{mt(this,"CommonTokenBuilder")}static{a(this,"CommonTokenBuilder")}}});function d0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),r0e,g0e);return e.ServiceRegistry.register(t),{shared:e,GitGraph:t}}var p0e,g0e,f0e=e(()=>{"use strict";u0e(),Xpe(),p0e=class extends h0e{static{mt(this,"GitGraphTokenBuilder")}static{a(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},g0e={parser:{TokenBuilder:a(()=>new p0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(d0e,"createGitGraphServices"),a(d0e,"createGitGraphServices")});function m0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),e0e,b0e);return e.ServiceRegistry.register(t),{shared:e,Info:t}}var y0e,b0e,v0e=e(()=>{"use strict";u0e(),Xpe(),y0e=class extends h0e{static{mt(this,"InfoTokenBuilder")}static{a(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},b0e={parser:{TokenBuilder:a(()=>new y0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(m0e,"createInfoServices"),a(m0e,"createInfoServices")});function x0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),t0e,k0e);return e.ServiceRegistry.register(t),{shared:e,Packet:t}}var w0e,k0e,T0e=e(()=>{"use strict";u0e(),Xpe(),w0e=class extends h0e{static{mt(this,"PacketTokenBuilder")}static{a(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},k0e={parser:{TokenBuilder:a(()=>new w0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(x0e,"createPacketServices"),a(x0e,"createPacketServices")});function S0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),i0e,A0e);return e.ServiceRegistry.register(t),{shared:e,Pie:t}}var C0e,_0e,A0e,E0e=e(()=>{"use strict";u0e(),Xpe(),C0e=class extends h0e{static{mt(this,"PieTokenBuilder")}static{a(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},_0e=class extends l0e{static{mt(this,"PieValueConverter")}static{a(this,"PieValueConverter")}runCustomConverter(e,t,i){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},A0e={parser:{TokenBuilder:a(()=>new C0e,"TokenBuilder"),ValueConverter:a(()=>new _0e,"ValueConverter")}},mt(S0e,"createPieServices"),a(S0e,"createPieServices")});function $0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),n0e,M0e);return e.ServiceRegistry.register(t),{shared:e,Architecture:t}}var L0e,R0e,M0e,I0e=e(()=>{"use strict";u0e(),Xpe(),L0e=class extends h0e{static{mt(this,"ArchitectureTokenBuilder")}static{a(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},R0e=class extends l0e{static{mt(this,"ArchitectureValueConverter")}static{a(this,"ArchitectureValueConverter")}runCustomConverter(e,t,i){return"ARCH_ICON"===e.name?t.replace(/[()]/g,"").trim():"ARCH_TEXT_ICON"===e.name?t.replace(/["()]/g,""):"ARCH_TITLE"===e.name?t.replace(/[[\]]/g,"").trim():void 0}},M0e={parser:{TokenBuilder:a(()=>new L0e,"TokenBuilder"),ValueConverter:a(()=>new R0e,"ValueConverter")}},mt($0e,"createArchitectureServices"),a($0e,"createArchitectureServices")});function N0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),s0e,O0e);return e.ServiceRegistry.register(t),{shared:e,Radar:t}}var D0e,O0e,P0e=e(()=>{"use strict";u0e(),Xpe(),D0e=class extends h0e{static{mt(this,"RadarTokenBuilder")}static{a(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},O0e={parser:{TokenBuilder:a(()=>new D0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(N0e,"createRadarServices"),a(N0e,"createRadarServices")});function B0e(e){var t,i=e.validation.TreemapValidator,e=e.validation.ValidationRegistry;e&&(t={Treemap:i.checkSingleRoot.bind(i)},e.register(t,i))}function F0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),a0e,q0e);return e.ServiceRegistry.register(t),B0e(t),{shared:e,Treemap:t}}var j0e,z0e,H0e,U0e,q0e,W0e=e(()=>{"use strict";u0e(),Xpe(),j0e=class extends h0e{static{mt(this,"TreemapTokenBuilder")}static{a(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},z0e=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,H0e=class extends l0e{static{mt(this,"TreemapValueConverter")}static{a(this,"TreemapValueConverter")}runCustomConverter(e,t,i){return"NUMBER2"===e.name?parseFloat(t.replace(/,/g,"")):"SEPARATOR"===e.name||"STRING2"===e.name?t.substring(1,t.length-1):"INDENTATION"===e.name?t.length:"ClassDef"===e.name?"string"!=typeof t?t:(e=z0e.exec(t))?{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}:void 0:void 0}},mt(B0e,"registerValidationChecks"),a(B0e,"registerValidatio Line truncated `):void 0:void 0}},c0e=class extends l0e{static{mt(this,"CommonValueConverter")}static{a(this,"CommonValueConverter")}runCustomConverter(e,t,i){}},h0e=class extends $he{static{mt(this,"AbstractMermaidTokenBuilder")}static{a(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,i){e=super.buildKeywordTokens(e,t,i);return e.forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=new RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),e}},class extends h0e{static{mt(this,"CommonTokenBuilder")}static{a(this,"CommonTokenBuilder")}}});function d0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),r0e,g0e);return e.ServiceRegistry.register(t),{shared:e,GitGraph:t}}var p0e,g0e,f0e=e(()=>{"use strict";u0e(),Xpe(),p0e=class extends h0e{static{mt(this,"GitGraphTokenBuilder")}static{a(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},g0e={parser:{TokenBuilder:a(()=>new p0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(d0e,"createGitGraphServices"),a(d0e,"createGitGraphServices")});function m0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),e0e,b0e);return e.ServiceRegistry.register(t),{shared:e,Info:t}}var y0e,b0e,v0e=e(()=>{"use strict";u0e(),Xpe(),y0e=class extends h0e{static{mt(this,"InfoTokenBuilder")}static{a(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},b0e={parser:{TokenBuilder:a(()=>new y0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(m0e,"createInfoServices"),a(m0e,"createInfoServices")});function x0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),t0e,k0e);return e.ServiceRegistry.register(t),{shared:e,Packet:t}}var w0e,k0e,T0e=e(()=>{"use strict";u0e(),Xpe(),w0e=class extends h0e{static{mt(this,"PacketTokenBuilder")}static{a(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},k0e={parser:{TokenBuilder:a(()=>new w0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(x0e,"createPacketServices"),a(x0e,"createPacketServices")});function S0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),i0e,A0e);return e.ServiceRegistry.register(t),{shared:e,Pie:t}}var C0e,_0e,A0e,E0e=e(()=>{"use strict";u0e(),Xpe(),C0e=class extends h0e{static{mt(this,"PieTokenBuilder")}static{a(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},_0e=class extends l0e{static{mt(this,"PieValueConverter")}static{a(this,"PieValueConverter")}runCustomConverter(e,t,i){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},A0e={parser:{TokenBuilder:a(()=>new C0e,"TokenBuilder"),ValueConverter:a(()=>new _0e,"ValueConverter")}},mt(S0e,"createPieServices"),a(S0e,"createPieServices")});function $0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),n0e,M0e);return e.ServiceRegistry.register(t),{shared:e,Architecture:t}}var L0e,R0e,M0e,I0e=e(()=>{"use strict";u0e(),Xpe(),L0e=class extends h0e{static{mt(this,"ArchitectureTokenBuilder")}static{a(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},R0e=class extends l0e{static{mt(this,"ArchitectureValueConverter")}static{a(this,"ArchitectureValueConverter")}runCustomConverter(e,t,i){return"ARCH_ICON"===e.name?t.replace(/[()]/g,"").trim():"ARCH_TEXT_ICON"===e.name?t.replace(/["()]/g,""):"ARCH_TITLE"===e.name?t.replace(/[[\]]/g,"").trim():void 0}},M0e={parser:{TokenBuilder:a(()=>new L0e,"TokenBuilder"),ValueConverter:a(()=>new R0e,"ValueConverter")}},mt($0e,"createArchitectureServices"),a($0e,"createArchitectureServices")});function N0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),s0e,O0e);return e.ServiceRegistry.register(t),{shared:e,Radar:t}}var D0e,O0e,P0e=e(()=>{"use strict";u0e(),Xpe(),D0e=class extends h0e{static{mt(this,"RadarTokenBuilder")}static{a(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},O0e={parser:{TokenBuilder:a(()=>new D0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(N0e,"createRadarServices"),a(N0e,"createRadarServices")});function B0e(e){var t,i=e.validation.TreemapValidator,e=e.validation.ValidationRegistry;e&&(t={Treemap:i.checkSingleRoot.bind(i)},e.register(t,i))}function F0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),a0e,q0e);return e.ServiceRegistry.register(t),B0e(t),{shared:e,Treemap:t}}var j0e,z0e,U0e,H0e,q0e,W0e=e(()=>{"use strict";u0e(),Xpe(),j0e=class extends h0e{static{mt(this,"TreemapTokenBuilder")}static{a(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},z0e=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,U0e=class extends l0e{static{mt(this,"TreemapValueConverter")}static{a(this,"TreemapValueConverter")}runCustomConverter(e,t,i){return"NUMBER2"===e.name?parseFloat(t.replace(/,/g,"")):"SEPARATOR"===e.name||"STRING2"===e.name?t.substring(1,t.length-1):"INDENTATION"===e.name?t.length:"ClassDef"===e.name?"string"!=typeof t?t:(e=z0e.exec(t))?{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}:void 0:void 0}},mt(B0e,"registerValidationChecks"),a(B0e,"registerValidatio Line truncated
`)} `+e.parserErrors.map(e=>e.message).join(` `)} `+e.parserErrors.map(e=>e.message).join(`
`)),this.result=e}static{a(this,"MermaidParseError")}}});function ufe(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}var dfe,pfe,gfe=e(()=>{"use strict";mt(ufe,"populateCommonDb")}),ffe=e(()=>{"use strict";dfe={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}}),mfe=e(()=>{"use strict";pfe=class{constructor(e){this.init=e,this.records=this.init()}static{mt(this,"ImperativeState")}reset(){this.records=this.init()}}});function yfe(){return qC({length:7})}function bfe(e,n){let r=Object.create(null);return e.reduce((e,t)=>{var i=n(t);return r[i]||(r[i]=!0,e.push(t)),e},[])}function vfe(e,t,i){t=e.indexOf(t);-1===t?e.push(i):e.splice(t,1,i)}function xfe(e){let t=e.reduce((e,t)=>e.seq>t.seq?e:t,e[0]),i="";e.forEach(function(e){e===t?i+="\t*":i+="\t|"});var n,r=[i,t.id,t.seq];for(n in x.records.branches)x.records.branches.get(n)===t.id&&r.push(n);if(I.debug(r.join(" ")),t.parents&&2==t.parents.length&&t.parents[0]&&t.parents[1]){var s=x.records.commits.get(t.parents[0]);vfe(e,t,s),t.parents[1]&&e.push(x.records.commits.get(t.parents[1]))}else{if(0==t.parents.length)return;t.parents[0]&&(s=x.records.commits.get(t.parents[0]),vfe(e,t,s))}xfe(e=bfe(e,e=>e.id))}var wfe,kfe,x,Tfe,Sfe,Cfe,_fe,Afe,Efe,$fe,Lfe,Rfe,Mfe,Ife,Nfe,Dfe,Ofe,Pfe,Bfe,Ffe,jfe,zfe,Hfe,Ufe,qfe,Wfe,Gfe,Vfe,Yfe,Xfe,Kfe,Zfe,Qfe,Jfe,eme,tme,ime,nme,rme,sme,ame,ome,lme,cme,hme,ume,dme,pme,gme,fme,mme,yme,bme,vme,xme,wme,kme,Tme,Sme,Cme,_me,Ame,Eme=e(()=>{"use strict";t(),s_(),Mn(),hh(),Cu(),ffe(),mfe(),Ln(),wfe=vi.gitGraph,kfe=mt(()=>EC({...wfe,...Ii().gitGraph}),"getConfig"),x=new pfe(()=>{var e=kfe(),t=e.mainBranchName,e=e.mainBranchOrder;return{mainBranchName:t,commits:new Map,head:null,branchConfig:new Map([[t,{name:t,order:e}]]),branches:new Map([[t,null]]),currBranch:t,direction:"LR",seq:0,options:{}}}),mt(yfe,"getID"),mt(bfe,"uniqBy"),Tfe=mt(function(e){x.records.direction=e},"setDirection"),Sfe=mt(function(e){I.debug("options str",e),e=(e=e?.trim())||"{}";try{x.records.options=JSON.parse(e)}catch(e){I.error("error while parsing gitGraph options",e.message)}},"setOptions"),Cfe=mt(function(){return x.records.options},"getOptions"),_fe=mt(function(e){let t=e.msg,i=e.id,n=e.type,r=e.tags,s=(I.info("commit",t,i,n,r),I.debug("Entering commit:",t,i,n,r),kfe());i=$.sanitizeText(i,s),t=$.sanitizeText(t,s),r=r?.map(e=>$.sanitizeText(e,s));e={id:i||x.records.seq+"-"+yfe(),message:t,seq:x.records.seq++,type:n??dfe.NORMAL,tags:r??[],parents:null==x.records.head?[]:[x.records.head.id],branch:x.records.currBranch};x.records.head=e,I.info("main branch",s.mainBranchName),x.records.commits.has(e.id)&&I.warn(`Commit ID ${e.id} already exists`),x.records.commits.set(e.id,e),x.records.branches.set(x.records.currBranch,e.id),I.debug("in pushCommit "+e.id)},"commit"),Afe=mt(function(e){var t=e.name,e=e.order,t=$.sanitizeText(t,kfe());if(x.records.branches.has(t))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${t}")`);x.records.branches.set(t,null!=x.records.head?x.records.head.id:null),x.records.branchConfig.set(t,{name:t,order:e}),Lfe(t),I.debug("in createBranch")},"branch"),Efe=mt(e=>{let t=e.branch,i=e.id,n=e.type,r=e.tags,s=kfe();t=$.sanitizeText(t,s),i=i&&$.sanitizeText(i,s);var e=x.records.branches.get(x.records.currBranch),a=x.records.branches.get(t),e=e?x.records.commits.get(e):void 0,o=a?x.records.commits.get(a):void 0;if(e&&o&&e.branch===t)throw new Error(`Cannot merge branch '${t}' into itself.`);if(x.records.currBranch===t)throw(l=new Error('Incorrect usage of "merge". Cannot merge a branch to itself')).hash={text:"merge "+t,token:"merge "+t,expected:["branch abc"]},l;if(void 0===e||!e)throw(l=new Error(`Incorrect usage of "merge". Current branch (${x.records.currBranch})has no commits`)).hash={text:"merge "+t,token:"merge "+t,expected:["commit"]},l;if(!x.records.branches.has(t))throw(l=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") does not exist")).hash={text:"merge "+t,token:"merge "+t,expected:["branch "+t]},l;if(void 0===o||!o)throw(l=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") has no commits")).hash={text:"merge "+t,token:"merge "+t,expected:['"commit"']},l;if(e===o)throw(l=new Error('Incorrect usage of "merge". Both branches have same head')).hash={text:"merge "+t,token:"merge "+t,expected:["branch abc"]},l;if(i&&x.records.commits.has(i))throw(e=new Error('Incorrect usage of "merge". Commit with id:'+i+" already exists, use different custom id")).hash={text:`merge ${t} ${i} ${n} `+r?.join(" "),token:`merge ${t} ${i} ${n} `+r?.join(" "),expected:[`merge ${t} ${i}_UNIQUE ${n} `+r?.join(" ")]},e;var o=a||"",l={id:i||x.records.seq+"-"+yfe(),message:`merged branch ${t} into `+x.records.currBranch,seq:x.records.seq++,parents:null==x.records.head?[]:[x.records.head.id,o],branch:x.records.currBranch,type:dfe.MERGE,customType:n,customId:!!i,ta Line truncated `)),this.result=e}static{a(this,"MermaidParseError")}}});function ufe(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}var dfe,pfe,gfe=e(()=>{"use strict";mt(ufe,"populateCommonDb")}),ffe=e(()=>{"use strict";dfe={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}}),mfe=e(()=>{"use strict";pfe=class{constructor(e){this.init=e,this.records=this.init()}static{mt(this,"ImperativeState")}reset(){this.records=this.init()}}});function yfe(){return qC({length:7})}function bfe(e,n){let r=Object.create(null);return e.reduce((e,t)=>{var i=n(t);return r[i]||(r[i]=!0,e.push(t)),e},[])}function vfe(e,t,i){t=e.indexOf(t);-1===t?e.push(i):e.splice(t,1,i)}function xfe(e){let t=e.reduce((e,t)=>e.seq>t.seq?e:t,e[0]),i="";e.forEach(function(e){e===t?i+="\t*":i+="\t|"});var n,r=[i,t.id,t.seq];for(n in x.records.branches)x.records.branches.get(n)===t.id&&r.push(n);if(I.debug(r.join(" ")),t.parents&&2==t.parents.length&&t.parents[0]&&t.parents[1]){var s=x.records.commits.get(t.parents[0]);vfe(e,t,s),t.parents[1]&&e.push(x.records.commits.get(t.parents[1]))}else{if(0==t.parents.length)return;t.parents[0]&&(s=x.records.commits.get(t.parents[0]),vfe(e,t,s))}xfe(e=bfe(e,e=>e.id))}var wfe,kfe,x,Tfe,Sfe,Cfe,_fe,Afe,Efe,$fe,Lfe,Rfe,Mfe,Ife,Nfe,Dfe,Ofe,Pfe,Bfe,Ffe,jfe,zfe,Ufe,Hfe,qfe,Wfe,Gfe,Vfe,Yfe,Xfe,Kfe,Zfe,Qfe,Jfe,eme,tme,ime,nme,rme,sme,ame,ome,lme,cme,hme,ume,dme,pme,gme,fme,mme,yme,bme,vme,xme,wme,kme,Tme,Sme,Cme,_me,Ame,Eme=e(()=>{"use strict";t(),s_(),Mn(),hh(),Cu(),ffe(),mfe(),Ln(),wfe=vi.gitGraph,kfe=mt(()=>EC({...wfe,...Ii().gitGraph}),"getConfig"),x=new pfe(()=>{var e=kfe(),t=e.mainBranchName,e=e.mainBranchOrder;return{mainBranchName:t,commits:new Map,head:null,branchConfig:new Map([[t,{name:t,order:e}]]),branches:new Map([[t,null]]),currBranch:t,direction:"LR",seq:0,options:{}}}),mt(yfe,"getID"),mt(bfe,"uniqBy"),Tfe=mt(function(e){x.records.direction=e},"setDirection"),Sfe=mt(function(e){I.debug("options str",e),e=(e=e?.trim())||"{}";try{x.records.options=JSON.parse(e)}catch(e){I.error("error while parsing gitGraph options",e.message)}},"setOptions"),Cfe=mt(function(){return x.records.options},"getOptions"),_fe=mt(function(e){let t=e.msg,i=e.id,n=e.type,r=e.tags,s=(I.info("commit",t,i,n,r),I.debug("Entering commit:",t,i,n,r),kfe());i=$.sanitizeText(i,s),t=$.sanitizeText(t,s),r=r?.map(e=>$.sanitizeText(e,s));e={id:i||x.records.seq+"-"+yfe(),message:t,seq:x.records.seq++,type:n??dfe.NORMAL,tags:r??[],parents:null==x.records.head?[]:[x.records.head.id],branch:x.records.currBranch};x.records.head=e,I.info("main branch",s.mainBranchName),x.records.commits.has(e.id)&&I.warn(`Commit ID ${e.id} already exists`),x.records.commits.set(e.id,e),x.records.branches.set(x.records.currBranch,e.id),I.debug("in pushCommit "+e.id)},"commit"),Afe=mt(function(e){var t=e.name,e=e.order,t=$.sanitizeText(t,kfe());if(x.records.branches.has(t))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${t}")`);x.records.branches.set(t,null!=x.records.head?x.records.head.id:null),x.records.branchConfig.set(t,{name:t,order:e}),Lfe(t),I.debug("in createBranch")},"branch"),Efe=mt(e=>{let t=e.branch,i=e.id,n=e.type,r=e.tags,s=kfe();t=$.sanitizeText(t,s),i=i&&$.sanitizeText(i,s);var e=x.records.branches.get(x.records.currBranch),a=x.records.branches.get(t),e=e?x.records.commits.get(e):void 0,o=a?x.records.commits.get(a):void 0;if(e&&o&&e.branch===t)throw new Error(`Cannot merge branch '${t}' into itself.`);if(x.records.currBranch===t)throw(l=new Error('Incorrect usage of "merge". Cannot merge a branch to itself')).hash={text:"merge "+t,token:"merge "+t,expected:["branch abc"]},l;if(void 0===e||!e)throw(l=new Error(`Incorrect usage of "merge". Current branch (${x.records.currBranch})has no commits`)).hash={text:"merge "+t,token:"merge "+t,expected:["commit"]},l;if(!x.records.branches.has(t))throw(l=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") does not exist")).hash={text:"merge "+t,token:"merge "+t,expected:["branch "+t]},l;if(void 0===o||!o)throw(l=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") has no commits")).hash={text:"merge "+t,token:"merge "+t,expected:['"commit"']},l;if(e===o)throw(l=new Error('Incorrect usage of "merge". Both branches have same head')).hash={text:"merge "+t,token:"merge "+t,expected:["branch abc"]},l;if(i&&x.records.commits.has(i))throw(e=new Error('Incorrect usage of "merge". Commit with id:'+i+" already exists, use different custom id")).hash={text:`merge ${t} ${i} ${n} `+r?.join(" "),token:`merge ${t} ${i} ${n} `+r?.join(" "),expected:[`merge ${t} ${i}_UNIQUE ${n} `+r?.join(" ")]},e;var o=a||"",l={id:i||x.records.seq+"-"+yfe(),message:`merged branch ${t} into `+x.records.currBranch,seq:x.records.seq++,parents:null==x.records.head?[]:[x.records.head.id,o],branch:x.records.currBranch,type:dfe.MERGE,customType:n,customId:!!i,ta Line truncated
${o-t/2-2},${2+y} ${o-t/2-2},${2+y}
${o-t/2-2},${y-2} ${o-t/2-2},${y-2}
${a.posWithOffset-t/2-4},${y-m-2} ${a.posWithOffset-t/2-4},${y-m-2}
@@ -902,7 +902,7 @@ For Further details.`}function Xoe(e){if(e instanceof eie)return"SUBRULE";if(e i
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:break;case 11:return 10;case 12:case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}},n.lexer=r,mt(e,"Parser"),(Nme=new((e.prototype=n).Parser=e)).parser=Nme,Dme=Nme}),Bme=W((e,t)=>{"use strict";var i;i=function(){return function(e,t,r){var s=mt(function(e){return e.add(4-e.isoWeekday(),"day")},"a"),t=t.prototype,a=(t.isoWeekYear=function(){return s(this).year()},t.isoWeek=function(e){var t,i,n;return this.$utils().u(e)?(i=s(this),n=this.isoWeekYear(),t=4-(n=(this.$u?r.utc:r)().year(n).startOf("year")).isoWeekday(),4<n.isoWeekday()&&(t+=7),n=n.add(t,"day"),i.diff(n,"week")+1):this.add(7*(e-this.isoWeek()),"day")},t.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)},t.startOf);t.startOf=function(e,t){var i=this.$utils(),n=!!i.u(t)||t;return"isoweek"===i.p(e)?n?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):a.bind(this)(e,t)}}},"object"==typeof(e=e)&&typeof t<"u"?t.exports=i():"function"==typeof define&&define.amd?define(i):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_isoWeek=i()}),Fme=W((e,t)=>{"use strict";var i;i=function(){var o={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},l=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|w Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:break;case 11:return 10;case 12:case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}},n.lexer=r,mt(e,"Parser"),(Nme=new((e.prototype=n).Parser=e)).parser=Nme,Dme=Nme}),Bme=W((e,t)=>{"use strict";var i;i=function(){return function(e,t,r){var s=mt(function(e){return e.add(4-e.isoWeekday(),"day")},"a"),t=t.prototype,a=(t.isoWeekYear=function(){return s(this).year()},t.isoWeek=function(e){var t,i,n;return this.$utils().u(e)?(i=s(this),n=this.isoWeekYear(),t=4-(n=(this.$u?r.utc:r)().year(n).startOf("year")).isoWeekday(),4<n.isoWeekday()&&(t+=7),n=n.add(t,"day"),i.diff(n,"week")+1):this.add(7*(e-this.isoWeek()),"day")},t.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)},t.startOf);t.startOf=function(e,t){var i=this.$utils(),n=!!i.u(t)||t;return"isoweek"===i.p(e)?n?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):a.bind(this)(e,t)}}},"object"==typeof(e=e)&&typeof t<"u"?t.exports=i():"function"==typeof define&&define.amd?define(i):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_isoWeek=i()}),Fme=W((e,t)=>{"use strict";var i;i=function(){var o={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},l=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|w Line truncated
.mermaid-main-font { .mermaid-main-font {
font-family: ${e.fontFamily}; font-family: ${e.fontFamily};
} }
@@ -1164,7 +1164,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
font-family: ${e.fontFamily}; font-family: ${e.fontFamily};
} }
`,"getStyles"),gye=pye}),bye={};G(bye,{diagram:()=>vye});var vye,xye,wye,kye,Tye,Sye,Cye,_ye,Aye,Eye=e(()=>{"use strict";Pme(),fye(),mye(),yye(),vye={parser:Dme,db:sye,renderer:dye,styles:gye}}),$ye=e(()=>{"use strict";hfe(),t(),xye={parse:mt(async e=>{e=await afe("info",e);I.debug(e)},"parse")}}),Lye=e(()=>{wye={name:"mermaid",version:"11.9.0",description:"Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",type:"module",module:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts",exports:{".":{types:"./dist/mermaid.d.ts",import:"./dist/mermaid.core.mjs",default:"./dist/mermaid.core.mjs"},"./*":"./*"},keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph","mindmap","packet diagram","c4 diagram","er diagram","pie chart","pie diagram","quadrant chart","requirement diagram","graph"],scripts:{clean:"rimraf dist",dev:"pnpm -w dev","docs:code":"typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup","docs:build":"rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts","docs:verify":"pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify","docs:pre:vitepress":"pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts","docs:build:vitepress":"pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing","docs:dev":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:dev:docker":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:serve":"pnpm docs:build:vitepress && vitepress serve src/vitepress","docs:spellcheck":'cspell "src/docs/**/*.md"',"docs:release-version":"tsx scripts/update-release-version.mts","docs:verify-version":"tsx scripts/update-release-version.mts --verify","types:build-config":"tsx scripts/create-types-from-json-schema.mts","types:verify-config":"tsx scripts/create-types-from-json-schema.mts --verify",checkCircle:"npx madge --circular ./src",prepublishOnly:"pnpm docs:verify-version"},repository:{type:"git",url:"https://github.com/mermaid-js/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],globals:["page"]},dependencies:{"@braintree/sanitize-url":"^7.0.4","@iconify/utils":"^2.1.33","@mermaid-js/parser":"workspace:^","@types/d3":"^7.4.3",cytoscape:"^3.29.3","cytoscape-cose-bilkent":"^4.1.0","cytoscape-fcose":"^2.2.0",d3:"^7.9.0","d3-sankey":"^0.12.3","dagre-d3-es":"7.0.11",dayjs:"^1.11.13",dompurify:"^3.2.5",katex:"^0.16.22",khroma:"^2.1.0","lodash-es":"^4.17.21",marked:"^16.0.0",roughjs:"^4.6.6",stylis:"^4.3.6","ts-dedent":"^2.2.0",uuid:"^11.1.0"},devDependencies:{"@adobe/jsonschema2md":"^8.0.2","@iconify/types":"^2.0.0","@types/cytoscape":"^3.21.9","@types/cytoscape-fcose":"^2.2.4","@types/d3-sankey":"^0.12.4","@types/d3-scale":"^4.0.9","@types/d3-scale-chromatic":"^3.1.0","@types/d3-selection":"^3.0.11","@types/d3-shape":"^3.1.7","@types/jsdom":"^21.1.7","@types/katex":"^0.16.7","@types/lodash-es":"^4.17.12","@types/micromatch":"^4.0.9","@types/stylis":"^4.2.7","@types/uuid":"^10.0.0",ajv:"^8.17.1",canvas:"^3.1.0",chokidar:"3.6.0",concurrently:"^9.1.2","csstree-validator":"^4.0.1",globby:"^14.0.2",jison:"^0.4.18","js-base64":"^3.7.7",jsdom:"^26.1.0","json-schema-to-typescript":"^15.0.4",micromatch:"^4.0.8","path-browserify":"^1.0.1",prettier:"^3.5.2",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1",rimraf:"^6.0.1","start-server-and-test":"^2.0.10","type-fest":"^4.35.0",typedoc:"^0.27.8","typedoc-plugin-markdown":"^4.4.2",typescript:"~5.7.3","unist-util-flatmap":"^1.0.0","unist-util-visit":"^5.0.0",vitepress:"^1.0.2","vitepress-plugin-search":"1.0.4-alpha.22"},files:["dist/","README.md"],publishConfig:{access:"public"}}}),Rye=e(()=>{"use strict";Lye(),kye={version:wye.version+""},Tye=mt(()=>kye.version,"getVersion"),Sye={getVersion:Tye}}),Mye=e(()=>{"use strict";a6(),_u(),Cye=mt(e=>{let t=N()["securityLevel"],i=V("body");var n;return"sandbox"===t&&(n=V("#i"+e).node()?.contentDocument??document,i=V(n.body)),i.select("#"+e)},"selectSvgElement")}),Iye=e(()=>{"use strict";t(),Mye(),uh(),_ye=mt((e,t,i)=>{I.debug(`rendering info diagram `,"getStyles"),gye=pye}),bye={};G(bye,{diagram:()=>vye});var vye,xye,wye,kye,Tye,Sye,Cye,_ye,Aye,Eye=e(()=>{"use strict";Pme(),fye(),mye(),yye(),vye={parser:Dme,db:sye,renderer:dye,styles:gye}}),$ye=e(()=>{"use strict";hfe(),t(),xye={parse:mt(async e=>{e=await afe("info",e);I.debug(e)},"parse")}}),Lye=e(()=>{wye={name:"mermaid",version:"11.9.0",description:"Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",type:"module",module:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts",exports:{".":{types:"./dist/mermaid.d.ts",import:"./dist/mermaid.core.mjs",default:"./dist/mermaid.core.mjs"},"./*":"./*"},keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph","mindmap","packet diagram","c4 diagram","er diagram","pie chart","pie diagram","quadrant chart","requirement diagram","graph"],scripts:{clean:"rimraf dist",dev:"pnpm -w dev","docs:code":"typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup","docs:build":"rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts","docs:verify":"pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify","docs:pre:vitepress":"pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts","docs:build:vitepress":"pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing","docs:dev":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:dev:docker":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:serve":"pnpm docs:build:vitepress && vitepress serve src/vitepress","docs:spellcheck":'cspell "src/docs/**/*.md"',"docs:release-version":"tsx scripts/update-release-version.mts","docs:verify-version":"tsx scripts/update-release-version.mts --verify","types:build-config":"tsx scripts/create-types-from-json-schema.mts","types:verify-config":"tsx scripts/create-types-from-json-schema.mts --verify",checkCircle:"npx madge --circular ./src",prepublishOnly:"pnpm docs:verify-version"},repository:{type:"git",url:"https://github.com/mermaid-js/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],globals:["page"]},dependencies:{"@braintree/sanitize-url":"^7.0.4","@iconify/utils":"^2.1.33","@mermaid-js/parser":"workspace:^","@types/d3":"^7.4.3",cytoscape:"^3.29.3","cytoscape-cose-bilkent":"^4.1.0","cytoscape-fcose":"^2.2.0",d3:"^7.9.0","d3-sankey":"^0.12.3","dagre-d3-es":"7.0.11",dayjs:"^1.11.13",dompurify:"^3.2.5",katex:"^0.16.22",khroma:"^2.1.0","lodash-es":"^4.17.21",marked:"^16.0.0",roughjs:"^4.6.6",stylis:"^4.3.6","ts-dedent":"^2.2.0",uuid:"^11.1.0"},devDependencies:{"@adobe/jsonschema2md":"^8.0.2","@iconify/types":"^2.0.0","@types/cytoscape":"^3.21.9","@types/cytoscape-fcose":"^2.2.4","@types/d3-sankey":"^0.12.4","@types/d3-scale":"^4.0.9","@types/d3-scale-chromatic":"^3.1.0","@types/d3-selection":"^3.0.11","@types/d3-shape":"^3.1.7","@types/jsdom":"^21.1.7","@types/katex":"^0.16.7","@types/lodash-es":"^4.17.12","@types/micromatch":"^4.0.9","@types/stylis":"^4.2.7","@types/uuid":"^10.0.0",ajv:"^8.17.1",canvas:"^3.1.0",chokidar:"3.6.0",concurrently:"^9.1.2","csstree-validator":"^4.0.1",globby:"^14.0.2",jison:"^0.4.18","js-base64":"^3.7.7",jsdom:"^26.1.0","json-schema-to-typescript":"^15.0.4",micromatch:"^4.0.8","path-browserify":"^1.0.1",prettier:"^3.5.2",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1",rimraf:"^6.0.1","start-server-and-test":"^2.0.10","type-fest":"^4.35.0",typedoc:"^0.27.8","typedoc-plugin-markdown":"^4.4.2",typescript:"~5.7.3","unist-util-flatmap":"^1.0.0","unist-util-visit":"^5.0.0",vitepress:"^1.0.2","vitepress-plugin-search":"1.0.4-alpha.22"},files:["dist/","README.md"],publishConfig:{access:"public"}}}),Rye=e(()=>{"use strict";Lye(),kye={version:wye.version+""},Tye=mt(()=>kye.version,"getVersion"),Sye={getVersion:Tye}}),Mye=e(()=>{"use strict";a6(),_u(),Cye=mt(e=>{let t=N()["securityLevel"],i=V("body");var n;return"sandbox"===t&&(n=V("#i"+e).node()?.contentDocument??document,i=V(n.body)),i.select("#"+e)},"selectSvgElement")}),Iye=e(()=>{"use strict";t(),Mye(),uh(),_ye=mt((e,t,i)=>{I.debug(`rendering info diagram
`+e);e=Cye(t);rh(e,100,400,!0),e.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text("v"+i)},"draw"),Aye={draw:_ye}}),Nye={};G(Nye,{diagram:()=>Dye});var Dye,Oye,Pye,Bye,Fye,jye,zye,Hye,Uye,qye,Wye,Gye,Vye,Yye,Xye,Kye,Zye,Qye,Jye,ebe=e(()=>{"use strict";$ye(),Rye(),Iye(),Dye={parser:xye,db:Sye,renderer:Aye}}),tbe=e(()=>{"use strict";t(),Cu(),Ln(),jye=vi.pie,Oye={sections:new Map,showData:!1,config:jye},Pye=Oye.sections,Bye=Oye.showData,Fye=structuredClone(jye),jye=mt(()=>structuredClone(Fye),"getConfig"),zye=mt(()=>{Pye=new Map,Bye=Oye.showData,bh()},"clear"),Hye=mt(({label:e,value:t})=>{Pye.has(e)||(Pye.set(e,t),I.debug(`added new section: ${e}, with value: `+t))},"addSection"),Uye=mt(()=>Pye,"getSections"),qye=mt(e=>{Bye=e},"setShowData"),Wye=mt(()=>Bye,"getShowData"),Gye={getConfig:jye,clear:zye,setDiagramTitle:Th,getDiagramTitle:Sh,setAccTitle:vh,getAccTitle:xh,setAccDescription:wh,getAccDescription:kh,addSection:Hye,getSections:Uye,setShowData:qye,getShowData:Wye}}),ibe=e(()=>{"use strict";hfe(),t(),gfe(),tbe(),Vye=mt((e,t)=>{ufe(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},"populateDb"),Yye={parse:mt(async e=>{e=await afe("pie",e);I.debug(e),Vye(e,Gye)},"parse")}}),nbe=e(()=>{"use strict";Xye=mt(e=>` `+e);e=Cye(t);rh(e,100,400,!0),e.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text("v"+i)},"draw"),Aye={draw:_ye}}),Nye={};G(Nye,{diagram:()=>Dye});var Dye,Oye,Pye,Bye,Fye,jye,zye,Uye,Hye,qye,Wye,Gye,Vye,Yye,Xye,Kye,Zye,Qye,Jye,ebe=e(()=>{"use strict";$ye(),Rye(),Iye(),Dye={parser:xye,db:Sye,renderer:Aye}}),tbe=e(()=>{"use strict";t(),Cu(),Ln(),jye=vi.pie,Oye={sections:new Map,showData:!1,config:jye},Pye=Oye.sections,Bye=Oye.showData,Fye=structuredClone(jye),jye=mt(()=>structuredClone(Fye),"getConfig"),zye=mt(()=>{Pye=new Map,Bye=Oye.showData,bh()},"clear"),Uye=mt(({label:e,value:t})=>{Pye.has(e)||(Pye.set(e,t),I.debug(`added new section: ${e}, with value: `+t))},"addSection"),Hye=mt(()=>Pye,"getSections"),qye=mt(e=>{Bye=e},"setShowData"),Wye=mt(()=>Bye,"getShowData"),Gye={getConfig:jye,clear:zye,setDiagramTitle:Th,getDiagramTitle:Sh,setAccTitle:vh,getAccTitle:xh,setAccDescription:wh,getAccDescription:kh,addSection:Uye,getSections:Hye,setShowData:qye,getShowData:Wye}}),ibe=e(()=>{"use strict";hfe(),t(),gfe(),tbe(),Vye=mt((e,t)=>{ufe(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},"populateDb"),Yye={parse:mt(async e=>{e=await afe("pie",e);I.debug(e),Vye(e,Gye)},"parse")}}),nbe=e(()=>{"use strict";Xye=mt(e=>`
.pieCircle{ .pieCircle{
stroke: ${e.pieStrokeColor}; stroke: ${e.pieStrokeColor};
stroke-width : ${e.pieStrokeWidth}; stroke-width : ${e.pieStrokeWidth};
@@ -1193,19 +1193,19 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
font-size: ${e.pieLegendTextSize}; font-size: ${e.pieLegendTextSize};
} }
`,"getStyles"),Kye=Xye}),rbe=e(()=>{"use strict";a6(),_u(),t(),Mye(),uh(),s_(),Zye=mt(e=>{e=[...e.entries()].map(e=>({label:e[0],value:e[1]})).sort((e,t)=>t.value-e.value);return h5().value(e=>e.value)(e)},"createPieArcs"),Qye=mt((e,t,i,n)=>{I.debug(`rendering pie chart `,"getStyles"),Kye=Xye}),rbe=e(()=>{"use strict";a6(),_u(),t(),Mye(),uh(),s_(),Zye=mt(e=>{e=[...e.entries()].map(e=>({label:e[0],value:e[1]})).sort((e,t)=>t.value-e.value);return h5().value(e=>e.value)(e)},"createPieArcs"),Qye=mt((e,t,i,n)=>{I.debug(`rendering pie chart
`+e);let r=n.db,s=N(),a=EC(r.getConfig(),s.pie),o=Cye(t),l=o.append("g");l.attr("transform","translate(225,225)");var e=s["themeVariables"],[n]=e_(e.pieOuterStrokeWidth);n??=2;let c=a.textPosition,h=Math.min(450,450)/2-40,u=Y3().innerRadius(0).outerRadius(h),d=Y3().innerRadius(h*c).outerRadius(h*c),p=(l.append("circle").attr("cx",0).attr("cy",0).attr("r",h+n/2).attr("class","pieOuterCircle"),r.getSections()),g=Zye(p),f=[e.pie1,e.pie2,e.pie3,e.pie4,e.pie5,e.pie6,e.pie7,e.pie8,e.pie9,e.pie10,e.pie11,e.pie12],m=v2(f),y=(l.selectAll("mySlices").data(g).enter().append("path").attr("d",u).attr("fill",e=>m(e.data.label)).attr("class","pieCircle"),0);p.forEach(e=>{y+=e}),l.selectAll("mySlices").data(g).enter().append("text").text(e=>(e.data.value/y*100).toFixed(0)+"%").attr("transform",e=>"translate("+d.centroid(e)+")").style("text-anchor","middle").attr("class","slice"),l.append("text").text(r.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");t=l.selectAll(".legend").data(m.domain()).enter().append("g").attr("class","legend").attr("transform",(e,t)=>{return"translate(216,"+(22*t-22*m.domain().length/2)+")"}),t.append("rect").attr("width",18).attr("height",18).style("fill",m).style("stroke",m),t.data(g).append("text").attr("x",22).attr("y",14).text(e=>{var{label:e,value:t}=e.data;return r.getShowData()?e+` [${t}]`:e}),n=Math.max(...t.selectAll("text").nodes().map(e=>e?.getBoundingClientRect().width??0)),e=512+n;o.attr("viewBox",`0 0 ${e} 450`),rh(o,450,e,a.useMaxWidth)},"draw"),Jye={draw:Qye}}),sbe={};G(sbe,{diagram:()=>abe});var abe,obe,lbe,cbe,hbe,ube=e(()=>{"use strict";ibe(),tbe(),nbe(),rbe(),abe={parser:Yye,db:Gye,renderer:Jye,styles:Kye}}),dbe=e(()=>{"use strict";function O(){this.yy={}}var e,t,i,n,r,s,a,P,o,B,l,c,h,u,d,p,F,j,z,H,U,q,W,G,V,Y,X,K,Z,g,f,m,y,b,v,x,w,k,T,Q,J,ee,te,ie,ne,re,se,ae,oe,le,ce,S,C,_,A,E,$,L,R,M,I,N,he,ue,D;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,3],i=[1,4],n=[1,5],r=[1,6],s=[1,7],a=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],P=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[55,56,57],B=[2,36],l=[1,37],c=[1,36],h=[1,38],u=[1,35],d=[1,43],p=[1,41],F=[1,14],j=[1,23],z=[1,18],H=[1,19],U=[1,20],q=[1,21],W=[1,22],G=[1,24],V=[1,25],Y=[1,26],X=[1,27],K=[1,28],Z=[1,29],g=[1,32],f=[1,33],m=[1,34],y=[1,39],b=[1,40],v=[1,42],x=[1,44],w=[1,62],k=[1,61],T=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],Q=[1,65],J=[1,66],ee=[1,67],te=[1,68],ie=[1,69],ne=[1,70],re=[1,71],se=[1,72],ae=[1,73],oe=[1,74],le=[1,75],ce=[1,76],S=[4,5,6,7,8,9,10,11,12,13,14,15,18],C=[1,90],_=[1,91],A=[1,92],E=[1,99],$=[1,93],L=[1,96],R=[1,94],M=[1,95],I=[1,97],N=[1,98],he=[1,102],ue=[10,55,56,57],D=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;s Line truncated `+e);let r=n.db,s=N(),a=EC(r.getConfig(),s.pie),o=Cye(t),l=o.append("g");l.attr("transform","translate(225,225)");var e=s["themeVariables"],[n]=e_(e.pieOuterStrokeWidth);n??=2;let c=a.textPosition,h=Math.min(450,450)/2-40,u=Y3().innerRadius(0).outerRadius(h),d=Y3().innerRadius(h*c).outerRadius(h*c),p=(l.append("circle").attr("cx",0).attr("cy",0).attr("r",h+n/2).attr("class","pieOuterCircle"),r.getSections()),g=Zye(p),f=[e.pie1,e.pie2,e.pie3,e.pie4,e.pie5,e.pie6,e.pie7,e.pie8,e.pie9,e.pie10,e.pie11,e.pie12],m=v2(f),y=(l.selectAll("mySlices").data(g).enter().append("path").attr("d",u).attr("fill",e=>m(e.data.label)).attr("class","pieCircle"),0);p.forEach(e=>{y+=e}),l.selectAll("mySlices").data(g).enter().append("text").text(e=>(e.data.value/y*100).toFixed(0)+"%").attr("transform",e=>"translate("+d.centroid(e)+")").style("text-anchor","middle").attr("class","slice"),l.append("text").text(r.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");t=l.selectAll(".legend").data(m.domain()).enter().append("g").attr("class","legend").attr("transform",(e,t)=>{return"translate(216,"+(22*t-22*m.domain().length/2)+")"}),t.append("rect").attr("width",18).attr("height",18).style("fill",m).style("stroke",m),t.data(g).append("text").attr("x",22).attr("y",14).text(e=>{var{label:e,value:t}=e.data;return r.getShowData()?e+` [${t}]`:e}),n=Math.max(...t.selectAll("text").nodes().map(e=>e?.getBoundingClientRect().width??0)),e=512+n;o.attr("viewBox",`0 0 ${e} 450`),rh(o,450,e,a.useMaxWidth)},"draw"),Jye={draw:Qye}}),sbe={};G(sbe,{diagram:()=>abe});var abe,obe,lbe,cbe,hbe,ube=e(()=>{"use strict";ibe(),tbe(),nbe(),rbe(),abe={parser:Yye,db:Gye,renderer:Jye,styles:Kye}}),dbe=e(()=>{"use strict";function O(){this.yy={}}var e,t,i,n,r,s,a,P,o,B,l,c,h,u,d,p,F,j,z,U,H,q,W,G,V,Y,X,K,Z,g,f,m,y,b,v,x,w,k,T,Q,J,ee,te,ie,ne,re,se,ae,oe,le,ce,S,C,_,A,E,$,L,R,M,I,N,he,ue,D;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,3],i=[1,4],n=[1,5],r=[1,6],s=[1,7],a=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],P=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[55,56,57],B=[2,36],l=[1,37],c=[1,36],h=[1,38],u=[1,35],d=[1,43],p=[1,41],F=[1,14],j=[1,23],z=[1,18],U=[1,19],H=[1,20],q=[1,21],W=[1,22],G=[1,24],V=[1,25],Y=[1,26],X=[1,27],K=[1,28],Z=[1,29],g=[1,32],f=[1,33],m=[1,34],y=[1,39],b=[1,40],v=[1,42],x=[1,44],w=[1,62],k=[1,61],T=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],Q=[1,65],J=[1,66],ee=[1,67],te=[1,68],ie=[1,69],ne=[1,70],re=[1,71],se=[1,72],ae=[1,73],oe=[1,74],le=[1,75],ce=[1,76],S=[4,5,6,7,8,9,10,11,12,13,14,15,18],C=[1,90],_=[1,91],A=[1,92],E=[1,99],$=[1,93],L=[1,96],R=[1,94],M=[1,95],I=[1,97],N=[1,98],he=[1,102],ue=[10,55,56,57],D=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;s Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}},t.lexer=i,mt(O,"Parser"),(obe=new((O.prototype=t).Parser=O)).parser=obe,lbe=obe}),pbe=e(()=>{"use strict";a6(),Ln(),t(),Cn(),cbe=ci(),hbe=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{mt(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:vi.quadrantChart?.chartWidth||500,chartWidth:vi.quadrantChart?.chartHeight||500,titlePadding:vi.quadrantChart?.titlePadding||10,titleFontSize:vi.quadrantChart?.titleFontSize||20,quadrantPadding:vi.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:vi.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:vi.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:vi.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:vi.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:vi.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:vi.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:vi.quadrantChart?.pointTextPadding||5,pointLabelFontSize:vi.quadrantChart?.pointLabelFontSize||12,pointRadius:vi.quadrantChart?.pointRadius||5,xAxisPosition:vi.Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}},t.lexer=i,mt(O,"Parser"),(obe=new((O.prototype=t).Parser=O)).parser=obe,lbe=obe}),pbe=e(()=>{"use strict";a6(),Ln(),t(),Cn(),cbe=ci(),hbe=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{mt(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:vi.quadrantChart?.chartWidth||500,chartWidth:vi.quadrantChart?.chartHeight||500,titlePadding:vi.quadrantChart?.titlePadding||10,titleFontSize:vi.quadrantChart?.titleFontSize||20,quadrantPadding:vi.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:vi.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:vi.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:vi.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:vi.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:vi.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:vi.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:vi.quadrantChart?.pointTextPadding||5,pointLabelFontSize:vi.quadrantChart?.pointLabelFontSize||12,pointRadius:vi.quadrantChart?.pointRadius||5,xAxisPosition:vi.Line truncated
`+e);let l=o.securityLevel,c;"sandbox"===l&&(c=V("#i"+t));var e=V("sandbox"===l?c.nodes()[0].contentDocument.body:"body").select(`[id="${t}"]`),t=e.append("g").attr("class","main"),h=o.quadrantChart?.chartWidth??500,u=o.quadrantChart?.chartHeight??500,o=(rh(e,u,h,o.quadrantChart?.useMaxWidth??!0),e.attr("viewBox","0 0 "+h+" "+u),n.db.setHeight(u),n.db.setWidth(h),n.db.getQuadrantData()),e=t.append("g").attr("class","quadrants"),u=t.append("g").attr("class","border"),h=t.append("g").attr("class","data-points"),n=t.append("g").attr("class","labels"),t=t.append("g").attr("class","title"),t=(o.title&&t.append("text").attr("x",0).attr("y",0).attr("fill",o.title.fill).attr("font-size",o.title.fontSize).attr("dominant-baseline",r(o.title.horizontalPos)).attr("text-anchor",s(o.title.verticalPos)).attr("transform",a(o.title)).text(o.title.text),o.borderLines&&u.selectAll("line").data(o.borderLines).enter().append("line").attr("x1",e=>e.x1).attr("y1",e=>e.y1).attr("x2",e=>e.x2).attr("y2",e=>e.y2).style("stroke",e=>e.strokeFill).style("stroke-width",e=>e.strokeWidth),e.selectAll("g.quadrant").data(o.quadrants).enter().append("g").attr("class","quadrant")),u=(t.append("rect").attr("x",e=>e.x).attr("y",e=>e.y).attr("width",e=>e.width).attr("height",e=>e.height).attr("fill",e=>e.fill),t.append("text").attr("x",0).attr("y",0).attr("fill",e=>e.text.fill).attr("font-size",e=>e.text.fontSize).attr("dominant-baseline",e=>r(e.text.horizontalPos)).attr("text-anchor",e=>s(e.text.verticalPos)).attr("transform",e=>a(e.text)).text(e=>e.text.text),n.selectAll("g.label").data(o.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(e=>e.text).attr("fill",e=>e.fill).attr("font-size",e=>e.fontSize).attr("dominant-baseline",e=>r(e.horizontalPos)).attr("text-anchor",e=>s(e.verticalPos)).attr("transform",e=>a(e)),h.selectAll("g.data-point").data(o.points).enter().append("g").attr("class","data-point"));u.append("circle").attr("cx",e=>e.x).attr("cy",e=>e.y).attr("r",e=>e.radius).attr("fill",e=>e.fill).attr("stroke",e=>e.strokeColor).attr("stroke-width",e=>e.strokeWidth),u.append("text").attr("x",0).attr("y",0).text(e=>e.text.text).attr("fill",e=>e.text.fill).attr("font-size",e=>e.text.fontSize).attr("dominant-baseline",e=>r(e.text.horizontalPos)).attr("text-anchor",e=>s(e.text.verticalPos)).attr("transform",e=>a(e.text))},"draw"),Fbe={draw:Bbe}}),Hbe={};G(Hbe,{diagram:()=>Ube});var Ube,qbe,Wbe,Gbe=e(()=>{"use strict";dbe(),jbe(),zbe(),Ube={parser:lbe,db:Pbe,renderer:Fbe,styles:mt(()=>"","styles")}}),Vbe=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,A,E;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[1,10,12,14,16,18,19,21,23],n=[2,6],r=[1,3],s=[1,5],a=[1,6],o=[1,7],l=[1,5,10,12,14,16,18,19,21,23,34,35,36],c=[1,25],h=[1,26],u=[1,28],d=[1,29],p=[1,30],g=[1,31],f=[1,32],m=[1,33],y=[1,34],b=[1,35],v=[1,36],x=[1,37],w=[1,43],k=[1,42],T=[1,47],S=[1,50],C=[1,10,12,14,16,18,19,21,23,34,35,36],_=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],A=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],E=[1,64],n={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 5:n.setOrientation(s[o]);break;case 9:n.setDiagramTitle(s[o].text.trim());break;case 12:n.setLineData({text:"",type:"text"},s[o]);break;case 13:n.setLineData(s[o-1],s[o]);break;case 14:n.setBarData({text:"",type:"text"},s[o]);break;case 1 Line truncated `+e);let l=o.securityLevel,c;"sandbox"===l&&(c=V("#i"+t));var e=V("sandbox"===l?c.nodes()[0].contentDocument.body:"body").select(`[id="${t}"]`),t=e.append("g").attr("class","main"),h=o.quadrantChart?.chartWidth??500,u=o.quadrantChart?.chartHeight??500,o=(rh(e,u,h,o.quadrantChart?.useMaxWidth??!0),e.attr("viewBox","0 0 "+h+" "+u),n.db.setHeight(u),n.db.setWidth(h),n.db.getQuadrantData()),e=t.append("g").attr("class","quadrants"),u=t.append("g").attr("class","border"),h=t.append("g").attr("class","data-points"),n=t.append("g").attr("class","labels"),t=t.append("g").attr("class","title"),t=(o.title&&t.append("text").attr("x",0).attr("y",0).attr("fill",o.title.fill).attr("font-size",o.title.fontSize).attr("dominant-baseline",r(o.title.horizontalPos)).attr("text-anchor",s(o.title.verticalPos)).attr("transform",a(o.title)).text(o.title.text),o.borderLines&&u.selectAll("line").data(o.borderLines).enter().append("line").attr("x1",e=>e.x1).attr("y1",e=>e.y1).attr("x2",e=>e.x2).attr("y2",e=>e.y2).style("stroke",e=>e.strokeFill).style("stroke-width",e=>e.strokeWidth),e.selectAll("g.quadrant").data(o.quadrants).enter().append("g").attr("class","quadrant")),u=(t.append("rect").attr("x",e=>e.x).attr("y",e=>e.y).attr("width",e=>e.width).attr("height",e=>e.height).attr("fill",e=>e.fill),t.append("text").attr("x",0).attr("y",0).attr("fill",e=>e.text.fill).attr("font-size",e=>e.text.fontSize).attr("dominant-baseline",e=>r(e.text.horizontalPos)).attr("text-anchor",e=>s(e.text.verticalPos)).attr("transform",e=>a(e.text)).text(e=>e.text.text),n.selectAll("g.label").data(o.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(e=>e.text).attr("fill",e=>e.fill).attr("font-size",e=>e.fontSize).attr("dominant-baseline",e=>r(e.horizontalPos)).attr("text-anchor",e=>s(e.verticalPos)).attr("transform",e=>a(e)),h.selectAll("g.data-point").data(o.points).enter().append("g").attr("class","data-point"));u.append("circle").attr("cx",e=>e.x).attr("cy",e=>e.y).attr("r",e=>e.radius).attr("fill",e=>e.fill).attr("stroke",e=>e.strokeColor).attr("stroke-width",e=>e.strokeWidth),u.append("text").attr("x",0).attr("y",0).text(e=>e.text.text).attr("fill",e=>e.text.fill).attr("font-size",e=>e.text.fontSize).attr("dominant-baseline",e=>r(e.text.horizontalPos)).attr("text-anchor",e=>s(e.text.verticalPos)).attr("transform",e=>a(e.text))},"draw"),Fbe={draw:Bbe}}),Ube={};G(Ube,{diagram:()=>Hbe});var Hbe,qbe,Wbe,Gbe=e(()=>{"use strict";dbe(),jbe(),zbe(),Hbe={parser:lbe,db:Pbe,renderer:Fbe,styles:mt(()=>"","styles")}}),Vbe=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,A,E;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[1,10,12,14,16,18,19,21,23],n=[2,6],r=[1,3],s=[1,5],a=[1,6],o=[1,7],l=[1,5,10,12,14,16,18,19,21,23,34,35,36],c=[1,25],h=[1,26],u=[1,28],d=[1,29],p=[1,30],g=[1,31],f=[1,32],m=[1,33],y=[1,34],b=[1,35],v=[1,36],x=[1,37],w=[1,43],k=[1,42],T=[1,47],S=[1,50],C=[1,10,12,14,16,18,19,21,23,34,35,36],_=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],A=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],E=[1,64],n={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 5:n.setOrientation(s[o]);break;case 9:n.setDiagramTitle(s[o].text.trim());break;case 12:n.setLineData({text:"",type:"text"},s[o]);break;case 13:n.setLineData(s[o-1],s[o]);break;case 14:n.setBarData({text:"",type:"text"},s[o]);break;case 1 Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:case 1:break;case 2:case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}},n.lexer=r,mt(e,"Parser"),(qbe=new((e.prototype=n).Parser=e)).parser=qbe,Wbe=qbe});function Ybe(e){return"bar"===e.type}function Xbe(e){return"band"===e.type}function Kbe(e){return"linear"===e.type}var Zbe,Qbe,Jbe,eve,tve=e(()=>{"use strict";mt(Ybe,"isBarPlot"),mt(Xbe,"isBandAxisData"),mt(Kbe,"isLinearAxisData")}),ive=e(()=>{"use strict";eL(),Zbe=class{constructor(e){this.parentGroup=e}static{mt(this,"TextDimensionCalculatorWithFont")}getMaxDimension(e,t){if(!this.parentGroup)return{width:e.reduce((e,t)=>Math.max(t.length,e),0)*t,height:t};var i,n={width:0,height:0},r=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",t);for(i of e){var s=X$(r,1,i),a=s?s.width:i.length*t,s=s?s.height:t;n.width=Math.max(n.width,a),n.height=Math.max(n.height,s)}return r.remove(),n}}}),nve=e(()=>{"use strict";Qbe=class{constructor(e,t,i,n){this.axisConfig=e,this.title=t,this.textDimensionCalculator=i,this.axisThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:case 1:break;case 2:case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}},n.lexer=r,mt(e,"Parser"),(qbe=new((e.prototype=n).Parser=e)).parser=qbe,Wbe=qbe});function Ybe(e){return"bar"===e.type}function Xbe(e){return"band"===e.type}function Kbe(e){return"linear"===e.type}var Zbe,Qbe,Jbe,eve,tve=e(()=>{"use strict";mt(Ybe,"isBarPlot"),mt(Xbe,"isBandAxisData"),mt(Kbe,"isLinearAxisData")}),ive=e(()=>{"use strict";eL(),Zbe=class{constructor(e){this.parentGroup=e}static{mt(this,"TextDimensionCalculatorWithFont")}getMaxDimension(e,t){if(!this.parentGroup)return{width:e.reduce((e,t)=>Math.max(t.length,e),0)*t,height:t};var i,n={width:0,height:0},r=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",t);for(i of e){var s=X$(r,1,i),a=s?s.width:i.length*t,s=s?s.height:t;n.width=Math.max(n.width,a),n.height=Math.max(n.height,s)}return r.remove(),n}}}),nve=e(()=>{"use strict";Qbe=class{constructor(e,t,i,n){this.axisConfig=e,this.title=t,this.textDimensionCalculator=i,this.axisThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=Line truncated
`+e);let u=Cye(t),d=u.append("g").attr("class","main"),p=d.append("rect").attr("width",a.width).attr("height",a.height).attr("class","background"),g=(rh(u,a.height,a.width,!0),u.attr("viewBox",`0 0 ${a.width} `+a.height),p.attr("fill",s.backgroundColor),r.setTmpSVGG(u.append("g").attr("class","mermaid-tmp-group")),r.getDrawableElem()),f={};function m(t){let i=d,n="";for(var[r]of t.entries()){let e=d;0<r&&f[n]&&(e=f[n]),n+=t[r],i=(i=f[n])||(f[n]=e.append("g").attr("class",t[r]))}return i}mt(m,"getGroup");for(var y of g)if(0!==y.data.length){var b=m(y.groupTexts);switch(y.type){case"rect":if(b.selectAll("rect").data(y.data).enter().append("rect").attr("x",e=>e.x).attr("y",e=>e.y).attr("width",e=>e.width).attr("height",e=>e.height).attr("fill",e=>e.fill).attr("stroke",e=>e.strokeFill).attr("stroke-width",e=>e.strokeWidth),a.showDataLabel)if("horizontal"===a.chartOrientation){let n=function(e,t){var{data:e,label:i}=e;return t*i.length*.7<=e.width-10};n,mt(n,"fitsHorizontally");var v=y.data.map((e,t)=>({data:e,label:o[t].toString()})).filter(e=>0<e.data.width&&0<e.data.height),x=v.map(e=>{let t=e["data"],i=.7*t.height;for(;!n(e,i)&&0<i;)--i;return i}),x=Math.floor(Math.min(...x));b.selectAll("text").data(v).enter().append("text").attr("x",e=>e.data.x+e.data.width-10).attr("y",e=>e.data.y+e.data.height/2).attr("text-anchor","end").attr("dominant-baseline","middle").attr("fill","black").attr("font-size",x+"px").text(e=>e.label)}else{let r=function(e,t,i){var{data:e,label:n}=e,n=t*n.length*.7,r=e.x+e.width/2,r=r-n/2>=e.x&&r+n/2<=e.x+e.width,n=e.y+i+t<=e.y+e.height;return r&&n};r,mt(r,"fitsInBar");var v=y.data.map((e,t)=>({data:e,label:o[t].toString()})).filter(e=>0<e.data.width&&0<e.data.height),x=v.map(e=>{let{data:t,label:i}=e,n=t.width/(.7*i.length);for(;!r(e,n,10)&&0<n;)--n;return n}),w=Math.floor(Math.min(...x));b.selectAll("text").data(v).enter().append("text").attr("x",e=>e.data.x+e.data.width/2).attr("y",e=>e.data.y+10).attr("text-anchor","middle").attr("dominant-baseline","hanging").attr("fill","black").attr("font-size",w+"px").text(e=>e.label)}break;case"text":b.selectAll("text").data(y.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",e=>e.fill).attr("font-size",e=>e.fontSize).attr("dominant-baseline",e=>l(e.verticalPos)).attr("text-anchor",e=>c(e.horizontalPos)).attr("transform",e=>h(e)).text(e=>e.text);break;case"path":b.selectAll("path").data(y.data).enter().append("path").attr("d",e=>e.path).attr("fill",e=>e.fill||"none").attr("stroke",e=>e.strokeFill).attr("stroke-width",e=>e.strokeWidth)}}},"draw"),Jve={draw:Qve}}),i2e={};G(i2e,{diagram:()=>n2e});var n2e,r2e,s2e,a2e,o2e,l2e,c2e=e(()=>{"use strict";Vbe(),e2e(),t2e(),n2e={parser:Wbe,db:Zve,renderer:Jve}}),h2e=e(()=>{"use strict";function O(){this.yy={}}var e,t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,P,B,F,j,z,H,U,q,W,G,A,V,Y,X,K,Z,Q,J,ee,te,ie,E,ne,re,$,L,R,M,I,N,D,se,ae,oe,le;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,3],i=[1,4],n=[1,5],r=[1,6],s=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],a=[1,22],o=[2,7],l=[1,26],c=[1,27],h=[1,28],u=[1,29],d=[1,33],p=[1,34],g=[1,35],f=[1,36],m=[1,37],y=[1,38],b=[1,24],v=[1,31],x=[1,32],w=[1,30],k=[1,39],T=[1,40],S=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],C=[1,61],_=[89,90],P=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],B=[27,29],F=[1,70],j=[1,71],z=[1,72],H=[1,73],U=[1,74],q=[1,75],W=[1,76],G=[1,83],A=[1,80],V=[1,84],Y=[1,85],X=[1,86],K=[1,87],Z=[1,88],Q=[1,89],J=[1,90],ee=[1,91],te=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],E=[63,64],ne=[1,101],re=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],$=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],L=[1,110],R=[1,106],M=[1,107],I=[1,108],N=[1,109],D=[1,111],se=[1,116],ae=[1,117],oe=[1,114],le=[1,115],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66, Line truncated `+e);let u=Cye(t),d=u.append("g").attr("class","main"),p=d.append("rect").attr("width",a.width).attr("height",a.height).attr("class","background"),g=(rh(u,a.height,a.width,!0),u.attr("viewBox",`0 0 ${a.width} `+a.height),p.attr("fill",s.backgroundColor),r.setTmpSVGG(u.append("g").attr("class","mermaid-tmp-group")),r.getDrawableElem()),f={};function m(t){let i=d,n="";for(var[r]of t.entries()){let e=d;0<r&&f[n]&&(e=f[n]),n+=t[r],i=(i=f[n])||(f[n]=e.append("g").attr("class",t[r]))}return i}mt(m,"getGroup");for(var y of g)if(0!==y.data.length){var b=m(y.groupTexts);switch(y.type){case"rect":if(b.selectAll("rect").data(y.data).enter().append("rect").attr("x",e=>e.x).attr("y",e=>e.y).attr("width",e=>e.width).attr("height",e=>e.height).attr("fill",e=>e.fill).attr("stroke",e=>e.strokeFill).attr("stroke-width",e=>e.strokeWidth),a.showDataLabel)if("horizontal"===a.chartOrientation){let n=function(e,t){var{data:e,label:i}=e;return t*i.length*.7<=e.width-10};n,mt(n,"fitsHorizontally");var v=y.data.map((e,t)=>({data:e,label:o[t].toString()})).filter(e=>0<e.data.width&&0<e.data.height),x=v.map(e=>{let t=e["data"],i=.7*t.height;for(;!n(e,i)&&0<i;)--i;return i}),x=Math.floor(Math.min(...x));b.selectAll("text").data(v).enter().append("text").attr("x",e=>e.data.x+e.data.width-10).attr("y",e=>e.data.y+e.data.height/2).attr("text-anchor","end").attr("dominant-baseline","middle").attr("fill","black").attr("font-size",x+"px").text(e=>e.label)}else{let r=function(e,t,i){var{data:e,label:n}=e,n=t*n.length*.7,r=e.x+e.width/2,r=r-n/2>=e.x&&r+n/2<=e.x+e.width,n=e.y+i+t<=e.y+e.height;return r&&n};r,mt(r,"fitsInBar");var v=y.data.map((e,t)=>({data:e,label:o[t].toString()})).filter(e=>0<e.data.width&&0<e.data.height),x=v.map(e=>{let{data:t,label:i}=e,n=t.width/(.7*i.length);for(;!r(e,n,10)&&0<n;)--n;return n}),w=Math.floor(Math.min(...x));b.selectAll("text").data(v).enter().append("text").attr("x",e=>e.data.x+e.data.width/2).attr("y",e=>e.data.y+10).attr("text-anchor","middle").attr("dominant-baseline","hanging").attr("fill","black").attr("font-size",w+"px").text(e=>e.label)}break;case"text":b.selectAll("text").data(y.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",e=>e.fill).attr("font-size",e=>e.fontSize).attr("dominant-baseline",e=>l(e.verticalPos)).attr("text-anchor",e=>c(e.horizontalPos)).attr("transform",e=>h(e)).text(e=>e.text);break;case"path":b.selectAll("path").data(y.data).enter().append("path").attr("d",e=>e.path).attr("fill",e=>e.fill||"none").attr("stroke",e=>e.strokeFill).attr("stroke-width",e=>e.strokeWidth)}}},"draw"),Jve={draw:Qve}}),i2e={};G(i2e,{diagram:()=>n2e});var n2e,r2e,s2e,a2e,o2e,l2e,c2e=e(()=>{"use strict";Vbe(),e2e(),t2e(),n2e={parser:Wbe,db:Zve,renderer:Jve}}),h2e=e(()=>{"use strict";function O(){this.yy={}}var e,t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,P,B,F,j,z,U,H,q,W,G,A,V,Y,X,K,Z,Q,J,ee,te,ie,E,ne,re,$,L,R,M,I,N,D,se,ae,oe,le;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,3],i=[1,4],n=[1,5],r=[1,6],s=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],a=[1,22],o=[2,7],l=[1,26],c=[1,27],h=[1,28],u=[1,29],d=[1,33],p=[1,34],g=[1,35],f=[1,36],m=[1,37],y=[1,38],b=[1,24],v=[1,31],x=[1,32],w=[1,30],k=[1,39],T=[1,40],S=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],C=[1,61],_=[89,90],P=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],B=[27,29],F=[1,70],j=[1,71],z=[1,72],U=[1,73],H=[1,74],q=[1,75],W=[1,76],G=[1,83],A=[1,80],V=[1,84],Y=[1,85],X=[1,86],K=[1,87],Z=[1,88],Q=[1,89],J=[1,90],ee=[1,91],te=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],E=[63,64],ne=[1,101],re=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],$=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],L=[1,110],R=[1,106],M=[1,107],I=[1,108],N=[1,109],D=[1,111],se=[1,116],ae=[1,117],oe=[1,114],le=[1,115],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66, Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},s={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},s={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
@@ -1268,7 +1268,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
background-color: ${e.edgeLabelBackground}; background-color: ${e.edgeLabelBackground};
} }
`,"getStyles"),l2e=o2e}),p2e={};G(p2e,{draw:()=>g2e});var g2e,f2e=e(()=>{"use strict";_u(),t(),QN(),ZK(),QK(),s_(),g2e=mt(async function(e,t,i,n){I.info("REF0:"),I.info("Drawing requirement diagram (unified)",t);var{securityLevel:r,state:s,layout:a}=N(),o=n.db.getData(),r=FN(t,r);o.type=n.type,o.layoutAlgorithm=DK(a),o.nodeSpacing=s?.nodeSpacing??50,o.rankSpacing=s?.rankSpacing??50,o.markers=["requirement_contains","requirement_arrow"],o.diagramId=t,await NK(o,r);t_.insertTitle(r,"requirementDiagramTitleText",s?.titleTopMargin??25,n.db.getDiagramTitle()),OK(r,8,"requirementDiagram",s?.useMaxWidth??!0)},"draw")}),m2e={};G(m2e,{diagram:()=>y2e});var y2e,b2e,v2e,x2e,w2e,k2e,T2e,S2e,C2e,_2e,A2e,E2e,$2e,L2e,R2e,M2e,I2e,N2e,D2e,O2e,P2e,B2e,F2e,j2e,z2e,H2e,U2e,q2e,W2e,G2e,V2e,Y2e,X2e,K2e,Z2e,Q2e,J2e,e4e,t4e,i4e,n4e=e(()=>{"use strict";h2e(),u2e(),d2e(),f2e(),y2e={parser:s2e,get db(){return new a2e},renderer:p2e,styles:l2e}}),r4e=e(()=>{"use strict";function O(){this.yy={}}var e,t,i,P,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,A,E,$,L,R,M,I,B,F,j,z,H,N,D;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,2],i=[1,3],P=[1,4],n=[2,4],r=[1,9],s=[1,11],a=[1,13],o=[1,14],l=[1,16],c=[1,17],h=[1,18],u=[1,24],d=[1,25],p=[1,26],g=[1,27],f=[1,28],m=[1,29],y=[1,30],b=[1,31],v=[1,32],x=[1,33],w=[1,34],k=[1,35],T=[1,36],S=[1,37],C=[1,38],_=[1,39],A=[1,41],E=[1,42],$=[1,43],L=[1,44],R=[1,45],M=[1,46],I=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],B=[4,5,16,50,52,53],F=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],j=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],z=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],H=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],N=[68,69,70],D=[1,122],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 3:return n.apply(s[o]),s[o];case 4:case 9:this.$=[];break;case 5:case 10:s[o-1].push(s[o]),this.$=s[o-1];break;case 6:case 7:case 11:case 12:this.$=s[o];break;case 8:case 13:this.$=[];break;case 15:s[o].type="createParticipant",this.$=s[o];break;case 16:s[o-1].unshift({type:"boxStart",boxData:n.parseBoxData(s[o-2])}),s[o-1].push({type:"boxEnd",boxText:s[o-2]}),this.$=s[o-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(s[o-2]),sequenceIndexStep:Number(s[o-1]),sequenceVisible:!0,signalType:n.LINE Line truncated `,"getStyles"),l2e=o2e}),p2e={};G(p2e,{draw:()=>g2e});var g2e,f2e=e(()=>{"use strict";_u(),t(),QN(),ZK(),QK(),s_(),g2e=mt(async function(e,t,i,n){I.info("REF0:"),I.info("Drawing requirement diagram (unified)",t);var{securityLevel:r,state:s,layout:a}=N(),o=n.db.getData(),r=FN(t,r);o.type=n.type,o.layoutAlgorithm=DK(a),o.nodeSpacing=s?.nodeSpacing??50,o.rankSpacing=s?.rankSpacing??50,o.markers=["requirement_contains","requirement_arrow"],o.diagramId=t,await NK(o,r);t_.insertTitle(r,"requirementDiagramTitleText",s?.titleTopMargin??25,n.db.getDiagramTitle()),OK(r,8,"requirementDiagram",s?.useMaxWidth??!0)},"draw")}),m2e={};G(m2e,{diagram:()=>y2e});var y2e,b2e,v2e,x2e,w2e,k2e,T2e,S2e,C2e,_2e,A2e,E2e,$2e,L2e,R2e,M2e,I2e,N2e,D2e,O2e,P2e,B2e,F2e,j2e,z2e,U2e,H2e,q2e,W2e,G2e,V2e,Y2e,X2e,K2e,Z2e,Q2e,J2e,e4e,t4e,i4e,n4e=e(()=>{"use strict";h2e(),u2e(),d2e(),f2e(),y2e={parser:s2e,get db(){return new a2e},renderer:p2e,styles:l2e}}),r4e=e(()=>{"use strict";function O(){this.yy={}}var e,t,i,P,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,A,E,$,L,R,M,I,B,F,j,z,U,N,D;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,2],i=[1,3],P=[1,4],n=[2,4],r=[1,9],s=[1,11],a=[1,13],o=[1,14],l=[1,16],c=[1,17],h=[1,18],u=[1,24],d=[1,25],p=[1,26],g=[1,27],f=[1,28],m=[1,29],y=[1,30],b=[1,31],v=[1,32],x=[1,33],w=[1,34],k=[1,35],T=[1,36],S=[1,37],C=[1,38],_=[1,39],A=[1,41],E=[1,42],$=[1,43],L=[1,44],R=[1,45],M=[1,46],I=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],B=[4,5,16,50,52,53],F=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],j=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],z=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],U=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],N=[68,69,70],D=[1,122],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 3:return n.apply(s[o]),s[o];case 4:case 9:this.$=[];break;case 5:case 10:s[o-1].push(s[o]),this.$=s[o-1];break;case 6:case 7:case 11:case 12:this.$=s[o];break;case 8:case 13:this.$=[];break;case 15:s[o].type="createParticipant",this.$=s[o];break;case 16:s[o-1].unshift({type:"boxStart",boxData:n.parseBoxData(s[o-2])}),s[o-1].push({type:"boxEnd",boxText:s[o-2]}),this.$=s[o-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(s[o-2]),sequenceIndexStep:Number(s[o-1]),sequenceVisible:!0,signalType:n.LINE Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
@@ -1389,7 +1389,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
fill: ${e.actorBkg}; fill: ${e.actorBkg};
stroke-width: 2px; stroke-width: 2px;
} }
`,"getStyles"),C2e=S2e}),o4e=e(()=>{"use strict";function t(e,t,i,n,r,s,a){g(t.append("text").attr("x",i).attr("y",n).style("text-anchor","start").text(e),a)}function l(e,t,i,n,r,s,a,o){var{actorFontSize:l,actorFontFamily:c,actorFontWeight:h}=o,u=e.split($.lineBreakRegex);for(let e=0;e<u.length;e++){var d=e*l-l*(u.length-1)/2,p=t.append("text").attr("x",i).attr("y",n).style("text-anchor","start").style("font-size",l).style("font-weight",h).style("font-family",c);p.append("tspan").attr("x",i).attr("dy",d).text(u[e]),p.attr("y",n+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),g(p,a)}}function i(e,t,i,n,r,s,a,o){t=t.append("switch"),r=t.append("foreignObject").attr("x",i).attr("y",n).attr("width",r).attr("height",s).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");r.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),l(e,t,i,n,0,s,a,o),g(r,a)}function g(e,t){for(var i in t)t.hasOwnProperty(i)&&e.attr(i,t[i])}function n(e,t,i,n,r,s,a){f(t.append("text").attr("x",i+r/2).attr("y",n+s/2+5).style("text-anchor","middle").text(e),a)}function c(e,t,i,n,r,s,a,o){var{actorFontSize:o,actorFontFamily:l,actorFontWeight:c}=o,[h,u]=e_(o),d=e.split($.lineBreakRegex);for(let e=0;e<d.length;e++){var p=e*h-h*(d.length-1)/2,g=t.append("text").attr("x",i+r/2).attr("y",n).style("text-anchor","middle").style("font-size",u).style("font-weight",c).style("font-family",l);g.append("tspan").attr("x",i+r/2).attr("dy",p).text(d[e]),g.attr("y",n+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),f(g,a)}}function r(e,t,i,n,r,s,a,o){var t=t.append("switch"),l=t.append("foreignObject").attr("x",i).attr("y",n).attr("width",r).attr("height",s).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");l.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),c(e,t,i,n,r,s,a,o),f(l,a)}async function s(e,t,i,n,r,s,a,o){var l=await eh(e,Ii()),t=t.append("switch"),l=t.append("foreignObject").attr("x",i+r/2-l.width/2).attr("y",n+s/2-l.height/2).attr("width",l.width).attr("height",l.height).append("xhtml:div").style("height","100%").style("width","100%");l.append("div").style("text-align","center").style("vertical-align","middle").html(await th(e,Ii())),c(e,t,i,n,r,s,a,o),f(l,a)}function f(e,t){for(var i in t)t.hasOwnProperty(i)&&e.attr(i,t[i])}hh(),c6(),s_(),_2e=ie(l6(),1),Mn(),A2e=36,E2e="actor-bottom",$2e=mt(function(e,t){return _w(e,t)},"drawRect"),L2e=mt(function(e,t,i,n,r){if(void 0===t.links||null===t.links||0===Object.keys(t.links).length)return{height:0,width:0};var s=t.links,a=t.actorCnt,o=t.rectData,t="none",l=(r&&(t="block !important"),e.append("g")),r=(l.attr("id","actor"+a+"_popup"),l.attr("class","actorPopupMenu"),l.attr("display",t),""),c=(void 0!==o.class&&(r=" "+o.class),o.width>i?o.width:i),e=l.append("rect");if(e.attr("class","actorPopupMenuPanel"+r),e.attr("x",o.x),e.attr("y",o.height),e.attr("fill",o.fill),e.attr("stroke",o.stroke),e.attr("width",c),e.attr("height",o.height),e.attr("rx",o.rx),e.attr("ry",o.ry),null!=s){var h,u=20;for(h in s){var d=l.append("a"),p=(0,_2e.sanitizeUrl)(s[h]);d.attr("xlink:href",p),d.attr("target","_blank"),t4e(n)(h,d,o.x+10,o.height+u,c,20,{class:"actor"},n),u+=30}}return e.attr("height",u),{height:o.height+u,width:c}},"drawPopup"),R2e=mt(function(e){return"var pu = document.getElementById('"+e+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),M2e=mt(async function(n,r,s=null){var a=n.append("foreignObject"),o=await th(r.text,Ii()),o=a.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(o).node().getBoundingClientRect();if(a.attr("height",Math.round(o.height)).attr("width",Math.round(o.width)),"noteText"===r.class){var n=n.node().firstChild,n=(n.setAttribute("height",o.height+2*r.textMargin),n.getBBox());a.attr("x",Math.round(n.x+n.width/2-o.width/2)).attr("y",Math.round(n.y+n.height/2-o.height/2))}else if(s){let{startx:e,stopx:t,starty:i}=s;e>t&&(n=e,e=t,t=n),a.attr("x",Math.round(e+Math.abs(e-t)/2-o.width/2)),"loopText"===r.class?a.attr("y",Math.round(i)):a.attr("y",Math.round(i-o.height))}return[a]},"drawKatex"),I2e=mt(function(e,t){let i=0,n=0,r=t.text.split($.lineBreakRegex),[s,a]=e_(t.fontSize),o=[],l=0,c=mt(()=>t.y,"yfunc");if(void 0!==t.valign&&void 0!==t.textMargin&&0<t.textMargin)switch(t.valign){case"top":case"start":c=mt(()=>Math.round(t.y+t.textMargin),"yfunc");break;case"middle":case"center":c=mt(()=>Math.round(t.y+(i+n+t.textMargin)/2),"yfunc");break;case"bottom":case"end":c=mt(()=>Math.round(t.y+(i+n+2*t.textMargin)-t.textMargin),"yfunc")}if(void 0!==t.anchor&&void 0!==t.textMargin&&void 0!==t.width)switch(t.anchor){case"left":case"start":t.x=Math.round(t.x+t.textMargin),t.anchor="start",t.dominantBaseline="middle",t.align Line truncated `,"getStyles"),C2e=S2e}),o4e=e(()=>{"use strict";function t(e,t,i,n,r,s,a){g(t.append("text").attr("x",i).attr("y",n).style("text-anchor","start").text(e),a)}function l(e,t,i,n,r,s,a,o){var{actorFontSize:l,actorFontFamily:c,actorFontWeight:h}=o,u=e.split($.lineBreakRegex);for(let e=0;e<u.length;e++){var d=e*l-l*(u.length-1)/2,p=t.append("text").attr("x",i).attr("y",n).style("text-anchor","start").style("font-size",l).style("font-weight",h).style("font-family",c);p.append("tspan").attr("x",i).attr("dy",d).text(u[e]),p.attr("y",n+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),g(p,a)}}function i(e,t,i,n,r,s,a,o){t=t.append("switch"),r=t.append("foreignObject").attr("x",i).attr("y",n).attr("width",r).attr("height",s).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");r.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),l(e,t,i,n,0,s,a,o),g(r,a)}function g(e,t){for(var i in t)t.hasOwnProperty(i)&&e.attr(i,t[i])}function n(e,t,i,n,r,s,a){f(t.append("text").attr("x",i+r/2).attr("y",n+s/2+5).style("text-anchor","middle").text(e),a)}function c(e,t,i,n,r,s,a,o){var{actorFontSize:o,actorFontFamily:l,actorFontWeight:c}=o,[h,u]=e_(o),d=e.split($.lineBreakRegex);for(let e=0;e<d.length;e++){var p=e*h-h*(d.length-1)/2,g=t.append("text").attr("x",i+r/2).attr("y",n).style("text-anchor","middle").style("font-size",u).style("font-weight",c).style("font-family",l);g.append("tspan").attr("x",i+r/2).attr("dy",p).text(d[e]),g.attr("y",n+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),f(g,a)}}function r(e,t,i,n,r,s,a,o){var t=t.append("switch"),l=t.append("foreignObject").attr("x",i).attr("y",n).attr("width",r).attr("height",s).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");l.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),c(e,t,i,n,r,s,a,o),f(l,a)}async function s(e,t,i,n,r,s,a,o){var l=await eh(e,Ii()),t=t.append("switch"),l=t.append("foreignObject").attr("x",i+r/2-l.width/2).attr("y",n+s/2-l.height/2).attr("width",l.width).attr("height",l.height).append("xhtml:div").style("height","100%").style("width","100%");l.append("div").style("text-align","center").style("vertical-align","middle").html(await th(e,Ii())),c(e,t,i,n,r,s,a,o),f(l,a)}function f(e,t){for(var i in t)t.hasOwnProperty(i)&&e.attr(i,t[i])}hh(),c6(),s_(),_2e=ie(l6(),1),Mn(),A2e=36,E2e="actor-bottom",$2e=mt(function(e,t){return _w(e,t)},"drawRect"),L2e=mt(function(e,t,i,n,r){if(void 0===t.links||null===t.links||0===Object.keys(t.links).length)return{height:0,width:0};var s=t.links,a=t.actorCnt,o=t.rectData,t="none",l=(r&&(t="block !important"),e.append("g")),r=(l.attr("id","actor"+a+"_popup"),l.attr("class","actorPopupMenu"),l.attr("display",t),""),c=(void 0!==o.class&&(r=" "+o.class),o.width>i?o.width:i),e=l.append("rect");if(e.attr("class","actorPopupMenuPanel"+r),e.attr("x",o.x),e.attr("y",o.height),e.attr("fill",o.fill),e.attr("stroke",o.stroke),e.attr("width",c),e.attr("height",o.height),e.attr("rx",o.rx),e.attr("ry",o.ry),null!=s){var h,u=20;for(h in s){var d=l.append("a"),p=(0,_2e.sanitizeUrl)(s[h]);d.attr("xlink:href",p),d.attr("target","_blank"),t4e(n)(h,d,o.x+10,o.height+u,c,20,{class:"actor"},n),u+=30}}return e.attr("height",u),{height:o.height+u,width:c}},"drawPopup"),R2e=mt(function(e){return"var pu = document.getElementById('"+e+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),M2e=mt(async function(n,r,s=null){var a=n.append("foreignObject"),o=await th(r.text,Ii()),o=a.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(o).node().getBoundingClientRect();if(a.attr("height",Math.round(o.height)).attr("width",Math.round(o.width)),"noteText"===r.class){var n=n.node().firstChild,n=(n.setAttribute("height",o.height+2*r.textMargin),n.getBBox());a.attr("x",Math.round(n.x+n.width/2-o.width/2)).attr("y",Math.round(n.y+n.height/2-o.height/2))}else if(s){let{startx:e,stopx:t,starty:i}=s;e>t&&(n=e,e=t,t=n),a.attr("x",Math.round(e+Math.abs(e-t)/2-o.width/2)),"loopText"===r.class?a.attr("y",Math.round(i)):a.attr("y",Math.round(i-o.height))}return[a]},"drawKatex"),I2e=mt(function(e,t){let i=0,n=0,r=t.text.split($.lineBreakRegex),[s,a]=e_(t.fontSize),o=[],l=0,c=mt(()=>t.y,"yfunc");if(void 0!==t.valign&&void 0!==t.textMargin&&0<t.textMargin)switch(t.valign){case"top":case"start":c=mt(()=>Math.round(t.y+t.textMargin),"yfunc");break;case"middle":case"center":c=mt(()=>Math.round(t.y+(i+n+t.textMargin)/2),"yfunc");break;case"bottom":case"end":c=mt(()=>Math.round(t.y+(i+n+2*t.textMargin)-t.textMargin),"yfunc")}if(void 0!==t.anchor&&void 0!==t.textMargin&&void 0!==t.width)switch(t.anchor){case"left":case"start":t.x=Math.round(t.x+t.textMargin),t.anchor="start",t.dominantBaseline="middle",t.align Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},t={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},t={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
@@ -1553,12 +1553,12 @@ g.classGroup line {
fill: ${e.textColor}; fill: ${e.textColor};
} }
${GK()} ${GK()}
`,"getStyles"),H4e=z4e}),Q4e=e(()=>{"use strict";_u(),t(),QN(),ZK(),QK(),s_(),U4e=mt((e,t="TB")=>{if(!e.doc)return t;let i=t;for(var n of e.doc)"dir"===n.stmt&&(i=n.value);return i},"getDir"),q4e=mt(function(e,t){return t.db.getClasses()},"getClasses"),W4e=mt(async function(e,t,i,n){I.info("REF0:"),I.info("Drawing class diagram (v3)",t);var{securityLevel:r,state:s,layout:a}=N(),o=n.db.getData(),r=FN(t,r);o.type=n.type,o.layoutAlgorithm=DK(a),o.nodeSpacing=s?.nodeSpacing||50,o.rankSpacing=s?.rankSpacing||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=t,await NK(o,r);t_.insertTitle(r,"classDiagramTitleText",s?.titleTopMargin??25,n.db.getDiagramTitle()),OK(r,8,"classDiagram",s?.useMaxWidth??!0)},"draw"),G4e={getClasses:q4e,draw:W4e,getDir:U4e}}),J4e={};G(J4e,{diagram:()=>exe});var exe,txe=e(()=>{"use strict";Y4e(),K4e(),Z4e(),Q4e(),exe={parser:N4e,get db(){return new j4e},renderer:G4e,styles:H4e,init:mt(e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")}}),ixe={};G(ixe,{diagram:()=>nxe});var nxe,rxe,sxe,axe,oxe,lxe,cxe,hxe,uxe,dxe,pxe,gxe,fxe,mxe,yxe,bxe,vxe,xxe,wxe,kxe,Txe,Sxe,Cxe,_xe,Axe,Exe,$xe,Lxe,Rxe,Mxe,Ixe,Nxe,Dxe,Oxe,Pxe,Bxe,Fxe,jxe,zxe,Hxe,Uxe=e(()=>{"use strict";Y4e(),K4e(),Z4e(),Q4e(),nxe={parser:N4e,get db(){return new j4e},renderer:G4e,styles:H4e,init:mt(e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")}}),qxe=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,A,E,$,L,R,M;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[1,2],n=[1,3],r=[1,4],s=[2,4],a=[1,9],o=[1,11],l=[1,16],c=[1,17],h=[1,18],u=[1,19],d=[1,33],p=[1,20],g=[1,21],f=[1,22],m=[1,23],y=[1,24],b=[1,26],v=[1,27],x=[1,28],w=[1,29],k=[1,30],T=[1,31],S=[1,32],C=[1,35],_=[1,36],A=[1,37],E=[1,38],$=[1,34],L=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],R=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],M=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"--\x3e":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"--\x3e",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 3:return n.setRootDoc(s[o]),s[o];case 4:this.$=[];break;case 5:"nl"!=s[o]&&(s[o-1].push(s[o]),this.$=s[o-1]);break;case 6:case 7:this.$=s[o];break;case 8:this.$="nl";break;case 12:this.$=s[o];break;case 13:var l=s[o-1];l.description=n.trimColon(s[o]),this.$=l;break;case 14:this.$={stmt:"relation",state1:s[o-2],state2:s[o]};break;case 15:l=n.trimColon(s[o]);this.$={stmt:"relation",state1:s[o-3],state2:s[o-1],description:l};break;case 19:this.$={stmt:"state",id:s[o-3],type:"default",description:"",doc:s[o-1]};break;case 20:var c,l=s[o],h=s[o-2].trim();s[o].match(":")&&(l=(c=s[o].split(":"))[0],h=[h,c[1]]),this.$={stmt:"state",id:l,type:"default",description:h};break;case 21:this.$={stmt:"state",id:s[o-3],type:"default",description:s[o-5],doc:s[o-1]};break;case 22:this.$={stmt:"state",id:s[o],type:"fork"};break;case 23:this.$={stmt:"state",id:s[o],type:"join"};break;case 24:this.$={stmt:"state",id:s[o],type:"cho Line truncated `,"getStyles"),U4e=z4e}),Q4e=e(()=>{"use strict";_u(),t(),QN(),ZK(),QK(),s_(),H4e=mt((e,t="TB")=>{if(!e.doc)return t;let i=t;for(var n of e.doc)"dir"===n.stmt&&(i=n.value);return i},"getDir"),q4e=mt(function(e,t){return t.db.getClasses()},"getClasses"),W4e=mt(async function(e,t,i,n){I.info("REF0:"),I.info("Drawing class diagram (v3)",t);var{securityLevel:r,state:s,layout:a}=N(),o=n.db.getData(),r=FN(t,r);o.type=n.type,o.layoutAlgorithm=DK(a),o.nodeSpacing=s?.nodeSpacing||50,o.rankSpacing=s?.rankSpacing||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=t,await NK(o,r);t_.insertTitle(r,"classDiagramTitleText",s?.titleTopMargin??25,n.db.getDiagramTitle()),OK(r,8,"classDiagram",s?.useMaxWidth??!0)},"draw"),G4e={getClasses:q4e,draw:W4e,getDir:H4e}}),J4e={};G(J4e,{diagram:()=>exe});var exe,txe=e(()=>{"use strict";Y4e(),K4e(),Z4e(),Q4e(),exe={parser:N4e,get db(){return new j4e},renderer:G4e,styles:U4e,init:mt(e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")}}),ixe={};G(ixe,{diagram:()=>nxe});var nxe,rxe,sxe,axe,oxe,lxe,cxe,hxe,uxe,dxe,pxe,gxe,fxe,mxe,yxe,bxe,vxe,xxe,wxe,kxe,Txe,Sxe,Cxe,_xe,Axe,Exe,$xe,Lxe,Rxe,Mxe,Ixe,Nxe,Dxe,Oxe,Pxe,Bxe,Fxe,jxe,zxe,Uxe,Hxe=e(()=>{"use strict";Y4e(),K4e(),Z4e(),Q4e(),nxe={parser:N4e,get db(){return new j4e},renderer:G4e,styles:U4e,init:mt(e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")}}),qxe=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,A,E,$,L,R,M;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[1,2],n=[1,3],r=[1,4],s=[2,4],a=[1,9],o=[1,11],l=[1,16],c=[1,17],h=[1,18],u=[1,19],d=[1,33],p=[1,20],g=[1,21],f=[1,22],m=[1,23],y=[1,24],b=[1,26],v=[1,27],x=[1,28],w=[1,29],k=[1,30],T=[1,31],S=[1,32],C=[1,35],_=[1,36],A=[1,37],E=[1,38],$=[1,34],L=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],R=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],M=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"--\x3e":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"--\x3e",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 3:return n.setRootDoc(s[o]),s[o];case 4:this.$=[];break;case 5:"nl"!=s[o]&&(s[o-1].push(s[o]),this.$=s[o-1]);break;case 6:case 7:this.$=s[o];break;case 8:this.$="nl";break;case 12:this.$=s[o];break;case 13:var l=s[o-1];l.description=n.trimColon(s[o]),this.$=l;break;case 14:this.$={stmt:"relation",state1:s[o-2],state2:s[o]};break;case 15:l=n.trimColon(s[o]);this.$={stmt:"relation",state1:s[o-3],state2:s[o-1],description:l};break;case 19:this.$={stmt:"state",id:s[o-3],type:"default",description:"",doc:s[o-1]};break;case 20:var c,l=s[o],h=s[o-2].trim();s[o].match(":")&&(l=(c=s[o].split(":"))[0],h=[h,c[1]]),this.$={stmt:"state",id:l,type:"default",description:h};break;case 21:this.$={stmt:"state",id:s[o-3],type:"default",description:s[o-5],doc:s[o-1]};break;case 22:this.$={stmt:"state",id:s[o],type:"fork"};break;case 23:this.$={stmt:"state",id:s[o],type:"join"};break;case 24:this.$={stmt:"state",id:s[o],type:"cho Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},n={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},n={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:case 9:break;case 10:return 5;case 11:case 12:case 13:case 14:break;case 15:return this.pushState("SCALE"),17;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 35:return this.pushState("SCALE"),17;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),t.yytext=t.yytext.slice(0,-10).trim(),27;case 42:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),25;case 43:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),26;case 44:return this.popState(),t.yytext=t.yytext.slice(0,-10).trim(),27;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:return this.popState(),"ID";case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;case 57:break;case 58:return this.popState(),21;case 59:break;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),t.yytext=t.yytext.substr(2).trim(),31;case 70:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),31;case 71:case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return t.yytext=t.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b) Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:case 9:break;case 10:return 5;case 11:case 12:case 13:case 14:break;case 15:return this.pushState("SCALE"),17;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 35:return this.pushState("SCALE"),17;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),t.yytext=t.yytext.slice(0,-10).trim(),27;case 42:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),25;case 43:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),26;case 44:return this.popState(),t.yytext=t.yytext.slice(0,-10).trim(),27;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:return this.popState(),"ID";case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;case 57:break;case 58:return this.popState(),21;case 59:break;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),t.yytext=t.yytext.substr(2).trim(),31;case 70:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),31;case 71:case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return t.yytext=t.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b) Line truncated
defs #statediagram-barbEnd { defs #statediagram-barbEnd {
fill: ${e.transitionColor}; fill: ${e.transitionColor};
stroke: ${e.transitionColor}; stroke: ${e.transitionColor};
@@ -1772,7 +1772,7 @@ g.stateGroup line {
font-size: 18px; font-size: 18px;
fill: ${e.textColor}; fill: ${e.textColor};
} }
`,"getStyles"),d3e=u3e}),P3e=e(()=>{"use strict";a6(),D3e(),s_(),hh(),_u(),t(),p3e=mt(e=>e.append("circle").attr("class","start-state").attr("r",N().state.sizeUnit).attr("cx",N().state.padding+N().state.sizeUnit).attr("cy",N().state.padding+N().state.sizeUnit),"drawStartState"),g3e=mt(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",N().state.textHeight).attr("class","divider").attr("x2",2*N().state.textHeight).attr("y1",0).attr("y2",0),"drawDivider"),f3e=mt((e,t)=>{var t=e.append("text").attr("x",2*N().state.padding).attr("y",N().state.textHeight+2*N().state.padding).attr("font-size",N().state.fontSize).attr("class","state-title").text(t.id),i=t.node().getBBox();return e.insert("rect",":first-child").attr("x",N().state.padding).attr("y",N().state.padding).attr("width",i.width+2*N().state.padding).attr("height",i.height+2*N().state.padding).attr("rx",N().state.radius),t},"drawSimpleState"),m3e=mt((e,t)=>{let i=mt(function(e,t,i){e=e.append("tspan").attr("x",2*N().state.padding).text(t);i||e.attr("dy",N().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*N().state.padding).attr("y",N().state.textHeight+1.3*N().state.padding).attr("font-size",N().state.fontSize).attr("class","state-title").text(t.descriptions[0]).node().getBBox(),r=n.height,s=e.append("text").attr("x",N().state.padding).attr("y",r+.4*N().state.padding+N().state.dividerMargin+N().state.textHeight).attr("class","state-description"),a=!0,o=!0;t.descriptions.forEach(function(e){a||(i(s,e,o),o=!1),a=!1});var t=e.append("line").attr("x1",N().state.padding).attr("y1",N().state.padding+r+N().state.dividerMargin/2).attr("y2",N().state.padding+r+N().state.dividerMargin/2).attr("class","descr-divider"),l=s.node().getBBox(),c=Math.max(l.width,n.width);return t.attr("x2",c+3*N().state.padding),e.insert("rect",":first-child").attr("x",N().state.padding).attr("y",N().state.padding).attr("width",c+2*N().state.padding).attr("height",l.height+r+2*N().state.padding).attr("rx",N().state.radius),e},"drawDescrState"),y3e=mt((e,t,i)=>{let n=N().state.padding,r=2*N().state.padding,s=e.node().getBBox(),a=s.width,o=s.x,l=e.append("text").attr("x",0).attr("y",N().state.titleShift).attr("font-size",N().state.fontSize).attr("class","state-title").text(t.id),c=l.node().getBBox().width+r,h=Math.max(c,a);h===a&&(h+=r);let u,d=e.node().getBBox();t.doc,u=o-n,a<c&&(u=(a-h)/2+n),Math.abs(o-d.x)<n&&a<c&&(u=o-(c-a)/2);t=1-N().state.textHeight;return e.insert("rect",":first-child").attr("x",u).attr("y",t).attr("class",i?"alt-composit":"composit").attr("width",h).attr("height",d.height+N().state.textHeight+N().state.titleShift+1).attr("rx","0"),l.attr("x",u+n),c<=a&&l.attr("x",o+(h-r)/2-c/2+n),e.insert("rect",":first-child").attr("x",u).attr("y",N().state.titleShift-N().state.textHeight-N().state.padding).attr("width",h).attr("height",3*N().state.textHeight).attr("rx",N().state.radius),e.insert("rect",":first-child").attr("x",u).attr("y",N().state.titleShift-N().state.textHeight-N().state.padding).attr("width",h).attr("height",d.height+3+2*N().state.textHeight).attr("rx",N().state.radius),e},"addTitleAndBox"),b3e=mt(e=>(e.append("circle").attr("class","end-state-outer").attr("r",N().state.sizeUnit+N().state.miniPadding).attr("cx",N().state.padding+N().state.sizeUnit+N().state.miniPadding).attr("cy",N().state.padding+N().state.sizeUnit+N().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",N().state.sizeUnit).attr("cx",N().state.padding+N().state.sizeUnit+2).attr("cy",N().state.padding+N().state.sizeUnit+2)),"drawEndState"),v3e=mt((e,t)=>{let i=N().state.forkWidth,n=N().state.forkHeight;return t.parentId&&(t=i,i=n,n=t),e.append("rect").style("stroke","black").style("fill","black").attr("width",i).attr("height",n).attr("x",N().state.padding).attr("y",N().state.padding)},"drawForkJoinState"),x3e=mt((e,t,i,n)=>{let r=0,s=n.append("text"),a=(s.style("text-anchor","start"),s.attr("class","noteText"),e.replace(/\r\n/g,"<br/>")),o=(a=a.replace(/\n/g,"<br/>")).split($.lineBreakRegex),l=1.25*N().state.noteMargin;for(var c of o){var h,c=c.trim();0<c.length&&((h=s.append("tspan")).text(c),0===l&&(c=h.node().getBBox(),l+=c.height),r+=l,h.attr("x",t+N().state.noteMargin),h.attr("y",i+r+1.25*N().state.noteMargin))}return{textWidth:s.node().getBBox().width,textHeight:r}},"_drawLongText"),w3e=mt((e,t)=>{t.attr("class","state-note");var i=t.append("rect").attr("x",0).attr("y",N().state.padding),t=t.append("g"),{textWidth:e,textHeight:t}=x3e(e,0,0,t);return i.attr("height",t+2*N().state.noteMargin),i.attr("width",e+2*N().state.noteMargin),i},"drawNote"),k3e=mt(function(e,t){var i=t.id,n={id:i,label:t.id,width:0,height:0},e=e.append("g").attr("id",i).attr("class","stateGroup"),i=("start"===t.type&&p3e(e),"end"===t.type&&b3e(e),"fork"!==t.type&&"join"!==t.type||v3e(e,t),"note"===t.type&&w3e(t.note.text,e),"divider"===t.type&&g3e(e),"default"===t.type&&0===t.descriptions.length&&f3e(e,t),"default"===t.type&&0<t.descriptions.length Line truncated `,"getStyles"),d3e=u3e}),P3e=e(()=>{"use strict";a6(),D3e(),s_(),hh(),_u(),t(),p3e=mt(e=>e.append("circle").attr("class","start-state").attr("r",N().state.sizeUnit).attr("cx",N().state.padding+N().state.sizeUnit).attr("cy",N().state.padding+N().state.sizeUnit),"drawStartState"),g3e=mt(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",N().state.textHeight).attr("class","divider").attr("x2",2*N().state.textHeight).attr("y1",0).attr("y2",0),"drawDivider"),f3e=mt((e,t)=>{var t=e.append("text").attr("x",2*N().state.padding).attr("y",N().state.textHeight+2*N().state.padding).attr("font-size",N().state.fontSize).attr("class","state-title").text(t.id),i=t.node().getBBox();return e.insert("rect",":first-child").attr("x",N().state.padding).attr("y",N().state.padding).attr("width",i.width+2*N().state.padding).attr("height",i.height+2*N().state.padding).attr("rx",N().state.radius),t},"drawSimpleState"),m3e=mt((e,t)=>{let i=mt(function(e,t,i){e=e.append("tspan").attr("x",2*N().state.padding).text(t);i||e.attr("dy",N().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*N().state.padding).attr("y",N().state.textHeight+1.3*N().state.padding).attr("font-size",N().state.fontSize).attr("class","state-title").text(t.descriptions[0]).node().getBBox(),r=n.height,s=e.append("text").attr("x",N().state.padding).attr("y",r+.4*N().state.padding+N().state.dividerMargin+N().state.textHeight).attr("class","state-description"),a=!0,o=!0;t.descriptions.forEach(function(e){a||(i(s,e,o),o=!1),a=!1});var t=e.append("line").attr("x1",N().state.padding).attr("y1",N().state.padding+r+N().state.dividerMargin/2).attr("y2",N().state.padding+r+N().state.dividerMargin/2).attr("class","descr-divider"),l=s.node().getBBox(),c=Math.max(l.width,n.width);return t.attr("x2",c+3*N().state.padding),e.insert("rect",":first-child").attr("x",N().state.padding).attr("y",N().state.padding).attr("width",c+2*N().state.padding).attr("height",l.height+r+2*N().state.padding).attr("rx",N().state.radius),e},"drawDescrState"),y3e=mt((e,t,i)=>{let n=N().state.padding,r=2*N().state.padding,s=e.node().getBBox(),a=s.width,o=s.x,l=e.append("text").attr("x",0).attr("y",N().state.titleShift).attr("font-size",N().state.fontSize).attr("class","state-title").text(t.id),c=l.node().getBBox().width+r,h=Math.max(c,a);h===a&&(h+=r);let u,d=e.node().getBBox();t.doc,u=o-n,a<c&&(u=(a-h)/2+n),Math.abs(o-d.x)<n&&a<c&&(u=o-(c-a)/2);t=1-N().state.textHeight;return e.insert("rect",":first-child").attr("x",u).attr("y",t).attr("class",i?"alt-composit":"composit").attr("width",h).attr("height",d.height+N().state.textHeight+N().state.titleShift+1).attr("rx","0"),l.attr("x",u+n),c<=a&&l.attr("x",o+(h-r)/2-c/2+n),e.insert("rect",":first-child").attr("x",u).attr("y",N().state.titleShift-N().state.textHeight-N().state.padding).attr("width",h).attr("height",3*N().state.textHeight).attr("rx",N().state.radius),e.insert("rect",":first-child").attr("x",u).attr("y",N().state.titleShift-N().state.textHeight-N().state.padding).attr("width",h).attr("height",d.height+3+2*N().state.textHeight).attr("rx",N().state.radius),e},"addTitleAndBox"),b3e=mt(e=>(e.append("circle").attr("class","end-state-outer").attr("r",N().state.sizeUnit+N().state.miniPadding).attr("cx",N().state.padding+N().state.sizeUnit+N().state.miniPadding).attr("cy",N().state.padding+N().state.sizeUnit+N().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",N().state.sizeUnit).attr("cx",N().state.padding+N().state.sizeUnit+2).attr("cy",N().state.padding+N().state.sizeUnit+2)),"drawEndState"),v3e=mt((e,t)=>{let i=N().state.forkWidth,n=N().state.forkHeight;return t.parentId&&(t=i,i=n,n=t),e.append("rect").style("stroke","black").style("fill","black").attr("width",i).attr("height",n).attr("x",N().state.padding).attr("y",N().state.padding)},"drawForkJoinState"),x3e=mt((e,t,i,n)=>{let r=0,s=n.append("text"),a=(s.style("text-anchor","start"),s.attr("class","noteText"),e.replace(/\r\n/g,"<br/>")),o=(a=a.replace(/\n/g,"<br/>")).split($.lineBreakRegex),l=1.25*N().state.noteMargin;for(var c of o){var h,c=c.trim();0<c.length&&((h=s.append("tspan")).text(c),0===l&&(c=h.node().getBBox(),l+=c.height),r+=l,h.attr("x",t+N().state.noteMargin),h.attr("y",i+r+1.25*N().state.noteMargin))}return{textWidth:s.node().getBBox().width,textHeight:r}},"_drawLongText"),w3e=mt((e,t)=>{t.attr("class","state-note");var i=t.append("rect").attr("x",0).attr("y",N().state.padding),t=t.append("g"),{textWidth:e,textHeight:t}=x3e(e,0,0,t);return i.attr("height",t+2*N().state.noteMargin),i.attr("width",e+2*N().state.noteMargin),i},"drawNote"),k3e=mt(function(e,t){var i=t.id,n={id:i,label:t.id,width:0,height:0},e=e.append("g").attr("id",i).attr("class","stateGroup"),i=("start"===t.type&&p3e(e),"end"===t.type&&b3e(e),"fork"!==t.type&&"join"!==t.type||v3e(e,t),"note"===t.type&&w3e(t.note.text,e),"divider"===t.type&&g3e(e),"default"===t.type&&0===t.descriptions.length&&f3e(e,t),"default"===t.type&&0<t.descriptions.length Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
@@ -1910,7 +1910,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
${e.actor5?"fill: "+e.actor5:""}; ${e.actor5?"fill: "+e.actor5:""};
} }
${GK()} ${GK()}
`,"getStyles"),o5e=a5e}),S5e=e(()=>{"use strict";function t(e,t,i,n,r,s,a,o){g(t.append("text").attr("x",i+r/2).attr("y",n+s/2+5).style("font-color",o).style("text-anchor","middle").text(e),a)}function c(e,t,i,n,r,s,a,o,l){var{taskFontSize:c,taskFontFamily:h}=o,u=e.split(/<br\s*\/?>/gi);for(let e=0;e<u.length;e++){var d=e*c-c*(u.length-1)/2,p=t.append("text").attr("x",i+r/2).attr("y",n).attr("fill",l).style("text-anchor","middle").style("font-size",c).style("font-family",h);p.append("tspan").attr("x",i+r/2).attr("dy",d).text(u[e]),p.attr("y",n+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),g(p,a)}}function i(e,t,i,n,r,s,a,o){var t=t.append("switch"),l=t.append("foreignObject").attr("x",i).attr("y",n).attr("width",r).attr("height",s).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");l.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),c(e,t,i,n,r,s,a,o),g(l,a)}function g(e,t){for(var i in t)i in t&&e.attr(i,t[i])}a6(),c6(),l5e=mt(function(e,t){return _w(e,t)},"drawRect"),c5e=mt(function(e,i){var t=e.append("circle").attr("cx",i.cx).attr("cy",i.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),e=e.append("g");function n(e){var t=Y3().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(6.8181818181818175);e.append("path").attr("class","mouth").attr("d",t).attr("transform","translate("+i.cx+","+(i.cy+2)+")")}function r(e){var t=Y3().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(6.8181818181818175);e.append("path").attr("class","mouth").attr("d",t).attr("transform","translate("+i.cx+","+(i.cy+7)+")")}function s(e){e.append("line").attr("class","mouth").attr("stroke",2).attr("x1",i.cx-5).attr("y1",i.cy+7).attr("x2",i.cx+5).attr("y2",i.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return e.append("circle").attr("cx",i.cx-5).attr("cy",i.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),e.append("circle").attr("cx",i.cx+5).attr("cy",i.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),mt(n,"smile"),mt(r,"sad"),mt(s,"ambivalent"),(3<i.score?n:i.score<3?r:s)(e),t},"drawFace"),h5e=mt(function(e,t){e=e.append("circle");return e.attr("cx",t.cx),e.attr("cy",t.cy),e.attr("class","actor-"+t.pos),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("r",t.r),void 0!==e.class&&e.attr("class",e.class),void 0!==t.title&&e.append("title").text(t.title),e},"drawCircle"),u5e=mt(function(e,t){return Ew(e,t)},"drawText"),d5e=mt(function(e,t){function i(e,t,i,n,r){return e+","+t+" "+(e+i)+","+t+" "+(e+i)+","+(t+n-r)+" "+(e+i-1.2*r)+","+(t+n)+" "+e+","+(t+n)}mt(i,"genPoints");var n=e.append("polygon");n.attr("points",i(t.x,t.y,50,20,7)),n.attr("class","labelBox"),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,u5e(e,t)},"drawLabel"),p5e=mt(function(e,t,i){var e=e.append("g"),n=Rw();n.x=t.x,n.y=t.y,n.fill=t.fill,n.width=i.width*t.taskCount+i.diagramMarginX*(t.taskCount-1),n.height=i.height,n.class="journey-section section-type-"+t.num,n.rx=3,n.ry=3,l5e(e,n),y5e(i)(t.text,e,n.x,n.y,n.width,n.height,{class:"journey-section section-type-"+t.num},i,t.colour)},"drawSection"),g5e=-1,f5e=mt(function(e,i,t){let n=i.x+t.width/2,r=e.append("g");g5e++;r.append("line").attr("id","task"+g5e).attr("x1",n).attr("y1",i.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),c5e(r,{cx:n,cy:300+30*(5-i.score),score:i.score});e=Rw();e.x=i.x,e.y=i.y,e.fill=i.fill,e.width=t.width,e.height=t.height,e.class="task task-type-"+i.num,e.rx=3,e.ry=3,l5e(r,e);let s=i.x+14;i.people.forEach(e=>{var t=i.actors[e].color,t={cx:s,cy:i.y,r:7,fill:t,stroke:"#000",title:e,pos:i.actors[e].position};h5e(r,t),s+=10}),y5e(t)(i.task,r,e.x,e.y,e.width,e.height,{class:"task"},t,i.colour)},"drawTask"),m5e=mt(function(e,t){Aw(e,t)},"drawBackgroundRect"),mt(t,"byText"),mt(c,"byTspan"),mt(i,"byFo"),mt(g,"_setTextAttrs"),y5e=function(e){return"fo"===e.textPlacement?i:"old"===e.textPlacement?t:c},b5e=mt(function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics"),v5e={drawRect:l5e,drawCircle:h5e,drawSection:p5e,drawText:u5e,drawLabel:d5e,drawTask:f5e,drawBackgroundRect:m5e,initGraphics:b5e}});function C5e(a){let n=N().journey,o=n.maxLabelWidth,l=(E5e=0,60);Object.keys(A5e).forEach(t=>{var e=A5e[t].color,e={cx:20,cy:l,r:7,fill:e,stroke:"#000",pos:A5e[t].position};v5e.drawCircle(a,e);let r=a.append("text").attr("visibility","hidden").text(t),i=r.node().getBoundingClientRect().width,s=(r.remove(),[]);if(i<=o)s=[t];else{let e=t.split(" "),n="";r=a.append("text").attr("visibility","hid Line truncated `,"getStyles"),o5e=a5e}),S5e=e(()=>{"use strict";function t(e,t,i,n,r,s,a,o){g(t.append("text").attr("x",i+r/2).attr("y",n+s/2+5).style("font-color",o).style("text-anchor","middle").text(e),a)}function c(e,t,i,n,r,s,a,o,l){var{taskFontSize:c,taskFontFamily:h}=o,u=e.split(/<br\s*\/?>/gi);for(let e=0;e<u.length;e++){var d=e*c-c*(u.length-1)/2,p=t.append("text").attr("x",i+r/2).attr("y",n).attr("fill",l).style("text-anchor","middle").style("font-size",c).style("font-family",h);p.append("tspan").attr("x",i+r/2).attr("dy",d).text(u[e]),p.attr("y",n+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),g(p,a)}}function i(e,t,i,n,r,s,a,o){var t=t.append("switch"),l=t.append("foreignObject").attr("x",i).attr("y",n).attr("width",r).attr("height",s).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");l.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),c(e,t,i,n,r,s,a,o),g(l,a)}function g(e,t){for(var i in t)i in t&&e.attr(i,t[i])}a6(),c6(),l5e=mt(function(e,t){return _w(e,t)},"drawRect"),c5e=mt(function(e,i){var t=e.append("circle").attr("cx",i.cx).attr("cy",i.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),e=e.append("g");function n(e){var t=Y3().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(6.8181818181818175);e.append("path").attr("class","mouth").attr("d",t).attr("transform","translate("+i.cx+","+(i.cy+2)+")")}function r(e){var t=Y3().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(6.8181818181818175);e.append("path").attr("class","mouth").attr("d",t).attr("transform","translate("+i.cx+","+(i.cy+7)+")")}function s(e){e.append("line").attr("class","mouth").attr("stroke",2).attr("x1",i.cx-5).attr("y1",i.cy+7).attr("x2",i.cx+5).attr("y2",i.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return e.append("circle").attr("cx",i.cx-5).attr("cy",i.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),e.append("circle").attr("cx",i.cx+5).attr("cy",i.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),mt(n,"smile"),mt(r,"sad"),mt(s,"ambivalent"),(3<i.score?n:i.score<3?r:s)(e),t},"drawFace"),h5e=mt(function(e,t){e=e.append("circle");return e.attr("cx",t.cx),e.attr("cy",t.cy),e.attr("class","actor-"+t.pos),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("r",t.r),void 0!==e.class&&e.attr("class",e.class),void 0!==t.title&&e.append("title").text(t.title),e},"drawCircle"),u5e=mt(function(e,t){return Ew(e,t)},"drawText"),d5e=mt(function(e,t){function i(e,t,i,n,r){return e+","+t+" "+(e+i)+","+t+" "+(e+i)+","+(t+n-r)+" "+(e+i-1.2*r)+","+(t+n)+" "+e+","+(t+n)}mt(i,"genPoints");var n=e.append("polygon");n.attr("points",i(t.x,t.y,50,20,7)),n.attr("class","labelBox"),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,u5e(e,t)},"drawLabel"),p5e=mt(function(e,t,i){var e=e.append("g"),n=Rw();n.x=t.x,n.y=t.y,n.fill=t.fill,n.width=i.width*t.taskCount+i.diagramMarginX*(t.taskCount-1),n.height=i.height,n.class="journey-section section-type-"+t.num,n.rx=3,n.ry=3,l5e(e,n),y5e(i)(t.text,e,n.x,n.y,n.width,n.height,{class:"journey-section section-type-"+t.num},i,t.colour)},"drawSection"),g5e=-1,f5e=mt(function(e,i,t){let n=i.x+t.width/2,r=e.append("g");g5e++;r.append("line").attr("id","task"+g5e).attr("x1",n).attr("y1",i.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),c5e(r,{cx:n,cy:300+30*(5-i.score),score:i.score});e=Rw();e.x=i.x,e.y=i.y,e.fill=i.fill,e.width=t.width,e.height=t.height,e.class="task task-type-"+i.num,e.rx=3,e.ry=3,l5e(r,e);let s=i.x+14;i.people.forEach(e=>{var t=i.actors[e].color,t={cx:s,cy:i.y,r:7,fill:t,stroke:"#000",title:e,pos:i.actors[e].position};h5e(r,t),s+=10}),y5e(t)(i.task,r,e.x,e.y,e.width,e.height,{class:"task"},t,i.colour)},"drawTask"),m5e=mt(function(e,t){Aw(e,t)},"drawBackgroundRect"),mt(t,"byText"),mt(c,"byTspan"),mt(i,"byFo"),mt(g,"_setTextAttrs"),y5e=function(e){return"fo"===e.textPlacement?i:"old"===e.textPlacement?t:c},b5e=mt(function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics"),v5e={drawRect:l5e,drawCircle:h5e,drawSection:p5e,drawText:u5e,drawLabel:d5e,drawTask:f5e,drawBackgroundRect:m5e,initGraphics:b5e}});function C5e(a){let n=N().journey,o=n.maxLabelWidth,l=(E5e=0,60);Object.keys(A5e).forEach(t=>{var e=A5e[t].color,e={cx:20,cy:l,r:7,fill:e,stroke:"#000",pos:A5e[t].position};v5e.drawCircle(a,e);let r=a.append("text").attr("visibility","hidden").text(t),i=r.node().getBoundingClientRect().width,s=(r.remove(),[]);if(i<=o)s=[t];else{let e=t.split(" "),n="";r=a.append("text").attr("visibility","hid Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
@@ -1970,18 +1970,18 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
.eventWrapper { .eventWrapper {
filter: brightness(120%); filter: brightness(120%);
} }
`,"getStyles"),Rwe=Lwe}),Dwe={};G(Dwe,{diagram:()=>Owe});var Owe,Pwe,Bwe,Fwe,jwe,zwe=e(()=>{"use strict";U5e(),awe(),Iwe(),Nwe(),Owe={db:q5e,renderer:Ewe,parser:z5e,styles:Rwe}}),Hwe=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[1,4],n=[1,13],r=[1,12],s=[1,15],a=[1,16],o=[1,20],l=[1,19],c=[6,7,8],h=[1,26],u=[1,24],d=[1,25],p=[6,7,11],g=[1,6,13,15,16,19,22],f=[1,33],m=[1,34],y=[1,6,7,11,13,15,16,19,22],i={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",s[o].id),n.addNode(s[o-1].length,s[o].id,s[o].descr,s[o].type);break;case 16:n.getLogger().trace("Icon: ",s[o]),n.decorateNode({icon:s[o]});break;case 17:case 21:n.decorateNode({class:s[o]});break;case 18:n.getLogger().trace("SPACELIST");break;case 19:n.getLogger().trace("Node: ",s[o].id),n.addNode(0,s[o].id,s[o].descr,s[o].type);break;case 20:n.decorateNode({icon:s[o]});break;case 25:n.getLogger().trace("node found ..",s[o-2]),this.$={id:s[o-1],descr:s[o-1],type:n.getType(s[o-2],s[o])};break;case 26:this.$={id:s[o],descr:s[o],type:n.nodeType.DEFAULT};break;case 27:n.getLogger().trace("node found ..",s[o-3]),this.$={id:s[o-3],descr:s[o-1],type:n.getType(s[o-2],s[o])}}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:i},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:i},{6:n,7:[1,10],9:9,12:11,13:r,14:14,15:s,16:a,17:17,18:18,19:o,22:l},t(c,[2,3]),{1:[2,2]},t(c,[2,4]),t(c,[2,5]),{1:[2,6],6:n,12:21,13:r,14:14,15:s,16:a,17:17,18:18,19:o,22:l},{6:n,9:22,12:11,13:r,14:14,15:s,16:a,17:17,18:18,19:o,22:l},{6:h,7:u,10:23,11:d},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:o,22:l}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:u,10:32,11:d},{1:[2,7],6:n,12:21,13:r,14:14,15:s,16:a,17:17,18:18,19:o,22:l},t(g,[2,14],{7:f,11:m}),t(y,[2,8]),t(y,[2,9]),t(y,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(g,[2,13],{7:f,11:m}),t(y,[2,11]),t(y,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:mt(function(e,t){var i;if(!t.recoverable)throw(i=new Error(e)).hash=t,i;this.trace(e)},"parseError"),parse:mt(function(e){var t,i=this,n=[0],r=[],s=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=1,p=a.slice.call(arguments,1),g=Object.create(this.lexer),f={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(f.yy[t]=this.yy[t]);g.setInput(e,f.yy),f.yy.lexer=g,f.yy.parser=this,"u"<typeof g.yylloc&&(g.yylloc={});var m=g.yylloc,y=(a.push(m),g.options&&g.options.ranges);function b(){var e=r.pop()||g.lex()||d;return"number"!=typeof e&&(e instanceof Array&&(e=(r=e).pop()),e=i.symbols_[e]||e),e}"function"==typeof f.yy.parseError?this.parseError=f.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,mt(function(e){n.length=n.length-2*e,s.length=s.length-e,a.length=a.length-e},"popStack"),mt(b,"lex");for(var v,x,w,k,T,S,C,_={};;){if(w=n[n.length-1],"u"<typeof(k=this.defaultActions[w]||((null===v||"u"<typeof v)&&(v=b()),o[w]&&o[w][v]))||!k.length||!k[0]){var A="",E=[];for(T in o[w])this.terminals_[T]&&2<T&&E.push("'"+this.terminals_[T]+"'");A=g.showPosition?"Parse error on line "+(c+1)+`: `,"getStyles"),Rwe=Lwe}),Dwe={};G(Dwe,{diagram:()=>Owe});var Owe,Pwe,Bwe,Fwe,jwe,zwe=e(()=>{"use strict";H5e(),awe(),Iwe(),Nwe(),Owe={db:q5e,renderer:Ewe,parser:z5e,styles:Rwe}}),Uwe=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[1,4],n=[1,13],r=[1,12],s=[1,15],a=[1,16],o=[1,20],l=[1,19],c=[6,7,8],h=[1,26],u=[1,24],d=[1,25],p=[6,7,11],g=[1,6,13,15,16,19,22],f=[1,33],m=[1,34],y=[1,6,7,11,13,15,16,19,22],i={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",s[o].id),n.addNode(s[o-1].length,s[o].id,s[o].descr,s[o].type);break;case 16:n.getLogger().trace("Icon: ",s[o]),n.decorateNode({icon:s[o]});break;case 17:case 21:n.decorateNode({class:s[o]});break;case 18:n.getLogger().trace("SPACELIST");break;case 19:n.getLogger().trace("Node: ",s[o].id),n.addNode(0,s[o].id,s[o].descr,s[o].type);break;case 20:n.decorateNode({icon:s[o]});break;case 25:n.getLogger().trace("node found ..",s[o-2]),this.$={id:s[o-1],descr:s[o-1],type:n.getType(s[o-2],s[o])};break;case 26:this.$={id:s[o],descr:s[o],type:n.nodeType.DEFAULT};break;case 27:n.getLogger().trace("node found ..",s[o-3]),this.$={id:s[o-3],descr:s[o-1],type:n.getType(s[o-2],s[o])}}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:i},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:i},{6:n,7:[1,10],9:9,12:11,13:r,14:14,15:s,16:a,17:17,18:18,19:o,22:l},t(c,[2,3]),{1:[2,2]},t(c,[2,4]),t(c,[2,5]),{1:[2,6],6:n,12:21,13:r,14:14,15:s,16:a,17:17,18:18,19:o,22:l},{6:n,9:22,12:11,13:r,14:14,15:s,16:a,17:17,18:18,19:o,22:l},{6:h,7:u,10:23,11:d},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:o,22:l}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:u,10:32,11:d},{1:[2,7],6:n,12:21,13:r,14:14,15:s,16:a,17:17,18:18,19:o,22:l},t(g,[2,14],{7:f,11:m}),t(y,[2,8]),t(y,[2,9]),t(y,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(g,[2,13],{7:f,11:m}),t(y,[2,11]),t(y,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:mt(function(e,t){var i;if(!t.recoverable)throw(i=new Error(e)).hash=t,i;this.trace(e)},"parseError"),parse:mt(function(e){var t,i=this,n=[0],r=[],s=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=1,p=a.slice.call(arguments,1),g=Object.create(this.lexer),f={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(f.yy[t]=this.yy[t]);g.setInput(e,f.yy),f.yy.lexer=g,f.yy.parser=this,"u"<typeof g.yylloc&&(g.yylloc={});var m=g.yylloc,y=(a.push(m),g.options&&g.options.ranges);function b(){var e=r.pop()||g.lex()||d;return"number"!=typeof e&&(e instanceof Array&&(e=(r=e).pop()),e=i.symbols_[e]||e),e}"function"==typeof f.yy.parseError?this.parseError=f.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,mt(function(e){n.length=n.length-2*e,s.length=s.length-e,a.length=a.length-e},"popStack"),mt(b,"lex");for(var v,x,w,k,T,S,C,_={};;){if(w=n[n.length-1],"u"<typeof(k=this.defaultActions[w]||((null===v||"u"<typeof v)&&(v=b()),o[w]&&o[w][v]))||!k.length||!k[0]){var A="",E=[];for(T in o[w])this.terminals_[T]&&2<T&&E.push("'"+this.terminals_[T]+"'");A=g.showPosition?"Parse error on line "+(c+1)+`:
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},c={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},c={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return e.getLogger().trace("Found comment",t.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:e.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return e.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:e.getLogger().trace("end icon"),this.popState();break;case 10:return e.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return e.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return e.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return e.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:e.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return e.getLogger().trace("description:",t.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),e.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),e.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),e.getLogger().trace("node end ...",t.yytext),"NODE_DEND";case 30:return this.popState(),e.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),e.getLogger().trace("node end (-"),"NODE_DEND";case 33:case 34:return this.popState(),e.getLogger().trace("node end (("),"NODE_DEND";case 35:case 36:return e.getLogger().trace("Long description:",t.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}},i.lexer=c,mt(e,"Parser"),(Pwe=new((e.prototype=i).Parser=e)).parser=Pwe,Bwe=Pwe}),Uwe=e(()=>{"use strict";_u(),hh(),t(),Ln(),Fwe={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},jwe=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=Fwe,this.clear(),this.getType=this.getType.bind(this),this.getMindmap=this.getMindmap.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{mt(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={}}getParent(t){for(let e=this.nodes.length-1;0<=e;e--)if(this.nodes[e].level<t)return this.nodes[e];return null}getMindmap(){return 0<this.nodes.length?this.nodes[0]:null}addNode(e,t,i,n){I.info("addNode",e,t,i,n);let r=N(),s=r.mindmap?.padding??vi.mindmap.padding;switch(n){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:s*=2}t={id:this.count++,nodeId:Pc(t,r),level:e,descr:Pc(i,r),type:n,children:[],width:r.mindmap?.maxNodeWidth??vi.mindmap.maxNodeWidth,padding:s},i=this.getParent(e);if(i)i.children.push(t);else if(0!==this.nodes.length)throw new Error(`There can be only one root. No parent could be found for ("${t.descr}")`);this.nodes.push(t)}getType(e,t){switch(I.debug("In get type",e,t),e){case"[":return this.nodeType.RECT;case"(":return")"===t?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;caseLine truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return e.getLogger().trace("Found comment",t.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:e.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return e.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:e.getLogger().trace("end icon"),this.popState();break;case 10:return e.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return e.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return e.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return e.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:e.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return e.getLogger().trace("description:",t.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),e.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),e.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),e.getLogger().trace("node end ...",t.yytext),"NODE_DEND";case 30:return this.popState(),e.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),e.getLogger().trace("node end (-"),"NODE_DEND";case 33:case 34:return this.popState(),e.getLogger().trace("node end (("),"NODE_DEND";case 35:case 36:return e.getLogger().trace("Long description:",t.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}},i.lexer=c,mt(e,"Parser"),(Pwe=new((e.prototype=i).Parser=e)).parser=Pwe,Bwe=Pwe}),Hwe=e(()=>{"use strict";_u(),hh(),t(),Ln(),Fwe={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},jwe=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=Fwe,this.clear(),this.getType=this.getType.bind(this),this.getMindmap=this.getMindmap.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{mt(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={}}getParent(t){for(let e=this.nodes.length-1;0<=e;e--)if(this.nodes[e].level<t)return this.nodes[e];return null}getMindmap(){return 0<this.nodes.length?this.nodes[0]:null}addNode(e,t,i,n){I.info("addNode",e,t,i,n);let r=N(),s=r.mindmap?.padding??vi.mindmap.padding;switch(n){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:s*=2}t={id:this.count++,nodeId:Pc(t,r),level:e,descr:Pc(i,r),type:n,children:[],width:r.mindmap?.maxNodeWidth??vi.mindmap.maxNodeWidth,padding:s},i=this.getParent(e);if(i)i.children.push(t);else if(0!==this.nodes.length)throw new Error(`There can be only one root. No parent could be found for ("${t.descr}")`);this.nodes.push(t)}getType(e,t){switch(I.debug("In get type",e,t),e){case"[":return this.nodeType.RECT;case"(":return")"===t?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;caseLine truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function r6e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function r6e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function s6e(e,t){var i,n,r,s,a=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a)return n=!(i=!0),{s:mt(function(){a=a.call(e)},"s"),n:mt(function(){var e=a.next();return i=e.done,e},"n"),e:mt(function(e){n=!0,r=e},"e"),f:mt(function(){try{i||null==a.return||a.return()}finally{if(n)throw r}},"f")};if(Array.isArray(e)||(a=t6e(e))||t&&e&&"number"==typeof e.length)return a&&(e=a),s=0,{s:t=mt(function(){},"F"),n:mt(function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}},"n"),e:mt(function(e){throw e},"e"),f:t};throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function s6e(e,t){var i,n,r,s,a=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a)return n=!(i=!0),{s:mt(function(){a=a.call(e)},"s"),n:mt(function(){var e=a.next();return i=e.done,e},"n"),e:mt(function(e){n=!0,r=e},"e"),f:mt(function(){try{i||null==a.return||a.return()}finally{if(n)throw r}},"f")};if(Array.isArray(e)||(a=t6e(e))||t&&e&&"number"==typeof e.length)return a&&(e=a),s=0,{s:t=mt(function(){},"F"),n:mt(function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}},"n"),e:mt(function(e){throw e},"e"),f:t};throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function a6e(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function o6e(e,t){return e(t={exports:{}},t.exports),t.exports}function l6e(e){for(var t=e.length;t--&&Pke.test(e.charAt(t)););return t}function c6e(e){return e&&e.slice(0,Bke(e)+1).replace(Fke,"")}function h6e(e){var t=zke.call(e,Uke),i=e[Uke];try{var n=!(e[Uke]=void 0)}catch{}var r=Hke.call(e);return n&&(t?e[Uke]=i:delete e[Uke]),r}function u6e(e){return Wke.call(e)}function d6e(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":(Vke&&Vke in Object(e)?qke:Gke)(e)}function p6e(e){return null!=e&&"object"==typeof e}function g6e(e){return"symbol"==typeof e||Xke(e)&&"[object Symbol]"==Yke(e)}function f6e(e){if("number"==typeof e)return e;if(Kke(e))return Zke;if(Ike(e)&&(t="function"==typeof e.valueOf?e.valueOf():e,e=Ike(t)?t+"":t),"string"!=typeof e)return 0===e?e:+e;e=jke(e);var t=Jke.test(e);return t||eTe.test(e)?tTe(e.slice(2),t?2:8):Qke.test(e)?Zke:+e}function m6e(n,i,e){var r,s,a,o,l,c,h=0,t=!1,u=!1,d=!0;if("function"!=typeof n)throw new TypeError("Expected a function");function p(e){var t=r,i=s;return r=s=void 0,h=e,o=n.apply(i,t)}function g(e){return h=e,l=setTimeout(y,i),t?p(e):o}function f(e){var t=i-(e-c);return u?rTe(t,a-(e-h)):t}function m(e){var t=e-c;return void 0===c||i<=t||t<0||u&&a<=e-h}function y(){var e=Oke();if(m(e))return b(e);l=setTimeout(y,f(e))}function b(e){return l=void 0,d&&r?p(e):(r=s=void 0,o)}function v(){void 0!==l&&clearTimeout(l),r=c=s=l=void(h=0)}function x(){return void 0===l?o:b(Oke())}function w(){var e=Oke(),t=m(e);if(r=arguments,s=this,c=e,t){if(void 0===l)return g(c);if(u)return clearTimeout(l),l=setTimeout(y,i),p(c)}return void 0===l&&(l=setTimeout(y,i)),o}return i=iTe(i)||0,Ike(e)&&(t=!!e.leading,u="maxWait"in e,a=u?nTe(iTe(e.maxWait)||0,i):a,d="trailing"in e?!!e.trailing:d),mt(p,"invokeFunc"),mt(g,"leadingEdge"),mt(f,"remainingWait"),mt(m,"shouldInvoke"),mt(y,"timerExpired"),mt(b,"trailingEdge"),mt(v,"cancel"),mt(x,"flush"),mt(w,"debounced"),w.cancel=v,w.flush=x,w}function y6e(e,t,i,n,r,s){var a=J7e(e)?e:LCe[e]||LCe.euclidean;return 0===t&&J7e(e)?a(r,s):a(t,i,n,r,s)}function b6e(e,t){var i;return!m_e(e)&&(!("number"!=(i=typeof e)&&"symbol"!=i&&"boolean"!=i&&null!=e&&!Kke(e))||b_e.test(e)||!y_e.test(e)||null!=t&&e in Object(t))}function v6e(e){return!!Ike(e)&&("[object Function]"==(e=Yke(e))||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e)}function x6e(e){return!!w_e&&w_e in e}function w6e(e){if(null!=e){try{return T_e.call(e)}catch{}try{return e+""}catch{}}return""}function k6e(e){return!(!Ike(e)||k_e(e))&&(x_e(e)?__e:C_e).test(S_e(e))}function T6e(e,t){return e?.[t]}function S6e(e,t){e=E_e(e,t);return A_e(e)?e:void 0}function C6e(){this.__data__=L_e?L_e(null):{},this.size=0}function _6e(e){e=this.has(e)&&delete this.__data__[e];return this.size-=e?1:0,e}function A6e(e){var t,i=this.__data__;return L_e?"__lodash_hash_undefined__"===(t=i[e])?void 0:t:R_e.call(i,e)?i[e]:void 0}function E6e(e){var t=this.__data__;return L_e?void 0!==t[e]:M_e.call(t,e)}function $6e(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=L_e&&void 0===t?"__lodash_hash_undefined__":t,this}function L6e(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function R6e(){this.__data__=[],this.size=0}function M6e(e,t){return e===t||e!=e&&t!=t}function I6e(e,t){for(var i=e.length;i--;)if(N_e(e[i][0],t))return i;return-1}function N6e(e){var t=this.__data__,e=D_e(t,e);return!(e<0||(e==t.length-1?t.pop():O_e.call(t,e,1),--this.size,0))}function D6e(e){var t=this.__data__,e=D_e(t,e);return e<0?void 0:t[e][1]}function O6e(e){return-1<D_e(this.__data__,e)}function P6e(e,t){var i=this.__data__,n=D_e(i,e);return n<0?(++this.size,i.push([e,t])):i[n][1]=t,this}function B6e(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function F6e(){this.size=0,this.__data__={hash:new I_e,map:new(B_e||P_e),string:new I_e}}function j6e(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function z6e(e,t){e=e.__data__;return F_e(t)?e["string"==typeof t?"string":"hash"]:e.map}function H6e(e){e=j_e(this,e).delete(e);return this.size-=e?1:0,e}function U6e(e){return j_e(this,e).get(e)}function q6e(e){return j_e(this,e).has(e)}function W6e(e,t){var i=j_e(this,e),n=i.size;return i.set(e,t),this.size+=i.size==n?0:1,this}function G6e(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function V6e(n,r){if("function"!=typeof n||null!=r&&"function"!=typeof r)throw new TypeError(H_e);var s=mt(function(){var e=arguments,t=r?r.apply(this,e):e[0],i=s.cache;return i.has(t)?i.get(t):(e=n.apply(this,e),s.cache=i.set(t,e)||i,e)},"memoized");return s.cache=new(V6e.Cache||z_e),s}function Y6e(e){var e=U_e(e,function(e){return 500===t.size&&t.clear(),e}),t=e.cache Line truncated In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function a6e(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function o6e(e,t){return e(t={exports:{}},t.exports),t.exports}function l6e(e){for(var t=e.length;t--&&P7e.test(e.charAt(t)););return t}function c6e(e){return e&&e.slice(0,B7e(e)+1).replace(F7e,"")}function h6e(e){var t=z7e.call(e,H7e),i=e[H7e];try{var n=!(e[H7e]=void 0)}catch{}var r=U7e.call(e);return n&&(t?e[H7e]=i:delete e[H7e]),r}function u6e(e){return W7e.call(e)}function d6e(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":(V7e&&V7e in Object(e)?q7e:G7e)(e)}function p6e(e){return null!=e&&"object"==typeof e}function g6e(e){return"symbol"==typeof e||X7e(e)&&"[object Symbol]"==Y7e(e)}function f6e(e){if("number"==typeof e)return e;if(K7e(e))return Z7e;if(I7e(e)&&(t="function"==typeof e.valueOf?e.valueOf():e,e=I7e(t)?t+"":t),"string"!=typeof e)return 0===e?e:+e;e=j7e(e);var t=J7e.test(e);return t||eTe.test(e)?tTe(e.slice(2),t?2:8):Q7e.test(e)?Z7e:+e}function m6e(n,i,e){var r,s,a,o,l,c,h=0,t=!1,u=!1,d=!0;if("function"!=typeof n)throw new TypeError("Expected a function");function p(e){var t=r,i=s;return r=s=void 0,h=e,o=n.apply(i,t)}function g(e){return h=e,l=setTimeout(y,i),t?p(e):o}function f(e){var t=i-(e-c);return u?rTe(t,a-(e-h)):t}function m(e){var t=e-c;return void 0===c||i<=t||t<0||u&&a<=e-h}function y(){var e=O7e();if(m(e))return b(e);l=setTimeout(y,f(e))}function b(e){return l=void 0,d&&r?p(e):(r=s=void 0,o)}function v(){void 0!==l&&clearTimeout(l),r=c=s=l=void(h=0)}function x(){return void 0===l?o:b(O7e())}function w(){var e=O7e(),t=m(e);if(r=arguments,s=this,c=e,t){if(void 0===l)return g(c);if(u)return clearTimeout(l),l=setTimeout(y,i),p(c)}return void 0===l&&(l=setTimeout(y,i)),o}return i=iTe(i)||0,I7e(e)&&(t=!!e.leading,u="maxWait"in e,a=u?nTe(iTe(e.maxWait)||0,i):a,d="trailing"in e?!!e.trailing:d),mt(p,"invokeFunc"),mt(g,"leadingEdge"),mt(f,"remainingWait"),mt(m,"shouldInvoke"),mt(y,"timerExpired"),mt(b,"trailingEdge"),mt(v,"cancel"),mt(x,"flush"),mt(w,"debounced"),w.cancel=v,w.flush=x,w}function y6e(e,t,i,n,r,s){var a=Jke(e)?e:LCe[e]||LCe.euclidean;return 0===t&&Jke(e)?a(r,s):a(t,i,n,r,s)}function b6e(e,t){var i;return!m_e(e)&&(!("number"!=(i=typeof e)&&"symbol"!=i&&"boolean"!=i&&null!=e&&!K7e(e))||b_e.test(e)||!y_e.test(e)||null!=t&&e in Object(t))}function v6e(e){return!!I7e(e)&&("[object Function]"==(e=Y7e(e))||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e)}function x6e(e){return!!w_e&&w_e in e}function w6e(e){if(null!=e){try{return T_e.call(e)}catch{}try{return e+""}catch{}}return""}function k6e(e){return!(!I7e(e)||k_e(e))&&(x_e(e)?__e:C_e).test(S_e(e))}function T6e(e,t){return e?.[t]}function S6e(e,t){e=E_e(e,t);return A_e(e)?e:void 0}function C6e(){this.__data__=L_e?L_e(null):{},this.size=0}function _6e(e){e=this.has(e)&&delete this.__data__[e];return this.size-=e?1:0,e}function A6e(e){var t,i=this.__data__;return L_e?"__lodash_hash_undefined__"===(t=i[e])?void 0:t:R_e.call(i,e)?i[e]:void 0}function E6e(e){var t=this.__data__;return L_e?void 0!==t[e]:M_e.call(t,e)}function $6e(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=L_e&&void 0===t?"__lodash_hash_undefined__":t,this}function L6e(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function R6e(){this.__data__=[],this.size=0}function M6e(e,t){return e===t||e!=e&&t!=t}function I6e(e,t){for(var i=e.length;i--;)if(N_e(e[i][0],t))return i;return-1}function N6e(e){var t=this.__data__,e=D_e(t,e);return!(e<0||(e==t.length-1?t.pop():O_e.call(t,e,1),--this.size,0))}function D6e(e){var t=this.__data__,e=D_e(t,e);return e<0?void 0:t[e][1]}function O6e(e){return-1<D_e(this.__data__,e)}function P6e(e,t){var i=this.__data__,n=D_e(i,e);return n<0?(++this.size,i.push([e,t])):i[n][1]=t,this}function B6e(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function F6e(){this.size=0,this.__data__={hash:new I_e,map:new(B_e||P_e),string:new I_e}}function j6e(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function z6e(e,t){e=e.__data__;return F_e(t)?e["string"==typeof t?"string":"hash"]:e.map}function U6e(e){e=j_e(this,e).delete(e);return this.size-=e?1:0,e}function H6e(e){return j_e(this,e).get(e)}function q6e(e){return j_e(this,e).has(e)}function W6e(e,t){var i=j_e(this,e),n=i.size;return i.set(e,t),this.size+=i.size==n?0:1,this}function G6e(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function V6e(n,r){if("function"!=typeof n||null!=r&&"function"!=typeof r)throw new TypeError(U_e);var s=mt(function(){var e=arguments,t=r?r.apply(this,e):e[0],i=s.cache;return i.has(t)?i.get(t):(e=n.apply(this,e),s.cache=i.set(t,e)||i,e)},"memoized");return s.cache=new(V6e.Cache||z_e),s}function Y6e(e){var e=H_e(e,function(e){return 500===t.size&&t.clear(),e}),t=e.cache Line truncated
`),l=e.pstyle("text-max-width").pfValue,c="anywhere"===e.pstyle("text-overflow-wrap").value,h=[],u=/[\s\u200b]+|$/g,d=0;d<o.length;d++){var p=o[d],g=this.calculateLabelDimensions(e,p).width;if(c&&(p=p.split("").join("​")),l<g){var f,m="",y=0,b=s6e(p.matchAll(u));try{for(b.s();!(f=b.n()).done;){var v=f.value,x=v[0],w=p.substring(y,v.index),y=v.index+x.length,k=0===m.length?w:m+w+x;this.calculateLabelDimensions(e,k).width<=l?m+=w+x:(m&&h.push(m),m=w+x)}}catch(e){b.e(e)}finally{b.f()}m.match(/^[\s\u200b]+$/)||h.push(m)}else h.push(p)}s("labelWrapCachedLines",h),t=s("labelWrapCachedText",h.join(` `),l=e.pstyle("text-max-width").pfValue,c="anywhere"===e.pstyle("text-overflow-wrap").value,h=[],u=/[\s\u200b]+|$/g,d=0;d<o.length;d++){var p=o[d],g=this.calculateLabelDimensions(e,p).width;if(c&&(p=p.split("").join("​")),l<g){var f,m="",y=0,b=s6e(p.matchAll(u));try{for(b.s();!(f=b.n()).done;){var v=f.value,x=v[0],w=p.substring(y,v.index),y=v.index+x.length,k=0===m.length?w:m+w+x;this.calculateLabelDimensions(e,k).width<=l?m+=w+x:(m&&h.push(m),m=w+x)}}catch(e){b.e(e)}finally{b.f()}m.match(/^[\s\u200b]+$/)||h.push(m)}else h.push(p)}s("labelWrapCachedLines",h),t=s("labelWrapCachedText",h.join(`
`)),s("labelWrapKey",a)}else if("ellipsis"===r){var T=e.pstyle("text-max-width").pfValue,S="",C=!1;if(this.calculateLabelDimensions(e,t).width<T)return t;for(var _=0;_<t.length;_++){if(T<this.calculateLabelDimensions(e,S+t[_]+"…").width)break;S+=t[_],_===t.length-1&&(C=!0)}return C||(S+="…"),S}return t},QEe.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,i=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(i){case"left":return"right";case"right":return"left";default:return"center"}},QEe.calculateLabelDimensions=function(e,t){var i=this.cy.window().document,n=bTe(t,e._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),s=r[n];if(null!=s)return s;var s=e.pstyle("font-style").strValue,a=e.pstyle("font-size").pfValue,o=e.pstyle("font-family").strValue,e=e.pstyle("font-weight").strValue,l=this.labelCalcCanvas,c=this.labelCalcCanvasContext;l||(l=this.labelCalcCanvas=i.createElement("canvas"),c=this.labelCalcCanvasContext=l.getContext("2d"),(i=l.style).position="absolute",i.left="-9999px",i.top="-9999px",i.zIndex="-1",i.visibility="hidden",i.pointerEvents="none"),c.font="".concat(s," ").concat(e," ").concat(a,"px ").concat(o);for(var h=0,u=0,d=t.split(` `)),s("labelWrapKey",a)}else if("ellipsis"===r){var T=e.pstyle("text-max-width").pfValue,S="",C=!1;if(this.calculateLabelDimensions(e,t).width<T)return t;for(var _=0;_<t.length;_++){if(T<this.calculateLabelDimensions(e,S+t[_]+"…").width)break;S+=t[_],_===t.length-1&&(C=!0)}return C||(S+="…"),S}return t},QEe.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,i=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(i){case"left":return"right";case"right":return"left";default:return"center"}},QEe.calculateLabelDimensions=function(e,t){var i=this.cy.window().document,n=bTe(t,e._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),s=r[n];if(null!=s)return s;var s=e.pstyle("font-style").strValue,a=e.pstyle("font-size").pfValue,o=e.pstyle("font-family").strValue,e=e.pstyle("font-weight").strValue,l=this.labelCalcCanvas,c=this.labelCalcCanvasContext;l||(l=this.labelCalcCanvas=i.createElement("canvas"),c=this.labelCalcCanvasContext=l.getContext("2d"),(i=l.style).position="absolute",i.left="-9999px",i.top="-9999px",i.zIndex="-1",i.visibility="hidden",i.pointerEvents="none"),c.font="".concat(s," ").concat(e," ").concat(a,"px ").concat(o);for(var h=0,u=0,d=t.split(`
`),p=0;p<d.length;p++){var g=d[p],g=c.measureText(g),g=Math.ceil(g.width),f=a,h=Math.max(g,h);u+=f}return r[n]={width:h+=0,height:u+=0}},QEe.calculateLabelAngle=function(e,t){var i=e._private.rscratch,n=e.isEdge(),e=e.pstyle((t?t+"-":"")+"text-rotation"),t=e.strValue;return"none"===t?0:n&&"autorotate"===t?i.labelAutoAngle:"autorotate"===t?0:e.pfValue},QEe.calculateLabelAngles=function(e){var t=e.isEdge(),i=e._private.rscratch;i.labelAngle=this.calculateLabelAngle(e),t&&(i.sourceLabelAngle=this.calculateLabelAngle(e,"source"),i.targetLabelAngle=this.calculateLabelAngle(e,"target"))},_Ee=!28,AEe={},[VEe,YEe,XEe,KEe,ZEe,QEe,{getNodeShape:function(e){var t=e.pstyle("shape").value;return"cutrectangle"===t&&(e.width()<28||e.height()<28)?(_Ee||(RTe("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),_Ee=!0),"rectangle"):e.isParent()?"rectangle"===t||"roundrectangle"===t||"round-rectangle"===t||"cutrectangle"===t||"cut-rectangle"===t||"barrel"===t?t:"rectangle":"polygon"===t?(e=e.pstyle("shape-polygon-points").value,this.nodeShapes.makePolygon(e).name):t}},{registerCalculationListeners:function(){var a=this.cy,o=a.collection(),l=this,c=mt(function(e){var t=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];if(o.merge(e),t)for(var i=0;i<e.length;i++){var n=e[i]._private.rstyle;n.clean=!1,n.cleanConnected=!1}},"enqueue"),e=(l.binder(a).on("bounds.* dirty.*",mt(function(e){e=e.target;c(e)},"onDirtyBounds")).on("style.* background.*",mt(function(e){e=e.target;c(e,!1)},"onDirtyStyle")),mt(function(e){if(e){var t=l.onUpdateEleCalcsFns;o.cleanStyle();for(var i=0;i<o.length;i++){var n=o[i],r=n._private.rstyle;n.isNode()&&!r.cleanConnected&&(c(n.connectedEdges()),r.cleanConnected=!0)}if(t)for(var s=0;s<t.length;s++)(0,t[s])(e,o);l.recalculateRenderedStyle(o),o=a.collection()}},"updateEleCalcs"));l.flushRenderedStyleQueue=function(){e(!0)},l.beforeRender(e,l.beforeRenderPriorities.eleCalcs)},onUpdateEleCalcs:function(e){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(e)},recalculateRenderedStyle:function(e,t){var i=mt(function(e){return e._private.rstyle.cleanConnected},"isCleanConnected"),n=[],r=[];if(!this.destroyed){void 0===t&&(t=!0);for(var s=0;s<e.length;s++){var a=e[s],o=a._private,l=o.rstyle;!a.isEdge()||i(a.source())&&i(a.target())||(l.clean=!1),t&&l.clean||a.removed()||"none"===a.pstyle("display").value||(("nodes"===o.group?r:n).push(a),l.clean=!0)}for(var c=0;c<r.length;c++){var h=r[c],u=h._private.rstyle,d=h.position();this.recalculateNodeLabelProjection(h),u.nodeX=d.x,u.nodeY=d.y,u.nodeW=h.pstyle("width").pfValue,u.nodeH=h.pstyle("height").pfValue}this.recalculateEdgeProjections(n);for(var p=0;p<n.length;p++){var g=n[p]._private,f=g.rstyle,g=g.rscratch;f.srcX=g.arrowStartX,f.srcY=g.arrowStartY,f.tgtX=g.arrowEndX,f.tgtY=g.arrowEndY,f.midX=g.midX,f.midY=g.midY,f.labelAngle=g.labelAngle,f.sourceLabelAngle=g.sourceLabelAngle,f.targetLabelAngle=g.targetLabelAngle}}}},{updateCachedGrabbedEles:function(){var e=this.cachedZSortedEles;if(e){e.drag=[],e.nondrag=[];for(var t=[],i=0;i<e.length;i++){var n=(r=e[i])._private.rscratch;(r.grabbed()&&!r.isParent()?t:n.inDragLayer?e.drag:e.nondrag).push(r)}for(i=0;i<t.length;i++){var r=t[i];e.drag.push(r)}}},invalidateCachedZSortedEles:function(){this.cachedZSortedEles=null},getCachedZSortedEles:function(e){var t;return e||!this.cachedZSortedEles?((t=this.cy.mutableElements().toArray()).sort(c9e),t.interactive=t.filter(function(e){return e.interactive()}),this.cachedZSortedEles=t,this.updateCachedGrabbedEles()):t=this.cachedZSortedEles,t}}].forEach(function(e){Ske(AEe,e)}),h$e={getCachedImage:function(e,t,i){var n,r=this.imageCache=this.imageCache||{},s=r[e];return s?(s.image.complete||s.image.addEventListener("load",i),s.image):((n=(s=r[e]=r[e]||{}).image=new Image).addEventListener("load",i),n.addEventListener("error",function(){n.error=!0}),"data:"!==e.substring(0,"data:".length).toLowerCase()&&(n.crossOrigin=t="null"===t?null:t),n.src=e,n)}},y$e={registerBinding:function(e,t,i,n){var r=Array.prototype.slice.apply(arguments,[1]);if(Array.isArray(e)){for(var s=[],a=0;a<e.length;a++){var o,l=e[a];void 0!==l&&(o=this.binder(l),s.push(o.on.apply(o,r)))}return s}return(o=this.binder(e)).on.apply(o,r)},binder:function(r){var s=this,e=s.cy.window(),a=r===e||r===e.document||r===e.document.body||dke(r);if(null==s.supportsPassiveEvents){var t=!1;try{var i=Object.defineProperty({},"passive",{get:mt(function(){return t=!0},"get")});e.addEventListener("test",null,i)}catch{}s.supportsPassiveEvents=t}e=mt(function(e,t,i){var n=Array.prototype.slice.call(arguments);return a&&s.supportsPassiveEvents&&(n[2]={capture:i??!1,passive:!1,once:!1}),s.bindings.push({target:r,args:n}),(r.addEventListener||r.on).apply(r,n),this},"on");return{on:e,addEventListener:e,addListener:e,bind:e}},nodeIsDraggable:function(e){return e&&e.isNode()&&!e.locked()&&e.grabbable()},nodeIsGrabbable:function(e){return this.nodeIsDraggable(e)&&e.interactive()}, Line truncated `),p=0;p<d.length;p++){var g=d[p],g=c.measureText(g),g=Math.ceil(g.width),f=a,h=Math.max(g,h);u+=f}return r[n]={width:h+=0,height:u+=0}},QEe.calculateLabelAngle=function(e,t){var i=e._private.rscratch,n=e.isEdge(),e=e.pstyle((t?t+"-":"")+"text-rotation"),t=e.strValue;return"none"===t?0:n&&"autorotate"===t?i.labelAutoAngle:"autorotate"===t?0:e.pfValue},QEe.calculateLabelAngles=function(e){var t=e.isEdge(),i=e._private.rscratch;i.labelAngle=this.calculateLabelAngle(e),t&&(i.sourceLabelAngle=this.calculateLabelAngle(e,"source"),i.targetLabelAngle=this.calculateLabelAngle(e,"target"))},_Ee=!28,AEe={},[VEe,YEe,XEe,KEe,ZEe,QEe,{getNodeShape:function(e){var t=e.pstyle("shape").value;return"cutrectangle"===t&&(e.width()<28||e.height()<28)?(_Ee||(RTe("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),_Ee=!0),"rectangle"):e.isParent()?"rectangle"===t||"roundrectangle"===t||"round-rectangle"===t||"cutrectangle"===t||"cut-rectangle"===t||"barrel"===t?t:"rectangle":"polygon"===t?(e=e.pstyle("shape-polygon-points").value,this.nodeShapes.makePolygon(e).name):t}},{registerCalculationListeners:function(){var a=this.cy,o=a.collection(),l=this,c=mt(function(e){var t=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];if(o.merge(e),t)for(var i=0;i<e.length;i++){var n=e[i]._private.rstyle;n.clean=!1,n.cleanConnected=!1}},"enqueue"),e=(l.binder(a).on("bounds.* dirty.*",mt(function(e){e=e.target;c(e)},"onDirtyBounds")).on("style.* background.*",mt(function(e){e=e.target;c(e,!1)},"onDirtyStyle")),mt(function(e){if(e){var t=l.onUpdateEleCalcsFns;o.cleanStyle();for(var i=0;i<o.length;i++){var n=o[i],r=n._private.rstyle;n.isNode()&&!r.cleanConnected&&(c(n.connectedEdges()),r.cleanConnected=!0)}if(t)for(var s=0;s<t.length;s++)(0,t[s])(e,o);l.recalculateRenderedStyle(o),o=a.collection()}},"updateEleCalcs"));l.flushRenderedStyleQueue=function(){e(!0)},l.beforeRender(e,l.beforeRenderPriorities.eleCalcs)},onUpdateEleCalcs:function(e){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(e)},recalculateRenderedStyle:function(e,t){var i=mt(function(e){return e._private.rstyle.cleanConnected},"isCleanConnected"),n=[],r=[];if(!this.destroyed){void 0===t&&(t=!0);for(var s=0;s<e.length;s++){var a=e[s],o=a._private,l=o.rstyle;!a.isEdge()||i(a.source())&&i(a.target())||(l.clean=!1),t&&l.clean||a.removed()||"none"===a.pstyle("display").value||(("nodes"===o.group?r:n).push(a),l.clean=!0)}for(var c=0;c<r.length;c++){var h=r[c],u=h._private.rstyle,d=h.position();this.recalculateNodeLabelProjection(h),u.nodeX=d.x,u.nodeY=d.y,u.nodeW=h.pstyle("width").pfValue,u.nodeH=h.pstyle("height").pfValue}this.recalculateEdgeProjections(n);for(var p=0;p<n.length;p++){var g=n[p]._private,f=g.rstyle,g=g.rscratch;f.srcX=g.arrowStartX,f.srcY=g.arrowStartY,f.tgtX=g.arrowEndX,f.tgtY=g.arrowEndY,f.midX=g.midX,f.midY=g.midY,f.labelAngle=g.labelAngle,f.sourceLabelAngle=g.sourceLabelAngle,f.targetLabelAngle=g.targetLabelAngle}}}},{updateCachedGrabbedEles:function(){var e=this.cachedZSortedEles;if(e){e.drag=[],e.nondrag=[];for(var t=[],i=0;i<e.length;i++){var n=(r=e[i])._private.rscratch;(r.grabbed()&&!r.isParent()?t:n.inDragLayer?e.drag:e.nondrag).push(r)}for(i=0;i<t.length;i++){var r=t[i];e.drag.push(r)}}},invalidateCachedZSortedEles:function(){this.cachedZSortedEles=null},getCachedZSortedEles:function(e){var t;return e||!this.cachedZSortedEles?((t=this.cy.mutableElements().toArray()).sort(c9e),t.interactive=t.filter(function(e){return e.interactive()}),this.cachedZSortedEles=t,this.updateCachedGrabbedEles()):t=this.cachedZSortedEles,t}}].forEach(function(e){S7e(AEe,e)}),h$e={getCachedImage:function(e,t,i){var n,r=this.imageCache=this.imageCache||{},s=r[e];return s?(s.image.complete||s.image.addEventListener("load",i),s.image):((n=(s=r[e]=r[e]||{}).image=new Image).addEventListener("load",i),n.addEventListener("error",function(){n.error=!0}),"data:"!==e.substring(0,"data:".length).toLowerCase()&&(n.crossOrigin=t="null"===t?null:t),n.src=e,n)}},y$e={registerBinding:function(e,t,i,n){var r=Array.prototype.slice.apply(arguments,[1]);if(Array.isArray(e)){for(var s=[],a=0;a<e.length;a++){var o,l=e[a];void 0!==l&&(o=this.binder(l),s.push(o.on.apply(o,r)))}return s}return(o=this.binder(e)).on.apply(o,r)},binder:function(r){var s=this,e=s.cy.window(),a=r===e||r===e.document||r===e.document.body||d7e(r);if(null==s.supportsPassiveEvents){var t=!1;try{var i=Object.defineProperty({},"passive",{get:mt(function(){return t=!0},"get")});e.addEventListener("test",null,i)}catch{}s.supportsPassiveEvents=t}e=mt(function(e,t,i){var n=Array.prototype.slice.call(arguments);return a&&s.supportsPassiveEvents&&(n[2]={capture:i??!1,passive:!1,once:!1}),s.bindings.push({target:r,args:n}),(r.addEventListener||r.on).apply(r,n),this},"on");return{on:e,addEventListener:e,addListener:e,bind:e}},nodeIsDraggable:function(e){return e&&e.isNode()&&!e.locked()&&e.grabbable()},nodeIsGrabbable:function(e){return this.nodeIsDraggable(e)&&e.interactive()}, Line truncated
precision highp float; precision highp float;
uniform mat3 uPanZoomMatrix; uniform mat3 uPanZoomMatrix;
@@ -2150,7 +2150,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
vIndex = aIndex; vIndex = aIndex;
vVertType = aVertType; vVertType = aVertType;
} }
`),n=this.atlasManager.getIndexArray(),r=i7e(t,i,`#version 300 es `),n=this.atlasManager.getIndexArray(),r=ike(t,i,`#version 300 es
precision highp float; precision highp float;
// define texture unit for each node in the batch // define texture unit for each node in the batch
@@ -2182,7 +2182,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
`).concat(e.picking?`if(outColor.a == 0.0) discard; `).concat(e.picking?`if(outColor.a == 0.0) discard;
else outColor = vIndex;`:"",` else outColor = vIndex;`:"",`
} }
`));r.aPosition=t.getAttribLocation(r,"aPosition"),r.aIndex=t.getAttribLocation(r,"aIndex"),r.aVertType=t.getAttribLocation(r,"aVertType"),r.aAtlasId=t.getAttribLocation(r,"aAtlasId"),r.aTex1=t.getAttribLocation(r,"aTex1"),r.aTex2=t.getAttribLocation(r,"aTex2"),r.aScaleRotate1=t.getAttribLocation(r,"aScaleRotate1"),r.aTranslate1=t.getAttribLocation(r,"aTranslate1"),r.aScaleRotate2=t.getAttribLocation(r,"aScaleRotate2"),r.aTranslate2=t.getAttribLocation(r,"aTranslate2"),r.aPointAPointB=t.getAttribLocation(r,"aPointAPointB"),r.aPointCPointD=t.getAttribLocation(r,"aPointCPointD"),r.aLineWidth=t.getAttribLocation(r,"aLineWidth"),r.aEdgeColor=t.getAttribLocation(r,"aEdgeColor"),r.uPanZoomMatrix=t.getUniformLocation(r,"uPanZoomMatrix"),r.uAtlasSize=t.getUniformLocation(r,"uAtlasSize"),r.uBGColor=t.getUniformLocation(r,"uBGColor"),r.uTextures=[];for(var s=0;s<this.atlasManager.maxAtlases;s++)r.uTextures.push(t.getUniformLocation(r,"uTexture".concat(s)));return r},"createShaderProgram")},{key:"createVAO",value:mt(function(){var e=[0,0,1,0,1,1,0,0,1,1,0,1],e=[].concat(e,e),t=(this.vertexCount=e.length/2,this.maxInstances),i=this.gl,n=this.program,r=i.createVertexArray();return i.bindVertexArray(r),p7e(i,"vec2",n.aPosition,e),this.indexBuffer=g7e(i,t,"vec4",n.aIndex),this.vertTypeBuffer=g7e(i,t,"int",n.aVertType),this.atlasIdBuffer=g7e(i,t,"int",n.aAtlasId),this.tex1Buffer=g7e(i,t,"vec4",n.aTex1),this.tex2Buffer=g7e(i,t,"vec4",n.aTex2),this.scaleRotate1Buffer=g7e(i,t,"vec4",n.aScaleRotate1),this.translate1Buffer=g7e(i,t,"vec2",n.aTranslate1),this.scaleRotate2Buffer=g7e(i,t,"vec4",n.aScaleRotate2),this.translate2Buffer=g7e(i,t,"vec2",n.aTranslate2),this.pointAPointBBuffer=g7e(i,t,"vec4",n.aPointAPointB),this.pointCPointDBuffer=g7e(i,t,"vec4",n.aPointCPointD),this.lineWidthBuffer=g7e(i,t,"float",n.aLineWidth),this.edgeColorBuffer=g7e(i,t,"vec4",n.aEdgeColor),i.bindVertexArray(null),r},"createVAO")},{key:"buffers",get:mt(function(){var t=this;return this._buffers||(this._buffers=Object.keys(this).filter(function(e){return e.endsWith("Buffer")}).map(function(e){return t[e]})),this._buffers},"get")},{key:"startFrame",value:mt(function(e,t){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:i$e.SCREEN;this.panZoomMatrix=e,this.debugInfo=t,this.renderTarget=i,this.startBatch()},"startFrame")},{key:"startBatch",value:mt(function(){this.instanceCount=0,this.atlasManager.startBatch()},"startBatch")},{key:"endFrame",value:mt(function(){this.endBatch()},"endFrame")},{key:"getTempMatrix",value:mt(function(){return this.tempMatrix=this.tempMatrix||m7e()},"getTempMatrix")},{key:"drawTexture",value:mt(function(e,t,i){var n=this.atlasManager;if(n.isRenderable(e,i)){n.canAddToCurrentBatch(e,i)||this.endBatch();var r=this.instanceCount;this.vertTypeBuffer.getView(r)[0]=0;o7e(t,this.indexBuffer.getView(r));var s=n.getAtlasInfo(e,i,s),t=s.atlasID,i=s.tex1,a=s.tex2,t=(this.atlasIdBuffer.getView(r)[0]=t,this.tex1Buffer.getView(r)),t=(t[0]=i.x,t[1]=i.y,t[2]=i.w,t[3]=i.h,this.tex2Buffer.getView(r));t[0]=a.x,t[1]=a.y,t[2]=a.w,t[3]=a.h;for(var o=this.getTempMatrix(),l=0,c=[1,2];l<c.length;l++){var h=c[l],u=(n.setTransformMatrix(o,s,e,1===h),this["scaleRotate".concat(h,"Buffer")].getView(r)),u=(u[0]=o[0],u[1]=o[1],u[2]=o[3],u[3]=o[4],this["translate".concat(h,"Buffer")].getView(r));u[0]=o[6],u[1]=o[7]}this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},"drawTexture")},{key:"drawEdgeArrow",value:mt(function(e,t,i){var n,r,s,a,o=e._private.rscratch,o="source"===i?(r=o.arrowStartX,s=o.arrowStartY,o.srcArrowAngle):(r=o.arrowEndX,s=o.arrowEndY,o.tgtArrowAngle);isNaN(r)||null==r||isNaN(s)||null==s||isNaN(o)||null==o||"none"!==e.pstyle(i+"-arrow-shape").value&&(i=e.pstyle(i+"-arrow-color").value,n=e.pstyle("opacity").value*e.pstyle("line-opacity").value,a=e.pstyle("width").pfValue,e=e.pstyle("arrow-scale").value,a=this.r.getArrowWidth(a,e),y7e(e=this.getTempMatrix()),v7e(e,e,[r,s]),w7e(e,e,[a,a]),x7e(e,e,o),r=this.instanceCount,this.vertTypeBuffer.getView(r)[0]=3,o7e(t,this.indexBuffer.getView(r)),a7e(i,n,this.edgeColorBuffer.getView(r)),(s=this.scaleRotate1Buffer.getView(r))[0]=e[0],s[1]=e[1],s[2]=e[3],s[3]=e[4],(a=this.translate1Buffer.getView(r))[0]=e[6],a[1]=e[7],this.instanceCount++,this.instanceCount>=this.maxInstances)&&this.endBatch()},"drawEdgeArrow")},{key:"drawEdgeLine",value:mt(function(e,t){var i=e.pstyle("opacity").value,n=e.pstyle("line-opacity").value,r=e.pstyle("width").pfValue,s=e.pstyle("line-color").value,a=i*n,o=this.getEdgePoints(e);if(o.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),4==o.length){i=this.instanceCount;this.vertTypeBuffer.getView(i)[0]=1,o7e(t,this.indexBuffer.getView(i)),a7e(s,a,this.edgeColorBuffer.getView(i));this.lineWidthBuffer.getView(i)[0]=r;n=this.pointAPointBBuffer.getView(i);n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var l=0;l<o.length-2;l+=2){var c=this.instanceCount; Line truncated `));r.aPosition=t.getAttribLocation(r,"aPosition"),r.aIndex=t.getAttribLocation(r,"aIndex"),r.aVertType=t.getAttribLocation(r,"aVertType"),r.aAtlasId=t.getAttribLocation(r,"aAtlasId"),r.aTex1=t.getAttribLocation(r,"aTex1"),r.aTex2=t.getAttribLocation(r,"aTex2"),r.aScaleRotate1=t.getAttribLocation(r,"aScaleRotate1"),r.aTranslate1=t.getAttribLocation(r,"aTranslate1"),r.aScaleRotate2=t.getAttribLocation(r,"aScaleRotate2"),r.aTranslate2=t.getAttribLocation(r,"aTranslate2"),r.aPointAPointB=t.getAttribLocation(r,"aPointAPointB"),r.aPointCPointD=t.getAttribLocation(r,"aPointCPointD"),r.aLineWidth=t.getAttribLocation(r,"aLineWidth"),r.aEdgeColor=t.getAttribLocation(r,"aEdgeColor"),r.uPanZoomMatrix=t.getUniformLocation(r,"uPanZoomMatrix"),r.uAtlasSize=t.getUniformLocation(r,"uAtlasSize"),r.uBGColor=t.getUniformLocation(r,"uBGColor"),r.uTextures=[];for(var s=0;s<this.atlasManager.maxAtlases;s++)r.uTextures.push(t.getUniformLocation(r,"uTexture".concat(s)));return r},"createShaderProgram")},{key:"createVAO",value:mt(function(){var e=[0,0,1,0,1,1,0,0,1,1,0,1],e=[].concat(e,e),t=(this.vertexCount=e.length/2,this.maxInstances),i=this.gl,n=this.program,r=i.createVertexArray();return i.bindVertexArray(r),pke(i,"vec2",n.aPosition,e),this.indexBuffer=gke(i,t,"vec4",n.aIndex),this.vertTypeBuffer=gke(i,t,"int",n.aVertType),this.atlasIdBuffer=gke(i,t,"int",n.aAtlasId),this.tex1Buffer=gke(i,t,"vec4",n.aTex1),this.tex2Buffer=gke(i,t,"vec4",n.aTex2),this.scaleRotate1Buffer=gke(i,t,"vec4",n.aScaleRotate1),this.translate1Buffer=gke(i,t,"vec2",n.aTranslate1),this.scaleRotate2Buffer=gke(i,t,"vec4",n.aScaleRotate2),this.translate2Buffer=gke(i,t,"vec2",n.aTranslate2),this.pointAPointBBuffer=gke(i,t,"vec4",n.aPointAPointB),this.pointCPointDBuffer=gke(i,t,"vec4",n.aPointCPointD),this.lineWidthBuffer=gke(i,t,"float",n.aLineWidth),this.edgeColorBuffer=gke(i,t,"vec4",n.aEdgeColor),i.bindVertexArray(null),r},"createVAO")},{key:"buffers",get:mt(function(){var t=this;return this._buffers||(this._buffers=Object.keys(this).filter(function(e){return e.endsWith("Buffer")}).map(function(e){return t[e]})),this._buffers},"get")},{key:"startFrame",value:mt(function(e,t){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:i$e.SCREEN;this.panZoomMatrix=e,this.debugInfo=t,this.renderTarget=i,this.startBatch()},"startFrame")},{key:"startBatch",value:mt(function(){this.instanceCount=0,this.atlasManager.startBatch()},"startBatch")},{key:"endFrame",value:mt(function(){this.endBatch()},"endFrame")},{key:"getTempMatrix",value:mt(function(){return this.tempMatrix=this.tempMatrix||mke()},"getTempMatrix")},{key:"drawTexture",value:mt(function(e,t,i){var n=this.atlasManager;if(n.isRenderable(e,i)){n.canAddToCurrentBatch(e,i)||this.endBatch();var r=this.instanceCount;this.vertTypeBuffer.getView(r)[0]=0;oke(t,this.indexBuffer.getView(r));var s=n.getAtlasInfo(e,i,s),t=s.atlasID,i=s.tex1,a=s.tex2,t=(this.atlasIdBuffer.getView(r)[0]=t,this.tex1Buffer.getView(r)),t=(t[0]=i.x,t[1]=i.y,t[2]=i.w,t[3]=i.h,this.tex2Buffer.getView(r));t[0]=a.x,t[1]=a.y,t[2]=a.w,t[3]=a.h;for(var o=this.getTempMatrix(),l=0,c=[1,2];l<c.length;l++){var h=c[l],u=(n.setTransformMatrix(o,s,e,1===h),this["scaleRotate".concat(h,"Buffer")].getView(r)),u=(u[0]=o[0],u[1]=o[1],u[2]=o[3],u[3]=o[4],this["translate".concat(h,"Buffer")].getView(r));u[0]=o[6],u[1]=o[7]}this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},"drawTexture")},{key:"drawEdgeArrow",value:mt(function(e,t,i){var n,r,s,a,o=e._private.rscratch,o="source"===i?(r=o.arrowStartX,s=o.arrowStartY,o.srcArrowAngle):(r=o.arrowEndX,s=o.arrowEndY,o.tgtArrowAngle);isNaN(r)||null==r||isNaN(s)||null==s||isNaN(o)||null==o||"none"!==e.pstyle(i+"-arrow-shape").value&&(i=e.pstyle(i+"-arrow-color").value,n=e.pstyle("opacity").value*e.pstyle("line-opacity").value,a=e.pstyle("width").pfValue,e=e.pstyle("arrow-scale").value,a=this.r.getArrowWidth(a,e),yke(e=this.getTempMatrix()),vke(e,e,[r,s]),wke(e,e,[a,a]),xke(e,e,o),r=this.instanceCount,this.vertTypeBuffer.getView(r)[0]=3,oke(t,this.indexBuffer.getView(r)),ake(i,n,this.edgeColorBuffer.getView(r)),(s=this.scaleRotate1Buffer.getView(r))[0]=e[0],s[1]=e[1],s[2]=e[3],s[3]=e[4],(a=this.translate1Buffer.getView(r))[0]=e[6],a[1]=e[7],this.instanceCount++,this.instanceCount>=this.maxInstances)&&this.endBatch()},"drawEdgeArrow")},{key:"drawEdgeLine",value:mt(function(e,t){var i=e.pstyle("opacity").value,n=e.pstyle("line-opacity").value,r=e.pstyle("width").pfValue,s=e.pstyle("line-color").value,a=i*n,o=this.getEdgePoints(e);if(o.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),4==o.length){i=this.instanceCount;this.vertTypeBuffer.getView(i)[0]=1,oke(t,this.indexBuffer.getView(i)),ake(s,a,this.edgeColorBuffer.getView(i));this.lineWidthBuffer.getView(i)[0]=r;n=this.pointAPointBBuffer.getView(i);n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var l=0;l<o.length-2;l+=2){var c=this.instanceCount; Line truncated
a${o},${o} 1 0,1 ${.4*n},${-1*n*.1} a${o},${o} 1 0,1 ${.4*n},${-1*n*.1}
a${a},${a} 1 0,1 ${.35*n},${.2*+n} a${a},${a} 1 0,1 ${.35*n},${.2*+n}
@@ -2215,8 +2215,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
a${s},${s} 1 0,0 ${.1*n},${-1*r*.33} a${s},${s} 1 0,0 ${.1*n},${-1*r*.33}
H0 V0 Z`)},"bangBkg"),O$e=mt(function(e,t,i){t.append("circle").attr("id","node-"+i.id).attr("class","node-bkg node-"+e.type2Str(i.type)).attr("r",i.width/2)},"circleBkg"),mt(R$e,"insertPolygonShape"),P$e=mt(function(e,t,i){var n=i.height,r=n/4,s=i.width-i.padding+2*r;R$e(t,s,n,[{x:r,y:0},{x:s-r,y:0},{x:s,y:-n/2},{x:s-r,y:-n},{x:r,y:-n},{x:0,y:-n/2}],i)},"hexagonBkg"),B$e=mt(function(e,t,i){t.append("rect").attr("id","node-"+i.id).attr("class","node-bkg node-"+e.type2Str(i.type)).attr("height",i.height).attr("rx",i.padding).attr("ry",i.padding).attr("width",i.width)},"roundedRectBkg"),F$e=mt(async function(e,t,i,n,r){var s=r.htmlLabels,a=n%11,n=t.append("g");let o="section-"+(i.section=a);a<0&&(o+=" section-root"),n.attr("class",(i.class?i.class+" ":"")+"mindmap-node "+o);var l=n.append("g"),t=n.append("g"),c=i.descr.replace(/(<br\/*>)/g,` H0 V0 Z`)},"bangBkg"),O$e=mt(function(e,t,i){t.append("circle").attr("id","node-"+i.id).attr("class","node-bkg node-"+e.type2Str(i.type)).attr("r",i.width/2)},"circleBkg"),mt(R$e,"insertPolygonShape"),P$e=mt(function(e,t,i){var n=i.height,r=n/4,s=i.width-i.padding+2*r;R$e(t,s,n,[{x:r,y:0},{x:s-r,y:0},{x:s,y:-n/2},{x:s-r,y:-n},{x:r,y:-n},{x:0,y:-n/2}],i)},"hexagonBkg"),B$e=mt(function(e,t,i){t.append("rect").attr("id","node-"+i.id).attr("class","node-bkg node-"+e.type2Str(i.type)).attr("height",i.height).attr("rx",i.padding).attr("ry",i.padding).attr("width",i.width)},"roundedRectBkg"),F$e=mt(async function(e,t,i,n,r){var s=r.htmlLabels,a=n%11,n=t.append("g");let o="section-"+(i.section=a);a<0&&(o+=" section-root"),n.attr("class",(i.class?i.class+" ":"")+"mindmap-node "+o);var l=n.append("g"),t=n.append("g"),c=i.descr.replace(/(<br\/*>)/g,`
`),c=(await J$(t,c,{useHtmlLabels:s,width:i.width,classes:"mindmap-node-label"},r),s||t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),t.node().getBBox()),[r]=e_(r.fontSize);switch(i.height=c.height+1.1*r*.5+i.padding,i.width=c.width+2*i.padding,i.icon?i.type===e.nodeType.CIRCLE?(i.height+=50,i.width+=50,n.append("foreignObject").attr("height","50px").attr("width",i.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+a+" "+i.icon),t.attr("transform","translate("+i.width/2+", "+(i.height/2-1.5*i.padding)+")")):(i.width+=50,r=i.height,i.height=Math.max(r,60),r=Math.abs(i.height-r),n.append("foreignObject").attr("width","60px").attr("height",i.height).attr("style","text-align: center;margin-top:"+r/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+a+" "+i.icon),t.attr("transform","translate("+(25+i.width/2)+", "+(r/2+i.padding/2)+")")):s?(r=(i.width-c.width)/2,s=(i.height-c.height)/2,t.attr("transform","translate("+r+", "+s+")")):(c=i.width/2,r=i.padding/2,t.attr("transform","translate("+c+", "+r+")")),i.type){case e.nodeType.DEFAULT:M$e(e,l,i,a);break;case e.nodeType.ROUNDED_RECT:B$e(e,l,i,a);break;case e.nodeType.RECT:I$e(e,l,i,a);break;case e.nodeType.CIRCLE:l.attr("transform","translate("+i.width/2+", "+ +i.height/2+")"),O$e(e,l,i,a);break;case e.nodeType.CLOUD:N$e(e,l,i,a);break;case e.nodeType.BANG:D$e(e,l,i,a);break;case e.nodeType.HEXAGON:P$e(e,l,i,a)}return e.setElementForId(i.id,n),i.height},"drawNode"),j$e=mt(function(e,t){var e=e.getElementById(t.id),i=t.x||0,t=t.y||0;e.attr("transform","translate("+i+","+t+")")},"positionNode")});async function H$e(i,n,e,r,s){await F$e(i,n,e,r,s),e.children&&await Promise.all(e.children.map((e,t)=>H$e(i,n,e,r<0?t:r,s)))}function U$e(n,e){e.edges().map((e,t)=>{var i=e.data();e[0]._private.bodyBounds&&(e=e[0]._private.rscratch,I.trace("Edge: ",t,i),n.insert("path").attr("d",`M ${e.startX},${e.startY} L ${e.midX},${e.midY} L${e.endX},${e.endY} `).attr("class","edge section-edge-"+i.section+" edge-depth-"+i.depth))})}function q$e(t,i,n,r){i.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:r,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach(e=>{q$e(e,i,n,r+1),i.add({group:"edges",data:{id:t.id+"_"+e.id,source:t.id,target:e.id,depth:r,section:e.section}})})}function W$e(n,r){return new Promise(t=>{let e=V("body").append("div").attr("id","cy").attr("style","display:none"),i=_$e({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});e.remove(),q$e(n,i,r,0),i.nodes().forEach(function(t){t.layoutDimensions=()=>{var e=t.data();return{w:e.width,h:e.height}}}),i.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),i.ready(e=>{I.info("Ready",e),t(i)})})}function G$e(r,e){e.nodes().map((e,t)=>{var i=e.data(),n=(i.x=e.position().x,i.y=e.position().y,j$e(r,i),r.getElementById(i.nodeId));I.info("id:",t,"Position: (",e.position().x,", ",e.position().y,")",i),n.attr("transform",`translate(${e.position().x-i.width/2}, ${e.position().y-i.height/2})`),n.attr("attr",`apa-${t})`)})}var V$e,Y$e,X$e,K$e,Z$e,Q$e=e(()=>{"use strict";A$e(),V$e=ie(L$e(),1),a6(),_u(),t(),Mye(),uh(),z$e(),Ln(),_$e.use(V$e.default),mt(H$e,"drawNodes"),mt(U$e,"drawEdges"),mt(q$e,"addNodes"),mt(W$e,"layoutMindmap"),mt(G$e,"positionNodes"),V$e=mt(async(e,t,i,n)=>{I.debug(`Rendering mindmap diagram `),c=(await J$(t,c,{useHtmlLabels:s,width:i.width,classes:"mindmap-node-label"},r),s||t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),t.node().getBBox()),[r]=e_(r.fontSize);switch(i.height=c.height+1.1*r*.5+i.padding,i.width=c.width+2*i.padding,i.icon?i.type===e.nodeType.CIRCLE?(i.height+=50,i.width+=50,n.append("foreignObject").attr("height","50px").attr("width",i.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+a+" "+i.icon),t.attr("transform","translate("+i.width/2+", "+(i.height/2-1.5*i.padding)+")")):(i.width+=50,r=i.height,i.height=Math.max(r,60),r=Math.abs(i.height-r),n.append("foreignObject").attr("width","60px").attr("height",i.height).attr("style","text-align: center;margin-top:"+r/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+a+" "+i.icon),t.attr("transform","translate("+(25+i.width/2)+", "+(r/2+i.padding/2)+")")):s?(r=(i.width-c.width)/2,s=(i.height-c.height)/2,t.attr("transform","translate("+r+", "+s+")")):(c=i.width/2,r=i.padding/2,t.attr("transform","translate("+c+", "+r+")")),i.type){case e.nodeType.DEFAULT:M$e(e,l,i,a);break;case e.nodeType.ROUNDED_RECT:B$e(e,l,i,a);break;case e.nodeType.RECT:I$e(e,l,i,a);break;case e.nodeType.CIRCLE:l.attr("transform","translate("+i.width/2+", "+ +i.height/2+")"),O$e(e,l,i,a);break;case e.nodeType.CLOUD:N$e(e,l,i,a);break;case e.nodeType.BANG:D$e(e,l,i,a);break;case e.nodeType.HEXAGON:P$e(e,l,i,a)}return e.setElementForId(i.id,n),i.height},"drawNode"),j$e=mt(function(e,t){var e=e.getElementById(t.id),i=t.x||0,t=t.y||0;e.attr("transform","translate("+i+","+t+")")},"positionNode")});async function U$e(i,n,e,r,s){await F$e(i,n,e,r,s),e.children&&await Promise.all(e.children.map((e,t)=>U$e(i,n,e,r<0?t:r,s)))}function H$e(n,e){e.edges().map((e,t)=>{var i=e.data();e[0]._private.bodyBounds&&(e=e[0]._private.rscratch,I.trace("Edge: ",t,i),n.insert("path").attr("d",`M ${e.startX},${e.startY} L ${e.midX},${e.midY} L${e.endX},${e.endY} `).attr("class","edge section-edge-"+i.section+" edge-depth-"+i.depth))})}function q$e(t,i,n,r){i.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:r,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach(e=>{q$e(e,i,n,r+1),i.add({group:"edges",data:{id:t.id+"_"+e.id,source:t.id,target:e.id,depth:r,section:e.section}})})}function W$e(n,r){return new Promise(t=>{let e=V("body").append("div").attr("id","cy").attr("style","display:none"),i=_$e({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});e.remove(),q$e(n,i,r,0),i.nodes().forEach(function(t){t.layoutDimensions=()=>{var e=t.data();return{w:e.width,h:e.height}}}),i.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),i.ready(e=>{I.info("Ready",e),t(i)})})}function G$e(r,e){e.nodes().map((e,t)=>{var i=e.data(),n=(i.x=e.position().x,i.y=e.position().y,j$e(r,i),r.getElementById(i.nodeId));I.info("id:",t,"Position: (",e.position().x,", ",e.position().y,")",i),n.attr("transform",`translate(${e.position().x-i.width/2}, ${e.position().y-i.height/2})`),n.attr("attr",`apa-${t})`)})}var V$e,Y$e,X$e,K$e,Z$e,Q$e=e(()=>{"use strict";A$e(),V$e=ie(L$e(),1),a6(),_u(),t(),Mye(),uh(),z$e(),Ln(),_$e.use(V$e.default),mt(U$e,"drawNodes"),mt(H$e,"drawEdges"),mt(q$e,"addNodes"),mt(W$e,"layoutMindmap"),mt(G$e,"positionNodes"),V$e=mt(async(e,t,i,n)=>{I.debug(`Rendering mindmap diagram
`+e);var r,s,a,e=n.db,n=e.getMindmap();n&&((r=N()).htmlLabels=!1,(s=(t=Cye(t)).append("g")).attr("class","mindmap-edges"),(a=t.append("g")).attr("class","mindmap-nodes"),await H$e(e,a,n,-1,r),U$e(s,a=await W$e(n,r)),G$e(e,a),sh(void 0,t,r.mindmap?.padding??vi.mindmap.padding,r.mindmap?.useMaxWidth??vi.mindmap.useMaxWidth))},"draw"),Y$e={draw:V$e}}),J$e=e(()=>{"use strict";xn(),X$e=mt(t=>{let i="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],Wt(t["lineColor"+e])?t["lineColor"+e]=s(t["lineColor"+e],20):t["lineColor"+e]=Kt(t["lineColor"+e],20);for(let e=0;e<t.THEME_COLOR_LIMIT;e++){var n=""+(17-3*e);i+=` `+e);var r,s,a,e=n.db,n=e.getMindmap();n&&((r=N()).htmlLabels=!1,(s=(t=Cye(t)).append("g")).attr("class","mindmap-edges"),(a=t.append("g")).attr("class","mindmap-nodes"),await U$e(e,a,n,-1,r),H$e(s,a=await W$e(n,r)),G$e(e,a),sh(void 0,t,r.mindmap?.padding??vi.mindmap.padding,r.mindmap?.useMaxWidth??vi.mindmap.useMaxWidth))},"draw"),Y$e={draw:V$e}}),J$e=e(()=>{"use strict";xn(),X$e=mt(t=>{let i="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],Wt(t["lineColor"+e])?t["lineColor"+e]=s(t["lineColor"+e],20):t["lineColor"+e]=Kt(t["lineColor"+e],20);for(let e=0;e<t.THEME_COLOR_LIMIT;e++){var n=""+(17-3*e);i+=`
.section-${e-1} rect, .section-${e-1} path, .section-${e-1} circle, .section-${e-1} polygon, .section-${e-1} path { .section-${e-1} rect, .section-${e-1} path, .section-${e-1} circle, .section-${e-1} polygon, .section-${e-1} path {
fill: ${t["cScale"+e]}; fill: ${t["cScale"+e]};
} }
@@ -2271,7 +2271,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
dominant-baseline: middle; dominant-baseline: middle;
text-align: center; text-align: center;
} }
`,"getStyles"),Z$e=K$e}),eLe={};G(eLe,{diagram:()=>tLe});var tLe,iLe,nLe,rLe,sLe,aLe,oLe,lLe,cLe,hLe,uLe,dLe,pLe,gLe,fLe,mLe,yLe,bLe,vLe,xLe,wLe,kLe,TLe,SLe,CLe,_Le=e(()=>{"use strict";Hwe(),Uwe(),Q$e(),J$e(),tLe={get db(){return new jwe},renderer:Y$e,parser:Bwe,styles:Z$e}}),ALe=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[1,4],n=[1,13],r=[1,12],s=[1,15],a=[1,16],o=[1,20],l=[1,19],c=[6,7,8],h=[1,26],u=[1,24],d=[1,25],p=[6,7,11],g=[1,31],f=[6,7,11,24],m=[1,6,13,16,17,20,23],y=[1,35],b=[1,36],v=[1,6,7,11,13,16,17,20,23],x=[1,38],i={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",s[o-1].id),n.addNode(s[o-2].length,s[o-1].id,s[o-1].descr,s[o-1].type,s[o]);break;case 16:n.getLogger().info("Node: ",s[o].id),n.addNode(s[o-1].length,s[o].id,s[o].descr,s[o].type);break;case 17:n.getLogger().trace("Icon: ",s[o]),n.decorateNode({icon:s[o]});break;case 18:case 23:n.decorateNode({class:s[o]});break;case 19:n.getLogger().trace("SPACELIST");break;case 20:n.getLogger().trace("Node: ",s[o-1].id),n.addNode(0,s[o-1].id,s[o-1].descr,s[o-1].type,s[o]);break;case 21:n.getLogger().trace("Node: ",s[o].id),n.addNode(0,s[o].id,s[o].descr,s[o].type);break;case 22:n.decorateNode({icon:s[o]});break;case 27:n.getLogger().trace("node found ..",s[o-2]),this.$={id:s[o-1],descr:s[o-1],type:n.getType(s[o-2],s[o])};break;case 28:this.$={id:s[o],descr:s[o],type:0};break;case 29:n.getLogger().trace("node found ..",s[o-3]),this.$={id:s[o-3],descr:s[o-1],type:n.getType(s[o-2],s[o])};break;case 30:this.$=s[o-1]+s[o];break;case 31:this.$=s[o]}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:i},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:i},{6:n,7:[1,10],9:9,12:11,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},t(c,[2,3]),{1:[2,2]},t(c,[2,4]),t(c,[2,5]),{1:[2,6],6:n,12:21,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},{6:n,9:22,12:11,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},{6:h,7:u,10:23,11:d},t(p,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:o,23:l}),t(p,[2,19]),t(p,[2,21],{15:30,24:g}),t(p,[2,22]),t(p,[2,23]),t(f,[2,25]),t(f,[2,26]),t(f,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:u,10:34,11:d},{1:[2,7],6:n,12:21,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},t(m,[2,14],{7:y,11:b}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,16],{15:37,24:g}),t(p,[2,17]),t(p,[2,18]),t(p,[2,20],{24:x}),t(f,[2,31]),{21:[1,39]},{22:[1,40]},t(m,[2,13],{7:y,11:b}),t(v,[2,11]),t(v,[2,12]),t(p,[2,15],{24:x}),t(f,[2,30]),{22:[1,41]},t(f,[2,27]),t(f,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:mt(function(e,t){var i;if(!t.recoverable)throw(i=new Error(e)).hash=t,i;this.trace(e)},"parseError"),parse:mt(function(e){var t,i=this,n=[0],r=[],s=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=1,p=a.slice.call(arguments,1),g=Object.create(this.lexer),f={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(f.yy[t]=this.yy[t]);g.setInput(e,f.yy),f.yy.lexer=g,f.yy.parser=this,"u"<typeof g.yylloc&&(g.yylloc={});var m=g.yylloc,y=(a.push(m),g.options&&g.options.ranges);function b(){var e=r.pop()||g.lex()||d;return"number"!=typeof e&&(e instanceof Array&&(e=(r=e).pop()),e=i.symbols_[e]||e),e}"function"==typeof f.yy.parseError?this.parseError=f.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,mt(function(e){n.length=n.length-2*e,s.length=s.length-e,a.length=a.length-e},"popStack"),mt(b,"lex");for(var v,x,w,k,T,S,C,_={};;){if(w=n[n.length-1],"u"<typeof(k=this.defaultActions[w]||((null===v||"u"<typeof v)&&(v=b()),o[w]&&o[w][v]))||!k.length||!k[0]){var A="",E=[];for(T in o[w])this.terminals_[T]&&2<T&&E.push("'"+this.terminals_[T]+"'");A=g.showPosition?"Parse error on line "+(c+1)+`: `,"getStyles"),Z$e=K$e}),eLe={};G(eLe,{diagram:()=>tLe});var tLe,iLe,nLe,rLe,sLe,aLe,oLe,lLe,cLe,hLe,uLe,dLe,pLe,gLe,fLe,mLe,yLe,bLe,vLe,xLe,wLe,kLe,TLe,SLe,CLe,_Le=e(()=>{"use strict";Uwe(),Hwe(),Q$e(),J$e(),tLe={get db(){return new jwe},renderer:Y$e,parser:Bwe,styles:Z$e}}),ALe=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[1,4],n=[1,13],r=[1,12],s=[1,15],a=[1,16],o=[1,20],l=[1,19],c=[6,7,8],h=[1,26],u=[1,24],d=[1,25],p=[6,7,11],g=[1,31],f=[6,7,11,24],m=[1,6,13,16,17,20,23],y=[1,35],b=[1,36],v=[1,6,7,11,13,16,17,20,23],x=[1,38],i={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",s[o-1].id),n.addNode(s[o-2].length,s[o-1].id,s[o-1].descr,s[o-1].type,s[o]);break;case 16:n.getLogger().info("Node: ",s[o].id),n.addNode(s[o-1].length,s[o].id,s[o].descr,s[o].type);break;case 17:n.getLogger().trace("Icon: ",s[o]),n.decorateNode({icon:s[o]});break;case 18:case 23:n.decorateNode({class:s[o]});break;case 19:n.getLogger().trace("SPACELIST");break;case 20:n.getLogger().trace("Node: ",s[o-1].id),n.addNode(0,s[o-1].id,s[o-1].descr,s[o-1].type,s[o]);break;case 21:n.getLogger().trace("Node: ",s[o].id),n.addNode(0,s[o].id,s[o].descr,s[o].type);break;case 22:n.decorateNode({icon:s[o]});break;case 27:n.getLogger().trace("node found ..",s[o-2]),this.$={id:s[o-1],descr:s[o-1],type:n.getType(s[o-2],s[o])};break;case 28:this.$={id:s[o],descr:s[o],type:0};break;case 29:n.getLogger().trace("node found ..",s[o-3]),this.$={id:s[o-3],descr:s[o-1],type:n.getType(s[o-2],s[o])};break;case 30:this.$=s[o-1]+s[o];break;case 31:this.$=s[o]}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:i},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:i},{6:n,7:[1,10],9:9,12:11,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},t(c,[2,3]),{1:[2,2]},t(c,[2,4]),t(c,[2,5]),{1:[2,6],6:n,12:21,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},{6:n,9:22,12:11,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},{6:h,7:u,10:23,11:d},t(p,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:o,23:l}),t(p,[2,19]),t(p,[2,21],{15:30,24:g}),t(p,[2,22]),t(p,[2,23]),t(f,[2,25]),t(f,[2,26]),t(f,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:u,10:34,11:d},{1:[2,7],6:n,12:21,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},t(m,[2,14],{7:y,11:b}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,16],{15:37,24:g}),t(p,[2,17]),t(p,[2,18]),t(p,[2,20],{24:x}),t(f,[2,31]),{21:[1,39]},{22:[1,40]},t(m,[2,13],{7:y,11:b}),t(v,[2,11]),t(v,[2,12]),t(p,[2,15],{24:x}),t(f,[2,30]),{22:[1,41]},t(f,[2,27]),t(f,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:mt(function(e,t){var i;if(!t.recoverable)throw(i=new Error(e)).hash=t,i;this.trace(e)},"parseError"),parse:mt(function(e){var t,i=this,n=[0],r=[],s=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=1,p=a.slice.call(arguments,1),g=Object.create(this.lexer),f={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(f.yy[t]=this.yy[t]);g.setInput(e,f.yy),f.yy.lexer=g,f.yy.parser=this,"u"<typeof g.yylloc&&(g.yylloc={});var m=g.yylloc,y=(a.push(m),g.options&&g.options.ranges);function b(){var e=r.pop()||g.lex()||d;return"number"!=typeof e&&(e instanceof Array&&(e=(r=e).pop()),e=i.symbols_[e]||e),e}"function"==typeof f.yy.parseError?this.parseError=f.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,mt(function(e){n.length=n.length-2*e,s.length=s.length-e,a.length=a.length-e},"popStack"),mt(b,"lex");for(var v,x,w,k,T,S,C,_={};;){if(w=n[n.length-1],"u"<typeof(k=this.defaultActions[w]||((null===v||"u"<typeof v)&&(v=b()),o[w]&&o[w][v]))||!k.length||!k[0]){var A="",E=[];for(T in o[w])this.terminals_[T]&&2<T&&E.push("'"+this.terminals_[T]+"'");A=g.showPosition?"Parse error on line "+(c+1)+`:
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},c={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},c={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
@@ -2359,12 +2359,12 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
text-align: center; text-align: center;
} }
${GK()} ${GK()}
`,"getStyles"),CLe=SLe}),RLe={};G(RLe,{diagram:()=>MLe});var MLe,ILe,NLe,DLe,OLe,PLe,BLe,FLe,jLe,zLe,HLe,ULe,qLe,WLe,GLe,VLe=e(()=>{"use strict";ALe(),ELe(),$Le(),LLe(),MLe={db:xLe,renderer:kLe,parser:nLe,styles:CLe}}),YLe=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[1,9],n=[1,10],r=[1,5,10,12],r={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 7:var l=n.findOrCreateNode(s[o-4].trim().replaceAll('""','"')),c=n.findOrCreateNode(s[o-2].trim().replaceAll('""','"')),h=parseFloat(s[o].trim());n.addLink(l,c,h);break;case 8:case 9:case 11:this.$=s[o];break;case 10:this.$=s[o-1]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:i,20:n},{1:[2,6],7:11,10:[1,12]},t(n,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(r,[2,8]),t(r,[2,9]),{19:[1,16]},t(r,[2,11]),{1:[2,1]},{1:[2,5]},t(n,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:i,20:n},{15:18,16:7,17:8,18:i,20:n},{18:[1,19]},t(n,[2,3]),{12:[1,20]},t(r,[2,10]),{15:21,16:7,17:8,18:i,20:n},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:mt(function(e,t){var i;if(!t.recoverable)throw(i=new Error(e)).hash=t,i;this.trace(e)},"parseError"),parse:mt(function(e){var t,i=this,n=[0],r=[],s=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=1,p=a.slice.call(arguments,1),g=Object.create(this.lexer),f={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(f.yy[t]=this.yy[t]);g.setInput(e,f.yy),f.yy.lexer=g,f.yy.parser=this,"u"<typeof g.yylloc&&(g.yylloc={});var m=g.yylloc,y=(a.push(m),g.options&&g.options.ranges);function b(){var e=r.pop()||g.lex()||d;return"number"!=typeof e&&(e instanceof Array&&(e=(r=e).pop()),e=i.symbols_[e]||e),e}"function"==typeof f.yy.parseError?this.parseError=f.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,mt(function(e){n.length=n.length-2*e,s.length=s.length-e,a.length=a.length-e},"popStack"),mt(b,"lex");for(var v,x,w,k,T,S,C,_={};;){if(w=n[n.length-1],"u"<typeof(k=this.defaultActions[w]||((null===v||"u"<typeof v)&&(v=b()),o[w]&&o[w][v]))||!k.length||!k[0]){var A="",E=[];for(T in o[w])this.terminals_[T]&&2<T&&E.push("'"+this.terminals_[T]+"'");A=g.showPosition?"Parse error on line "+(c+1)+`: `,"getStyles"),CLe=SLe}),RLe={};G(RLe,{diagram:()=>MLe});var MLe,ILe,NLe,DLe,OLe,PLe,BLe,FLe,jLe,zLe,ULe,HLe,qLe,WLe,GLe,VLe=e(()=>{"use strict";ALe(),ELe(),$Le(),LLe(),MLe={db:xLe,renderer:kLe,parser:nLe,styles:CLe}}),YLe=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[1,9],n=[1,10],r=[1,5,10,12],r={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 7:var l=n.findOrCreateNode(s[o-4].trim().replaceAll('""','"')),c=n.findOrCreateNode(s[o-2].trim().replaceAll('""','"')),h=parseFloat(s[o].trim());n.addLink(l,c,h);break;case 8:case 9:case 11:this.$=s[o];break;case 10:this.$=s[o-1]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:i,20:n},{1:[2,6],7:11,10:[1,12]},t(n,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(r,[2,8]),t(r,[2,9]),{19:[1,16]},t(r,[2,11]),{1:[2,1]},{1:[2,5]},t(n,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:i,20:n},{15:18,16:7,17:8,18:i,20:n},{18:[1,19]},t(n,[2,3]),{12:[1,20]},t(r,[2,10]),{15:21,16:7,17:8,18:i,20:n},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:mt(function(e,t){var i;if(!t.recoverable)throw(i=new Error(e)).hash=t,i;this.trace(e)},"parseError"),parse:mt(function(e){var t,i=this,n=[0],r=[],s=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=1,p=a.slice.call(arguments,1),g=Object.create(this.lexer),f={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(f.yy[t]=this.yy[t]);g.setInput(e,f.yy),f.yy.lexer=g,f.yy.parser=this,"u"<typeof g.yylloc&&(g.yylloc={});var m=g.yylloc,y=(a.push(m),g.options&&g.options.ranges);function b(){var e=r.pop()||g.lex()||d;return"number"!=typeof e&&(e instanceof Array&&(e=(r=e).pop()),e=i.symbols_[e]||e),e}"function"==typeof f.yy.parseError?this.parseError=f.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,mt(function(e){n.length=n.length-2*e,s.length=s.length-e,a.length=a.length-e},"popStack"),mt(b,"lex");for(var v,x,w,k,T,S,C,_={};;){if(w=n[n.length-1],"u"<typeof(k=this.defaultActions[w]||((null===v||"u"<typeof v)&&(v=b()),o[w]&&o[w][v]))||!k.length||!k[0]){var A="",E=[];for(T in o[w])this.terminals_[T]&&2<T&&E.push("'"+this.terminals_[T]+"'");A=g.showPosition?"Parse error on line "+(c+1)+`:
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}},r.lexer=i,mt(e,"Parser"),(ILe=new((e.prototype=r).Parser=e)).parser=ILe,NLe=ILe}),XLe=e(()=>{"use strict";_u(),hh(),Cu(),DLe=[],OLe=[],PLe=new Map,BLe=mt(()=>{DLe=[],OLe=[],PLe=new Map,bh()},"clear"),FLe=class{constructor(e,t,i=0){this.source=e,this.target=t,this.value=i}static{mt(this,"SankeyLink")}},jLe=mt((e,t,i)=>{DLe.push(new FLe(e,t,i))},"addLink"),zLe=class{constructor(e){this.ID=e}static{mt(this,"SankeyNode")}},HLe=mt(e=>{e=$.sanitizeText(e,N());let t=PLe.get(e);return void 0===t&&(t=new zLe(e),PLe.set(e,t),OLe.push(t)),t},"findOrCreateNode"),ULe=mt(()=>OLe,"getNodes"),qLe=mt(()=>DLe,"getLinks"),WLe=mt(()=>({nodes:OLe.map(e=>({id:e.ID})),links:DLe.map(e=>({source:e.source.ID,target:e.target.ID,value:e.value}))}),"getGraph"),GLe={nodesMap:PLe,getConfig:mt(()=>N().sankey,"getConfig"),getNodes:ULe,getLinks:qLe,getGraph:WLe,addLink:jLe,findOrCreateNode:HLe,getAccTitle:xh,setAccTitle:vh,getAccDescription:kh,setAccDescription:wh,getDiagramTitle:Sh,setDiagramTitle:Th,clear:BLe}});function KLe(t,i){let n;if(void 0===i)for(var e of t)null!=e&&(n<e||void 0===n&&e>=e)&&(n=e);else{let e=-1;for(var r of t)null!=(r=i(r,++e,t))&&(n<r||void 0===n&&r>=r)&&(n=r)}return n}var ZLe=e(()=>{"use strict";mt(KLe,"max")});function QLe(t,i){let n;if(void 0===i)for(var e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let e=-1;for(var r of t)null!=(r=i(r,++e,t))&&(n>r||void 0===n&&r>=r)&&(n=r)}return n}var JLe=e(()=>{"use strict";mt(QLe,"min")});function eRe(t,i){let n=0;if(void 0===i)for(var e of t)(e=+e)&&(n+=e);else{let e=-1;for(var r of t)(r=+i(r,++e,t))&&(n+=r)}return n}var tRe=e(()=>{"use strict";mt(eRe,"sum")}),iRe=e(()=>{"use strict";ZLe(),JLe(),tRe()});function nRe(e){return e.target.depth}function rRe(e){return e.depth}function sRe(e,t){return t-1-e.height}function aRe(e,t){return e.sourceLinks.length?e.depth:t-1}function oRe(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?QLe(e.sourceLinks,nRe)-1:0}var lRe=e(()=>{"use strict";iRe(),mt(nRe,"targetDepth"),mt(rRe,"left"),mt(sRe,"right"),mt(aRe,"justify"),mt(oRe,"center")});function cRe(e){return function(){return e}}var hRe=e(()=>{"use strict";mt(cRe,"constant")});function uRe(e,t){return pRe(e.source,t.source)||e.index-t.index}function dRe(e,t){return pRe(e.target,t.target)||e.index-t.index}function pRe(e,t){return e.y0-t.y0}function gRe(e){return e.value}function fRe(e){return e.index}function mRe(e){return e.nodes}function yRe(e){return e.links}function bRe(e,t){e=e.get(t);if(e)return e;throw new Error("missing: "+t)}function vRe({nodes:e}){for(var i of e){let e=i.y0,t=e;for(var n of i.sourceLinks)n.y0=e+n.width/2,e+=n.width;for(var r of i.targetLinks)r.y1=t+r.width/2,t+=r.width}}function xRe(){let o=0,l=0,c=1,h=1,u=24,r=8,d,p=fRe,g=aRe,f,m,t=mRe,i=yRe,s=6;function n(){var e={nodes:t.apply(null,arguments),links:i.apply(null,arguments)};return a(e),y(e),b(e),v(e),k(e),vRe(e),e}function a({nodes:i,links:e}){for(var[t,n]of i.entries())n.index=t,n.sourceLinks=[],n.targetLinks=[];var r,s,a=new Map(i.map((e,t)=>[p(e,t,i),e]));for([r,s]of e.entries()){s.index=r;let{source:e,target:t}=s;"object"!=typeof e&&(e=s.source=bRe(a,e)),"object"!=typeof t&&(t=s.target=bRe(a,t)),e.sourceLinks.push(s),t.targetLinks.push(s)}if(null!=m)for(var{sourceLinks:o,targetLinks:l}of i)o.sort(m),l.sort(m)}function y({nodes:e}){for(var t of e)t.value=void 0===t.fixedValue?Math.max(eRe(t.sourceLinks,gRe),eRe(t.targetLinks,gRe)):t.fixedValue}function b({nodes:e}){let t=e. Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}},r.lexer=i,mt(e,"Parser"),(ILe=new((e.prototype=r).Parser=e)).parser=ILe,NLe=ILe}),XLe=e(()=>{"use strict";_u(),hh(),Cu(),DLe=[],OLe=[],PLe=new Map,BLe=mt(()=>{DLe=[],OLe=[],PLe=new Map,bh()},"clear"),FLe=class{constructor(e,t,i=0){this.source=e,this.target=t,this.value=i}static{mt(this,"SankeyLink")}},jLe=mt((e,t,i)=>{DLe.push(new FLe(e,t,i))},"addLink"),zLe=class{constructor(e){this.ID=e}static{mt(this,"SankeyNode")}},ULe=mt(e=>{e=$.sanitizeText(e,N());let t=PLe.get(e);return void 0===t&&(t=new zLe(e),PLe.set(e,t),OLe.push(t)),t},"findOrCreateNode"),HLe=mt(()=>OLe,"getNodes"),qLe=mt(()=>DLe,"getLinks"),WLe=mt(()=>({nodes:OLe.map(e=>({id:e.ID})),links:DLe.map(e=>({source:e.source.ID,target:e.target.ID,value:e.value}))}),"getGraph"),GLe={nodesMap:PLe,getConfig:mt(()=>N().sankey,"getConfig"),getNodes:HLe,getLinks:qLe,getGraph:WLe,addLink:jLe,findOrCreateNode:ULe,getAccTitle:xh,setAccTitle:vh,getAccDescription:kh,setAccDescription:wh,getDiagramTitle:Sh,setDiagramTitle:Th,clear:BLe}});function KLe(t,i){let n;if(void 0===i)for(var e of t)null!=e&&(n<e||void 0===n&&e>=e)&&(n=e);else{let e=-1;for(var r of t)null!=(r=i(r,++e,t))&&(n<r||void 0===n&&r>=r)&&(n=r)}return n}var ZLe=e(()=>{"use strict";mt(KLe,"max")});function QLe(t,i){let n;if(void 0===i)for(var e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let e=-1;for(var r of t)null!=(r=i(r,++e,t))&&(n>r||void 0===n&&r>=r)&&(n=r)}return n}var JLe=e(()=>{"use strict";mt(QLe,"min")});function eRe(t,i){let n=0;if(void 0===i)for(var e of t)(e=+e)&&(n+=e);else{let e=-1;for(var r of t)(r=+i(r,++e,t))&&(n+=r)}return n}var tRe=e(()=>{"use strict";mt(eRe,"sum")}),iRe=e(()=>{"use strict";ZLe(),JLe(),tRe()});function nRe(e){return e.target.depth}function rRe(e){return e.depth}function sRe(e,t){return t-1-e.height}function aRe(e,t){return e.sourceLinks.length?e.depth:t-1}function oRe(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?QLe(e.sourceLinks,nRe)-1:0}var lRe=e(()=>{"use strict";iRe(),mt(nRe,"targetDepth"),mt(rRe,"left"),mt(sRe,"right"),mt(aRe,"justify"),mt(oRe,"center")});function cRe(e){return function(){return e}}var hRe=e(()=>{"use strict";mt(cRe,"constant")});function uRe(e,t){return pRe(e.source,t.source)||e.index-t.index}function dRe(e,t){return pRe(e.target,t.target)||e.index-t.index}function pRe(e,t){return e.y0-t.y0}function gRe(e){return e.value}function fRe(e){return e.index}function mRe(e){return e.nodes}function yRe(e){return e.links}function bRe(e,t){e=e.get(t);if(e)return e;throw new Error("missing: "+t)}function vRe({nodes:e}){for(var i of e){let e=i.y0,t=e;for(var n of i.sourceLinks)n.y0=e+n.width/2,e+=n.width;for(var r of i.targetLinks)r.y1=t+r.width/2,t+=r.width}}function xRe(){let o=0,l=0,c=1,h=1,u=24,r=8,d,p=fRe,g=aRe,f,m,t=mRe,i=yRe,s=6;function n(){var e={nodes:t.apply(null,arguments),links:i.apply(null,arguments)};return a(e),y(e),b(e),v(e),k(e),vRe(e),e}function a({nodes:i,links:e}){for(var[t,n]of i.entries())n.index=t,n.sourceLinks=[],n.targetLinks=[];var r,s,a=new Map(i.map((e,t)=>[p(e,t,i),e]));for([r,s]of e.entries()){s.index=r;let{source:e,target:t}=s;"object"!=typeof e&&(e=s.source=bRe(a,e)),"object"!=typeof t&&(t=s.target=bRe(a,t)),e.sourceLinks.push(s),t.targetLinks.push(s)}if(null!=m)for(var{sourceLinks:o,targetLinks:l}of i)o.sort(m),l.sort(m)}function y({nodes:e}){for(var t of e)t.value=void 0===t.fixedValue?Math.max(eRe(t.sourceLinks,gRe),eRe(t.targetLinks,gRe)):t.fixedValue}function b({nodes:e}){let t=e. Line truncated
`+g+Math.round(100*t)/100+f:e,"getText"),n=(c.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(y.nodes).join("text").attr("x",e=>e.x0<h/2?e.x1+6:e.x0-6).attr("y",e=>(e.y1+e.y0)/2).attr("dy",`${m?"0":"0.35"}em`).attr("text-anchor",e=>e.x0<h/2?"start":"end").text(t),c.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(y.links).join("g").attr("class","link").style("mix-blend-mode","multiply")),x=s?.linkColor??"gradient";"gradient"===x&&((t=n.append("linearGradient").attr("id",e=>(e.uid=VRe.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",e=>e.source.x1).attr("x2",e=>e.target.x0)).append("stop").attr("offset","0%").attr("stop-color",e=>v(e.source.id)),t.append("stop").attr("offset","100%").attr("stop-color",e=>v(e.target.id)));let w;switch(x){case"gradient":w=mt(e=>e.uid,"coloring");break;case"source":w=mt(e=>v(e.source.id),"coloring");break;case"target":w=mt(e=>v(e.target.id),"coloring");break;default:w=x}n.append("path").attr("d",GRe()).attr("stroke",w).attr("stroke-width",e=>Math.max(1,e.width)),sh(void 0,c,0,d)},"draw"),KRe={draw:XRe}}),rMe=e(()=>{"use strict";ZRe=mt(e=>e.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` `+g+Math.round(100*t)/100+f:e,"getText"),n=(c.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(y.nodes).join("text").attr("x",e=>e.x0<h/2?e.x1+6:e.x0-6).attr("y",e=>(e.y1+e.y0)/2).attr("dy",`${m?"0":"0.35"}em`).attr("text-anchor",e=>e.x0<h/2?"start":"end").text(t),c.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(y.links).join("g").attr("class","link").style("mix-blend-mode","multiply")),x=s?.linkColor??"gradient";"gradient"===x&&((t=n.append("linearGradient").attr("id",e=>(e.uid=VRe.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",e=>e.source.x1).attr("x2",e=>e.target.x0)).append("stop").attr("offset","0%").attr("stop-color",e=>v(e.source.id)),t.append("stop").attr("offset","100%").attr("stop-color",e=>v(e.target.id)));let w;switch(x){case"gradient":w=mt(e=>e.uid,"coloring");break;case"source":w=mt(e=>v(e.source.id),"coloring");break;case"target":w=mt(e=>v(e.target.id),"coloring");break;default:w=x}n.append("path").attr("d",GRe()).attr("stroke",w).attr("stroke-width",e=>Math.max(1,e.width)),sh(void 0,c,0,d)},"draw"),KRe={draw:XRe}}),rMe=e(()=>{"use strict";ZRe=mt(e=>e.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,`
`).trim(),"prepareTextForParsing")}),sMe=e(()=>{"use strict";QRe=mt(e=>`.label { `).trim(),"prepareTextForParsing")}),sMe=e(()=>{"use strict";QRe=mt(e=>`.label {
font-family: ${e.fontFamily}; font-family: ${e.fontFamily};
@@ -2391,7 +2391,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
stroke-width: ${e.blockStrokeWidth}; stroke-width: ${e.blockStrokeWidth};
fill: ${e.blockFillColor}; fill: ${e.blockFillColor};
} }
`},"styles")}),LMe={};G(LMe,{diagram:()=>RMe});var RMe,MMe,IMe,NMe,DMe,OMe,PMe,BMe,FMe,jMe,zMe,HMe,UMe,qMe,WMe,GMe,VMe,YMe=e(()=>{"use strict";_Me(),AMe(),EMe(),$Me(),RMe={parser:vMe,db:mMe,renderer:kMe,styles:SMe}}),XMe=e(()=>{"use strict";Mn(),Ln(),s_(),Cu(),IMe={axes:[],curves:[],options:MMe={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"}},NMe=structuredClone(IMe),DMe=vi.radar,OMe=mt(()=>EC({...DMe,...Ii().radar}),"getConfig"),PMe=mt(()=>NMe.axes,"getAxes"),BMe=mt(()=>NMe.curves,"getCurves"),FMe=mt(()=>NMe.options,"getOptions"),jMe=mt(e=>{NMe.axes=e.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),zMe=mt(e=>{NMe.curves=e.map(e=>({name:e.name,label:e.label??e.name,entries:HMe(e.entries)}))},"setCurves"),HMe=mt(i=>{if(null==i[0].axis)return i.map(e=>e.value);var e=PMe();if(0===e.length)throw new Error("Axes must be populated before curves for reference entries");return e.map(t=>{var e=i.find(e=>e.axis?.$refText===t.name);if(void 0===e)throw new Error("Missing entry for axis "+t.label);return e.value})},"computeCurveEntries"),UMe=mt(e=>{e=e.reduce((e,t)=>(e[t.name]=t,e),{});NMe.options={showLegend:e.showLegend?.value??MMe.showLegend,ticks:e.ticks?.value??MMe.ticks,max:e.max?.value??MMe.max,min:e.min?.value??MMe.min,graticule:e.graticule?.value??MMe.graticule}},"setOptions"),qMe=mt(()=>{bh(),NMe=structuredClone(IMe)},"clear"),WMe={getAxes:PMe,getCurves:BMe,getOptions:FMe,setAxes:jMe,setCurves:zMe,setOptions:UMe,getConfig:OMe,clear:qMe,setAccTitle:vh,getAccTitle:xh,setDiagramTitle:Th,getDiagramTitle:Sh,getAccDescription:kh,setAccDescription:wh}}),KMe=e(()=>{"use strict";hfe(),t(),gfe(),XMe(),GMe=mt(e=>{ufe(e,WMe);var{axes:e,curves:t,options:i}=e;WMe.setAxes(e),WMe.setCurves(t),WMe.setOptions(i)},"populate"),VMe={parse:mt(async e=>{e=await afe("radar",e);I.debug(e),GMe(e)},"parse")}});function ZMe(i,e,t,n,r,s,a){let o=e.length,l=Math.min(a.width,a.height)/2;t.forEach((e,t)=>{e.entries.length===o&&(e=e.entries.map((e,t)=>{t=2*Math.PI*t/o-Math.PI/2,e=QMe(e,n,r,l);return{x:e*Math.cos(t),y:e*Math.sin(t)}}),"circle"===s?i.append("path").attr("d",JMe(e,a.curveTension)).attr("class","radarCurve-"+t):"polygon"===s&&i.append("polygon").attr("points",e.map(e=>e.x+","+e.y).join(" ")).attr("class","radarCurve-"+t))})}function QMe(e,t,i,n){return n*(Math.min(Math.max(e,t),i)-t)/(i-t)}function JMe(t,i){let n=t.length,r=`M${t[0].x},`+t[0].y;for(let e=0;e<n;e++){var s=t[(e-1+n)%n],a=t[e],o=t[(e+1)%n],l=t[(e+2)%n],s={x:a.x+(o.x-s.x)*i,y:a.y+(o.y-s.y)*i},l={x:o.x-(l.x-a.x)*i,y:o.y-(l.y-a.y)*i};r+=` C${s.x},${s.y} ${l.x},${l.y} ${o.x},`+o.y}return r+" Z"}function eIe(s,e,t,i){if(t){let n=3*(i.width/2+i.marginRight)/4,r=3*-(i.height/2+i.marginTop)/4;e.forEach((e,t)=>{var i=s.append("g").attr("transform",`translate(${n}, ${r+20*t})`);i.append("rect").attr("width",12).attr("height",12).attr("class","radarLegendBox-"+t),i.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(e.label)})}}var tIe,iIe,nIe,rIe,sIe,aIe,oIe,lIe,cIe=e(()=>{"use strict";Mye(),tIe=mt((e,t,i,n)=>{var n=n.db,r=n.getAxes(),s=n.getCurves(),a=n.getOptions(),o=n.getConfig(),n=n.getDiagramTitle(),t=Cye(t),t=iIe(t,o),l=a.max??Math.max(...s.map(e=>Math.max(...e.entries))),c=a.min,h=Math.min(o.width,o.height)/2;nIe(t,r,h,a.ticks,a.graticule),rIe(t,r,h,o),ZMe(t,r,s,c,l,a.graticule,o),eIe(t,s,a.showLegend,o),t.append("text").attr("class","radarTitle").text(n).attr("x",0).attr("y",-o.height/2-o.marginTop)},"draw"),iIe=mt((e,t)=>{let i=t.width+t.marginLeft+t.marginRight,n=t.height+t.marginTop+t.marginBottom,r=t.marginLeft+t.width/2,s=t.marginTop+t.height/2;return e.attr("viewbox",`0 0 ${i} `+n).attr("width",i).attr("height",n),e.append("g").attr("transform",`translate(${r}, ${s})`)},"drawFrame"),nIe=mt((r,s,a,o,e)=>{if("circle"===e)for(let e=0;e<o;e++){var t=a*(e+1)/o;r.append("circle").attr("r",t).attr("class","radarGraticule")}else if("polygon"===e){let n=s.length;for(let t=0;t<o;t++){let i=a*(t+1)/o,e=s.map((e,t)=>{t=2*t*Math.PI/n-Math.PI/2;return i*Math.cos(t)+","+i*Math.sin(t)}).join(" ");r.append("polygon").attr("points",e).attr("class","radarGraticule")}}},"drawGraticule"),rIe=mt((t,i,n,r)=>{var s=i.length;for(let e=0;e<s;e++){var a=i[e].label,o=2*e*Math.PI/s-Math.PI/2;t.append("line").attr("x1",0).attr("y1",0).attr("x2",n*r.axisScaleFactor*Math.cos(o)).attr("y2",n*r.axisScaleFactor*Math.sin(o)).attr("class","radarAxisLine"),t.append("text").text(a).attr("x",n*r.axisLabelFactor*Math.cos(o)).attr("y",n*r.axisLabelFactor*Math.sin(o)).attr("class","radarAxisLabel")}},"drawAxes"),mt(ZMe,"drawCurves"),mt(QMe,"relativeRadius"),mt(JMe,"closedRoundCurve"),mt(eIe,"drawLegend"),sIe={draw:tIe}}),hIe=e(()=>{"use strict";s_(),Cn(),Mn(),aIe=mt((t,i)=>{let n="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++){var r=t["cScale"+e];n+=` `},"styles")}),LMe={};G(LMe,{diagram:()=>RMe});var RMe,MMe,IMe,NMe,DMe,OMe,PMe,BMe,FMe,jMe,zMe,UMe,HMe,qMe,WMe,GMe,VMe,YMe=e(()=>{"use strict";_Me(),AMe(),EMe(),$Me(),RMe={parser:vMe,db:mMe,renderer:kMe,styles:SMe}}),XMe=e(()=>{"use strict";Mn(),Ln(),s_(),Cu(),IMe={axes:[],curves:[],options:MMe={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"}},NMe=structuredClone(IMe),DMe=vi.radar,OMe=mt(()=>EC({...DMe,...Ii().radar}),"getConfig"),PMe=mt(()=>NMe.axes,"getAxes"),BMe=mt(()=>NMe.curves,"getCurves"),FMe=mt(()=>NMe.options,"getOptions"),jMe=mt(e=>{NMe.axes=e.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),zMe=mt(e=>{NMe.curves=e.map(e=>({name:e.name,label:e.label??e.name,entries:UMe(e.entries)}))},"setCurves"),UMe=mt(i=>{if(null==i[0].axis)return i.map(e=>e.value);var e=PMe();if(0===e.length)throw new Error("Axes must be populated before curves for reference entries");return e.map(t=>{var e=i.find(e=>e.axis?.$refText===t.name);if(void 0===e)throw new Error("Missing entry for axis "+t.label);return e.value})},"computeCurveEntries"),HMe=mt(e=>{e=e.reduce((e,t)=>(e[t.name]=t,e),{});NMe.options={showLegend:e.showLegend?.value??MMe.showLegend,ticks:e.ticks?.value??MMe.ticks,max:e.max?.value??MMe.max,min:e.min?.value??MMe.min,graticule:e.graticule?.value??MMe.graticule}},"setOptions"),qMe=mt(()=>{bh(),NMe=structuredClone(IMe)},"clear"),WMe={getAxes:PMe,getCurves:BMe,getOptions:FMe,setAxes:jMe,setCurves:zMe,setOptions:HMe,getConfig:OMe,clear:qMe,setAccTitle:vh,getAccTitle:xh,setDiagramTitle:Th,getDiagramTitle:Sh,getAccDescription:kh,setAccDescription:wh}}),KMe=e(()=>{"use strict";hfe(),t(),gfe(),XMe(),GMe=mt(e=>{ufe(e,WMe);var{axes:e,curves:t,options:i}=e;WMe.setAxes(e),WMe.setCurves(t),WMe.setOptions(i)},"populate"),VMe={parse:mt(async e=>{e=await afe("radar",e);I.debug(e),GMe(e)},"parse")}});function ZMe(i,e,t,n,r,s,a){let o=e.length,l=Math.min(a.width,a.height)/2;t.forEach((e,t)=>{e.entries.length===o&&(e=e.entries.map((e,t)=>{t=2*Math.PI*t/o-Math.PI/2,e=QMe(e,n,r,l);return{x:e*Math.cos(t),y:e*Math.sin(t)}}),"circle"===s?i.append("path").attr("d",JMe(e,a.curveTension)).attr("class","radarCurve-"+t):"polygon"===s&&i.append("polygon").attr("points",e.map(e=>e.x+","+e.y).join(" ")).attr("class","radarCurve-"+t))})}function QMe(e,t,i,n){return n*(Math.min(Math.max(e,t),i)-t)/(i-t)}function JMe(t,i){let n=t.length,r=`M${t[0].x},`+t[0].y;for(let e=0;e<n;e++){var s=t[(e-1+n)%n],a=t[e],o=t[(e+1)%n],l=t[(e+2)%n],s={x:a.x+(o.x-s.x)*i,y:a.y+(o.y-s.y)*i},l={x:o.x-(l.x-a.x)*i,y:o.y-(l.y-a.y)*i};r+=` C${s.x},${s.y} ${l.x},${l.y} ${o.x},`+o.y}return r+" Z"}function eIe(s,e,t,i){if(t){let n=3*(i.width/2+i.marginRight)/4,r=3*-(i.height/2+i.marginTop)/4;e.forEach((e,t)=>{var i=s.append("g").attr("transform",`translate(${n}, ${r+20*t})`);i.append("rect").attr("width",12).attr("height",12).attr("class","radarLegendBox-"+t),i.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(e.label)})}}var tIe,iIe,nIe,rIe,sIe,aIe,oIe,lIe,cIe=e(()=>{"use strict";Mye(),tIe=mt((e,t,i,n)=>{var n=n.db,r=n.getAxes(),s=n.getCurves(),a=n.getOptions(),o=n.getConfig(),n=n.getDiagramTitle(),t=Cye(t),t=iIe(t,o),l=a.max??Math.max(...s.map(e=>Math.max(...e.entries))),c=a.min,h=Math.min(o.width,o.height)/2;nIe(t,r,h,a.ticks,a.graticule),rIe(t,r,h,o),ZMe(t,r,s,c,l,a.graticule,o),eIe(t,s,a.showLegend,o),t.append("text").attr("class","radarTitle").text(n).attr("x",0).attr("y",-o.height/2-o.marginTop)},"draw"),iIe=mt((e,t)=>{let i=t.width+t.marginLeft+t.marginRight,n=t.height+t.marginTop+t.marginBottom,r=t.marginLeft+t.width/2,s=t.marginTop+t.height/2;return e.attr("viewbox",`0 0 ${i} `+n).attr("width",i).attr("height",n),e.append("g").attr("transform",`translate(${r}, ${s})`)},"drawFrame"),nIe=mt((r,s,a,o,e)=>{if("circle"===e)for(let e=0;e<o;e++){var t=a*(e+1)/o;r.append("circle").attr("r",t).attr("class","radarGraticule")}else if("polygon"===e){let n=s.length;for(let t=0;t<o;t++){let i=a*(t+1)/o,e=s.map((e,t)=>{t=2*t*Math.PI/n-Math.PI/2;return i*Math.cos(t)+","+i*Math.sin(t)}).join(" ");r.append("polygon").attr("points",e).attr("class","radarGraticule")}}},"drawGraticule"),rIe=mt((t,i,n,r)=>{var s=i.length;for(let e=0;e<s;e++){var a=i[e].label,o=2*e*Math.PI/s-Math.PI/2;t.append("line").attr("x1",0).attr("y1",0).attr("x2",n*r.axisScaleFactor*Math.cos(o)).attr("y2",n*r.axisScaleFactor*Math.sin(o)).attr("class","radarAxisLine"),t.append("text").text(a).attr("x",n*r.axisLabelFactor*Math.cos(o)).attr("y",n*r.axisLabelFactor*Math.sin(o)).attr("class","radarAxisLabel")}},"drawAxes"),mt(ZMe,"drawCurves"),mt(QMe,"relativeRadius"),mt(JMe,"closedRoundCurve"),mt(eIe,"drawLegend"),sIe={draw:tIe}}),hIe=e(()=>{"use strict";s_(),Cn(),Mn(),aIe=mt((t,i)=>{let n="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++){var r=t["cScale"+e];n+=`
.radarCurve-${e} { .radarCurve-${e} {
color: ${r}; color: ${r};
fill: ${r}; fill: ${r};
@@ -2438,7 +2438,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},d={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},d={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:mt(function(e,t,i,n){switch(i){case 0:return 10;case 1:return e.getLogger().debug("Found space-block"),31;case 2:return e.getLogger().debug("Found nl-block"),31;case 3:return e.getLogger().debug("Found space-block"),29;case 4:e.getLogger().debug(".",t.yytext);break;case 5:e.getLogger().debug("_",t.yytext);break;case 6:return 5;case 7:return t.yytext=-1,28;case 8:return t.yytext=t.yytext.replace(/columns\s+/,""),e.getLogger().debug("COLUMNS (LEX)",t.yytext),28;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:e.getLogger().debug("LEX: POPPING STR:",t.yytext),this.popState();break;case 14:return e.getLogger().debug("LEX: STR end:",t.yytext),"STR";case 15:return t.yytext=t.yytext.replace(/space\:/,""),e.getLogger().debug("SPACE NUM (LEX)",t.yytext),21;case 16:return t.yytext="1",e.getLogger().debug("COLUMNS (LEX)",t.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:case 39:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),e.getLogger().debug("Lex: ))"),"NODE_DEND";case 41:case 42:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 43:return this.popState(),e.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),e.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 46:return this.popState(),e.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),e.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),e.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:case 50:return this.popState(),e.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),e.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),e.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),e.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),e.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return e.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return e.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return e.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return e.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 60:case 61:case 62:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 63:return e.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return e.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 65:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 66:case 67:case 68:case 69:case 70:case 71:case 72:return this.pushState("NODE"),36;case 73:return e.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),e.getLogger().debug("LEX ARR START"),38;case 75:return e.getLogger().debug("Lex: NODE_ID",t.yytext),32;case 76:return e.getLogger().debug("Lex: EOF",t.yytext),8;case 77:case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:e.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:e.getLogger().de Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:mt(function(e,t,i,n){switch(i){case 0:return 10;case 1:return e.getLogger().debug("Found space-block"),31;case 2:return e.getLogger().debug("Found nl-block"),31;case 3:return e.getLogger().debug("Found space-block"),29;case 4:e.getLogger().debug(".",t.yytext);break;case 5:e.getLogger().debug("_",t.yytext);break;case 6:return 5;case 7:return t.yytext=-1,28;case 8:return t.yytext=t.yytext.replace(/columns\s+/,""),e.getLogger().debug("COLUMNS (LEX)",t.yytext),28;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:e.getLogger().debug("LEX: POPPING STR:",t.yytext),this.popState();break;case 14:return e.getLogger().debug("LEX: STR end:",t.yytext),"STR";case 15:return t.yytext=t.yytext.replace(/space\:/,""),e.getLogger().debug("SPACE NUM (LEX)",t.yytext),21;case 16:return t.yytext="1",e.getLogger().debug("COLUMNS (LEX)",t.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:case 39:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),e.getLogger().debug("Lex: ))"),"NODE_DEND";case 41:case 42:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 43:return this.popState(),e.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),e.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 46:return this.popState(),e.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),e.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),e.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:case 50:return this.popState(),e.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),e.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),e.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),e.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),e.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return e.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return e.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return e.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return e.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 60:case 61:case 62:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 63:return e.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return e.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 65:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 66:case 67:case 68:case 69:case 70:case 71:case 72:return this.pushState("NODE"),36;case 73:return e.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),e.getLogger().debug("LEX ARR START"),38;case 75:return e.getLogger().debug("Lex: NODE_ID",t.yytext),32;case 76:return e.getLogger().debug("Lex: EOF",t.yytext),8;case 77:case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:e.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:e.getLogger().de Line truncated
font-family: ${e.fontFamily}; font-family: ${e.fontFamily};
color: ${e.nodeTextColor||e.textColor}; color: ${e.nodeTextColor||e.textColor};
} }
@@ -2554,7 +2554,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
`,"getStyles"),VIe=GIe}),lNe=e(()=>{"use strict";t(),YIe=mt((t,e,i,n)=>{e.forEach(e=>{rNe[e](t,i,n)})},"insertMarkers"),XIe=mt((e,t,i)=>{I.trace("Making markers for ",i),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),KIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),ZIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),QIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),JIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",i+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),eNe=mt((e,t,i)=>{e.append("marker").attr("id",i+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",i+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),tNe=mt((e,t,i)=>{e.append("marker").attr("id",i+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",i+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),iNe=mt((e,t,i)=>{e.append("marker").attr("id",i+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-das Line truncated `,"getStyles"),VIe=GIe}),lNe=e(()=>{"use strict";t(),YIe=mt((t,e,i,n)=>{e.forEach(e=>{rNe[e](t,i,n)})},"insertMarkers"),XIe=mt((e,t,i)=>{I.trace("Making markers for ",i),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),KIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),ZIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),QIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),JIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",i+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),eNe=mt((e,t,i)=>{e.append("marker").attr("id",i+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",i+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),tNe=mt((e,t,i)=>{e.append("marker").attr("id",i+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",i+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),iNe=mt((e,t,i)=>{e.append("marker").attr("id",i+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-das Line truncated
outsidePoint: ${JSON.stringify(n)} outsidePoint: ${JSON.stringify(n)}
insidePoint : ${JSON.stringify(r)} insidePoint : ${JSON.stringify(r)}
node : x:${e.x} y:${e.y} w:${e.width} h:`+e.height);let s=e.x,t=e.y,i=Math.abs(s-r.x),a=e.width/2,o=r.x<n.x?a-i:a+i,l=e.height/2,c=Math.abs(n.y-r.y),h=Math.abs(n.x-r.x);var u;if(Math.abs(t-n.y)*a>Math.abs(s-n.x)*l)return e=r.y<n.y?n.y-l-t:t-l-n.y,o=h*e/c,u={x:r.x<n.x?r.x+o:r.x-h+o,y:r.y<n.y?r.y+c-e:r.y-c+e},0===o&&(u.x=n.x,u.y=n.y),0===h&&(u.x=n.x),0===c&&(u.y=n.y),I.debug(`abc89 topp/bott calc, Q ${c}, q ${e}, R ${h}, r `+o,u),u;{let e=c*(o=r.x<n.x?n.x-a-s:s-a-n.x)/h,t=r.x<n.x?r.x+h-o:r.x-h+o,i=r.y<n.y?r.y+e:r.y-e;return I.debug(`sides calc abc89, Q ${c}, q ${e}, R ${h}, r `+o,{_x:t,_y:i}),0===o&&(t=n.x,i=n.y),0===h&&(t=n.x),0===c&&(i=n.y),{x:t,y:i}}},"intersection"),INe=mt((e,n)=>{I.debug("abc88 cutPathAtIntersect",e,n);let r=[],s=e[0],a=!1;return e.forEach(e=>{if(RNe(n,e)||a)s=e,a||r.push(e);else{let t=MNe(n,s,e),i=!1;r.forEach(e=>{i=i||e.x===t.x&&e.y===t.y}),r.some(e=>e.x===t.x&&e.y===t.y)||r.push(t),a=!0}}),r},"cutPathAtIntersect"),NNe=mt(function(e,t,i,n,r,s,a){let o=i.points,l=(I.debug("abc88 InsertEdge: edge=",i,"e=",t),!1),c=s.node(t.v);s=s.node(t.w);s?.intersect&&c?.intersect&&((o=o.slice(1,i.points.length-1)).unshift(c.intersect(o[0])),o.push(s.intersect(o[o.length-1]))),i.toCluster&&(I.debug("to cluster abc88",n[i.toCluster]),o=INe(i.points,n[i.toCluster].node),l=!0),i.fromCluster&&(I.debug("from cluster abc88",n[i.fromCluster]),o=INe(o.reverse(),n[i.fromCluster].node).reverse(),l=!0);let h=o.filter(e=>!Number.isNaN(e.y)),u=x5,{x:d,y:p}=(!i.curve||"graph"!==r&&"flowchart"!==r||(u=i.curve),rD(i)),g=r5().x(d).y(p).curve(u),f;switch(i.thickness){case"normal":f="edge-thickness-normal";break;case"thick":case"invisible":f="edge-thickness-thick";break;default:f=""}switch(i.pattern){case"solid":f+=" edge-pattern-solid";break;case"dotted":f+=" edge-pattern-dotted";break;case"dashed":f+=" edge-pattern-dashed"}let m=e.append("path").attr("d",g(h)).attr("id",i.id).attr("class"," "+f+(i.classes?" "+i.classes:"")).attr("style",i.style),y="";(N().flowchart.arrowMarkerAbsolute||N().state.arrowMarkerAbsolute)&&(y=Uc(!0)),wNe(m,i,y,a,r);t={};return l&&(t.updatedPath=o),t.originalPath=i.points,t},"insertEdge")}),BNe=e(()=>{"use strict";DNe=mt(e=>{var t,i=new Set;for(t of e)switch(t){case"x":i.add("right"),i.add("left");break;case"y":i.add("up"),i.add("down");break;default:i.add(t)}return i},"expandAndDeduplicateDirections"),ONe=mt((e,t,i)=>{var e=DNe(e),n=t.height+2*i.padding,r=n/2,t=t.width+2*r+i.padding,i=i.padding/2;return e.has("right")&&e.has("left")&&e.has("up")&&e.has("down")?[{x:0,y:0},{x:r,y:0},{x:t/2,y:2*i},{x:t-r,y:0},{x:t,y:0},{x:t,y:-n/3},{x:t+2*i,y:-n/2},{x:t,y:-2*n/3},{x:t,y:-n},{x:t-r,y:-n},{x:t/2,y:-n-2*i},{x:r,y:-n},{x:0,y:-n},{x:0,y:-2*n/3},{x:-2*i,y:-n/2},{x:0,y:-n/3}]:e.has("right")&&e.has("left")&&e.has("up")?[{x:r,y:0},{x:t-r,y:0},{x:t,y:-n/2},{x:t-r,y:-n},{x:r,y:-n},{x:0,y:-n/2}]:e.has("right")&&e.has("left")&&e.has("down")?[{x:0,y:0},{x:r,y:-n},{x:t-r,y:-n},{x:t,y:0}]:e.has("right")&&e.has("up")&&e.has("down")?[{x:0,y:0},{x:t,y:-r},{x:t,y:r-n},{x:0,y:-n}]:e.has("left")&&e.has("up")&&e.has("down")?[{x:t,y:0},{x:0,y:-r},{x:0,y:r-n},{x:t,y:-n}]:e.has("right")&&e.has("left")?[{x:r,y:0},{x:r,y:-i},{x:t-r,y:-i},{x:t-r,y:0},{x:t,y:-n/2},{x:t-r,y:-n},{x:t-r,y:i-n},{x:r,y:i-n},{x:r,y:-n},{x:0,y:-n/2}]:e.has("up")&&e.has("down")?[{x:t/2,y:0},{x:0,y:-i},{x:r,y:-i},{x:r,y:i-n},{x:0,y:i-n},{x:t/2,y:-n},{x:t,y:i-n},{x:t-r,y:i-n},{x:t-r,y:-i},{x:t,y:-i}]:e.has("right")&&e.has("up")?[{x:0,y:0},{x:t,y:-r},{x:0,y:-n}]:e.has("right")&&e.has("down")?[{x:0,y:0},{x:t,y:0},{x:0,y:-n}]:e.has("left")&&e.has("up")?[{x:t,y:0},{x:0,y:-r},{x:t,y:-n}]:e.has("left")&&e.has("down")?[{x:t,y:0},{x:0,y:0},{x:t,y:-n}]:e.has("right")?[{x:r,y:-i},{x:r,y:-i},{x:t-r,y:-i},{x:t-r,y:0},{x:t,y:-n/2},{x:t-r,y:-n},{x:t-r,y:i-n},{x:r,y:i-n},{x:r,y:i-n}]:e.has("left")?[{x:r,y:0},{x:r,y:-i},{x:t-r,y:-i},{x:t-r,y:i-n},{x:r,y:i-n},{x:r,y:-n},{x:0,y:-n/2}]:e.has("up")?[{x:r,y:-i},{x:r,y:i-n},{x:0,y:i-n},{x:t/2,y:-n},{x:t,y:i-n},{x:t-r,y:i-n},{x:t-r,y:-i}]:e.has("down")?[{x:t/2,y:0},{x:0,y:-i},{x:r,y:-i},{x:r,y:i-n},{x:t-r,y:i-n},{x:t-r,y:-i},{x:t,y:-i}]:[{x:0,y:0}]},"getArrowPoints")});function FNe(e,t){return e.intersect(t)}var jNe,zNe=e(()=>{"use strict";mt(FNe,"intersectNode"),jNe=FNe});function HNe(e,t,i,n){var r=e.x,e=e.y,s=r-n.x,a=e-n.y,o=Math.sqrt(t*t*a*a+i*i*s*s),s=Math.abs(t*i*s/o),t=(n.x<r&&(s=-s),Math.abs(t*i*a/o));return{x:r+s,y:e+(t=n.y<e?-t:t)}}var UNe,qNe=e(()=>{"use strict";mt(HNe,"intersectEllipse"),UNe=HNe});function WNe(e,t,i){return UNe(e,t,t,i)}var GNe,VNe=e(()=>{"use strict";qNe(),mt(WNe,"intersectCircle"),GNe=WNe});function YNe(e,t,i,n){var r,s,a,o,l=t.y-e.y,c=e.x-t.x,h=t.x*e.y-e.x*t.y,u=l*i.x+c*i.y+h,d=l*n.x+c*n.y+h;if(!(0!=u&&0!=d&&0<u*d||(r=n.y-i.y,s=i.x-n.x,a=n.x*i.y-i.x*n.y,u=r*e.x+s*e.y+a,d=r*t.x+s*t.y+a,0!==u&&0!==d&&0<u*d)||0===(o=l*s-r*c)))return i=Math.abs(o/2),{x:(n=c*a-s*h)<0?(n-i)/o:(n+i)/o,y:(n=r*h-l*a)<0?(n-i)/o:(n+i)/o}}function XNe(e,t){return 0<e*t}var KNe,ZNe=e(()=>{"use strict";mt(YNe,"i Line truncated node : x:${e.x} y:${e.y} w:${e.width} h:`+e.height);let s=e.x,t=e.y,i=Math.abs(s-r.x),a=e.width/2,o=r.x<n.x?a-i:a+i,l=e.height/2,c=Math.abs(n.y-r.y),h=Math.abs(n.x-r.x);var u;if(Math.abs(t-n.y)*a>Math.abs(s-n.x)*l)return e=r.y<n.y?n.y-l-t:t-l-n.y,o=h*e/c,u={x:r.x<n.x?r.x+o:r.x-h+o,y:r.y<n.y?r.y+c-e:r.y-c+e},0===o&&(u.x=n.x,u.y=n.y),0===h&&(u.x=n.x),0===c&&(u.y=n.y),I.debug(`abc89 topp/bott calc, Q ${c}, q ${e}, R ${h}, r `+o,u),u;{let e=c*(o=r.x<n.x?n.x-a-s:s-a-n.x)/h,t=r.x<n.x?r.x+h-o:r.x-h+o,i=r.y<n.y?r.y+e:r.y-e;return I.debug(`sides calc abc89, Q ${c}, q ${e}, R ${h}, r `+o,{_x:t,_y:i}),0===o&&(t=n.x,i=n.y),0===h&&(t=n.x),0===c&&(i=n.y),{x:t,y:i}}},"intersection"),INe=mt((e,n)=>{I.debug("abc88 cutPathAtIntersect",e,n);let r=[],s=e[0],a=!1;return e.forEach(e=>{if(RNe(n,e)||a)s=e,a||r.push(e);else{let t=MNe(n,s,e),i=!1;r.forEach(e=>{i=i||e.x===t.x&&e.y===t.y}),r.some(e=>e.x===t.x&&e.y===t.y)||r.push(t),a=!0}}),r},"cutPathAtIntersect"),NNe=mt(function(e,t,i,n,r,s,a){let o=i.points,l=(I.debug("abc88 InsertEdge: edge=",i,"e=",t),!1),c=s.node(t.v);s=s.node(t.w);s?.intersect&&c?.intersect&&((o=o.slice(1,i.points.length-1)).unshift(c.intersect(o[0])),o.push(s.intersect(o[o.length-1]))),i.toCluster&&(I.debug("to cluster abc88",n[i.toCluster]),o=INe(i.points,n[i.toCluster].node),l=!0),i.fromCluster&&(I.debug("from cluster abc88",n[i.fromCluster]),o=INe(o.reverse(),n[i.fromCluster].node).reverse(),l=!0);let h=o.filter(e=>!Number.isNaN(e.y)),u=x5,{x:d,y:p}=(!i.curve||"graph"!==r&&"flowchart"!==r||(u=i.curve),rD(i)),g=r5().x(d).y(p).curve(u),f;switch(i.thickness){case"normal":f="edge-thickness-normal";break;case"thick":case"invisible":f="edge-thickness-thick";break;default:f=""}switch(i.pattern){case"solid":f+=" edge-pattern-solid";break;case"dotted":f+=" edge-pattern-dotted";break;case"dashed":f+=" edge-pattern-dashed"}let m=e.append("path").attr("d",g(h)).attr("id",i.id).attr("class"," "+f+(i.classes?" "+i.classes:"")).attr("style",i.style),y="";(N().flowchart.arrowMarkerAbsolute||N().state.arrowMarkerAbsolute)&&(y=Hc(!0)),wNe(m,i,y,a,r);t={};return l&&(t.updatedPath=o),t.originalPath=i.points,t},"insertEdge")}),BNe=e(()=>{"use strict";DNe=mt(e=>{var t,i=new Set;for(t of e)switch(t){case"x":i.add("right"),i.add("left");break;case"y":i.add("up"),i.add("down");break;default:i.add(t)}return i},"expandAndDeduplicateDirections"),ONe=mt((e,t,i)=>{var e=DNe(e),n=t.height+2*i.padding,r=n/2,t=t.width+2*r+i.padding,i=i.padding/2;return e.has("right")&&e.has("left")&&e.has("up")&&e.has("down")?[{x:0,y:0},{x:r,y:0},{x:t/2,y:2*i},{x:t-r,y:0},{x:t,y:0},{x:t,y:-n/3},{x:t+2*i,y:-n/2},{x:t,y:-2*n/3},{x:t,y:-n},{x:t-r,y:-n},{x:t/2,y:-n-2*i},{x:r,y:-n},{x:0,y:-n},{x:0,y:-2*n/3},{x:-2*i,y:-n/2},{x:0,y:-n/3}]:e.has("right")&&e.has("left")&&e.has("up")?[{x:r,y:0},{x:t-r,y:0},{x:t,y:-n/2},{x:t-r,y:-n},{x:r,y:-n},{x:0,y:-n/2}]:e.has("right")&&e.has("left")&&e.has("down")?[{x:0,y:0},{x:r,y:-n},{x:t-r,y:-n},{x:t,y:0}]:e.has("right")&&e.has("up")&&e.has("down")?[{x:0,y:0},{x:t,y:-r},{x:t,y:r-n},{x:0,y:-n}]:e.has("left")&&e.has("up")&&e.has("down")?[{x:t,y:0},{x:0,y:-r},{x:0,y:r-n},{x:t,y:-n}]:e.has("right")&&e.has("left")?[{x:r,y:0},{x:r,y:-i},{x:t-r,y:-i},{x:t-r,y:0},{x:t,y:-n/2},{x:t-r,y:-n},{x:t-r,y:i-n},{x:r,y:i-n},{x:r,y:-n},{x:0,y:-n/2}]:e.has("up")&&e.has("down")?[{x:t/2,y:0},{x:0,y:-i},{x:r,y:-i},{x:r,y:i-n},{x:0,y:i-n},{x:t/2,y:-n},{x:t,y:i-n},{x:t-r,y:i-n},{x:t-r,y:-i},{x:t,y:-i}]:e.has("right")&&e.has("up")?[{x:0,y:0},{x:t,y:-r},{x:0,y:-n}]:e.has("right")&&e.has("down")?[{x:0,y:0},{x:t,y:0},{x:0,y:-n}]:e.has("left")&&e.has("up")?[{x:t,y:0},{x:0,y:-r},{x:t,y:-n}]:e.has("left")&&e.has("down")?[{x:t,y:0},{x:0,y:0},{x:t,y:-n}]:e.has("right")?[{x:r,y:-i},{x:r,y:-i},{x:t-r,y:-i},{x:t-r,y:0},{x:t,y:-n/2},{x:t-r,y:-n},{x:t-r,y:i-n},{x:r,y:i-n},{x:r,y:i-n}]:e.has("left")?[{x:r,y:0},{x:r,y:-i},{x:t-r,y:-i},{x:t-r,y:i-n},{x:r,y:i-n},{x:r,y:-n},{x:0,y:-n/2}]:e.has("up")?[{x:r,y:-i},{x:r,y:i-n},{x:0,y:i-n},{x:t/2,y:-n},{x:t,y:i-n},{x:t-r,y:i-n},{x:t-r,y:-i}]:e.has("down")?[{x:t/2,y:0},{x:0,y:-i},{x:r,y:-i},{x:r,y:i-n},{x:t-r,y:i-n},{x:t-r,y:-i},{x:t,y:-i}]:[{x:0,y:0}]},"getArrowPoints")});function FNe(e,t){return e.intersect(t)}var jNe,zNe=e(()=>{"use strict";mt(FNe,"intersectNode"),jNe=FNe});function UNe(e,t,i,n){var r=e.x,e=e.y,s=r-n.x,a=e-n.y,o=Math.sqrt(t*t*a*a+i*i*s*s),s=Math.abs(t*i*s/o),t=(n.x<r&&(s=-s),Math.abs(t*i*a/o));return{x:r+s,y:e+(t=n.y<e?-t:t)}}var HNe,qNe=e(()=>{"use strict";mt(UNe,"intersectEllipse"),HNe=UNe});function WNe(e,t,i){return HNe(e,t,t,i)}var GNe,VNe=e(()=>{"use strict";qNe(),mt(WNe,"intersectCircle"),GNe=WNe});function YNe(e,t,i,n){var r,s,a,o,l=t.y-e.y,c=e.x-t.x,h=t.x*e.y-e.x*t.y,u=l*i.x+c*i.y+h,d=l*n.x+c*n.y+h;if(!(0!=u&&0!=d&&0<u*d||(r=n.y-i.y,s=i.x-n.x,a=n.x*i.y-i.x*n.y,u=r*e.x+s*e.y+a,d=r*t.x+s*t.y+a,0!==u&&0!==d&&0<u*d)||0===(o=l*s-r*c)))return i=Math.abs(o/2),{x:(n=c*a-s*h)<0?(n-i)/o:(n+i)/o,y:(n=r*h-l*a)<0?(n-i)/o:(n+i)/o}}function XNe(e,t){return 0<e*t}var KNe,ZNe=e(()=>{"use strict";mt(YNe,"i Line truncated
.edge { .edge {
stroke-width: ${e.archEdgeWidth}; stroke-width: ${e.archEdgeWidth};
stroke: ${e.archEdgeColor}; stroke: ${e.archEdgeColor};
@@ -2585,11 +2585,11 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
display: -webkit-box; display: -webkit-box;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
} }
`,"getStyles"),GOe=WOe}),iPe=W((i,n)=>{"use strict";mt(function(e,t){"object"==typeof i&&"object"==typeof n?n.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof i?i.layoutBase=t():e.layoutBase=t()},"webpackUniversalModuleDefinition")(i,function(){return i=[function(e,t,i){function n(){}mt(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_HALF_SIZE=(n.SIMPLE_NODE_SIZE=40)/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.INITIAL_WORLD_BOUNDARY=(n.WORLD_BOUNDARY=1e6)/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,e.exports=n},function(e,t,i){var n,r=i(2),s=i(8),a=i(9);function o(e,t,i){r.call(this,i),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=i,this.bendpoints=[],this.source=e,this.target=t}for(n in mt(o,"LEdge"),o.prototype=Object.create(r.prototype),r)o[n]=r[n];o.prototype.getSource=function(){return this.source},o.prototype.getTarget=function(){return this.target},o.prototype.isInterGraph=function(){return this.isInterGraph},o.prototype.getLength=function(){return this.length},o.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},o.prototype.getBendpoints=function(){return this.bendpoints},o.prototype.getLca=function(){return this.lca},o.prototype.getSourceInLca=function(){return this.sourceInLca},o.prototype.getTargetInLca=function(){return this.targetInLca},o.prototype.getOtherEnd=function(e){if(this.source===e)return this.target;if(this.target===e)return this.source;throw"Node is not incident with this edge"},o.prototype.getOtherEndInGraph=function(e,t){for(var i=this.getOtherEnd(e),n=t.getGraphManager().getRoot();;){if(i.getOwner()==t)return i;if(i.getOwner()==n)break;i=i.getOwner().getParent()}return null},o.prototype.updateLength=function(){var e=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),e),this.isOverlapingSourceAndTarget||(this.lengthX=e[0]-e[2],this.lengthY=e[1]-e[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},o.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},e.exports=o},function(e,t,i){function n(e){this.vGraphObject=e}mt(n,"LGraphObject"),e.exports=n},function(e,t,i){var n,r=i(2),s=i(10),a=i(13),o=i(0),l=i(16),c=i(5);function h(e,t,i,n){r.call(this,n=null==i&&null==n?t:n),null!=e.graphManager&&(e=e.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=n,this.edges=[],this.graphManager=e,this.rect=null!=i&&null!=t?new a(t.x,t.y,i.width,i.height):new a}for(n in mt(h,"LNode"),h.prototype=Object.create(r.prototype),r)h[n]=r[n];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(e){this.rect.width=e},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(e){this.rect.height=e},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new c(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new c(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(e,t){this.rect.x=e.x,this.rect.y=e.y,this.rect.width=t.width,this.rect.height=t.height},h.prototype.setCenter=function(e,t){this.rect.x=e-this.rect.width/2,this.rect.y=t-this.rect.height/2},h.prototype.setLocation=function(e,t){this.rect.x=e,this.rect.y=t},h.prototype.moveBy=function(e,t){this.rect.x+=e,this.rect.y+=t},h.prototype.getEdgeListToNode=function(t){var i=[],n=this;return n.edges.forEach(function(e){if(e.target==t){if(e.source!=n)throw"Incorrect edge source!";i.push(e)}}),i},h.prototype.getEdgesBetween=function(t){var i=[],n=this;return n.edges.forEach(function(e){if(e.source!=n&&e.target!=n)throw"Incorrect edge source and/or target";e.target!=t&&e. Line truncated `,"getStyles"),GOe=WOe}),iPe=W((i,n)=>{"use strict";mt(function(e,t){"object"==typeof i&&"object"==typeof n?n.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof i?i.layoutBase=t():e.layoutBase=t()},"webpackUniversalModuleDefinition")(i,function(){return i=[function(e,t,i){function n(){}mt(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_HALF_SIZE=(n.SIMPLE_NODE_SIZE=40)/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.INITIAL_WORLD_BOUNDARY=(n.WORLD_BOUNDARY=1e6)/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,e.exports=n},function(e,t,i){var n,r=i(2),s=i(8),a=i(9);function o(e,t,i){r.call(this,i),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=i,this.bendpoints=[],this.source=e,this.target=t}for(n in mt(o,"LEdge"),o.prototype=Object.create(r.prototype),r)o[n]=r[n];o.prototype.getSource=function(){return this.source},o.prototype.getTarget=function(){return this.target},o.prototype.isInterGraph=function(){return this.isInterGraph},o.prototype.getLength=function(){return this.length},o.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},o.prototype.getBendpoints=function(){return this.bendpoints},o.prototype.getLca=function(){return this.lca},o.prototype.getSourceInLca=function(){return this.sourceInLca},o.prototype.getTargetInLca=function(){return this.targetInLca},o.prototype.getOtherEnd=function(e){if(this.source===e)return this.target;if(this.target===e)return this.source;throw"Node is not incident with this edge"},o.prototype.getOtherEndInGraph=function(e,t){for(var i=this.getOtherEnd(e),n=t.getGraphManager().getRoot();;){if(i.getOwner()==t)return i;if(i.getOwner()==n)break;i=i.getOwner().getParent()}return null},o.prototype.updateLength=function(){var e=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),e),this.isOverlapingSourceAndTarget||(this.lengthX=e[0]-e[2],this.lengthY=e[1]-e[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},o.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},e.exports=o},function(e,t,i){function n(e){this.vGraphObject=e}mt(n,"LGraphObject"),e.exports=n},function(e,t,i){var n,r=i(2),s=i(10),a=i(13),o=i(0),l=i(16),c=i(5);function h(e,t,i,n){r.call(this,n=null==i&&null==n?t:n),null!=e.graphManager&&(e=e.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=n,this.edges=[],this.graphManager=e,this.rect=null!=i&&null!=t?new a(t.x,t.y,i.width,i.height):new a}for(n in mt(h,"LNode"),h.prototype=Object.create(r.prototype),r)h[n]=r[n];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(e){this.rect.width=e},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(e){this.rect.height=e},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new c(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new c(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(e,t){this.rect.x=e.x,this.rect.y=e.y,this.rect.width=t.width,this.rect.height=t.height},h.prototype.setCenter=function(e,t){this.rect.x=e-this.rect.width/2,this.rect.y=t-this.rect.height/2},h.prototype.setLocation=function(e,t){this.rect.x=e,this.rect.y=t},h.prototype.moveBy=function(e,t){this.rect.x+=e,this.rect.y+=t},h.prototype.getEdgeListToNode=function(t){var i=[],n=this;return n.edges.forEach(function(e){if(e.target==t){if(e.source!=n)throw"Incorrect edge source!";i.push(e)}}),i},h.prototype.getEdgesBetween=function(t){var i=[],n=this;return n.edges.forEach(function(e){if(e.source!=n&&e.target!=n)throw"Incorrect edge source and/or target";e.target!=t&&e. Line truncated
translate(${d}, ${p-i.height/2}) translate(${d}, ${p-i.height/2})
translate(${y*v.width/2}, ${b*v.height/2}) translate(${y*v.width/2}, ${b*v.height/2})
rotate(${-1*y*b*45}, 0, ${i.height/2}) rotate(${-1*y*b*45}, 0, ${i.height/2})
`))}}}))},"drawEdges"),KOe=mt(async function(l,e){let c=.75*SOe("padding"),h=SOe("fontSize"),u=SOe("iconSize")/2;await Promise.all(e.nodes().map(async n=>{var r=wOe(n);if("group"===r.type){var{h:n,w:s,x1:a,y1:o}=n.boundingBox();l.append("rect").attr("x",a+u).attr("y",o+u).attr("width",s).attr("height",n).attr("class","node-bkg");let e=l.append("g"),t=a,i=o;r.icon&&((n=e.append("g")).html(`<g>${await je(r.icon,{height:c,width:c,fallbackPrefix:YOe.prefix})}</g>`),n.attr("transform","translate("+(t+u+1)+", "+(i+u+1)+")"),t+=c,i+=h/2-1-2),r.label&&(a=e.append("g"),await J$(a,r.label,{useHtmlLabels:!1,width:s,classes:"architecture-service-label"},N()),a.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),a.attr("transform","translate("+(t+u+4)+", "+(i+u+2)+")"))}}))},"drawGroups"),ZOe=mt(async function(e,t,i){for(var n of i){var r=t.append("g"),s=SOe("iconSize"),a=(n.title&&(a=r.append("g"),await J$(a,n.title,{useHtmlLabels:!1,width:1.5*s,classes:"architecture-service-label"},N()),a.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),a.attr("transform","translate("+s/2+", "+s+")")),r.append("g")),{width:o,height:l}=(n.icon?a.html(`<g>${await je(n.icon,{height:s,width:s,fallbackPrefix:YOe.prefix})}</g>`):n.iconText?(a.html(`<g>${await je("blank",{height:s,width:s,fallbackPrefix:YOe.prefix})}</g>`),o=a.append("g").append("foreignObject").attr("width",s).attr("height",s).append("div").attr("class","node-icon-text").attr("style",`height: ${s}px;`).append("div").html(n.iconText),l=parseInt(window.getComputedStyle(o.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16,o.attr("style",`-webkit-line-clamp: ${Math.floor((s-2)/l)};`)):a.append("path").attr("class","node-bkg").attr("id","node-"+n.id).attr("d",`M0 ${s} v${-s} q0,-5 5,-5 h${s} q5,0 5,5 v${s} H0 Z`),r.attr("class","architecture-service"),r._groups[0][0].getBBox());n.width=o,n.height=l,e.setElementForId(n.id,r)}return 0},"drawServices"),QOe=mt(function(r,s,e){e.forEach(e=>{var t=s.append("g"),i=SOe("iconSize"),{width:i,height:n}=(t.append("g").append("rect").attr("id","node-"+e.id).attr("fill-opacity","0").attr("width",i).attr("height",i),t.attr("class","architecture-junction"),t._groups[0][0].getBBox());t.width=i,t.height=n,r.setElementForId(e.id,t)})},"drawJunctions")});function oPe(e,t){e.forEach(e=>{t.add({group:"nodes",data:{type:"service",id:e.id,icon:e.icon,label:e.title,parent:e.in,width:zOe().iconSize,height:zOe().iconSize},classes:"node-service"})})}function lPe(e,t){e.forEach(e=>{t.add({group:"nodes",data:{type:"junction",id:e.id,parent:e.in,width:zOe().iconSize,height:zOe().iconSize},classes:"node-junction"})})}function cPe(i,e){e.nodes().map(e=>{var t=wOe(e);"group"!==t.type&&(t.x=e.position().x,t.y=e.position().y,i.getElementById(t.id).attr("transform","translate("+(t.x||0)+","+(t.y||0)+")"))})}function hPe(e,t){e.forEach(e=>{t.add({group:"nodes",data:{type:"group",id:e.id,icon:e.icon,label:e.title,parent:e.in},classes:"node-group"})})}function uPe(e,h){e.forEach(e=>{var{lhsId:t,rhsId:i,lhsInto:n,lhsGroup:r,rhsInto:s,lhsDir:a,rhsDir:o,rhsGroup:l,title:c}=e,e=uOe(e.lhsDir,e.rhsDir)?"segments":"straight";h.add({group:"edges",data:{id:t+"-"+i,label:c,source:t,sourceDir:a,sourceArrow:n,sourceGroup:r,sourceEndpoint:"L"===a?"0 50%":"R"===a?"100% 50%":"T"===a?"50% 0":"50% 100%",target:i,targetDir:o,targetArrow:s,targetGroup:l,targetEndpoint:"L"===o?"0 50%":"R"===o?"100% 50%":"T"===o?"50% 0":"50% 100%"},classes:e})})}function dPe(a,e,u){let t=mt((e,h)=>Object.entries(e).reduce((i,[n,e])=>{let r=0,s=Object.entries(e);if(1===s.length)i[n]=s[0][1];else for(let t=0;t<s.length-1;t++)for(let e=t+1;e<s.length;e++){var[a,o]=s[t],[l,c]=s[e];u[a]?.[l]===h||"default"===a||"default"===l?(i[n]??=[],i[n]=[...i[n],...o,...c]):(i[n+"-"+r++]=o,i[n+"-"+r++]=c)}return i},{}),"flattenAlignments"),i=e.map(e=>{let r={},s={};return Object.entries(e).forEach(([e,[t,i]])=>{var n=a.getNode(e)?.in??"default";r[i]??={},r[i][n]??=[],r[i][n].push(e),s[t]??={},s[t][n]??=[],s[t][n].push(e)}),{horiz:Object.values(t(r,"horizontal")).filter(e=>1<e.length),vert:Object.values(t(s,"vertical")).filter(e=>1<e.length)}}),[n,r]=i.reduce(([e,t],{horiz:i,vert:n})=>[[...e,...i],[...t,...n]],[[],[]]);return{horizontal:n,vertical:r}}function pPe(e){let l=[],c=mt(e=>e[0]+","+e[1],"posToStr"),h=mt(e=>e.split(",").map(e=>parseInt(e)),"strToPos");return e.forEach(e=>{let s=Object.fromEntries(Object.entries(e).map(([e,t])=>[c(t),e])),a=[c([0,0])],o={},t={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;0<a.length;){var i=a.shift();if(i){o[i]=1;let r=s[i];if(r){let n=h(i);Object.entries(t).forEach(([e,t])=>{var t=c([n[0]+t[0],n[1]+t[1]]),i=s[t];i&&!o[t]&&(a.push(t),l.push({[rOe[e]]:i,[rOe[oOe(e)]]:r,gap:1.5*zOe().iconSize}))})}}}}),l}function gPe(r,s,l,c,h,{spatialMaps:u,groupAlignments:d}){return new Promise(t=>{let e=V("body").append("div").attr("id","cy").attrLine truncated `))}}}))},"drawEdges"),KOe=mt(async function(l,e){let c=.75*SOe("padding"),h=SOe("fontSize"),u=SOe("iconSize")/2;await Promise.all(e.nodes().map(async n=>{var r=wOe(n);if("group"===r.type){var{h:n,w:s,x1:a,y1:o}=n.boundingBox();l.append("rect").attr("x",a+u).attr("y",o+u).attr("width",s).attr("height",n).attr("class","node-bkg");let e=l.append("g"),t=a,i=o;r.icon&&((n=e.append("g")).html(`<g>${await je(r.icon,{height:c,width:c,fallbackPrefix:YOe.prefix})}</g>`),n.attr("transform","translate("+(t+u+1)+", "+(i+u+1)+")"),t+=c,i+=h/2-1-2),r.label&&(a=e.append("g"),await J$(a,r.label,{useHtmlLabels:!1,width:s,classes:"architecture-service-label"},N()),a.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),a.attr("transform","translate("+(t+u+4)+", "+(i+u+2)+")"))}}))},"drawGroups"),ZOe=mt(async function(e,t,i){for(var n of i){var r=t.append("g"),s=SOe("iconSize"),a=(n.title&&(a=r.append("g"),await J$(a,n.title,{useHtmlLabels:!1,width:1.5*s,classes:"architecture-service-label"},N()),a.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),a.attr("transform","translate("+s/2+", "+s+")")),r.append("g")),{width:o,height:l}=(n.icon?a.html(`<g>${await je(n.icon,{height:s,width:s,fallbackPrefix:YOe.prefix})}</g>`):n.iconText?(a.html(`<g>${await je("blank",{height:s,width:s,fallbackPrefix:YOe.prefix})}</g>`),o=a.append("g").append("foreignObject").attr("width",s).attr("height",s).append("div").attr("class","node-icon-text").attr("style",`height: ${s}px;`).append("div").html(n.iconText),l=parseInt(window.getComputedStyle(o.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16,o.attr("style",`-webkit-line-clamp: ${Math.floor((s-2)/l)};`)):a.append("path").attr("class","node-bkg").attr("id","node-"+n.id).attr("d",`M0 ${s} v${-s} q0,-5 5,-5 h${s} q5,0 5,5 v${s} H0 Z`),r.attr("class","architecture-service"),r._groups[0][0].getBBox());n.width=o,n.height=l,e.setElementForId(n.id,r)}return 0},"drawServices"),QOe=mt(function(r,s,e){e.forEach(e=>{var t=s.append("g"),i=SOe("iconSize"),{width:i,height:n}=(t.append("g").append("rect").attr("id","node-"+e.id).attr("fill-opacity","0").attr("width",i).attr("height",i),t.attr("class","architecture-junction"),t._groups[0][0].getBBox());t.width=i,t.height=n,r.setElementForId(e.id,t)})},"drawJunctions")});function oPe(e,t){e.forEach(e=>{t.add({group:"nodes",data:{type:"service",id:e.id,icon:e.icon,label:e.title,parent:e.in,width:zOe().iconSize,height:zOe().iconSize},classes:"node-service"})})}function lPe(e,t){e.forEach(e=>{t.add({group:"nodes",data:{type:"junction",id:e.id,parent:e.in,width:zOe().iconSize,height:zOe().iconSize},classes:"node-junction"})})}function cPe(i,e){e.nodes().map(e=>{var t=wOe(e);"group"!==t.type&&(t.x=e.position().x,t.y=e.position().y,i.getElementById(t.id).attr("transform","translate("+(t.x||0)+","+(t.y||0)+")"))})}function hPe(e,t){e.forEach(e=>{t.add({group:"nodes",data:{type:"group",id:e.id,icon:e.icon,label:e.title,parent:e.in},classes:"node-group"})})}function uPe(e,h){e.forEach(e=>{var{lhsId:t,rhsId:i,lhsInto:n,lhsGroup:r,rhsInto:s,lhsDir:a,rhsDir:o,rhsGroup:l,title:c}=e,e=uOe(e.lhsDir,e.rhsDir)?"segments":"straight";h.add({group:"edges",data:{id:t+"-"+i,label:c,source:t,sourceDir:a,sourceArrow:n,sourceGroup:r,sourceEndpoint:"L"===a?"0 50%":"R"===a?"100% 50%":"T"===a?"50% 0":"50% 100%",target:i,targetDir:o,targetArrow:s,targetGroup:l,targetEndpoint:"L"===o?"0 50%":"R"===o?"100% 50%":"T"===o?"50% 0":"50% 100%"},classes:e})})}function dPe(a,e,u){let t=mt((e,h)=>Object.entries(e).reduce((i,[n,e])=>{let r=0,s=Object.entries(e);if(1===s.length)i[n]=s[0][1];else for(let t=0;t<s.length-1;t++)for(let e=t+1;e<s.length;e++){var[a,o]=s[t],[l,c]=s[e];u[a]?.[l]===h||"default"===a||"default"===l?(i[n]??=[],i[n]=[...i[n],...o,...c]):(i[n+"-"+r++]=o,i[n+"-"+r++]=c)}return i},{}),"flattenAlignments"),i=e.map(e=>{let r={},s={};return Object.entries(e).forEach(([e,[t,i]])=>{var n=a.getNode(e)?.in??"default";r[i]??={},r[i][n]??=[],r[i][n].push(e),s[t]??={},s[t][n]??=[],s[t][n].push(e)}),{horiz:Object.values(t(r,"horizontal")).filter(e=>1<e.length),vert:Object.values(t(s,"vertical")).filter(e=>1<e.length)}}),[n,r]=i.reduce(([e,t],{horiz:i,vert:n})=>[[...e,...i],[...t,...n]],[[],[]]);return{horizontal:n,vertical:r}}function pPe(e){let l=[],c=mt(e=>e[0]+","+e[1],"posToStr"),h=mt(e=>e.split(",").map(e=>parseInt(e)),"strToPos");return e.forEach(e=>{let s=Object.fromEntries(Object.entries(e).map(([e,t])=>[c(t),e])),a=[c([0,0])],o={},t={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;0<a.length;){var i=a.shift();if(i){o[i]=1;let r=s[i];if(r){let n=h(i);Object.entries(t).forEach(([e,t])=>{var t=c([n[0]+t[0],n[1]+t[1]]),i=s[t];i&&!o[t]&&(a.push(t),l.push({[rOe[e]]:i,[rOe[oOe(e)]]:r,gap:1.5*zOe().iconSize}))})}}}}),l}function gPe(r,s,l,c,h,{spatialMaps:u,groupAlignments:d}){return new Promise(t=>{let e=V("body").append("div").attr("id","cy").attrLine truncated
.treemapNode.section { .treemapNode.section {
stroke: ${e.sectionStrokeColor}; stroke: ${e.sectionStrokeColor};
stroke-width: ${e.sectionStrokeWidth}; stroke-width: ${e.sectionStrokeWidth};
@@ -2612,14 +2612,14 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
fill: ${e.titleColor}; fill: ${e.titleColor};
font-size: ${e.titleFontSize}; font-size: ${e.titleFontSize};
} }
`},"getStyles"),MPe=RPe}),PPe={};G(PPe,{diagram:()=>BPe});var BPe,FPe=e(()=>{"use strict";kPe(),NPe(),DPe(),OPe(),BPe={parser:_Pe,get db(){return new xPe},renderer:$Pe,styles:MPe}}),W={},jPe=(G(W,{default:()=>eje}),Ge(),zi(),qi(),{id:"c4",detector:mt(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(M_(),L_)))["diagram"];return{id:"c4",diagram:e}},"loader")}),zPe={id:"flowchart",detector:mt((e,t)=>"dagre-wrapper"!==t?.flowchart?.defaultRenderer&&"elk"!==t?.flowchart?.defaultRenderer&&/^\s*graph/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(cZ(),rZ)))["diagram"];return{id:"flowchart",diagram:e}},"loader")},HPe="flowchart-v2",e=mt((e,t)=>"dagre-d3"!==t?.flowchart?.defaultRenderer&&("elk"===t?.flowchart?.defaultRenderer&&(t.layout="elk"),!(!/^\s*graph/.test(e)||"dagre-wrapper"!==t?.flowchart?.defaultRenderer)||/^\s*flowchart/.test(e)),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(cZ(),rZ)))["diagram"];return{id:HPe,diagram:e}},"loader"),UPe={id:HPe,detector:e,loader:G},qPe={id:"er",detector:mt(e=>/^\s*erDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(wZ(),vZ)))["diagram"];return{id:"er",diagram:e}},"loader")},WPe={id:"gitGraph",detector:mt(e=>/^\s*gitGraph/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(Ome(),Mme)))["diagram"];return{id:"gitGraph",diagram:e}},"loader")},GPe={id:"gantt",detector:mt(e=>/^\s*gantt/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(Eye(),bye)))["diagram"];return{id:"gantt",diagram:e}},"loader")},VPe={id:"info",detector:mt(e=>/^\s*info/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(ebe(),Nye)))["diagram"];return{id:"info",diagram:e}},"loader")},YPe={id:"pie",detector:mt(e=>/^\s*pie/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(ube(),sbe)))["diagram"];return{id:"pie",diagram:e}},"loader")},XPe="quadrantChart",e=mt(e=>/^\s*quadrantChart/.test(e),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(Gbe(),Hbe)))["diagram"];return{id:XPe,diagram:e}},"loader"),KPe={id:XPe,detector:e,loader:G},ZPe={id:"xychart",detector:mt(e=>/^\s*xychart-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(c2e(),i2e)))["diagram"];return{id:"xychart",diagram:e}},"loader")},QPe="requirement",e=mt(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(n4e(),m2e)))["diagram"];return{id:QPe,diagram:e}},"loader"),JPe={id:QPe,detector:e,loader:G},eBe={id:"sequence",detector:mt(e=>/^\s*sequenceDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(V4e(),R4e)))["diagram"];return{id:"sequence",diagram:e}},"loader")},tBe={id:"class",detector:mt((e,t)=>"dagre-wrapper"!==t?.class?.defaultRenderer&&/^\s*classDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(txe(),J4e)))["diagram"];return{id:"class",diagram:e}},"loader")},iBe="classDiagram",e=mt((e,t)=>!(!/^\s*classDiagram/.test(e)||"dagre-wrapper"!==t?.class?.defaultRenderer)||/^\s*classDiagram-v2/.test(e),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(Uxe(),ixe)))["diagram"];return{id:iBe,diagram:e}},"loader"),nBe={id:iBe,detector:e,loader:G},rBe={id:"state",detector:mt((e,t)=>"dagre-wrapper"!==t?.state?.defaultRenderer&&/^\s*stateDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(z3e(),F3e)))["diagram"];return{id:"state",diagram:e}},"loader")},sBe="stateDiagram",e=mt((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&"dagre-wrapper"===t?.state?.defaultRenderer),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(x5e(),H3e)))["diagram"];return{id:sBe,diagram:e}},"loader"),aBe={id:sBe,detector:e,loader:G},oBe={id:"journey",detector:mt(e=>/^\s*journey/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(H5e(),B5e)))["diagram"];return{id:"journey",diagram:e}},"loader")};t(),Mye(),uh();var e={draw:mt((e,t,i)=>{I.debug(`rendering svg for syntax error `},"getStyles"),MPe=RPe}),PPe={};G(PPe,{diagram:()=>BPe});var BPe,FPe=e(()=>{"use strict";kPe(),NPe(),DPe(),OPe(),BPe={parser:_Pe,get db(){return new xPe},renderer:$Pe,styles:MPe}}),W={},jPe=(G(W,{default:()=>eje}),Ge(),zi(),qi(),{id:"c4",detector:mt(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(M_(),L_)))["diagram"];return{id:"c4",diagram:e}},"loader")}),zPe={id:"flowchart",detector:mt((e,t)=>"dagre-wrapper"!==t?.flowchart?.defaultRenderer&&"elk"!==t?.flowchart?.defaultRenderer&&/^\s*graph/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(cZ(),rZ)))["diagram"];return{id:"flowchart",diagram:e}},"loader")},UPe="flowchart-v2",e=mt((e,t)=>"dagre-d3"!==t?.flowchart?.defaultRenderer&&("elk"===t?.flowchart?.defaultRenderer&&(t.layout="elk"),!(!/^\s*graph/.test(e)||"dagre-wrapper"!==t?.flowchart?.defaultRenderer)||/^\s*flowchart/.test(e)),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(cZ(),rZ)))["diagram"];return{id:UPe,diagram:e}},"loader"),HPe={id:UPe,detector:e,loader:G},qPe={id:"er",detector:mt(e=>/^\s*erDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(wZ(),vZ)))["diagram"];return{id:"er",diagram:e}},"loader")},WPe={id:"gitGraph",detector:mt(e=>/^\s*gitGraph/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(Ome(),Mme)))["diagram"];return{id:"gitGraph",diagram:e}},"loader")},GPe={id:"gantt",detector:mt(e=>/^\s*gantt/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(Eye(),bye)))["diagram"];return{id:"gantt",diagram:e}},"loader")},VPe={id:"info",detector:mt(e=>/^\s*info/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(ebe(),Nye)))["diagram"];return{id:"info",diagram:e}},"loader")},YPe={id:"pie",detector:mt(e=>/^\s*pie/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(ube(),sbe)))["diagram"];return{id:"pie",diagram:e}},"loader")},XPe="quadrantChart",e=mt(e=>/^\s*quadrantChart/.test(e),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(Gbe(),Ube)))["diagram"];return{id:XPe,diagram:e}},"loader"),KPe={id:XPe,detector:e,loader:G},ZPe={id:"xychart",detector:mt(e=>/^\s*xychart-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(c2e(),i2e)))["diagram"];return{id:"xychart",diagram:e}},"loader")},QPe="requirement",e=mt(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(n4e(),m2e)))["diagram"];return{id:QPe,diagram:e}},"loader"),JPe={id:QPe,detector:e,loader:G},eBe={id:"sequence",detector:mt(e=>/^\s*sequenceDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(V4e(),R4e)))["diagram"];return{id:"sequence",diagram:e}},"loader")},tBe={id:"class",detector:mt((e,t)=>"dagre-wrapper"!==t?.class?.defaultRenderer&&/^\s*classDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(txe(),J4e)))["diagram"];return{id:"class",diagram:e}},"loader")},iBe="classDiagram",e=mt((e,t)=>!(!/^\s*classDiagram/.test(e)||"dagre-wrapper"!==t?.class?.defaultRenderer)||/^\s*classDiagram-v2/.test(e),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(Hxe(),ixe)))["diagram"];return{id:iBe,diagram:e}},"loader"),nBe={id:iBe,detector:e,loader:G},rBe={id:"state",detector:mt((e,t)=>"dagre-wrapper"!==t?.state?.defaultRenderer&&/^\s*stateDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(z3e(),F3e)))["diagram"];return{id:"state",diagram:e}},"loader")},sBe="stateDiagram",e=mt((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&"dagre-wrapper"===t?.state?.defaultRenderer),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(x5e(),U3e)))["diagram"];return{id:sBe,diagram:e}},"loader"),aBe={id:sBe,detector:e,loader:G},oBe={id:"journey",detector:mt(e=>/^\s*journey/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(U5e(),B5e)))["diagram"];return{id:"journey",diagram:e}},"loader")};t(),Mye(),uh();var e={draw:mt((e,t,i)=>{I.debug(`rendering svg for syntax error
`);var t=Cye(t),n=t.append("g");t.attr("viewBox","0 0 2412 512"),rh(t,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+i)},"draw")},lBe=e,cBe={db:{},renderer:e,parser:{parse:mt(()=>{},"parse")}},hBe="flowchart-elk",G=mt((e,t={})=>!!(/^\s*flowchart-elk/.test(e)||/^\s*flowchart|graph/.test(e)&&"elk"===t?.flowchart?.defaultRenderer)&&(t.layout="elk",!0),"detector"),e=mt(async()=>{var e=(await Promise.resolve().then(()=>(cZ(),rZ)))["diagram"];return{id:hBe,diagram:e}},"loader"),uBe={id:hBe,detector:G,loader:e},dBe={id:"timeline",detector:mt(e=>/^\s*timeline/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(zwe(),Dwe)))["diagram"];return{id:"timeline",diagram:e}},"loader")},pBe={id:"mindmap",detector:mt(e=>/^\s*mindmap/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(_Le(),eLe)))["diagram"];return{id:"mindmap",diagram:e}},"loader")},gBe={id:"kanban",detector:mt(e=>/^\s*kanban/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(VLe(),RLe)))["diagram"];return{id:"kanban",diagram:e}},"loader")},fBe={id:"sankey",detector:mt(e=>/^\s*sankey-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(CMe(),aMe)))["diagram"];return{id:"sankey",diagram:e}},"loader")},mBe={id:"packet",detector:mt(e=>/^\s*packet(-beta)?/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(YMe(),LMe)))["diagram"];return{id:"packet",diagram:e}},"loader")},yBe={id:"radar",detector:mt(e=>/^\s*radar-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(fIe(),uIe)))["diagram"];return{id:"radar",diagram:e}},"loader")},bBe={id:"block",detector:mt(e=>/^\s*block-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(kOe(),iOe)))["diagram"];return{id:"block",diagram:e}},"loader")},vBe="architecture",G=mt(e=>/^\s*architecture/.test(e),"detector"),e=mt(async()=>{var e=(await Promise.resolve().then(()=>(wPe(),bPe)))["diagram"];return{id:vBe,diagram:e}},"loader"),xBe={id:vBe,detector:G,loader:e},wBe=(qi(),_u(),{id:"treemap",detector:mt(e=>/^\s*treemap/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(FPe(),PPe)))["diagram"];return{id:"treemap",diagram:e}},"loader")}),kBe=!1,TBe=mt(()=>{kBe||(kBe=!0,Ih("error",cBe,e=>"error"===e.toLowerCase().trim()),Ih("---",{db:{clear:mt(()=>{},"clear")},styles:{},renderer:{draw:mt(()=>{},"draw")},parser:{parse:mt(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:mt(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),et(uBe,pBe,xBe),et(jPe,gBe,nBe,tBe,qPe,GPe,VPe,YPe,JPe,eBe,UPe,zPe,dBe,WPe,aBe,rBe,oBe,KPe,fBe,mBe,ZPe,bBe,yBe,wBe))},"addDiagrams"),SBe=(t(),qi(),_u(),mt(async()=>{I.debug("Loading registered diagrams");var e=(await P Line truncated `);var t=Cye(t),n=t.append("g");t.attr("viewBox","0 0 2412 512"),rh(t,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+i)},"draw")},lBe=e,cBe={db:{},renderer:e,parser:{parse:mt(()=>{},"parse")}},hBe="flowchart-elk",G=mt((e,t={})=>!!(/^\s*flowchart-elk/.test(e)||/^\s*flowchart|graph/.test(e)&&"elk"===t?.flowchart?.defaultRenderer)&&(t.layout="elk",!0),"detector"),e=mt(async()=>{var e=(await Promise.resolve().then(()=>(cZ(),rZ)))["diagram"];return{id:hBe,diagram:e}},"loader"),uBe={id:hBe,detector:G,loader:e},dBe={id:"timeline",detector:mt(e=>/^\s*timeline/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(zwe(),Dwe)))["diagram"];return{id:"timeline",diagram:e}},"loader")},pBe={id:"mindmap",detector:mt(e=>/^\s*mindmap/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(_Le(),eLe)))["diagram"];return{id:"mindmap",diagram:e}},"loader")},gBe={id:"kanban",detector:mt(e=>/^\s*kanban/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(VLe(),RLe)))["diagram"];return{id:"kanban",diagram:e}},"loader")},fBe={id:"sankey",detector:mt(e=>/^\s*sankey-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(CMe(),aMe)))["diagram"];return{id:"sankey",diagram:e}},"loader")},mBe={id:"packet",detector:mt(e=>/^\s*packet(-beta)?/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(YMe(),LMe)))["diagram"];return{id:"packet",diagram:e}},"loader")},yBe={id:"radar",detector:mt(e=>/^\s*radar-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(fIe(),uIe)))["diagram"];return{id:"radar",diagram:e}},"loader")},bBe={id:"block",detector:mt(e=>/^\s*block-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(kOe(),iOe)))["diagram"];return{id:"block",diagram:e}},"loader")},vBe="architecture",G=mt(e=>/^\s*architecture/.test(e),"detector"),e=mt(async()=>{var e=(await Promise.resolve().then(()=>(wPe(),bPe)))["diagram"];return{id:vBe,diagram:e}},"loader"),xBe={id:vBe,detector:G,loader:e},wBe=(qi(),_u(),{id:"treemap",detector:mt(e=>/^\s*treemap/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(FPe(),PPe)))["diagram"];return{id:"treemap",diagram:e}},"loader")}),kBe=!1,TBe=mt(()=>{kBe||(kBe=!0,Ih("error",cBe,e=>"error"===e.toLowerCase().trim()),Ih("---",{db:{clear:mt(()=>{},"clear")},styles:{},renderer:{draw:mt(()=>{},"draw")},parser:{parse:mt(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:mt(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),et(uBe,pBe,xBe),et(jPe,gBe,nBe,tBe,qPe,GPe,VPe,YPe,JPe,eBe,HPe,zPe,dBe,WPe,aBe,rBe,oBe,KPe,fBe,mBe,ZPe,bBe,yBe,wBe))},"addDiagrams"),SBe=(t(),qi(),_u(),mt(async()=>{I.debug("Loading registered diagrams");var e=(await P Line truncated
`;try{Nh(n)}catch{var r=it(n);if(!r)throw new Ze(`Diagram ${n} not found.`);var{id:r,diagram:s}=await r();Ih(r,s)}var{db:r,parser:s,renderer:a,init:o}=Nh(n);return s.parser&&(s.parser.yy=r),r.clear?.(),o?.(i),t.title&&r.setDiagramTitle?.(t.title),await s.parse(e),new tje(n,e,r,s,a)}async render(e,t){await this.renderer.draw(this.text,e,t,this)}getParser(){return this.parser}getType(){return this.type}},mFe=(hh(),[]),yFe=mt(()=>{mFe.forEach(e=>{e()}),mFe=[]},"attachFunctions"),bFe=(t(),mt(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments"));function vFe(e){var t,i,n=e.match(Ye);return n?(i={},(t="object"!=typeof(t=FE(n[1],{schema:BE})??{})||Array.isArray(t)?{}:t).displayMode&&(i.displayMode=t.displayMode.toString()),t.title&&(i.title=t.title.toString()),t.config&&(i.config=t.config),{text:e.slice(n[0].length),metadata:i}):{text:e,metadata:{}}}Hi(),jE(),mt(vFe,"extractFrontMatter"),s_();var xFe=mt(e=>e.replace(/\r\n?/g,` `;try{Nh(n)}catch{var r=it(n);if(!r)throw new Ze(`Diagram ${n} not found.`);var{id:r,diagram:s}=await r();Ih(r,s)}var{db:r,parser:s,renderer:a,init:o}=Nh(n);return s.parser&&(s.parser.yy=r),r.clear?.(),o?.(i),t.title&&r.setDiagramTitle?.(t.title),await s.parse(e),new tje(n,e,r,s,a)}async render(e,t){await this.renderer.draw(this.text,e,t,this)}getParser(){return this.parser}getType(){return this.type}},mFe=(hh(),[]),yFe=mt(()=>{mFe.forEach(e=>{e()}),mFe=[]},"attachFunctions"),bFe=(t(),mt(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments"));function vFe(e){var t,i,n=e.match(Ye);return n?(i={},(t="object"!=typeof(t=FE(n[1],{schema:BE})??{})||Array.isArray(t)?{}:t).displayMode&&(i.displayMode=t.displayMode.toString()),t.title&&(i.title=t.title.toString()),t.config&&(i.config=t.config),{text:e.slice(n[0].length),metadata:i}):{text:e,metadata:{}}}Ui(),jE(),mt(vFe,"extractFrontMatter"),s_();var xFe=mt(e=>e.replace(/\r\n?/g,`
`).replace(/<(\w+)([^>]*)>/g,(e,t,i)=>"<"+t+i.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),wFe=mt(e=>{var{text:e,metadata:t}=vFe(e),{displayMode:t,title:i,config:n={}}=t;return t&&(n.gantt||(n.gantt={}),n.gantt.displayMode=t),{title:i,config:n,text:e}},"processFrontmatter"),kFe=mt(e=>{var t=t_.detectInit(e)??{},i=t_.detectDirective(e,"wrap");return Array.isArray(i)?t.wrap=i.some(({type:e})=>"wrap"===e):"wrap"===i?.type&&(t.wrap=!0),{text:OC(e),directive:t}},"processDirectives");function TFe(e){var t=xFe(e),t=wFe(t),i=kFe(t.text),n=EC(t.config,i.directive);return{code:e=bFe(i.text),title:t.title,config:n}}function SFe(e){e=(new TextEncoder).encode(e),e=Array.from(e,e=>String.fromCodePoint(e)).join("");return btoa(e)}mt(TFe,"preprocessDiagram"),dh(),En(),s_(),mt(SFe,"toBase64");var CFe=["foreignobject"],_Fe=["dominant-baseline"];function AFe(e){e=TFe(e);return Oi(),Di(e.config??{}),e}async function EFe(e,t){TBe();try{var{code:i,config:n}=AFe(e);return{diagramType:(await BFe(i)).type,config:n}}catch(e){if(t?.suppressErrors)return!1;throw e}}mt(AFe,"processAndSetConfigs"),mt(EFe,"parse");var $Fe=mt((e,t,i=[])=>` `).replace(/<(\w+)([^>]*)>/g,(e,t,i)=>"<"+t+i.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),wFe=mt(e=>{var{text:e,metadata:t}=vFe(e),{displayMode:t,title:i,config:n={}}=t;return t&&(n.gantt||(n.gantt={}),n.gantt.displayMode=t),{title:i,config:n,text:e}},"processFrontmatter"),kFe=mt(e=>{var t=t_.detectInit(e)??{},i=t_.detectDirective(e,"wrap");return Array.isArray(i)?t.wrap=i.some(({type:e})=>"wrap"===e):"wrap"===i?.type&&(t.wrap=!0),{text:OC(e),directive:t}},"processDirectives");function TFe(e){var t=xFe(e),t=wFe(t),i=kFe(t.text),n=EC(t.config,i.directive);return{code:e=bFe(i.text),title:t.title,config:n}}function SFe(e){e=(new TextEncoder).encode(e),e=Array.from(e,e=>String.fromCodePoint(e)).join("");return btoa(e)}mt(TFe,"preprocessDiagram"),dh(),En(),s_(),mt(SFe,"toBase64");var CFe=["foreignobject"],_Fe=["dominant-baseline"];function AFe(e){e=TFe(e);return Oi(),Di(e.config??{}),e}async function EFe(e,t){TBe();try{var{code:i,config:n}=AFe(e);return{diagramType:(await BFe(i)).type,config:n}}catch(e){if(t?.suppressErrors)return!1;throw e}}mt(AFe,"processAndSetConfigs"),mt(EFe,"parse");var $Fe=mt((e,t,i=[])=>`
.${e} ${t} { ${i.join(" !important; ")} !important; }`,"cssImportantStyles"),LFe=mt((t,i=new Map)=>{let n="";if(void 0!==t.themeCSS&&(n+=` .${e} ${t} { ${i.join(" !important; ")} !important; }`,"cssImportantStyles"),LFe=mt((t,i=new Map)=>{let n="";if(void 0!==t.themeCSS&&(n+=`
`+t.themeCSS),void 0!==t.fontFamily&&(n+=` `+t.themeCSS),void 0!==t.fontFamily&&(n+=`
:root { --mermaid-font-family: ${t.fontFamily}}`),void 0!==t.altFontFamily&&(n+=` :root { --mermaid-font-family: ${t.fontFamily}}`),void 0!==t.altFontFamily&&(n+=`
:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),i instanceof Map){let e=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];i.forEach(t=>{gq(t.styles)||e.forEach(e=>{n+=$Fe(t.id,e,t.styles)}),gq(t.textStyles)||(n+=$Fe(t.id,"tspan",(t?.textStyles||[]).map(e=>e.replace("color","fill"))))})}return n},"createCssStyles"),RFe=mt((e,t,i,n)=>{i=LFe(e,i);return uFe(aFe(n+`{${ch(t,i,e.themeVariables)}}`),dFe)},"createUserStyles"),MFe=mt((e="",t,i)=>{let n=e;return i||t||(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=(n=n_(n)).replace(/<br>/g,"<br/>")},"cleanUpSvgCode"),IFe=mt((e="",t)=>{return`<iframe style="width:100%;height:${t?.viewBox?.baseVal?.height?t.viewBox.baseVal.height+"px":"100%"};border:0;margin:0;" src="data:text/html;charset=UTF-8;base64,${SFe(`<body style="margin:0">${e}</body>`)}" sandbox="allow-top-navigation-by-user-activation allow-popups"> :root { --mermaid-alt-font-family: ${t.altFontFamily}}`),i instanceof Map){let e=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];i.forEach(t=>{gq(t.styles)||e.forEach(e=>{n+=$Fe(t.id,e,t.styles)}),gq(t.textStyles)||(n+=$Fe(t.id,"tspan",(t?.textStyles||[]).map(e=>e.replace("color","fill"))))})}return n},"createCssStyles"),RFe=mt((e,t,i,n)=>{i=LFe(e,i);return uFe(aFe(n+`{${ch(t,i,e.themeVariables)}}`),dFe)},"createUserStyles"),MFe=mt((e="",t,i)=>{let n=e;return i||t||(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=(n=n_(n)).replace(/<br>/g,"<br/>")},"cleanUpSvgCode"),IFe=mt((e="",t)=>{return`<iframe style="width:100%;height:${t?.viewBox?.baseVal?.height?t.viewBox.baseVal.height+"px":"100%"};border:0;margin:0;" src="data:text/html;charset=UTF-8;base64,${SFe(`<body style="margin:0">${e}</body>`)}" sandbox="allow-top-navigation-by-user-activation allow-popups">
The "iframe" tag is not supported by your browser. The "iframe" tag is not supported by your browser.
</iframe>`},"putIntoIFrame"),NFe=mt((e,t,i,n,r)=>{var s=e.append("div"),i=(s.attr("id",i),n&&s.attr("style",n),s.append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg"));return r&&i.attr("xmlns:xlink",r),i.append("g"),e},"appendDivSvgG");function DFe(e,t){return e.append("iframe").attr("id",t).attr("style","width: 100%; height: 100%;").attr("sandbox","")}mt(DFe,"sandboxedIframe");var OFe=mt((e,t,i,n)=>{e.getElementById(t)?.remove(),e.getElementById(i)?.remove(),e.getElementById(n)?.remove()},"removeExistingElements"),G=mt(async function(t,i,e){TBe();var n=AFe(i),r=(i=n.code,Ii());I.debug(r),i.length>(r?.maxTextSize??5e4)&&(i="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");let s="#"+t,a="i"+t,o="#"+a,l="d"+t,c="#"+l,h=mt(()=>{var e=V(d?o:c).node();e&&"remove"in e&&e.remove()},"removeTempElements"),u=V("body"),d="sandbox"===r.securityLevel,p="loose"===r.securityLevel,g=r.fontFamily;void 0!==e?(e&&(e.innerHTML=""),d?(y=DFe(V(e),a),(u=V(y.nodes()[0].contentDocument.body)).node().style.margin=0):u=V(e),NFe(u,t,l,"font-family: "+g,"http://www.w3.org/1999/xlink")):(OFe(document,t,l,a),d?(y=DFe(V("body"),a),(u=V(y.nodes()[0].contentDocument.body)).node().style.margin=0):u=V("body"),NFe(u,t,l));let f,m;try{f=await fFe.fromText(i,{title:n.title})}catch(e){if(r.suppressErrorRendering)throw h(),e;f=await fFe.fromText("error"),m=e}var e=u.select(c).node(),y=f.type,n=e.firstChild,e=n.firstChild,b=f.renderer.getClasses?.(i,f),b=RFe(r,y,b,s),v=document.createElement("style");v.innerHTML=b,n.insertBefore(v,e);try{await f.renderer.draw(i,t,wye.version,f)}catch(e){throw r.suppressErrorRendering?h():lBe.draw(i,t,wye.version),e}FFe(y,u.select(c+" svg"),f.db.getAccTitle?.(),f.db.getAccDescription?.()),u.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let x=u.select(c).node().innerHTML;if(I.debug("config.arrowMarkerAbsolute",r.arrowMarkerAbsolute),x=MFe(x,d,qc(r.arrowMarkerAbsolute)),d?(b=u.select(c+" svg").node(),x=IFe(x,b)):p||(x=Dr.sanitize(x,{ADD_TAGS:CFe,ADD_ATTR:_Fe,HTML_INTEGRATION_POINTS:{foreignobject:!0}})),yFe(),m)throw m;return h(),{diagramType:y,svg:x,bindFunctions:f.db.bindFunctions}},"render");function PFe(e={}){e=at({},e),e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),$i(e),e?.theme&&e.theme in gi?e.themeVariables=gi[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=gi.default.getThemeVariables(e.themeVariables)),e="object"==typeof e?Ei(e):Ri();T(e.logLevel),TBe()}mt(PFe,"initialize");var BFe=mt((e,t={})=>{e=TFe(e).code;return fFe.fromText(e,t)},"getDiagramFromText");function FFe(e,t,i,n){pFe(t,e),gFe(t,i,n,t.attr("id"))}mt(FFe,"addA11yInfo");var jFe=Object.freeze({render:G,parse:EFe,getDiagramFromText:BFe,initialize:PFe,getConfig:Ii,setConfig:Mi,getSiteConfig:Ri,updateSiteConfig:Li,reset:mt(()=>{Oi()},"reset"),globalReset:mt(()=>{Oi(ki)},"globalReset"),defaultConfig:ki}),zFe=(T(Ii().logLevel),Oi(Ii()),ZK(),s_(),mt((e,t,i)=>{I.warn(e),AC(e)?(i&&i(e.str,e.hash),t.push({...e,message:e.str,error:e})):(i&&i(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},"handleError")),HFe=mt(async function(t={querySelector:".mermaid"}){try{await UFe(t)}catch(e){if(AC(e)&&I.error(e.str),JFe.parseError&&JFe.parseError(e),!t.suppressErrors)throw I.error("Use the suppressErrors option to suppress these errors"),e}},"run"),UFe=mt(async function({postRenderCallback:e,querySelector:t,nodes:i}={querySelector:".mermaid"}){var n=jFe.getConfig();I.debug(`${e?"":"No "}Callback function found`);let r;if(i)r=i;else{if(!t)throw new Error("Nodes and querySelector are both undefined");r=document.querySelectorAll(t)}I.debug(`Found ${r.length} diagrams`),void 0!==n?.startOnLoad&&(I.debug("Start On Load: "+n?.startOnLoad),jFe.updateSiteConfig({startOnLoad:n?.startOnLoad}));var s,a=new t_.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),o=[];for(s of Array.from(r))if(I.info("Rendering diagram: "+s.id),!s.getAttribute("data-processed")){s.setAttribute("data-processed","true");var l="mermaid-"+a.next(),c=s.innerHTML,h=(c=Ve(t_.entityDecode(c)).trim().replace(/<br\s*\/?>/gi,"<br/>"),t_.detectInit(c));h&&I.debug("Detected early reinit: ",h);try{var{svg:u,bindFunctions:d}=await ZFe(l,c,s);s.innerHTML=u,e&&await e(l),d&&d(s)}catch(e){zFe(e,o,JFe.parseError)}}if(0<o.length)throw o[0]},"runThrowsErrors"),qFe=mt(function(e){jFe.initialize(e)},"initialize"),e=mt(async function(e,t,i){I.warn("mermaid.init is deprecated. Please use run instead."),e&&qFe(e);e={postRenderCallback:i,querySelector:".mermaid"};"string"==typeof t?e.querySelector=t:t&&(t instanceof HTMLElement?e.nodes=[t]:e.nodes=t),await HFe(e)},"init"),G=mt(async(e,{lazyLoad:t=!0}={})=>{TBe(),et(...e),!1===t&&await SBe()},"registerExternalDiagrams"),WFe=mt(function(){var e;JFe.startOnLoad&&(e=jFe.getConfig()["startOnLoad"],e)&&JFe.run().catch(e=>I.error Line truncated </iframe>`},"putIntoIFrame"),NFe=mt((e,t,i,n,r)=>{var s=e.append("div"),i=(s.attr("id",i),n&&s.attr("style",n),s.append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg"));return r&&i.attr("xmlns:xlink",r),i.append("g"),e},"appendDivSvgG");function DFe(e,t){return e.append("iframe").attr("id",t).attr("style","width: 100%; height: 100%;").attr("sandbox","")}mt(DFe,"sandboxedIframe");var OFe=mt((e,t,i,n)=>{e.getElementById(t)?.remove(),e.getElementById(i)?.remove(),e.getElementById(n)?.remove()},"removeExistingElements"),G=mt(async function(t,i,e){TBe();var n=AFe(i),r=(i=n.code,Ii());I.debug(r),i.length>(r?.maxTextSize??5e4)&&(i="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");let s="#"+t,a="i"+t,o="#"+a,l="d"+t,c="#"+l,h=mt(()=>{var e=V(d?o:c).node();e&&"remove"in e&&e.remove()},"removeTempElements"),u=V("body"),d="sandbox"===r.securityLevel,p="loose"===r.securityLevel,g=r.fontFamily;void 0!==e?(e&&(e.innerHTML=""),d?(y=DFe(V(e),a),(u=V(y.nodes()[0].contentDocument.body)).node().style.margin=0):u=V(e),NFe(u,t,l,"font-family: "+g,"http://www.w3.org/1999/xlink")):(OFe(document,t,l,a),d?(y=DFe(V("body"),a),(u=V(y.nodes()[0].contentDocument.body)).node().style.margin=0):u=V("body"),NFe(u,t,l));let f,m;try{f=await fFe.fromText(i,{title:n.title})}catch(e){if(r.suppressErrorRendering)throw h(),e;f=await fFe.fromText("error"),m=e}var e=u.select(c).node(),y=f.type,n=e.firstChild,e=n.firstChild,b=f.renderer.getClasses?.(i,f),b=RFe(r,y,b,s),v=document.createElement("style");v.innerHTML=b,n.insertBefore(v,e);try{await f.renderer.draw(i,t,wye.version,f)}catch(e){throw r.suppressErrorRendering?h():lBe.draw(i,t,wye.version),e}FFe(y,u.select(c+" svg"),f.db.getAccTitle?.(),f.db.getAccDescription?.()),u.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let x=u.select(c).node().innerHTML;if(I.debug("config.arrowMarkerAbsolute",r.arrowMarkerAbsolute),x=MFe(x,d,qc(r.arrowMarkerAbsolute)),d?(b=u.select(c+" svg").node(),x=IFe(x,b)):p||(x=Dr.sanitize(x,{ADD_TAGS:CFe,ADD_ATTR:_Fe,HTML_INTEGRATION_POINTS:{foreignobject:!0}})),yFe(),m)throw m;return h(),{diagramType:y,svg:x,bindFunctions:f.db.bindFunctions}},"render");function PFe(e={}){e=at({},e),e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),$i(e),e?.theme&&e.theme in gi?e.themeVariables=gi[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=gi.default.getThemeVariables(e.themeVariables)),e="object"==typeof e?Ei(e):Ri();T(e.logLevel),TBe()}mt(PFe,"initialize");var BFe=mt((e,t={})=>{e=TFe(e).code;return fFe.fromText(e,t)},"getDiagramFromText");function FFe(e,t,i,n){pFe(t,e),gFe(t,i,n,t.attr("id"))}mt(FFe,"addA11yInfo");var jFe=Object.freeze({render:G,parse:EFe,getDiagramFromText:BFe,initialize:PFe,getConfig:Ii,setConfig:Mi,getSiteConfig:Ri,updateSiteConfig:Li,reset:mt(()=>{Oi()},"reset"),globalReset:mt(()=>{Oi(ki)},"globalReset"),defaultConfig:ki}),zFe=(T(Ii().logLevel),Oi(Ii()),ZK(),s_(),mt((e,t,i)=>{I.warn(e),AC(e)?(i&&i(e.str,e.hash),t.push({...e,message:e.str,error:e})):(i&&i(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},"handleError")),UFe=mt(async function(t={querySelector:".mermaid"}){try{await HFe(t)}catch(e){if(AC(e)&&I.error(e.str),JFe.parseError&&JFe.parseError(e),!t.suppressErrors)throw I.error("Use the suppressErrors option to suppress these errors"),e}},"run"),HFe=mt(async function({postRenderCallback:e,querySelector:t,nodes:i}={querySelector:".mermaid"}){var n=jFe.getConfig();I.debug(`${e?"":"No "}Callback function found`);let r;if(i)r=i;else{if(!t)throw new Error("Nodes and querySelector are both undefined");r=document.querySelectorAll(t)}I.debug(`Found ${r.length} diagrams`),void 0!==n?.startOnLoad&&(I.debug("Start On Load: "+n?.startOnLoad),jFe.updateSiteConfig({startOnLoad:n?.startOnLoad}));var s,a=new t_.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),o=[];for(s of Array.from(r))if(I.info("Rendering diagram: "+s.id),!s.getAttribute("data-processed")){s.setAttribute("data-processed","true");var l="mermaid-"+a.next(),c=s.innerHTML,h=(c=Ve(t_.entityDecode(c)).trim().replace(/<br\s*\/?>/gi,"<br/>"),t_.detectInit(c));h&&I.debug("Detected early reinit: ",h);try{var{svg:u,bindFunctions:d}=await ZFe(l,c,s);s.innerHTML=u,e&&await e(l),d&&d(s)}catch(e){zFe(e,o,JFe.parseError)}}if(0<o.length)throw o[0]},"runThrowsErrors"),qFe=mt(function(e){jFe.initialize(e)},"initialize"),e=mt(async function(e,t,i){I.warn("mermaid.init is deprecated. Please use run instead."),e&&qFe(e);e={postRenderCallback:i,querySelector:".mermaid"};"string"==typeof t?e.querySelector=t:t&&(t instanceof HTMLElement?e.nodes=[t]:e.nodes=t),await UFe(e)},"init"),G=mt(async(e,{lazyLoad:t=!0}={})=>{TBe(),et(...e),!1===t&&await SBe()},"registerExternalDiagrams"),WFe=mt(function(){var e;JFe.startOnLoad&&(e=jFe.getConfig()["startOnLoad"],e)&&JFe.run().catch(e=>I.error Line truncated
`},marked.setOptions({renderer:i,pedantic:!1,gfm:!0,breaks:!1,sanitize:!1,smartLists:!0,smartypants:!1,xhtml:!1,headerIds:!1,katex:katex}),t&&marked.use(baseUrl(t)),marked.use(markedKatex({throwOnError:!1})),marked.use(markedMermaid()),DOMPurify.sanitize(marked.parse(e,{renderer:i}))}angular.module("ngPDFViewer",[]).factory("RecursionHelper",["$compile",function(s){return{compile:function(e,i){angular.isFunction(i)&&(i={post:i});var n,r=e.contents().remove();return{pre:i&&i.pre?i.pre:null,post:function(e,t){(n=n||s(r))(e,function(e){t.append(e)}),i&&i.post&&i.post.apply(null,arguments)}}}}}]).directive("pdfpageviewer",[function(){return{restrict:"E",template:"<canvas></canvas>",scope:{onPageLoad:"=",page:"=",pdfDoc:"="},controller:["$scope","$element",function(n,r){n.scale=1;const s=r.find("canvas")[0];n.$watch("pdfDoc",e=>{e&&n.renderPage(n.page)}),n.renderPage=async function(e){var e=await n.pdfDoc.getPage(e),t=r[0].clientWidth/e.getViewport(1).width,t=e.getViewport(t),i=(s.height=t.height,s.width=t.width,s.getContext("2d"));return await e.render({canvasContext:i,viewport:t}),n.onPageLoad&&n.$apply(function(){n.onPageLoad({page:n.page,total:n.pdfDoc.numPages})}),!0}}]}}]).directive("pdfviewer",["RecursionHelper",function(t){return{restrict:"E",template:"<pdfpageviewer ng-repeat='p in [].constructor(pdfDoc.numPages) track by $index' page='$index + 1' pdf-doc='pdfDoc'></pdfpageviewer>",scope:{onPageLoad:"&",loadProgress:"&",src:"@",id:"="},compile:function(e){return t.compile(e)},controller:["$scope",function(n){n.pdfDoc=null,n.scale=1,n.documentProgress=function(e){n.loadProgress&&n.loadProgress({state:"loading",loaded:e.loaded,total:e.total})},n.loadPDF=function(e){PDFJS.getDocument(e,null,null,n.documentProgress).then(function(e){n.$apply(()=>{n.pdfDoc=e}),n.loadProgress&&n.loadProgress({state:"finished",loaded:0,total:0})},function(e,t){console.log("PDF load error: "+e),n.loadProgress&&n.loadProgress({state:"error",loaded:0,total:0})})},n.$on("pdfviewer.nextPage",function(e,t){null===t&&n.pageNum<n.pdfDoc.numPages&&(n.pageNum++,n.renderPage(n.pageNum))}),n.$on("pdfviewer.prevPage",function(e,t){null===t&&1<n.pageNum&&(n.pageNum--,n.renderPage(n.pageNum))}),n.$on("pdfviewer.gotoPage",function(e,t,i){null===t&&1<=i&&i<=n.pdfDoc.numPages&&(n.pageNum=i,n.renderPage(n.pageNum))}),n.$watch("src",()=>{n.loadPDF(n.src)})}]}}]).service("PDFViewerService",["$rootScope",function(i){var e={nextPage:function(){i.$broadcast("pdfviewer.nextPage")},prevPage:function(){i.$broadcast("pdfviewer.prevPage")},Instance:function(e){var t=e;return{prevPage:function(){i.$broadcast("pdfviewer.prevPage",t)},nextPage:function(){i.$broadcast("pdfviewer.nextPage",t)},gotoPage:function(e){i.$broadcast("pdfviewer.gotoPage",t,e)}}}};return e}]),angular.module("anonymous-github",["ngRoute","ngSanitize","ui.ace","ngPDFViewer","pascalprecht.translate","admin"]).config(["$routeProvider","$locationProvider","$translateProvider",function(e,t,i){i.useStaticFilesLoader({prefix:"/i18n/locale-",suffix:".json"}),i.preferredLanguage("en"),e.when("/",{templateUrl:"/partials/home.htm",controller:"homeController",title:"Anonymous GitHub – Share the code, not the author"}).when("/dashboard",{templateUrl:"/partials/dashboard.htm",controller:"unifiedDashboardController",title:"Your anonymizations – Anonymous GitHub"}).when("/pr-dashboard",{redirectTo:"/dashboard"}).when("/anonymize/:repoId?",{templateUrl:"/partials/anonymize.htm",controller:"anonymizeController",title:"New anonymization – Anonymous GitHub"}).when("/pull-request-anonymize/:pullRequestId?",{templateUrl:"/partials/anonymize.htm",controller:"anonymizeController",title:"Anonymize a pull request – Anonymous GitHub"}).when("/gist-anonymize/:gistId?",{templateUrl:"/partials/anonymize.htm",controller:"anonymizeController",title:"Anonymize a gist – Anonymous GitHub"}).when("/status/:repoId",{templateUrl:"/partials/status.htm",controller:"statusController",title:"Repository status – Anonymous GitHub"}).when("/conferences",{templateUrl:"/partials/conferences.htm",controller:"conferencesController",title:"Your conferences – Anonymous GitHub"}).when("/conference/new",{templateUrl:"/partials/newConference.htm",controller:"newConferenceController",title:"New conference – Anonymous GitHub"}).when("/conference/:conferenceId/edit",{templateUrl:"/partials/newConference.htm",controller:"newConferenceController",title:"Edit conference – Anonymous GitHub"}).when("/conference/:conferenceId",{templateUrl:"/partials/conference.htm",controller:"conferenceController",title:"Conference – Anonymous GitHub"}).when("/faq",{templateUrl:"/partials/faq.htm",controller:"faqController",title:"FAQ – Anonymous GitHub"}).when("/profile",{templateUrl:"/partials/profile.htm",controller:"profileController",title:"Your settings – Anonymous GitHub"}).when("/claim",{templateUrl:"/partials/claim.htm",controller:"claimController",title:"Claim an anonymization – Anonymous GitHub"}).when("/pr/:pullRequestId",{ Line truncated `},marked.setOptions({renderer:i,pedantic:!1,gfm:!0,breaks:!1,sanitize:!1,smartLists:!0,smartypants:!1,xhtml:!1,headerIds:!1,katex:katex}),t&&marked.use(baseUrl(t)),marked.use(markedKatex({throwOnError:!1})),marked.use(markedMermaid()),DOMPurify.sanitize(marked.parse(e,{renderer:i}))}angular.module("ngPDFViewer",[]).factory("RecursionHelper",["$compile",function(s){return{compile:function(e,i){angular.isFunction(i)&&(i={post:i});var n,r=e.contents().remove();return{pre:i&&i.pre?i.pre:null,post:function(e,t){(n=n||s(r))(e,function(e){t.append(e)}),i&&i.post&&i.post.apply(null,arguments)}}}}}]).directive("pdfpageviewer",[function(){return{restrict:"E",template:"<canvas></canvas>",scope:{onPageLoad:"=",page:"=",pdfDoc:"="},controller:["$scope","$element",function(n,r){n.scale=1;const s=r.find("canvas")[0];n.$watch("pdfDoc",e=>{e&&n.renderPage(n.page)}),n.renderPage=async function(e){var e=await n.pdfDoc.getPage(e),t=r[0].clientWidth/e.getViewport(1).width,t=e.getViewport(t),i=(s.height=t.height,s.width=t.width,s.getContext("2d"));return await e.render({canvasContext:i,viewport:t}),n.onPageLoad&&n.$apply(function(){n.onPageLoad({page:n.page,total:n.pdfDoc.numPages})}),!0}}]}}]).directive("pdfviewer",["RecursionHelper",function(t){return{restrict:"E",template:"<pdfpageviewer ng-repeat='p in [].constructor(pdfDoc.numPages) track by $index' page='$index + 1' pdf-doc='pdfDoc'></pdfpageviewer>",scope:{onPageLoad:"&",loadProgress:"&",src:"@",id:"="},compile:function(e){return t.compile(e)},controller:["$scope",function(n){n.pdfDoc=null,n.scale=1,n.documentProgress=function(e){n.loadProgress&&n.loadProgress({state:"loading",loaded:e.loaded,total:e.total})},n.loadPDF=function(e){PDFJS.getDocument(e,null,null,n.documentProgress).then(function(e){n.$apply(()=>{n.pdfDoc=e}),n.loadProgress&&n.loadProgress({state:"finished",loaded:0,total:0})},function(e,t){console.log("PDF load error: "+e),n.loadProgress&&n.loadProgress({state:"error",loaded:0,total:0})})},n.$on("pdfviewer.nextPage",function(e,t){null===t&&n.pageNum<n.pdfDoc.numPages&&(n.pageNum++,n.renderPage(n.pageNum))}),n.$on("pdfviewer.prevPage",function(e,t){null===t&&1<n.pageNum&&(n.pageNum--,n.renderPage(n.pageNum))}),n.$on("pdfviewer.gotoPage",function(e,t,i){null===t&&1<=i&&i<=n.pdfDoc.numPages&&(n.pageNum=i,n.renderPage(n.pageNum))}),n.$watch("src",()=>{n.loadPDF(n.src)})}]}}]).service("PDFViewerService",["$rootScope",function(i){var e={nextPage:function(){i.$broadcast("pdfviewer.nextPage")},prevPage:function(){i.$broadcast("pdfviewer.prevPage")},Instance:function(e){var t=e;return{prevPage:function(){i.$broadcast("pdfviewer.prevPage",t)},nextPage:function(){i.$broadcast("pdfviewer.nextPage",t)},gotoPage:function(e){i.$broadcast("pdfviewer.gotoPage",t,e)}}}};return e}]),angular.module("anonymous-github",["ngRoute","ngSanitize","ui.ace","ngPDFViewer","pascalprecht.translate","admin"]).config(["$routeProvider","$locationProvider","$translateProvider",function(e,t,i){i.useStaticFilesLoader({prefix:"/i18n/locale-",suffix:".json"}),i.preferredLanguage("en"),e.when("/",{templateUrl:"/partials/home.htm",controller:"homeController",title:"Anonymous GitHub – Share the code, not the author"}).when("/dashboard",{templateUrl:"/partials/dashboard.htm",controller:"unifiedDashboardController",title:"Your anonymizations – Anonymous GitHub"}).when("/pr-dashboard",{redirectTo:"/dashboard"}).when("/anonymize/:repoId?",{templateUrl:"/partials/anonymize.htm",controller:"anonymizeController",title:"New anonymization – Anonymous GitHub"}).when("/pull-request-anonymize/:pullRequestId?",{templateUrl:"/partials/anonymize.htm",controller:"anonymizeController",title:"Anonymize a pull request – Anonymous GitHub"}).when("/gist-anonymize/:gistId?",{templateUrl:"/partials/anonymize.htm",controller:"anonymizeController",title:"Anonymize a gist – Anonymous GitHub"}).when("/status/:repoId",{templateUrl:"/partials/status.htm",controller:"statusController",title:"Repository status – Anonymous GitHub"}).when("/conferences",{templateUrl:"/partials/conferences.htm",controller:"conferencesController",title:"Your conferences – Anonymous GitHub"}).when("/conference/new",{templateUrl:"/partials/newConference.htm",controller:"newConferenceController",title:"New conference – Anonymous GitHub"}).when("/conference/:conferenceId/edit",{templateUrl:"/partials/newConference.htm",controller:"newConferenceController",title:"Edit conference – Anonymous GitHub"}).when("/conference/:conferenceId",{templateUrl:"/partials/conference.htm",controller:"conferenceController",title:"Conference – Anonymous GitHub"}).when("/faq",{templateUrl:"/partials/faq.htm",controller:"faqController",title:"FAQ – Anonymous GitHub"}).when("/profile",{templateUrl:"/partials/profile.htm",controller:"profileController",title:"Your settings – Anonymous GitHub"}).when("/claim",{templateUrl:"/partials/claim.htm",controller:"claimController",title:"Claim an anonymization – Anonymous GitHub"}).when("/pr/:pullRequestId",{ Line truncated
+15 -5
View File
@@ -27,10 +27,9 @@ export default class AnonymousError extends CustomError {
this.cause = opt?.cause; this.cause = opt?.cause;
} }
detail(): string | undefined { url(): string | undefined {
if (this.value == null) return undefined; if (this.value == null) return undefined;
try { try {
if (this.value instanceof Repository) return this.value.repoId;
if (this.value instanceof AnonymizedFile) { if (this.value instanceof AnonymizedFile) {
const repoId = this.value.repository?.repoId; const repoId = this.value.repository?.repoId;
// anonymizedPath getter can throw if the file isn't initialized; // anonymizedPath getter can throw if the file isn't initialized;
@@ -43,6 +42,17 @@ export default class AnonymousError extends CustomError {
} }
return repoId ? `/r/${repoId}/${p ?? ""}` : p; return repoId ? `/r/${repoId}/${p ?? ""}` : p;
} }
} catch {
/* ignore */
}
return undefined;
}
detail(): string | undefined {
if (this.value == null) return undefined;
try {
if (this.value instanceof Repository) return this.value.repoId;
if (this.value instanceof AnonymizedFile) return undefined;
if (this.value instanceof GitHubRepository) return this.value.fullName; if (this.value instanceof GitHubRepository) return this.value.fullName;
if (this.value instanceof User) return this.value.username; if (this.value instanceof User) return this.value.username;
if (this.value instanceof GitHubBase) { if (this.value instanceof GitHubBase) {
@@ -57,9 +67,9 @@ export default class AnonymousError extends CustomError {
toString(): string { toString(): string {
let out = this.message; let out = this.message;
const detail = this.detail(); const info = this.url() ?? this.detail();
if (detail) { if (info) {
out += `: ${detail}`; out += `: ${info}`;
} }
if (this.cause) { if (this.cause) {
out += `\n\tCause by ${this.cause}\n${this.cause.stack}`; out += `\n\tCause by ${this.cause}\n${this.cause.stack}`;
+5 -1
View File
@@ -465,9 +465,13 @@ export default class Repository {
async removeCache() { async removeCache() {
await storage.rm(this.repoId); await storage.rm(this.repoId);
this.model.isReseted = true; this.model.isReseted = true;
this.model.size = { storage: 0, file: 0 };
if (isConnected) { if (isConnected) {
try { try {
await this.model.save(); await AnonymizedRepositoryModel.updateOne(
{ _id: this._model._id },
{ $set: { isReseted: true, size: this._model.size } }
).exec();
} catch (error) { } catch (error) {
logger.error("removeCache save failed", serializeError(error)); logger.error("removeCache save failed", serializeError(error));
} }
+134 -4
View File
@@ -3,6 +3,15 @@ import config from "../config";
export const ERROR_LOG_KEY = "admin:errors"; export const ERROR_LOG_KEY = "admin:errors";
export const ERROR_LOG_MAX = 1000; export const ERROR_LOG_MAX = 1000;
export const ERROR_LOG_HOURLY_PREFIX = "admin:errors:hourly:";
export const ERROR_LOG_DROPPED_KEY = "admin:errors:dropped";
// 48h retention on the hourly counters: stats endpoint reads "last 24h" and
// "previous 24h" buckets — anything older has nothing to compare against.
export const ERROR_LOG_HOURLY_TTL = 48 * 60 * 60;
// Hard cap on the JSON payload stored per entry. The recent detail() change
// (commit 6f418d6) can produce kilobyte payloads; without a cap the read
// path pulls multiple MB on every poll.
const MAX_PAYLOAD_BYTES = 4096;
export type Logger = { export type Logger = {
debug: (...args: unknown[]) => void; debug: (...args: unknown[]) => void;
@@ -77,21 +86,132 @@ function getRedis(): RedisClientType | null {
} }
} }
// In-process counter for entries that couldn't be persisted (no Redis client,
// disconnected, or Redis-side rejection). Mirrors `admin:errors:dropped` once
// Redis is back. Read by /admin/errors/stats so the admin page surfaces
// "you're losing logs" instead of silently rendering an empty table.
let droppedInProcess = 0;
export function getInProcessDropped(): number {
return droppedInProcess;
}
function trimStack(s: unknown): unknown {
if (typeof s === "string" && s.length > 800) {
return s.slice(0, 800) + "…[truncated]";
}
return s;
}
function trimRawArg(a: unknown): unknown {
if (!a || typeof a !== "object") return a;
const o = a as Record<string, unknown>;
if (typeof o.stack === "string") {
return { ...o, stack: trimStack(o.stack) };
}
return o;
}
function clampPayload(entry: {
ts: string;
level: "warn" | "error";
module: string;
message: string;
raw: unknown[];
}): string {
// Cap raw to first 3 args and trim long stacks before stringifying.
if (entry.raw.length > 3) entry.raw = entry.raw.slice(0, 3);
entry.raw = entry.raw.map(trimRawArg);
let s = JSON.stringify(entry);
if (s.length <= MAX_PAYLOAD_BYTES) return s;
// Step 1: keep just the first arg (typically the human message + the
// structured detail object).
entry.raw = entry.raw.slice(0, 1);
s = JSON.stringify(entry);
if (s.length <= MAX_PAYLOAD_BYTES) return s;
// Step 2: replace the payload with a placeholder so the entry still shows
// up in the list but doesn't blow the cap.
entry.raw = [{ truncated: true, originalBytes: s.length }];
return JSON.stringify(entry);
}
// Map a logged entry to the bucket the admin UI uses. Mirrors the inline
// logic in /errors/stats so server and client agree on what "5xx / 4xx /
// info" means.
function bucketFor(
detail: Record<string, unknown> | undefined,
level: "warn" | "error"
): "error" | "warn" | "info" {
const s =
detail && typeof detail.httpStatus === "number"
? (detail.httpStatus as number)
: detail && typeof detail.status === "number"
? (detail.status as number)
: null;
if (typeof s === "number") {
if (s >= 500) return "error";
if (s === 401 || s === 403 || s === 404) return "info";
if (s >= 400) return "warn";
}
return level === "error" ? "error" : "warn";
}
function hourKey(ts: string): string {
// YYYYMMDDHH in UTC — sortable, lexicographically aligns with time.
const d = new Date(ts);
const y = d.getUTCFullYear();
const m = String(d.getUTCMonth() + 1).padStart(2, "0");
const day = String(d.getUTCDate()).padStart(2, "0");
const h = String(d.getUTCHours()).padStart(2, "0");
return `${ERROR_LOG_HOURLY_PREFIX}${y}${m}${day}${h}`;
}
function persistError(entry: { function persistError(entry: {
ts: string; ts: string;
level: "warn" | "error";
module: string; module: string;
message: string; message: string;
raw: unknown[]; raw: unknown[];
}) { }) {
const client = getRedis(); const client = getRedis();
if (!client || !client.isOpen) return; if (!client || !client.isOpen) {
const payload = JSON.stringify(entry); droppedInProcess++;
return;
}
const payload = clampPayload(entry);
// Pre-compute the structured fields the stats endpoint needs so the read
// path doesn't have to parse the JSON list at all.
const detail = entry.raw.find(
(a) => a && typeof a === "object" && !Array.isArray(a)
) as Record<string, unknown> | undefined;
const bucket = bucketFor(detail, entry.level);
const code =
(detail && typeof detail.message === "string"
? (detail.message as string)
: "") ||
(detail && typeof detail.code === "string"
? (detail.code as string)
: "") ||
"_";
const hKey = hourKey(entry.ts);
client client
.multi() .multi()
.lPush(ERROR_LOG_KEY, payload) .lPush(ERROR_LOG_KEY, payload)
.lTrim(ERROR_LOG_KEY, 0, ERROR_LOG_MAX - 1) .lTrim(ERROR_LOG_KEY, 0, ERROR_LOG_MAX - 1)
.hIncrBy(hKey, "total", 1)
.hIncrBy(hKey, `bucket:${bucket}`, 1)
.hIncrBy(hKey, `level:${entry.level}`, 1)
.hIncrBy(hKey, `module:${entry.module}`, 1)
.hIncrBy(hKey, `cb:${bucket}:${code}`, 1)
.expire(hKey, ERROR_LOG_HOURLY_TTL)
.exec() .exec()
.catch(() => undefined); .catch(() => {
droppedInProcess++;
// Best-effort flush of the in-process counter to redis so the admin UI
// sees the same number across processes.
const c = getRedis();
if (c && c.isOpen) {
c.incr(ERROR_LOG_DROPPED_KEY).catch(() => undefined);
}
});
} }
function emit(level: Level, module: string, args: unknown[]) { function emit(level: Level, module: string, args: unknown[]) {
@@ -108,9 +228,10 @@ function emit(level: Level, module: string, args: unknown[]) {
? console.debug ? console.debug
: console.log; : console.log;
sink(line); sink(line);
if (level === "error") { if (level === "error" || level === "warn") {
persistError({ persistError({
ts, ts,
level,
module, module,
message: typeof args[0] === "string" ? args[0] : "", message: typeof args[0] === "string" ? args[0] : "",
raw: args.map((a) => { raw: args.map((a) => {
@@ -141,6 +262,7 @@ type ErrorLike = {
request?: { url?: string; method?: string }; request?: { url?: string; method?: string };
response?: { url?: string; status?: number }; response?: { url?: string; status?: number };
detail?: () => string | undefined; detail?: () => string | undefined;
url?: string | (() => string | undefined);
}; };
export function serializeError(err: unknown): Record<string, unknown> { export function serializeError(err: unknown): Record<string, unknown> {
@@ -162,6 +284,14 @@ export function serializeError(err: unknown): Record<string, unknown> {
// AnonymousError carries an httpStatus and an inner cause. // AnonymousError carries an httpStatus and an inner cause.
if (typeof e.httpStatus === "number") out.httpStatus = e.httpStatus; if (typeof e.httpStatus === "number") out.httpStatus = e.httpStatus;
if (e.code !== undefined && e.code !== e.message) out.code = e.code; if (e.code !== undefined && e.code !== e.message) out.code = e.code;
if (typeof e.url === "function") {
try {
const u = e.url();
if (u) out.url = u;
} catch {
/* ignore */
}
}
if (typeof e.detail === "function") { if (typeof e.detail === "function") {
try { try {
const d = e.detail(); const d = e.detail();
@@ -0,0 +1,11 @@
import { model } from "mongoose";
import { IDailyStatsDocument, IDailyStatsModel } from "./dailyStats.types";
import DailyStatsSchema from "./dailyStats.schema";
const DailyStatsModel = model<IDailyStatsDocument>(
"DailyStats",
DailyStatsSchema
) as IDailyStatsModel;
export default DailyStatsModel;
@@ -0,0 +1,11 @@
import { Schema } from "mongoose";
const DailyStatsSchema = new Schema({
date: { type: Date, unique: true, index: true },
nbRepositories: { type: Number, default: 0 },
nbUsers: { type: Number, default: 0 },
nbPageViews: { type: Number, default: 0 },
nbPullRequests: { type: Number, default: 0 },
});
export default DailyStatsSchema;
@@ -0,0 +1,12 @@
import { Document, Model } from "mongoose";
export interface IDailyStats {
date: Date;
nbRepositories: number;
nbUsers: number;
nbPageViews: number;
nbPullRequests: number;
}
export interface IDailyStatsDocument extends IDailyStats, Document {}
export interface IDailyStatsModel extends Model<IDailyStatsDocument> {}
+68
View File
@@ -0,0 +1,68 @@
import AnonymizedRepositoryModel from "../core/model/anonymizedRepositories/anonymizedRepositories.model";
import AnonymizedPullRequestModel from "../core/model/anonymizedPullRequests/anonymizedPullRequests.model";
import DailyStatsModel from "../core/model/dailyStats/dailyStats.model";
import { createLogger, serializeError } from "../core/logger";
const logger = createLogger("dailyStats");
export interface HomeStats {
nbRepositories: number;
nbUsers: number;
nbPageViews: number;
nbPullRequests: number;
}
export async function computeStats(): Promise<HomeStats> {
const [nbRepositories, nbUsersAgg, nbPageViews, nbPullRequests] =
await Promise.all([
AnonymizedRepositoryModel.estimatedDocumentCount(),
AnonymizedRepositoryModel.collection
.aggregate([{ $group: { _id: "$owner" } }, { $count: "n" }])
.toArray(),
AnonymizedRepositoryModel.collection
.aggregate([{ $group: { _id: null, total: { $sum: "$pageView" } } }])
.toArray(),
AnonymizedPullRequestModel.estimatedDocumentCount(),
]);
return {
nbRepositories,
nbUsers: (nbUsersAgg[0] as { n?: number } | undefined)?.n || 0,
nbPageViews:
(nbPageViews[0] as { total?: number } | undefined)?.total || 0,
nbPullRequests,
};
}
function utcMidnight(d: Date = new Date()): Date {
return new Date(
Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate())
);
}
export async function computeAndStoreDailyStats(): Promise<void> {
try {
const stats = await computeStats();
const date = utcMidnight();
await DailyStatsModel.updateOne(
{ date },
{ $set: { ...stats, date } },
{ upsert: true }
);
logger.info("daily stats snapshot stored", { date, ...stats });
} catch (error) {
logger.error("daily stats snapshot failed", serializeError(error));
}
}
export async function ensureTodaySnapshot(): Promise<void> {
try {
const date = utcMidnight();
const existing = await DailyStatsModel.findOne({ date }).lean();
if (!existing) {
await computeAndStoreDailyStats();
}
} catch (error) {
logger.error("ensureTodaySnapshot failed", serializeError(error));
}
}
+45 -31
View File
@@ -14,10 +14,17 @@ import { connect } from "./database";
import { initSession, router as connectionRouter } from "./routes/connection"; import { initSession, router as connectionRouter } from "./routes/connection";
import { bearerTokenAuth } from "./routes/token-auth"; import { bearerTokenAuth } from "./routes/token-auth";
import router from "./routes"; import router from "./routes";
import AnonymizedRepositoryModel from "../core/model/anonymizedRepositories/anonymizedRepositories.model"; import {
import { conferenceStatusCheck, repositoryStatusCheck } from "./schedule"; conferenceStatusCheck,
repositoryStatusCheck,
dailyStatsSnapshot,
} from "./schedule";
import { startWorker, recoverStuckPreparing } from "../queue"; import { startWorker, recoverStuckPreparing } from "../queue";
import AnonymizedPullRequestModel from "../core/model/anonymizedPullRequests/anonymizedPullRequests.model"; import {
computeStats,
ensureTodaySnapshot,
} from "./dailyStatsSnapshot";
import DailyStatsModel from "../core/model/dailyStats/dailyStats.model";
import { getUser } from "./routes/route-utils"; import { getUser } from "./routes/route-utils";
import config from "../config"; import config from "../config";
import { createLogger, serializeError } from "../core/logger"; import { createLogger, serializeError } from "../core/logger";
@@ -186,9 +193,13 @@ export default async function start() {
}); });
let stat: Record<string, unknown> = {}; let stat: Record<string, unknown> = {};
let history: Array<Record<string, unknown>> | null = null;
let historyKey: number | null = null;
setInterval(() => { setInterval(() => {
stat = {}; stat = {};
history = null;
historyKey = null;
}, 1000 * 60 * 60); }, 1000 * 60 * 60);
apiRouter.get("/healthcheck", async (_, res) => { apiRouter.get("/healthcheck", async (_, res) => {
@@ -199,37 +210,36 @@ export default async function start() {
res.json(stat); res.json(stat);
return; return;
} }
const [nbRepositories, nbUsersAgg, nbPageViews, nbPullRequests] = stat = { ...(await computeStats()) };
await Promise.all([
AnonymizedRepositoryModel.estimatedDocumentCount(),
// Count distinct owners server-side instead of materializing the full
// list of ObjectIds with `.distinct("owner")` only to take its length.
AnonymizedRepositoryModel.collection
.aggregate([
{ $group: { _id: "$owner" } },
{ $count: "n" },
])
.toArray(),
AnonymizedRepositoryModel.collection
.aggregate([
{
$group: { _id: null, total: { $sum: "$pageView" } },
},
])
.toArray(),
AnonymizedPullRequestModel.estimatedDocumentCount(),
]);
stat = {
nbRepositories,
nbUsers: (nbUsersAgg[0] as { n?: number } | undefined)?.n || 0,
nbPageViews: nbPageViews[0]?.total || 0,
nbPullRequests,
};
res.json(stat); res.json(stat);
}); });
apiRouter.get("/stat/history", async (req, res) => {
const days = Math.min(
Math.max(parseInt(req.query.days as string) || 30, 1),
365
);
if (history && historyKey === days) {
res.json(history);
return;
}
const since = new Date();
since.setUTCDate(since.getUTCDate() - days + 1);
since.setUTCHours(0, 0, 0, 0);
const docs = await DailyStatsModel.find({ date: { $gte: since } })
.sort({ date: 1 })
.lean();
history = docs.map((d) => ({
date: d.date,
nbRepositories: d.nbRepositories,
nbUsers: d.nbUsers,
nbPageViews: d.nbPageViews,
nbPullRequests: d.nbPullRequests,
}));
historyKey = days;
res.json(history);
});
// web view // web view
app.use("/w/", rate, webViewSpeedLimiter, router.webview); app.use("/w/", rate, webViewSpeedLimiter, router.webview);
@@ -253,10 +263,14 @@ export default async function start() {
// start schedules // start schedules
conferenceStatusCheck(); conferenceStatusCheck();
repositoryStatusCheck(); repositoryStatusCheck();
dailyStatsSnapshot();
await connect(); await connect();
app.listen(config.PORT); app.listen(config.PORT);
logger.info("server started", { port: config.PORT }); logger.info("server started", { port: config.PORT });
ensureTodaySnapshot().catch((err) =>
logger.error("ensureTodaySnapshot failed", { err })
);
recoverStuckPreparing().catch((err) => recoverStuckPreparing().catch((err) =>
logger.error("recoverStuckPreparing failed", { err }) logger.error("recoverStuckPreparing failed", { err })
); );
+183 -7
View File
@@ -10,7 +10,15 @@ import { ensureAuthenticated } from "./connection";
import { handleError, getUser, isOwnerOrAdmin, getRepo } from "./route-utils"; import { handleError, getUser, isOwnerOrAdmin, getRepo } from "./route-utils";
import adminTokensRouter from "./admin-tokens"; import adminTokensRouter from "./admin-tokens";
import { octokit, getToken } from "../../core/GitHubUtils"; import { octokit, getToken } from "../../core/GitHubUtils";
import { createLogger, serializeError, ERROR_LOG_KEY, ERROR_LOG_MAX } from "../../core/logger"; import {
createLogger,
serializeError,
ERROR_LOG_KEY,
ERROR_LOG_MAX,
ERROR_LOG_HOURLY_PREFIX,
ERROR_LOG_DROPPED_KEY,
getInProcessDropped,
} from "../../core/logger";
import { createClient, RedisClientType } from "redis"; import { createClient, RedisClientType } from "redis";
import config from "../../config"; import config from "../../config";
@@ -227,14 +235,32 @@ router.get("/queues", async (req, res) => {
}); });
}); });
// Errors captured by the logger sink (last ERROR_LOG_MAX entries). // Errors captured by the logger sink. Server-paginated to avoid pulling
// the full ERROR_LOG_MAX entries on every poll — payloads can be a few KB
// each once detail() enrichment is included.
router.get("/errors", async (req, res) => { router.get("/errors", async (req, res) => {
try { try {
const client = await getErrorLogClient(); const client = await getErrorLogClient();
if (!client) { if (!client) {
return res.json({ entries: [], max: ERROR_LOG_MAX, available: false }); return res.json({
entries: [],
offset: 0,
limit: 0,
total: 0,
max: ERROR_LOG_MAX,
available: false,
});
} }
const raw = await client.lRange(ERROR_LOG_KEY, 0, ERROR_LOG_MAX - 1); const offset = Math.max(0, parseInt(String(req.query.offset || "0"), 10) || 0);
const limit = Math.min(
ERROR_LOG_MAX,
Math.max(1, parseInt(String(req.query.limit || "250"), 10) || 250)
);
const stop = offset + limit - 1;
const [raw, total] = await Promise.all([
client.lRange(ERROR_LOG_KEY, offset, stop),
client.lLen(ERROR_LOG_KEY),
]);
const entries = raw.map((s) => { const entries = raw.map((s) => {
try { try {
return JSON.parse(s); return JSON.parse(s);
@@ -242,7 +268,141 @@ router.get("/errors", async (req, res) => {
return { ts: null, module: null, message: s, raw: [] }; return { ts: null, module: null, message: s, raw: [] };
} }
}); });
res.json({ entries, max: ERROR_LOG_MAX, available: true }); res.json({
entries,
offset,
limit,
total,
max: ERROR_LOG_MAX,
available: true,
});
} catch (error) {
handleError(error, res, req);
}
});
// Aggregated stats from the precomputed hourly counters (HINCRBY on each
// persistError). No JSON parsing of stored entries — O(48 small HGETALLs).
router.get("/errors/stats", async (req, res) => {
try {
const client = await getErrorLogClient();
if (!client) {
return res.json({
available: false,
last24h: 0,
prev24h: 0,
severity: { error: 0, warn: 0, info: 0 },
unique: { error: 0, warn: 0, info: 0 },
buckets: [],
dropped: getInProcessDropped(),
});
}
const now = new Date();
// Build the 48 hour keys to fetch (24 for current window + 24 for prev).
function hourKey(d: Date) {
const y = d.getUTCFullYear();
const m = String(d.getUTCMonth() + 1).padStart(2, "0");
const day = String(d.getUTCDate()).padStart(2, "0");
const h = String(d.getUTCHours()).padStart(2, "0");
return `${ERROR_LOG_HOURLY_PREFIX}${y}${m}${day}${h}`;
}
const currentKeys: string[] = [];
const prevKeys: string[] = [];
const bucketHourTs: number[] = [];
for (let i = 23; i >= 0; i--) {
const d = new Date(now.getTime() - i * 3600 * 1000);
// Anchor each bar at the end of its hour so a "9s ago" event lands in
// the rightmost bar.
const anchor = new Date(
Date.UTC(
d.getUTCFullYear(),
d.getUTCMonth(),
d.getUTCDate(),
d.getUTCHours()
)
);
currentKeys.push(hourKey(anchor));
bucketHourTs.push(anchor.getTime() + 3600 * 1000);
}
for (let i = 47; i >= 24; i--) {
const d = new Date(now.getTime() - i * 3600 * 1000);
const anchor = new Date(
Date.UTC(
d.getUTCFullYear(),
d.getUTCMonth(),
d.getUTCDate(),
d.getUTCHours()
)
);
prevKeys.push(hourKey(anchor));
}
const pipe = client.multi();
for (const k of currentKeys) pipe.hGetAll(k);
for (const k of prevKeys) pipe.hGetAll(k);
pipe.get(ERROR_LOG_DROPPED_KEY);
const results = (await pipe.exec()) as unknown[];
const currentHashes = results.slice(0, currentKeys.length) as Record<
string,
string
>[];
const prevHashes = results.slice(
currentKeys.length,
currentKeys.length + prevKeys.length
) as Record<string, string>[];
const droppedRedis =
parseInt(String(results[results.length - 1] || "0"), 10) || 0;
const buckets: {
hour: number;
error: number;
warn: number;
info: number;
}[] = [];
const sev = { error: 0, warn: 0, info: 0 };
const uniqueCodes: Record<"error" | "warn" | "info", Set<string>> = {
error: new Set(),
warn: new Set(),
info: new Set(),
};
let last24h = 0;
currentHashes.forEach((h, i) => {
const flat = h || {};
const e = parseInt(flat["bucket:error"] || "0", 10) || 0;
const w = parseInt(flat["bucket:warn"] || "0", 10) || 0;
const inf = parseInt(flat["bucket:info"] || "0", 10) || 0;
buckets.push({ hour: bucketHourTs[i], error: e, warn: w, info: inf });
sev.error += e;
sev.warn += w;
sev.info += inf;
last24h += parseInt(flat.total || "0", 10) || 0;
// cb:<bucket>:<code> fields → unique code sets.
for (const k of Object.keys(flat)) {
if (!k.startsWith("cb:")) continue;
const sep = k.indexOf(":", 3);
if (sep < 0) continue;
const b = k.slice(3, sep) as "error" | "warn" | "info";
const code = k.slice(sep + 1);
if (b in uniqueCodes) uniqueCodes[b].add(code);
}
});
let prev24h = 0;
for (const h of prevHashes) {
prev24h += parseInt((h || {}).total || "0", 10) || 0;
}
res.json({
available: true,
last24h,
prev24h,
severity: sev,
unique: {
error: uniqueCodes.error.size,
warn: uniqueCodes.warn.size,
info: uniqueCodes.info.size,
},
buckets,
dropped: droppedRedis + getInProcessDropped(),
});
} catch (error) { } catch (error) {
handleError(error, res, req); handleError(error, res, req);
} }
@@ -253,8 +413,24 @@ router.delete("/errors", async (req, res) => {
const client = await getErrorLogClient(); const client = await getErrorLogClient();
if (!client) return res.json({ ok: true, cleared: 0 }); if (!client) return res.json({ ok: true, cleared: 0 });
const len = await client.lLen(ERROR_LOG_KEY); const len = await client.lLen(ERROR_LOG_KEY);
await client.del(ERROR_LOG_KEY); // SCAN the hourly counter keys and del them along with the list and
res.json({ ok: true, cleared: len }); // dropped counter so the admin page comes back to a clean slate.
const hourlyKeys: string[] = [];
let cursor = 0;
do {
const reply = await client.scan(cursor, {
MATCH: `${ERROR_LOG_HOURLY_PREFIX}*`,
COUNT: 100,
});
cursor = Number(reply.cursor);
for (const k of reply.keys) hourlyKeys.push(k);
} while (cursor !== 0);
const pipe = client.multi();
pipe.del(ERROR_LOG_KEY);
pipe.del(ERROR_LOG_DROPPED_KEY);
if (hourlyKeys.length) pipe.del(hourlyKeys);
await pipe.exec();
res.json({ ok: true, cleared: len, hourlyCleared: hourlyKeys.length });
} catch (error) { } catch (error) {
handleError(error, res, req); handleError(error, res, req);
} }
+11 -2
View File
@@ -118,10 +118,19 @@ export function isOwnerCoauthorOrAdmin(repo: Repository, user: User) {
function printError(error: any, req?: express.Request) { function printError(error: any, req?: express.Request) {
if (error instanceof AnonymousError) { if (error instanceof AnonymousError) {
if (req?.originalUrl === "/api/repo/undefined/options") return; if (req?.originalUrl === "/api/repo/undefined/options") return;
logger.error("anonymous error", { const payload = {
...serializeError(error), ...serializeError(error),
url: req?.originalUrl, url: req?.originalUrl,
}); };
// 4xx are expected client errors (not_found, expired, not_connected) —
// route them to warn so the admin Errors page can split server faults
// (5xx) from client misuse (4xx) cleanly.
const status = error.httpStatus;
if (typeof status === "number" && status >= 400 && status < 500) {
logger.warn("anonymous error", payload);
} else {
logger.error("anonymous error", payload);
}
} else if (error instanceof HTTPError) { } else if (error instanceof HTTPError) {
logger.error("http error", { logger.error("http error", {
code: error.code, code: error.code,
+9
View File
@@ -4,6 +4,7 @@ import AnonymizedRepositoryModel from "../core/model/anonymizedRepositories/anon
import ConferenceModel from "../core/model/conference/conferences.model"; import ConferenceModel from "../core/model/conference/conferences.model";
import Repository from "../core/Repository"; import Repository from "../core/Repository";
import { createLogger, serializeError } from "../core/logger"; import { createLogger, serializeError } from "../core/logger";
import { computeAndStoreDailyStats } from "./dailyStatsSnapshot";
const logger = createLogger("schedule"); const logger = createLogger("schedule");
@@ -54,3 +55,11 @@ export function repositoryStatusCheck() {
}); });
}); });
} }
export function dailyStatsSnapshot() {
// snapshot home-page stats once per day at 00:05 UTC
schedule.scheduleJob("5 0 * * *", async () => {
logger.info("running daily stats snapshot");
await computeAndStoreDailyStats();
});
}