@diplodoc/transform 4.7.2 → 4.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/print.css.map +1 -1
- package/dist/css/yfm.css.map +1 -1
- package/dist/css/yfm.min.css.map +1 -1
- package/dist/js/yfm.js +6 -2
- package/dist/js/yfm.js.map +2 -2
- package/dist/js/yfm.min.js +1 -1
- package/dist/js/yfm.min.js.map +3 -3
- package/package.json +2 -2
- package/src/js/term/utils.ts +8 -3
package/dist/css/print.css.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/scss/home/runner/work/transform/transform/src/scss/print/code.scss", "../../src/scss/%3Cinput%20css%
|
|
3
|
+
"sources": ["../../src/scss/home/runner/work/transform/transform/src/scss/print/code.scss", "../../src/scss/%3Cinput%20css%20yhT_J1%3E", "../../src/scss/home/runner/work/transform/transform/src/scss/print/common.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/print/cut.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/print/note.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/print/table.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/print/tabs.scss"],
|
|
4
4
|
"sourcesContent": ["@media print {\n .yfm {\n .yfm-clipboard {\n & > pre > code {\n white-space: pre-wrap;\n }\n }\n }\n}", "@media print {\n .yfm .yfm-clipboard > pre > code {\n white-space: pre-wrap;\n }\n}\n@media print {\n .yfm .yfm-page__delimeter {\n display: none;\n }\n .yfm h1[data-original-article], .yfm h2[data-original-article] {\n page-break-before: always;\n }\n}\n@media print {\n .yfm .yfm-cut-title {\n padding-left: 0;\n }\n .yfm .yfm-cut-title:before {\n display: none;\n }\n .yfm .yfm-cut-content {\n height: auto;\n padding: 5px 0 15px 30px;\n }\n}\n@media print {\n .yfm .yfm-note {\n page-break-inside: avoid;\n }\n}\n.yfm .yfm-table-container {\n position: relative;\n}\n.yfm .yfm-table-container > table {\n overflow: initial;\n position: absolute;\n top: 0;\n left: 0;\n max-width: initial;\n transform-origin: top left;\n}\n.yfm .yfm-table-container > table thead {\n display: table-row-group;\n}\n.yfm .yfm-table-container > table th, .yfm .yfm-table-container > table td {\n page-break-inside: avoid;\n white-space: pre-wrap;\n text-overflow: initial;\n}\n\n@media print {\n .yfm .yfm-tab-list {\n display: none;\n }\n .yfm .yfm-tab-panel:before {\n content: attr(data-title);\n margin-bottom: -1px;\n margin-right: 20px;\n border-bottom: 2px solid transparent;\n line-height: 33px;\n font-weight: 700;\n outline: 0;\n cursor: pointer;\n }\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvdHJhbnNmb3JtL3RyYW5zZm9ybS9zcmMvc2NzcyIsInNvdXJjZXMiOlsicHJpbnQvY29kZS5zY3NzIiwicHJpbnQvY29tbW9uLnNjc3MiLCJwcmludC9jdXQuc2NzcyIsInByaW50L25vdGUuc2NzcyIsInByaW50L3RhYmxlLnNjc3MiLCJwcmludC90YWJzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFHWTtJQUNJOzs7QUNKaEI7RUFFUTtJQUNJOztFQUlBO0lBQ0k7OztBQ1JoQjtFQUdZO0lBQ0k7O0VBRUE7SUFDSTs7RUFJUjtJQUNJO0lBQ0E7OztBQ2JoQjtFQUVRO0lBQ0k7OztBQ0ZSO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FDbkJoQjtFQUdZO0lBQ0k7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBIiwic291cmNlc0NvbnRlbnQiOlsiQG1lZGlhIHByaW50IHtcbiAgICAueWZtIHtcbiAgICAgICAgLnlmbS1jbGlwYm9hcmQge1xuICAgICAgICAgICAgJiA+IHByZSA+IGNvZGUge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAbWVkaWEgcHJpbnQge1xuICAgIC55Zm0ge1xuICAgICAgICAueWZtLXBhZ2VfX2RlbGltZXRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEsIGgyIHtcbiAgICAgICAgICAgICZbZGF0YS1vcmlnaW5hbC1hcnRpY2xlXSB7XG4gICAgICAgICAgICAgICAgcGFnZS1icmVhay1iZWZvcmU6IGFsd2F5cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAbWVkaWEgcHJpbnQge1xuICAgIC55Zm0ge1xuICAgICAgICAueWZtLWN1dCB7XG4gICAgICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMCAxNXB4IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAbWVkaWEgcHJpbnQge1xuICAgIC55Zm0ge1xuICAgICAgICAueWZtLW5vdGUge1xuICAgICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnlmbSB7XG4gICAgLnlmbS10YWJsZS1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJiA+IHRhYmxlIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuXG4gICAgICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aCwgdGQge1xuICAgICAgICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAbWVkaWEgcHJpbnQge1xuICAgIC55Zm0ge1xuICAgICAgICAueWZtLXRhYiB7XG4gICAgICAgICAgICAmLWxpc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtcGFuZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGl0bGUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19 */", "@media print {\n .yfm {\n .yfm-page__delimeter {\n display: none;\n }\n\n h1, h2 {\n &[data-original-article] {\n page-break-before: always;\n }\n }\n }\n}", "@media print {\n .yfm {\n .yfm-cut {\n &-title {\n padding-left: 0;\n\n &:before {\n display: none;\n }\n }\n\n &-content {\n height: auto;\n padding: 5px 0 15px 30px;\n }\n }\n }\n}\n", "@media print {\n .yfm {\n .yfm-note {\n page-break-inside: avoid;\n }\n }\n}\n", ".yfm {\n .yfm-table-container {\n position: relative;\n\n & > table {\n overflow: initial;\n position: absolute;\n top: 0;\n left: 0;\n max-width: initial;\n transform-origin: top left;\n\n thead {\n display: table-row-group;\n }\n\n th, td {\n page-break-inside: avoid;\n white-space: pre-wrap;\n text-overflow: initial;\n }\n }\n }\n}", "@media print {\n .yfm {\n .yfm-tab {\n &-list {\n display: none;\n }\n\n &-panel:before {\n content: attr(data-title);\n margin-bottom: -1px;\n margin-right: 20px;\n border-bottom: 2px solid transparent;\n line-height: 33px;\n font-weight: 700;\n outline: 0;\n cursor: pointer;\n }\n }\n }\n}\n"],
|
|
5
5
|
"mappings": ";AAAA,OAAA;AAGY,GAAA,IAAA,CAAA,cAAA,EAAA,IAAA,EAAA;AACI,iBAAA;ACDd;AACF;ACJA,OAAA;AAEQ,GFCI,IEDJ,CAAA;AACI,aAAA;ADKV;ACDU,GFJA,IEIA,EAAA,CAAA;EAAA,CFJA,IEIA,EAAA,CAAA;AACI,uBAAA;ADGd;AACF;AEZA,OAAA;AAGY,GHAA,IGAA,CAAA;AACI,kBAAA;AFYd;AEVc,GHHJ,IGGI,CAHJ,aAGI;AACI,aAAA;AFYlB;AERU,GHRA,IGQA,CAAA;AACI,YAAA;AACA,aAAA,IAAA,EAAA,KAAA;AFUd;AACF;AGxBA,OAAA;AAEQ,GJCI,IIDJ,CAAA;AACI,uBAAA;AHyBV;AACF;AI5BI,CLEQ,IKFR,CAAA;AACI,YAAA;AJ8BR;AI5BQ,CLDI,IKCJ,CAHJ,oBAGI,EAAA;AACI,YAAA;AAAA,YAAA;AACA,YAAA;AACA,OAAA;AACA,QAAA;AACA,aAAA;AAAA,aAAA;AACA,oBAAA,IAAA;AJ8BZ;AI5BY,CLTA,IKSA,CAXR,oBAWQ,EAAA,MAAA;AACI,WAAA;AJ8BhB;AI3BY,CLbA,IKaA,CAfR,oBAeQ,EAAA,MAAA;AAAA,CLbA,IKaA,CAfR,oBAeQ,EAAA,MAAA;AACI,qBAAA;AACA,eAAA;AACA,iBAAA;AJ6BhB;AKhDA,OAAA;AAGY,GNAA,IMAA,CAAA;AACI,aAAA;ALiDd;AK9CU,GNJA,IMIA,CAAA,aAAA;AACI,aAAA,KAAA;AACA,mBAAA;AACA,kBAAA;AACA,mBAAA,IAAA,MAAA;AACA,iBAAA;AACA,iBAAA;AACA,aAAA;AACA,YAAA;ALgDd;AACF;",
|
|
6
6
|
"names": []
|
package/dist/css/yfm.css.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/scss/%3Cinput%20css%
|
|
3
|
+
"sources": ["../../src/scss/%3Cinput%20css%20kl7VOJ%3E", "../../src/scss/home/runner/work/transform/transform/src/scss/_common.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_variables.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_note.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_anchor.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_highlight.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_code.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_cut.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_file.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_term.scss", "../../src/scss/home/runner/work/transform/transform/node_modules/@diplodoc/tabs-extension/runtime/index.css"],
|
|
4
4
|
"sourcesContent": ["@charset \"UTF-8\";\n.yfm {\n font-family: var(--yfm-font-family-sans);\n font-size: 15px;\n line-height: 20px;\n word-wrap: break-word;\n color: rgba(0, 0, 0, 0.7);\n /*\n Hides element visually, but leaves it visible for search crawlers and screen readers\n\n https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n */\n --yfm-color-hljs-background: rgba(107, 132, 153, 0.12);\n --yfm-color-hljs-subst: #444;\n --yfm-color-hljs-comment: #888888;\n --yfm-color-hljs-deletion: #880000;\n --yfm-color-hljs-section: #880000;\n --yfm-color-hljs-pseudo: #BC6060;\n --yfm-color-hljs-literal: #78A960;\n --yfm-color-hljs-addition: #397300;\n --yfm-color-hljs-meta: #1f7199;\n --yfm-color-hljs-meta-string: #4d99bf;\n --yfm-font-family-monospace: \"Menlo\", \"Monaco\", \"Consolas\", \"Ubuntu Mono\", \"Liberation Mono\", \"DejaVu Sans Mono\", \"Courier New\", \"Courier\", monospace;\n --yfm-font-family-sans: \"Segoe UI\", Arial, Helvetica, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n}\n.yfm * {\n box-sizing: border-box;\n}\n.yfm > *:not(h2):not(h3):not(h4):not(h5):not(h6):first-child {\n margin-top: 0 !important;\n}\n.yfm > *:last-child {\n margin-bottom: 0 !important;\n}\n.yfm h1, .yfm h2, .yfm h3, .yfm h4, .yfm h5, .yfm h6 {\n margin-bottom: 15px;\n font-weight: 500;\n}\n.yfm h1 {\n font-size: 32px;\n line-height: 40px;\n}\n.yfm h2 {\n font-size: 24px;\n line-height: 28px;\n}\n.yfm h3 {\n font-size: 20px;\n line-height: 24px;\n}\n.yfm h4 {\n font-size: 17px;\n line-height: 24px;\n}\n.yfm h5 {\n font-size: 15px;\n line-height: 20px;\n}\n.yfm h6 {\n font-size: 13px;\n line-height: 18px;\n}\n.yfm a {\n background-color: transparent;\n color: #027bf3;\n text-decoration: none;\n}\n.yfm a:hover, .yfm a:active {\n color: #004080;\n}\n.yfm a:not([href]) {\n color: inherit;\n}\n.yfm strong {\n font-weight: 700;\n}\n.yfm img, .yfm svg {\n box-sizing: content-box;\n max-width: 100%;\n border: none;\n vertical-align: middle;\n}\n.yfm img[align=right], .yfm svg[align=right] {\n padding-left: 20px;\n}\n.yfm img[align=left], .yfm svg[align=left] {\n padding-right: 20px;\n}\n.yfm img {\n background-color: #ffffff;\n}\n.yfm svg {\n height: auto;\n}\n.yfm .katex svg {\n height: initial;\n}\n.yfm img + small {\n display: block;\n}\n.yfm p,\n.yfm blockquote,\n.yfm ul,\n.yfm ol,\n.yfm dl,\n.yfm table,\n.yfm pre {\n margin: 0 0 15px 0;\n}\n.yfm ul pre, .yfm ol pre, .yfm dl pre {\n margin-top: 15px;\n}\n.yfm code,\n.yfm kbd,\n.yfm pre {\n font-family: var(--yfm-font-family-monospace);\n font-size: 1em;\n font-feature-settings: normal;\n}\n.yfm input {\n margin: 0;\n overflow: visible;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n.yfm input[type=checkbox] {\n position: relative;\n top: 1px;\n box-sizing: border-box;\n padding: 0;\n}\n.yfm table {\n color: #333;\n display: inline-block;\n max-width: 100%;\n width: auto;\n overflow: auto;\n position: relative;\n z-index: 1;\n box-sizing: border-box;\n border: 1px solid rgba(0, 0, 0, 0.07);\n border-radius: 8px;\n border-collapse: collapse;\n border-spacing: 0;\n background: #ffffff;\n}\n.yfm table thead, .yfm table tr:nth-child(2n) {\n background-color: rgba(0, 0, 0, 0.02);\n}\n.yfm table tr:first-child td, .yfm table tr:first-child th {\n border-top: none;\n}\n.yfm table tr:last-child td, .yfm table tr:last-child th {\n border-bottom: none;\n}\n.yfm table th, .yfm table td {\n padding: 10px 20px;\n overflow: hidden;\n text-overflow: ellipsis;\n border: 1px solid rgba(0, 0, 0, 0.07);\n}\n.yfm table th p, .yfm table td p {\n padding: 0;\n margin: 0;\n}\n.yfm table td {\n vertical-align: baseline;\n white-space: normal;\n}\n.yfm table th {\n font-weight: 500;\n text-align: left;\n}\n.yfm table tr td:first-child, .yfm table tr th:first-child {\n border-left: none;\n}\n.yfm table tr td:last-child, .yfm table tr th:last-child {\n border-right: none;\n}\n.yfm hr {\n box-sizing: content-box;\n height: 0.25em;\n padding: 0;\n margin: 1.5em 0;\n overflow: hidden;\n background-color: rgba(0, 0, 0, 0.07);\n border: none;\n}\n.yfm hr::before {\n content: \"\";\n display: table;\n}\n.yfm hr::after {\n content: \"\";\n display: table;\n clear: both;\n}\n.yfm blockquote {\n position: relative;\n padding-left: 12px;\n border-left: 3px solid #027bf3;\n}\n.yfm blockquote > *:first-child {\n margin-top: 0;\n}\n.yfm blockquote > *:last-child {\n margin-bottom: 0;\n}\n.yfm dl {\n padding: 0;\n}\n.yfm dl > *:first-child {\n margin-top: 0;\n}\n.yfm dl > *:last-child {\n margin-bottom: 0;\n}\n.yfm dl dt {\n margin-bottom: 5px;\n font-size: 1em;\n font-weight: 500;\n font-style: italic;\n}\n.yfm dl dd {\n margin-bottom: 15px;\n padding: 0 15px;\n}\n.yfm dd {\n margin-left: 0;\n}\n.yfm dd > ol:first-child, .yfm dd > ul:first-child, .yfm dd > dd:first-child {\n padding-left: 0;\n}\n.yfm ul, .yfm ol {\n padding-left: 2.2em;\n}\n.yfm ul ul,\n.yfm ul ol,\n.yfm ol ol,\n.yfm ol ul {\n margin-top: 0;\n margin-bottom: 0;\n}\n.yfm:not(.yfm_no-list-reset) ol {\n list-style-type: none;\n counter-reset: list-item;\n}\n.yfm:not(.yfm_no-list-reset) ol > li {\n position: relative;\n counter-increment: list;\n}\n.yfm:not(.yfm_no-list-reset) ol > li::before {\n position: absolute;\n right: 100%;\n margin-right: 4px;\n content: counters(list, \".\") \". \";\n}\n.yfm li {\n word-wrap: break-word;\n}\n.yfm li + li {\n margin-top: 0.33em;\n}\n.yfm li p,\n.yfm li blockquote {\n margin-top: 15px;\n}\n.yfm code {\n padding: 0.1em 0.4em 0.15em;\n background-color: rgba(107, 132, 153, 0.12);\n border-radius: 4px;\n font-size: 0.875em;\n white-space: normal;\n color: rgb(59, 96, 128);\n}\n.yfm pre {\n word-wrap: normal;\n}\n.yfm table code {\n white-space: nowrap;\n}\n.yfm pre * code {\n display: inline;\n padding: 0;\n margin: 0;\n overflow: visible;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n color: rgba(0, 0, 0, 0.7);\n}\n.yfm pre > code {\n display: block;\n padding: 16px;\n overflow: auto;\n background-color: rgba(107, 132, 153, 0.12);\n color: rgba(0, 0, 0, 0.7);\n white-space: pre;\n}\n.yfm sup, .yfm sub {\n line-height: 0;\n}\n.yfm .visually-hidden {\n position: absolute;\n overflow: hidden;\n clip: rect(0 0 0 0);\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n white-space: nowrap;\n border: 0;\n clip-path: inset(100%);\n}\n\n.yfm .yfm-note {\n max-width: 1296px;\n margin: 20px 0;\n padding: 20px 20px 20px 64px;\n border-radius: 10px;\n}\n.yfm .yfm-note .yfm-note-title {\n font-weight: 700;\n}\n.yfm .yfm-note > p {\n margin: 0 0 10px 0;\n}\n.yfm .yfm-note > p:first-child::before {\n box-sizing: content-box;\n display: block;\n width: 24px;\n height: 24px;\n margin-top: -2px;\n margin-left: -44px;\n padding-right: 20px;\n float: left;\n}\n.yfm .yfm-note > p:last-child {\n margin-bottom: 0;\n}\n.yfm .yfm-note.yfm-accent-info > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(2,123,243)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-tip > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(86,189,103)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-alert > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(255,70,69)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-warning > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(241,149,24)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-info {\n background: rgba(2, 123, 243, 0.08);\n}\n.yfm .yfm-note.yfm-accent-tip {\n background: rgba(63, 201, 46, 0.1);\n}\n.yfm .yfm-note.yfm-accent-alert {\n background: rgba(235, 50, 38, 0.08);\n}\n.yfm .yfm-note.yfm-accent-warning {\n background: rgba(255, 136, 0, 0.15);\n}\n\n.yfm h1 .yfm-anchor, .yfm h2 .yfm-anchor, .yfm h3 .yfm-anchor, .yfm h4 .yfm-anchor, .yfm h5 .yfm-anchor, .yfm h6 .yfm-anchor {\n display: inline-block;\n width: 24px;\n padding-right: 4px;\n margin-left: -24px;\n float: left;\n text-align: center;\n font-size: 18px;\n}\n.yfm h1 .yfm-anchor::before, .yfm h2 .yfm-anchor::before, .yfm h3 .yfm-anchor::before, .yfm h4 .yfm-anchor::before, .yfm h5 .yfm-anchor::before, .yfm h6 .yfm-anchor::before {\n content: \"#\";\n visibility: hidden;\n}\n.yfm h1:hover .yfm-anchor::before, .yfm h2:hover .yfm-anchor::before, .yfm h3:hover .yfm-anchor::before, .yfm h4:hover .yfm-anchor::before, .yfm h5:hover .yfm-anchor::before, .yfm h6:hover .yfm-anchor::before {\n visibility: visible;\n}\n.yfm table h1 .yfm-anchor, .yfm table h2 .yfm-anchor, .yfm table h3 .yfm-anchor, .yfm table h4 .yfm-anchor, .yfm table h5 .yfm-anchor, .yfm table h6 .yfm-anchor {\n width: 1em;\n margin-left: -1em;\n padding-right: 0;\n}\n\n.yfm .hljs {\n display: block;\n overflow-x: auto;\n padding: 16px;\n background: rgba(107, 132, 153, 0.12);\n background: var(--yfm-color-hljs-background);\n}\n.yfm .hljs,\n.yfm .hljs-subst {\n color: #444;\n color: var(--yfm-color-hljs-subst);\n}\n.yfm .hljs-comment {\n color: #888888;\n color: var(--yfm-color-hljs-comment);\n}\n.yfm .hljs-keyword,\n.yfm .hljs-attribute,\n.yfm .hljs-selector-tag,\n.yfm .hljs-meta-keyword,\n.yfm .hljs-doctag,\n.yfm .hljs-name {\n font-weight: bold;\n}\n.yfm .hljs-type,\n.yfm .hljs-string,\n.yfm .hljs-number,\n.yfm .hljs-selector-id,\n.yfm .hljs-selector-class,\n.yfm .hljs-quote,\n.yfm .hljs-template-tag,\n.yfm .hljs-deletion {\n color: #880000;\n color: var(--yfm-color-hljs-deletion);\n}\n.yfm .hljs-title,\n.yfm .hljs-section {\n color: #880000;\n color: var(--yfm-color-hljs-section);\n font-weight: bold;\n}\n.yfm .hljs-regexp,\n.yfm .hljs-symbol,\n.yfm .hljs-variable,\n.yfm .hljs-template-variable,\n.yfm .hljs-link,\n.yfm .hljs-selector-attr,\n.yfm .hljs-selector-pseudo {\n color: #BC6060;\n color: var(--yfm-color-hljs-pseudo);\n}\n.yfm .hljs-literal {\n color: #78A960;\n color: var(--yfm-color-hljs-literal);\n}\n.yfm .hljs-built_in,\n.yfm .hljs-bullet,\n.yfm .hljs-code,\n.yfm .hljs-addition {\n color: #397300;\n color: var(--yfm-color-hljs-addition);\n}\n.yfm .hljs-meta {\n color: #1f7199;\n color: var(--yfm-color-hljs-meta);\n}\n.yfm .hljs-meta-string {\n color: #4d99bf;\n color: var(--yfm-color-hljs-meta-string);\n}\n.yfm .hljs-emphasis {\n font-style: italic;\n}\n.yfm .hljs-strong {\n font-weight: bold;\n}\n\n.yfm-clipboard {\n position: relative;\n}\n.yfm-clipboard:hover .yfm-clipboard-button {\n display: block;\n}\n.yfm-clipboard > pre {\n border-radius: 10px;\n overflow: hidden;\n}\n.yfm-clipboard-button {\n display: none;\n position: absolute;\n cursor: pointer;\n top: 16px;\n right: 16px;\n z-index: 1;\n}\n\n.yfm-cut-title {\n cursor: pointer;\n position: relative;\n user-select: none;\n padding: 5px 0 5px 30px;\n}\n.yfm-cut-title:before {\n content: \"\";\n z-index: 1;\n left: 0;\n top: 50%;\n background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+CiAgICA8cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZmlsbD0ibm9uZSIgZD0iTTMgNmw1IDUgNS01Ii8+Cjwvc3ZnPgo=\");\n transform: translateY(-50%) rotate(-90deg);\n transition: transform 0.3s ease;\n height: 20px;\n width: 20px;\n position: absolute;\n}\n.yfm-cut-content {\n display: none;\n overflow: hidden;\n transition: height 0.3s ease-in-out;\n}\n.yfm-cut.open > .yfm-cut-content {\n display: revert;\n padding: 5px 0 15px 30px;\n}\n.yfm-cut.open > .yfm-cut-title:before {\n transform: translateY(-50%);\n}\n\n/**\n Public CSS variables:\n --yfm-file-icon sets file icon image\n --yfm-file-icon-color sets file icon color\n*/\n.yfm-file__icon {\n ---yfm-file-icon-img: var(--yfm-file-icon, url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zNjkuOSA5Ny45TDI4NiAxNEMyNzcgNSAyNjQuOC0uMSAyNTIuMS0uMUg0OEMyMS41IDAgMCAyMS41IDAgNDh2NDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI4OGMyNi41IDAgNDgtMjEuNSA0OC00OFYxMzEuOWMwLTEyLjctNS4xLTI1LTE0LjEtMzR6bS0yMi42IDIyLjdjMi4xIDIuMSAzLjUgNC42IDQuMiA3LjRIMjU2VjMyLjVjMi44LjcgNS4zIDIuMSA3LjQgNC4ybDgzLjkgODMuOXpNMzM2IDQ4MEg0OGMtOC44IDAtMTYtNy4yLTE2LTE2VjQ4YzAtOC44IDcuMi0xNiAxNi0xNmgxNzZ2MTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDEwNHYzMDRjMCA4LjgtNy4yIDE2LTE2IDE2em0tNDgtMjQ0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyeiIvPjwvc3ZnPg==\"));\n display: inline-block;\n user-select: none;\n width: 16px;\n margin: 0 2px;\n color: var(--yfm-file-icon-color, rgba(0, 0, 0, 0.7));\n background-color: currentColor;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100%;\n mask-image: var(---yfm-file-icon-img);\n mask-position: center;\n mask-repeat: no-repeat;\n}\n.yfm-file__icon::before {\n content: \" \";\n}\n\n.yfm-term_title {\n color: #027bf3;\n cursor: pointer;\n border-bottom: 1px dotted;\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n}\n.yfm-term_title:hover {\n color: #004080;\n}\n.yfm-term_dfn {\n position: absolute;\n z-index: 1000;\n width: fit-content;\n max-width: 450px;\n visibility: hidden;\n opacity: 0;\n padding: 10px;\n background-color: rgb(255, 255, 255);\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n border-radius: 4px;\n box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);\n outline: none;\n}\n@media screen and (max-width: 600px) {\n .yfm-term_dfn {\n max-width: 80%;\n }\n}\n.yfm-term_dfn::before {\n content: \"\";\n position: absolute;\n z-index: -1;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n border-radius: inherit;\n box-shadow: 0 0 0 1px rgb(229, 229, 229);\n}\n.yfm-term_dfn.open {\n visibility: visible;\n animation-name: popup;\n animation-duration: 0.1s;\n animation-timing-function: ease-out;\n animation-fill-mode: forwards;\n}\n@keyframes popup {\n 0% {\n opacity: 0;\n transform: translateY(10px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.yfm-tabs {\n margin-bottom: 15px;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-tabs ol {\n counter-reset: tabs-list;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-tabs ol > li {\n counter-increment: tabs-list;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-tabs ol > li:before {\n content: counters(tabs-list, \".\") \". \";\n}\n\n.yfm-tab-list {\n display: flex;\n flex-wrap: wrap;\n margin-bottom: 15px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.07);\n}\n\n.yfm-tab {\n margin-bottom: -1px;\n margin-right: 20px;\n border-bottom: 2px solid transparent;\n padding: 6px 0 7px;\n font-weight: 700;\n outline: none;\n cursor: pointer;\n user-select: none;\n white-space: break-spaces;\n}\n\n.yfm-tab:last-child {\n margin-right: 0;\n}\n\n.yfm-tab:hover, .yfm-tab:active {\n color: #004080;\n}\n\n.yfm-tab.active {\n border-bottom-color: #027bf3;\n}\n\n.yfm-tab-panel {\n visibility: hidden;\n height: 0;\n}\n\n.yfm-tab-panel:first-child {\n margin-top: 0 !important;\n}\n\n.yfm-tab-panel:last-child {\n margin-bottom: 0 !important;\n}\n\n.yfm-tab-panel.active {\n visibility: visible;\n height: auto;\n}\n\n\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvdHJhbnNmb3JtL3RyYW5zZm9ybS9zcmMvc2NzcyIsInNvdXJjZXMiOlsiX2NvbW1vbi5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX25vdGUuc2NzcyIsIl9hbmNob3Iuc2NzcyIsIl9oaWdobGlnaHQuc2NzcyIsIl9jb2RlLnNjc3MiLCJfY3V0LnNjc3MiLCJfZmlsZS5zY3NzIiwiX3Rlcm0uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZGlwbG9kb2MvdGFicy1leHRlbnNpb24vcnVudGltZS9pbmRleC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQ0pRO0FENldSO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0VBMEJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUE1WUE7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQSxPQ3pETTtFRDBETjs7QUFFQTtFQUNJLE9DL0NLOztBRGtEVDtFQUNJOztBQUtSO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBSVI7RUFDSSxrQkMzRkk7O0FEOEZSO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBT0k7O0FBSUE7RUFDSTs7QUFJUjtBQUFBO0FBQUE7RUFHSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7O0FBSVI7RUFDSTtFQUVBO0VB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QUNBOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQVFBO0VBQ0E7RUFFQTtFQUVBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQUNBOztBQXBCQTtFQUNJO0lBQ0k7OztBQW9CUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QUFHSjtFQUNJO0VBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOzs7O0FDekVwQjtFQUFVOzs7QUFBbUI7RUFBMEM7OztBQUF3QjtFQUE2Qzs7O0FBQTRCO0VBQW9EOzs7QUFBcUM7RUFBYztFQUFhO0VBQWU7RUFBbUI7OztBQUF3QztFQUFTO0VBQW1CO0VBQWtCO0VBQW9DO0VBQWtCO0VBQWdCO0VBQWE7RUFBZTtFQUFpQjs7O0FBQXlCO0VBQW9COzs7QUFBZTtFQUErQjs7O0FBQWM7RUFBZ0I7OztBQUE0QjtFQUFlO0VBQWtCOzs7QUFBUztFQUEyQjs7O0FBQXVCO0VBQTBCOzs7QUFBMEI7RUFBc0I7RUFBbUI7OztBQUNyMUIiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4ueWZtIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0teWZtLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgY29sb3I6ICR0ZXh0Q29sb3I7XG5cbiAgICAqIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAmID4gKjpub3QoaDIpOm5vdChoMyk6bm90KGg0KTpub3QoaDUpOm5vdChoNik6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIGg2IHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkbGlua0NvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlciwgJjphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICRsaW5rSG92ZXJDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KFtocmVmXSkge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgaW1nLCBzdmcge1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgJlthbGlnbj1yaWdodF0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJlthbGlnbj1sZWZ0XSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2VDb2xvcjtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmthdGV4IHN2ZyB7XG4gICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICBpbWcgKyBzbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIHAsXG4gICAgYmxvY2txdW90ZSxcbiAgICB1bCxcbiAgICBvbCxcbiAgICBkbCxcbiAgICB0YWJsZSxcbiAgICBwcmUge1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgfVxuXG4gICAgdWwsIG9sLCBkbCB7XG4gICAgICAgICYgcHJlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBwcmUge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0teWZtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgICAgICAgJlt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMXB4O1xuXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRhYmxlIHtcbiAgICAgICAgY29sb3I6ICMzMzM7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXJDb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJGJhc2VDb2xvcjtcblxuICAgICAgICB0aGVhZCwgdHI6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGVSb3dCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZCwgdGgge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRkLCB0aCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgdGgsIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXJDb2xvcjtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0ciB0ZDpmaXJzdC1jaGlsZCwgdHIgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgdHIgdGQ6bGFzdC1jaGlsZCwgdHIgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBociB7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBoZWlnaHQ6IDAuMjVlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAxLjVlbSAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXJDb2xvcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRhY2NlbnRDb2xvcjtcblxuICAgICAgICAmID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBkdCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cblxuICAgICAgICBkZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAmID4gb2w6Zmlyc3QtY2hpbGQsXG4gICAgICAgICYgPiB1bDpmaXJzdC1jaGlsZCxcbiAgICAgICAgJiA+IGRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsLCBvbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi4yZW07XG4gICAgfVxuXG4gICAgdWwgdWwsXG4gICAgdWwgb2wsXG4gICAgb2wgb2wsXG4gICAgb2wgdWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICY6bm90KC55Zm1fbm8tbGlzdC1yZXNldCkge1xuICAgICAgICBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICBjb3VudGVyLXJlc2V0OiBsaXN0LWl0ZW07XG5cbiAgICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0O1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXJzKGxpc3QsICcuJykgJy4gJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4zM2VtO1xuICAgIH1cblxuICAgIGxpIHAsXG4gICAgbGkgYmxvY2txdW90ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgfVxuXG4gICAgY29kZSB7XG4gICAgICAgIHBhZGRpbmc6IDAuMWVtIDAuNGVtIDAuMTVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlubGluZUNvZGVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogJGlubGluZUNvZGVDb2xvcjtcbiAgICB9XG5cbiAgICBwcmUge1xuICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICB9XG5cbiAgICB0YWJsZSBjb2RlIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICBwcmUgKiBjb2RlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6ICR0ZXh0Q29sb3I7XG4gICAgfVxuXG4gICAgcHJlID4gY29kZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZUJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgY29sb3I6ICR0ZXh0Q29sb3I7XG5cbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB9XG5cbiAgICBzdXAsIHN1YiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qXG4gICAgICAgIEhpZGVzIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBsZWF2ZXMgaXQgdmlzaWJsZSBmb3Igc2VhcmNoIGNyYXdsZXJzIGFuZCBzY3JlZW4gcmVhZGVyc1xuXG4gICAgICAgIGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4gICAgICAgIGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuICAgICovXG4gICAgLnZpc3VhbGx5LWhpZGRlbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuXG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG5cbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDEwMCUpO1xuICAgIH1cblxuICAgIC8vIGhpZ2hsaWdodC5qcyBjb2xvcnNcbiAgICAtLXlmbS1jb2xvci1obGpzLWJhY2tncm91bmQ6ICN7JGNvZGVCYWNrZ3JvdW5kQ29sb3J9O1xuICAgIC0teWZtLWNvbG9yLWhsanMtc3Vic3Q6ICM0NDQ7XG4gICAgLS15Zm0tY29sb3ItaGxqcy1jb21tZW50OiAjODg4ODg4O1xuICAgIC0teWZtLWNvbG9yLWhsanMtZGVsZXRpb246ICM4ODAwMDA7XG4gICAgLS15Zm0tY29sb3ItaGxqcy1zZWN0aW9uOiAjODgwMDAwO1xuICAgIC0teWZtLWNvbG9yLWhsanMtcHNldWRvOiAjQkM2MDYwO1xuICAgIC0teWZtLWNvbG9yLWhsanMtbGl0ZXJhbDogIzc4QTk2MDtcbiAgICAtLXlmbS1jb2xvci1obGpzLWFkZGl0aW9uOiAjMzk3MzAwO1xuICAgIC0teWZtLWNvbG9yLWhsanMtbWV0YTogIzFmNzE5OTtcbiAgICAtLXlmbS1jb2xvci1obGpzLW1ldGEtc3RyaW5nOiAjNGQ5OWJmO1xuICAgIC0teWZtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogXCJNZW5sb1wiLCBcIk1vbmFjb1wiLCBcIkNvbnNvbGFzXCIsIFwiVWJ1bnR1IE1vbm9cIiwgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJEZWphVnUgU2FucyBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcbiAgICAtLXlmbS1mb250LWZhbWlseS1zYW5zOiAnU2Vnb2UgVUknLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCAnU2Vnb2UgVUkgU3ltYm9sJztcbn1cbiIsIiRiYXNlQ29sb3I6ICNmZmZmZmY7XG4kYWNjZW50Q29sb3I6ICMwMjdiZjM7XG5cbiR0ZXh0Q29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiRib3JkZXJDb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiRiYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG5cbiRpbmxpbmVDb2RlQ29sb3I6IHJnYmEoNTksIDk2LCAxMjgsIDEpO1xuJGlubGluZUNvZGVCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMTA3LCAxMzIsIDE1MywgMC4xMik7XG5cbiRjb2RlQmFja2dyb3VuZENvbG9yOiByZ2JhKDEwNywgMTMyLCAxNTMsIDAuMTIpO1xuXG4kdGFibGVSb3dCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG5cbiRsaW5rQ29sb3I6ICRhY2NlbnRDb2xvcjtcbiRsaW5rSG92ZXJDb2xvcjogIzAwNDA4MDtcbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbiRpbmZvQ29sb3I6ICRhY2NlbnRDb2xvcjtcbiR0aXBDb2xvcjogIzU2YmQ2NztcbiR3YXJuaW5nQ29sb3I6ICNmMTk1MTg7XG4kaW1wb3J0YW50Q29sb3I6ICNmZjQ2NDU7XG5cbiRpbmZvQmFja2dyb3VuZENvbG9yOiByZ2JhKDIsIDEyMywgMjQzLCAwLjA4KTtcbiR0aXBCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoNjMsIDIwMSwgNDYsIDAuMSk7XG4kd2FybmluZ0JhY2tncm91bmRDb2xvcjogcmdiYSgyNTUsIDEzNiwgMCwgMC4xNSk7XG4kaW1wb3J0YW50QmFja2dyb3VuZENvbG9yOiByZ2JhKDIzNSwgNTAsIDM4LCAwLjA4KTtcblxuLnlmbSAueWZtLW5vdGUge1xuICAgIG1heC13aWR0aDogMTI5NnB4O1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDY0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcblxuICAgIC55Zm0tbm90ZS10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgJiA+IHAge1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAkY29sb3JzOiAoXG4gICAgICAgIHlmbS1hY2NlbnQtaW5mbzogJGluZm9Db2xvcixcbiAgICAgICAgeWZtLWFjY2VudC10aXA6ICR0aXBDb2xvcixcbiAgICAgICAgeWZtLWFjY2VudC1hbGVydDogJGltcG9ydGFudENvbG9yLFxuICAgICAgICB5Zm0tYWNjZW50LXdhcm5pbmc6ICR3YXJuaW5nQ29sb3JcbiAgICApO1xuXG4gICAgQGVhY2ggJHR5cGUsICRjb2xvciBpbiAkY29sb3JzIHtcbiAgICAgICAgJi4jeyR0eXBlfSA+IHA6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAkcjogcmVkKCRjb2xvcik7XG4gICAgICAgICAgICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgICAgICAgICAgICRiOiBibHVlKCRjb2xvcik7XG4gICAgICAgICAgICAkcmdiQ29sb3I6ICdyZ2IoJyArICRyICsgJywnICsgJGcgKyAnLCcgKyAkYiArICcpJztcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiJTNFJTNDY2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCI4XCIgZmlsbD1cIicgKyAkcmdiQ29sb3IgKyAnXCIvJTNFJTNDcmVjdCB3aWR0aD1cIjFcIiBoZWlnaHQ9XCI1XCIgeD1cIjcuNVwiIHk9XCI2LjVcIiBzdHJva2U9XCIlMjNmZmZcIiByeD1cIi41XCIvJTNFJTNDY2lyY2xlIGN4PVwiOFwiIGN5PVwiNFwiIHI9XCIxXCIgZmlsbD1cIiUyM2ZmZlwiLyUzRSUzQy9zdmclM0UnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICRiYWNrZ3JvdW5kQ29sb3JzOiAoXG4gICAgICAgIHlmbS1hY2NlbnQtaW5mbzogJGluZm9CYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgIHlmbS1hY2NlbnQtdGlwOiAkdGlwQmFja2dyb3VuZENvbG9yLFxuICAgICAgICB5Zm0tYWNjZW50LWFsZXJ0OiAkaW1wb3J0YW50QmFja2dyb3VuZENvbG9yLFxuICAgICAgICB5Zm0tYWNjZW50LXdhcm5pbmc6ICR3YXJuaW5nQmFja2dyb3VuZENvbG9yXG4gICAgKTtcblxuICAgIEBlYWNoICR0eXBlLCAkY29sb3IgaW4gJGJhY2tncm91bmRDb2xvcnMge1xuICAgICAgICAmLiN7JHR5cGV9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi55Zm0ge1xuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICAueWZtLWFuY2hvciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAueWZtLWFuY2hvcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcjJztcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgLnlmbS1hbmNob3I6OmJlZm9yZSB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgICAgIC55Zm0tYW5jaG9yIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLnlmbSB7XG4gICAgLmhsanMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvZGVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXlmbS1jb2xvci1obGpzLWJhY2tncm91bmQpO1xuICAgIH1cblxuICAgIC5obGpzLFxuICAgIC5obGpzLXN1YnN0IHtcbiAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1zdWJzdCk7XG4gICAgfVxuXG4gICAgLmhsanMtY29tbWVudCB7XG4gICAgICAgIGNvbG9yOiAjODg4ODg4O1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtY29tbWVudCk7XG4gICAgfVxuXG5cbiAgICAuaGxqcy1rZXl3b3JkLFxuICAgIC5obGpzLWF0dHJpYnV0ZSxcbiAgICAuaGxqcy1zZWxlY3Rvci10YWcsXG4gICAgLmhsanMtbWV0YS1rZXl3b3JkLFxuICAgIC5obGpzLWRvY3RhZyxcbiAgICAuaGxqcy1uYW1lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmhsanMtdHlwZSxcbiAgICAuaGxqcy1zdHJpbmcsXG4gICAgLmhsanMtbnVtYmVyLFxuICAgIC5obGpzLXNlbGVjdG9yLWlkLFxuICAgIC5obGpzLXNlbGVjdG9yLWNsYXNzLFxuICAgIC5obGpzLXF1b3RlLFxuICAgIC5obGpzLXRlbXBsYXRlLXRhZyxcbiAgICAuaGxqcy1kZWxldGlvbiB7XG4gICAgICAgIGNvbG9yOiAjODgwMDAwO1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtZGVsZXRpb24pO1xuICAgIH1cblxuICAgIC5obGpzLXRpdGxlLFxuICAgIC5obGpzLXNlY3Rpb24ge1xuICAgICAgICBjb2xvcjogIzg4MDAwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci1obGpzLXNlY3Rpb24pO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAuaGxqcy1yZWdleHAsXG4gICAgLmhsanMtc3ltYm9sLFxuICAgIC5obGpzLXZhcmlhYmxlLFxuICAgIC5obGpzLXRlbXBsYXRlLXZhcmlhYmxlLFxuICAgIC5obGpzLWxpbmssXG4gICAgLmhsanMtc2VsZWN0b3ItYXR0cixcbiAgICAuaGxqcy1zZWxlY3Rvci1wc2V1ZG8ge1xuICAgICAgICBjb2xvcjogI0JDNjA2MDtcbiAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci1obGpzLXBzZXVkbyk7XG4gICAgfVxuXG5cbiAgICAuaGxqcy1saXRlcmFsIHtcbiAgICAgICAgY29sb3I6ICM3OEE5NjA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1saXRlcmFsKTtcbiAgICB9XG5cbiAgICAuaGxqcy1idWlsdF9pbixcbiAgICAuaGxqcy1idWxsZXQsXG4gICAgLmhsanMtY29kZSxcbiAgICAuaGxqcy1hZGRpdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjMzk3MzAwO1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtYWRkaXRpb24pO1xuICAgIH1cblxuXG4gICAgLmhsanMtbWV0YSB7XG4gICAgICAgIGNvbG9yOiAjMWY3MTk5O1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtbWV0YSk7XG4gICAgfVxuXG4gICAgLmhsanMtbWV0YS1zdHJpbmcge1xuICAgICAgICBjb2xvcjogIzRkOTliZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci1obGpzLW1ldGEtc3RyaW5nKTtcbiAgICB9XG5cblxuICAgIC5obGpzLWVtcGhhc2lzIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC5obGpzLXN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cbiIsIi55Zm0ge1xuICAgICYtY2xpcGJvYXJkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6aG92ZXIgJi1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gcHJlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jbGlwYm9hcmQtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuIiwiLnlmbS1jdXQge1xuICAgICRjbGFzczogJjtcblxuICAgICYtdGl0bGUge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAzMHB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TmlBeE5pSStDaUFnSUNBOGNHRjBhQ0J6ZEhKdmEyVTlJbU4xY25KbGJuUkRiMnh2Y2lJZ1ptbHNiRDBpYm05dVpTSWdaRDBpVFRNZ05tdzFJRFVnTlMwMUlpOCtDand2YzNablBnbz1cIik7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAmLm9wZW4ge1xuICAgICAgICA+ICN7JGNsYXNzfS1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHJldmVydDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDE1cHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gI3skY2xhc3N9LXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuJGRlZmF1bHRJY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBek9EUWdOVEV5SWo0OGNHRjBhQ0JtYVd4c1BTSmpkWEp5Wlc1MFEyOXNiM0lpSUdROUlrMHpOamt1T1NBNU55NDVUREk0TmlBeE5FTXlOemNnTlNBeU5qUXVPQzB1TVNBeU5USXVNUzB1TVVnME9FTXlNUzQxSURBZ01DQXlNUzQxSURBZ05EaDJOREUyWXpBZ01qWXVOU0F5TVM0MUlEUTRJRFE0SURRNGFESTRPR015Tmk0MUlEQWdORGd0TWpFdU5TQTBPQzAwT0ZZeE16RXVPV013TFRFeUxqY3ROUzR4TFRJMUxURTBMakV0TXpSNmJTMHlNaTQySURJeUxqZGpNaTR4SURJdU1TQXpMalVnTkM0MklEUXVNaUEzTGpSSU1qVTJWak15TGpWak1pNDRMamNnTlM0eklESXVNU0EzTGpRZ05DNHliRGd6TGprZ09ETXVPWHBOTXpNMklEUTRNRWcwT0dNdE9DNDRJREF0TVRZdE55NHlMVEUyTFRFMlZqUTRZekF0T0M0NElEY3VNaTB4TmlBeE5pMHhObWd4TnpaMk1UQTBZekFnTVRNdU15QXhNQzQzSURJMElESTBJREkwYURFd05IWXpNRFJqTUNBNExqZ3ROeTR5SURFMkxURTJJREUyZW0wdE5EZ3RNalEwZGpoak1DQTJMall0TlM0MElERXlMVEV5SURFeVNERXdPR010Tmk0MklEQXRNVEl0TlM0MExURXlMVEV5ZGkwNFl6QXROaTQySURVdU5DMHhNaUF4TWkweE1tZ3hOamhqTmk0MklEQWdNVElnTlM0MElERXlJREV5ZW0wd0lEWTBkamhqTUNBMkxqWXROUzQwSURFeUxURXlJREV5U0RFd09HTXROaTQySURBdE1USXROUzQwTFRFeUxURXlkaTA0WXpBdE5pNDJJRFV1TkMweE1pQXhNaTB4TW1neE5qaGpOaTQySURBZ01USWdOUzQwSURFeUlERXllbTB3SURZMGRqaGpNQ0EyTGpZdE5TNDBJREV5TFRFeUlERXlTREV3T0dNdE5pNDJJREF0TVRJdE5TNDBMVEV5TFRFeWRpMDRZekF0Tmk0MklEVXVOQzB4TWlBeE1pMHhNbWd4Tmpoak5pNDJJREFnTVRJZ05TNDBJREV5SURFeWVpSXZQand2YzNablBnPT1cIik7XG5cbi8qKlxuICAgIFB1YmxpYyBDU1MgdmFyaWFibGVzOlxuICAgIC0teWZtLWZpbGUtaWNvbiAgICAgICAgICAgICBzZXRzIGZpbGUgaWNvbiBpbWFnZVxuICAgIC0teWZtLWZpbGUtaWNvbi1jb2xvciAgICAgICBzZXRzIGZpbGUgaWNvbiBjb2xvclxuKi9cblxuLnlmbS1maWxlIHtcbiAgICAmX19pY29uIHtcbiAgICAgICAgLS0teWZtLWZpbGUtaWNvbi1pbWc6IHZhcigtLXlmbS1maWxlLWljb24sICN7JGRlZmF1bHRJY29ufSk7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgbWFyZ2luOiAwIDJweDtcblxuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWZpbGUtaWNvbi1jb2xvciwgI3skdGV4dENvbG9yfSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG5cbiAgICAgICAgbWFzay1pbWFnZTogdmFyKC0tLXlmbS1maWxlLWljb24taW1nKTtcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxhMCc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIueWZtLXRlcm0ge1xuICAgICZfdGl0bGUge1xuICAgICAgICBjb2xvcjogIzAyN2JmMztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG5cbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICMwMDQwODA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX2RmbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcblxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1heC13aWR0aDogNDUwcHg7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYigyMjksIDIyOSwgMjI5KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogcG9wdXA7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMXM7XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuXG4gICAgICAgICAgICBAa2V5ZnJhbWVzIHBvcHVwIHtcbiAgICAgICAgICAgICAgICAwJSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIueWZtLXRhYnN7bWFyZ2luLWJvdHRvbToxNXB4fS55Zm06bm90KC55Zm1fbm8tbGlzdC1yZXNldCkgLnlmbS10YWJzIG9se2NvdW50ZXItcmVzZXQ6dGFicy1saXN0fS55Zm06bm90KC55Zm1fbm8tbGlzdC1yZXNldCkgLnlmbS10YWJzIG9sPmxpe2NvdW50ZXItaW5jcmVtZW50OnRhYnMtbGlzdH0ueWZtOm5vdCgueWZtX25vLWxpc3QtcmVzZXQpIC55Zm0tdGFicyBvbD5saTpiZWZvcmV7Y29udGVudDpjb3VudGVycyh0YWJzLWxpc3QsXCIuXCIpIFwiLiBcIn0ueWZtLXRhYi1saXN0e2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDttYXJnaW4tYm90dG9tOjE1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMDcpfS55Zm0tdGFie21hcmdpbi1ib3R0b206LTFweDttYXJnaW4tcmlnaHQ6MjBweDtib3JkZXItYm90dG9tOjJweCBzb2xpZCB0cmFuc3BhcmVudDtwYWRkaW5nOjZweCAwIDdweDtmb250LXdlaWdodDo3MDA7b3V0bGluZTpub25lO2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmU7d2hpdGUtc3BhY2U6YnJlYWstc3BhY2VzfS55Zm0tdGFiOmxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjB9LnlmbS10YWI6aG92ZXIsLnlmbS10YWI6YWN0aXZle2NvbG9yOiMwMDQwODB9LnlmbS10YWIuYWN0aXZle2JvcmRlci1ib3R0b20tY29sb3I6IzAyN2JmM30ueWZtLXRhYi1wYW5lbHt2aXNpYmlsaXR5OmhpZGRlbjtoZWlnaHQ6MH0ueWZtLXRhYi1wYW5lbDpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjAhaW1wb3J0YW50fS55Zm0tdGFiLXBhbmVsOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ueWZtLXRhYi1wYW5lbC5hY3RpdmV7dmlzaWJpbGl0eTp2aXNpYmxlO2hlaWdodDphdXRvfVxuLyojIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguY3NzLm1hcCAqL1xuIl19 */", "@import 'variables';\n\n.yfm {\n font-family: var(--yfm-font-family-sans);\n font-size: 15px;\n line-height: 20px;\n word-wrap: break-word;\n color: $textColor;\n\n * {\n box-sizing: border-box;\n }\n\n & > *:not(h2):not(h3):not(h4):not(h5):not(h6):first-child {\n margin-top: 0 !important;\n }\n\n & > *:last-child {\n margin-bottom: 0 !important;\n }\n\n h1, h2, h3, h4, h5, h6 {\n margin-bottom: 15px;\n font-weight: 500;\n }\n\n h1 {\n font-size: 32px;\n line-height: 40px;\n }\n\n h2 {\n font-size: 24px;\n line-height: 28px;\n }\n\n h3 {\n font-size: 20px;\n line-height: 24px;\n }\n\n h4 {\n font-size: 17px;\n line-height: 24px;\n }\n\n h5 {\n font-size: 15px;\n line-height: 20px;\n }\n\n h6 {\n font-size: 13px;\n line-height: 18px;\n }\n\n a {\n background-color: transparent;\n color: $linkColor;\n text-decoration: none;\n\n &:hover, &:active {\n color: $linkHoverColor;\n }\n\n &:not([href]) {\n color: inherit;\n }\n\n }\n\n strong {\n font-weight: 700;\n }\n\n img, svg {\n box-sizing: content-box;\n max-width: 100%;\n border: none;\n vertical-align: middle;\n\n &[align=right] {\n padding-left: 20px;\n }\n\n &[align=left] {\n padding-right: 20px;\n }\n }\n\n img {\n background-color: $baseColor;\n }\n\n svg {\n height: auto;\n }\n\n .katex svg {\n height: initial;\n }\n\n img + small {\n display: block;\n }\n\n p,\n blockquote,\n ul,\n ol,\n dl,\n table,\n pre {\n margin: 0 0 15px 0;\n }\n\n ul, ol, dl {\n & pre {\n margin-top: 15px;\n }\n }\n\n code,\n kbd,\n pre {\n font-family: var(--yfm-font-family-monospace);\n font-size: 1em;\n font-feature-settings: normal;\n }\n\n input {\n margin: 0;\n overflow: visible;\n\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n\n &[type='checkbox'] {\n position: relative;\n top: 1px;\n\n box-sizing: border-box;\n padding: 0;\n }\n }\n\n table {\n color: #333;\n\n display: inline-block;\n max-width: 100%;\n width: auto;\n overflow: auto;\n position: relative;\n z-index: 1;\n\n box-sizing: border-box;\n border: 1px solid $borderColor;\n border-radius: 8px;\n border-collapse: collapse;\n border-spacing: 0;\n background: $baseColor;\n\n thead, tr:nth-child(2n) {\n background-color: $tableRowBackgroundColor;\n }\n\n tr:first-child {\n td, th {\n border-top: none;\n }\n }\n\n tr:last-child {\n td, th {\n border-bottom: none;\n }\n }\n\n\n th, td {\n padding: 10px 20px;\n overflow: hidden;\n text-overflow: ellipsis;\n border: 1px solid $borderColor;\n\n p {\n padding: 0;\n margin: 0;\n }\n }\n\n td {\n vertical-align: baseline;\n white-space: normal;\n }\n\n th {\n font-weight: 500;\n text-align: left;\n }\n\n tr td:first-child, tr th:first-child {\n border-left: none;\n }\n tr td:last-child, tr th:last-child {\n border-right: none;\n }\n }\n\n hr {\n box-sizing: content-box;\n height: 0.25em;\n padding: 0;\n margin: 1.5em 0;\n overflow: hidden;\n\n background-color: $borderColor;\n border: none;\n\n &::before {\n content: '';\n display: table;\n }\n\n &::after {\n content: '';\n display: table;\n clear: both;\n }\n }\n\n blockquote {\n position: relative;\n padding-left: 12px;\n border-left: 3px solid $accentColor;\n\n & > *:first-child {\n margin-top: 0;\n }\n\n & > *:last-child {\n margin-bottom: 0;\n }\n }\n\n dl {\n padding: 0;\n\n & > *:first-child {\n margin-top: 0;\n }\n\n & > *:last-child {\n margin-bottom: 0;\n }\n\n dt {\n margin-bottom: 5px;\n font-size: 1em;\n font-weight: 500;\n font-style: italic;\n }\n\n dd {\n margin-bottom: 15px;\n padding: 0 15px;\n }\n }\n\n dd {\n margin-left: 0;\n\n & > ol:first-child,\n & > ul:first-child,\n & > dd:first-child {\n padding-left: 0;\n }\n }\n\n ul, ol {\n padding-left: 2.2em;\n }\n\n ul ul,\n ul ol,\n ol ol,\n ol ul {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n &:not(.yfm_no-list-reset) {\n ol {\n list-style-type: none;\n counter-reset: list-item;\n\n & > li {\n position: relative;\n counter-increment: list;\n\n &::before {\n position: absolute;\n right: 100%;\n margin-right: 4px;\n content: counters(list, '.') '. ';\n }\n }\n }\n }\n\n li {\n word-wrap: break-word;\n }\n\n li + li {\n margin-top: 0.33em;\n }\n\n li p,\n li blockquote {\n margin-top: 15px;\n }\n\n code {\n padding: 0.1em 0.4em 0.15em;\n background-color: $inlineCodeBackgroundColor;\n border-radius: 4px;\n font-size: 0.875em;\n white-space: normal;\n color: $inlineCodeColor;\n }\n\n pre {\n word-wrap: normal;\n }\n\n table code {\n white-space: nowrap;\n }\n\n pre * code {\n display: inline;\n padding: 0;\n margin: 0;\n overflow: visible;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n color: $textColor;\n }\n\n pre > code {\n display: block;\n padding: 16px;\n overflow: auto;\n\n background-color: $codeBackgroundColor;\n color: $textColor;\n\n white-space: pre;\n }\n\n sup, sub {\n line-height: 0;\n }\n\n /*\n Hides element visually, but leaves it visible for search crawlers and screen readers\n\n https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n */\n .visually-hidden {\n position: absolute;\n\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n width: 1px;\n height: 1px;\n margin: -1px;\n\n padding: 0;\n\n white-space: nowrap;\n\n border: 0;\n\n clip-path: inset(100%);\n }\n\n // highlight.js colors\n --yfm-color-hljs-background: #{$codeBackgroundColor};\n --yfm-color-hljs-subst: #444;\n --yfm-color-hljs-comment: #888888;\n --yfm-color-hljs-deletion: #880000;\n --yfm-color-hljs-section: #880000;\n --yfm-color-hljs-pseudo: #BC6060;\n --yfm-color-hljs-literal: #78A960;\n --yfm-color-hljs-addition: #397300;\n --yfm-color-hljs-meta: #1f7199;\n --yfm-color-hljs-meta-string: #4d99bf;\n --yfm-font-family-monospace: \"Menlo\", \"Monaco\", \"Consolas\", \"Ubuntu Mono\", \"Liberation Mono\", \"DejaVu Sans Mono\", \"Courier New\", \"Courier\", monospace;\n --yfm-font-family-sans: 'Segoe UI', Arial, Helvetica, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n}\n", "$baseColor: #ffffff;\n$accentColor: #027bf3;\n\n$textColor: rgba(0, 0, 0, 0.7);\n$borderColor: rgba(0, 0, 0, 0.07);\n$backgroundColor: rgba(0, 0, 0, 0.02);\n\n$inlineCodeColor: rgba(59, 96, 128, 1);\n$inlineCodeBackgroundColor: rgba(107, 132, 153, 0.12);\n\n$codeBackgroundColor: rgba(107, 132, 153, 0.12);\n\n$tableRowBackgroundColor: rgba(0, 0, 0, 0.02);\n\n$linkColor: $accentColor;\n$linkHoverColor: #004080;\n", "@import 'variables';\n\n$infoColor: $accentColor;\n$tipColor: #56bd67;\n$warningColor: #f19518;\n$importantColor: #ff4645;\n\n$infoBackgroundColor: rgba(2, 123, 243, 0.08);\n$tipBackgroundColor: rgba(63, 201, 46, 0.1);\n$warningBackgroundColor: rgba(255, 136, 0, 0.15);\n$importantBackgroundColor: rgba(235, 50, 38, 0.08);\n\n.yfm .yfm-note {\n max-width: 1296px;\n margin: 20px 0;\n padding: 20px 20px 20px 64px;\n border-radius: 10px;\n\n .yfm-note-title {\n font-weight: 700;\n }\n\n & > p {\n margin: 0 0 10px 0;\n\n &:first-child {\n &::before {\n box-sizing: content-box;\n display: block;\n width: 24px;\n height: 24px;\n margin-top: -2px;\n margin-left: -44px;\n padding-right: 20px;\n float: left;\n }\n }\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n $colors: (\n yfm-accent-info: $infoColor,\n yfm-accent-tip: $tipColor,\n yfm-accent-alert: $importantColor,\n yfm-accent-warning: $warningColor\n );\n\n @each $type, $color in $colors {\n &.#{$type} > p:first-child::before {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n $rgbColor: 'rgb(' + $r + ',' + $g + ',' + $b + ')';\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"' + $rgbColor + '\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n }\n }\n\n $backgroundColors: (\n yfm-accent-info: $infoBackgroundColor,\n yfm-accent-tip: $tipBackgroundColor,\n yfm-accent-alert: $importantBackgroundColor,\n yfm-accent-warning: $warningBackgroundColor\n );\n\n @each $type, $color in $backgroundColors {\n &.#{$type} {\n background: $color;\n }\n }\n}\n", ".yfm {\n h1, h2, h3, h4, h5, h6 {\n .yfm-anchor {\n display: inline-block;\n width: 24px;\n padding-right: 4px;\n margin-left: -24px;\n float: left;\n\n text-align: center;\n font-size: 18px;\n }\n\n .yfm-anchor::before {\n content: '#';\n visibility: hidden;\n }\n\n &:hover .yfm-anchor::before {\n visibility: visible;\n }\n }\n\n table {\n h1, h2, h3, h4, h5, h6 {\n .yfm-anchor {\n width: 1em;\n margin-left: -1em;\n padding-right: 0;\n }\n }\n };\n}\n", "@import 'variables';\n\n.yfm {\n .hljs {\n display: block;\n overflow-x: auto;\n padding: 16px;\n background: $codeBackgroundColor;\n background: var(--yfm-color-hljs-background);\n }\n\n .hljs,\n .hljs-subst {\n color: #444;\n color: var(--yfm-color-hljs-subst);\n }\n\n .hljs-comment {\n color: #888888;\n color: var(--yfm-color-hljs-comment);\n }\n\n\n .hljs-keyword,\n .hljs-attribute,\n .hljs-selector-tag,\n .hljs-meta-keyword,\n .hljs-doctag,\n .hljs-name {\n font-weight: bold;\n }\n\n .hljs-type,\n .hljs-string,\n .hljs-number,\n .hljs-selector-id,\n .hljs-selector-class,\n .hljs-quote,\n .hljs-template-tag,\n .hljs-deletion {\n color: #880000;\n color: var(--yfm-color-hljs-deletion);\n }\n\n .hljs-title,\n .hljs-section {\n color: #880000;\n color: var(--yfm-color-hljs-section);\n font-weight: bold;\n }\n\n .hljs-regexp,\n .hljs-symbol,\n .hljs-variable,\n .hljs-template-variable,\n .hljs-link,\n .hljs-selector-attr,\n .hljs-selector-pseudo {\n color: #BC6060;\n color: var(--yfm-color-hljs-pseudo);\n }\n\n\n .hljs-literal {\n color: #78A960;\n color: var(--yfm-color-hljs-literal);\n }\n\n .hljs-built_in,\n .hljs-bullet,\n .hljs-code,\n .hljs-addition {\n color: #397300;\n color: var(--yfm-color-hljs-addition);\n }\n\n\n .hljs-meta {\n color: #1f7199;\n color: var(--yfm-color-hljs-meta);\n }\n\n .hljs-meta-string {\n color: #4d99bf;\n color: var(--yfm-color-hljs-meta-string);\n }\n\n\n .hljs-emphasis {\n font-style: italic;\n }\n\n .hljs-strong {\n font-weight: bold;\n }\n}\n", ".yfm {\n &-clipboard {\n position: relative;\n\n &:hover &-button {\n display: block;\n }\n\n & > pre {\n border-radius: 10px;\n overflow: hidden;\n }\n }\n\n &-clipboard-button {\n display: none;\n position: absolute;\n cursor: pointer;\n top: 16px;\n right: 16px;\n z-index: 1;\n }\n}\n", ".yfm-cut {\n $class: &;\n\n &-title {\n cursor: pointer;\n position: relative;\n user-select: none;\n padding: 5px 0 5px 30px;\n\n &:before {\n content: '';\n z-index: 1;\n left: 0;\n top: 50%;\n background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+CiAgICA8cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZmlsbD0ibm9uZSIgZD0iTTMgNmw1IDUgNS01Ii8+Cjwvc3ZnPgo=\");\n transform: translateY(-50%) rotate(-90deg);\n transition: transform 0.3s ease;\n height: 20px;\n width: 20px;\n position: absolute;\n }\n }\n\n &-content {\n display: none;\n overflow: hidden;\n transition: height 0.3s ease-in-out;\n }\n\n &.open {\n > #{$class}-content {\n display: revert;\n padding: 5px 0 15px 30px;\n }\n\n > #{$class}-title:before {\n transform: translateY(-50%);\n }\n }\n}\n\n\n", "@import 'variables';\n\n$defaultIcon: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zNjkuOSA5Ny45TDI4NiAxNEMyNzcgNSAyNjQuOC0uMSAyNTIuMS0uMUg0OEMyMS41IDAgMCAyMS41IDAgNDh2NDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI4OGMyNi41IDAgNDgtMjEuNSA0OC00OFYxMzEuOWMwLTEyLjctNS4xLTI1LTE0LjEtMzR6bS0yMi42IDIyLjdjMi4xIDIuMSAzLjUgNC42IDQuMiA3LjRIMjU2VjMyLjVjMi44LjcgNS4zIDIuMSA3LjQgNC4ybDgzLjkgODMuOXpNMzM2IDQ4MEg0OGMtOC44IDAtMTYtNy4yLTE2LTE2VjQ4YzAtOC44IDcuMi0xNiAxNi0xNmgxNzZ2MTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDEwNHYzMDRjMCA4LjgtNy4yIDE2LTE2IDE2em0tNDgtMjQ0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyeiIvPjwvc3ZnPg==\");\n\n/**\n Public CSS variables:\n --yfm-file-icon sets file icon image\n --yfm-file-icon-color sets file icon color\n*/\n\n.yfm-file {\n &__icon {\n ---yfm-file-icon-img: var(--yfm-file-icon, #{$defaultIcon});\n\n display: inline-block;\n user-select: none;\n\n width: 16px;\n margin: 0 2px;\n\n color: var(--yfm-file-icon-color, #{$textColor});\n background-color: currentColor;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100%;\n\n mask-image: var(---yfm-file-icon-img);\n mask-position: center;\n mask-repeat: no-repeat;\n\n &::before {\n content: '\\a0';\n }\n }\n}\n", ".yfm-term {\n &_title {\n color: #027bf3;\n cursor: pointer;\n\n border-bottom: 1px dotted;\n\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n\n &:hover {\n color: #004080;\n }\n }\n\n &_dfn {\n position: absolute;\n z-index: 1000;\n\n width: fit-content;\n max-width: 450px;\n\n @media screen and (max-width: 600px) {\n & {\n max-width: 80%;\n }\n }\n\n visibility: hidden;\n opacity: 0;\n\n padding: 10px;\n\n background-color: rgb(255, 255, 255);\n\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n\n border-radius: 4px;\n\n box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);\n outline: none;\n\n &::before {\n content: '';\n position: absolute;\n z-index: -1;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n border-radius: inherit;\n box-shadow: 0 0 0 1px rgb(229, 229, 229);\n }\n\n &.open {\n visibility: visible;\n\n animation-name: popup;\n animation-duration: 0.1s;\n animation-timing-function: ease-out;\n animation-fill-mode: forwards;\n\n @keyframes popup {\n 0% {\n opacity: 0;\n transform: translateY(10px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n }\n }\n }\n}\n", ".yfm-tabs{margin-bottom:15px}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol{counter-reset:tabs-list}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol>li{counter-increment:tabs-list}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol>li:before{content:counters(tabs-list,\".\") \". \"}.yfm-tab-list{display:flex;flex-wrap:wrap;margin-bottom:15px;border-bottom:1px solid rgba(0,0,0,.07)}.yfm-tab{margin-bottom:-1px;margin-right:20px;border-bottom:2px solid transparent;padding:6px 0 7px;font-weight:700;outline:none;cursor:pointer;user-select:none;white-space:break-spaces}.yfm-tab:last-child{margin-right:0}.yfm-tab:hover,.yfm-tab:active{color:#004080}.yfm-tab.active{border-bottom-color:#027bf3}.yfm-tab-panel{visibility:hidden;height:0}.yfm-tab-panel:first-child{margin-top:0!important}.yfm-tab-panel:last-child{margin-bottom:0!important}.yfm-tab-panel.active{visibility:visible;height:auto}\n/*# sourceMappingURL=index.css.map */\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
package/dist/css/yfm.min.css.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/scss/%3Cinput%20css%
|
|
3
|
+
"sources": ["../../src/scss/%3Cinput%20css%20kl7VOJ%3E", "../../src/scss/home/runner/work/transform/transform/src/scss/_common.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_variables.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_note.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_anchor.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_highlight.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_code.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_cut.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_file.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_term.scss", "../../src/scss/home/runner/work/transform/transform/node_modules/@diplodoc/tabs-extension/runtime/index.css"],
|
|
4
4
|
"sourcesContent": ["@charset \"UTF-8\";\n.yfm {\n font-family: var(--yfm-font-family-sans);\n font-size: 15px;\n line-height: 20px;\n word-wrap: break-word;\n color: rgba(0, 0, 0, 0.7);\n /*\n Hides element visually, but leaves it visible for search crawlers and screen readers\n\n https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n */\n --yfm-color-hljs-background: rgba(107, 132, 153, 0.12);\n --yfm-color-hljs-subst: #444;\n --yfm-color-hljs-comment: #888888;\n --yfm-color-hljs-deletion: #880000;\n --yfm-color-hljs-section: #880000;\n --yfm-color-hljs-pseudo: #BC6060;\n --yfm-color-hljs-literal: #78A960;\n --yfm-color-hljs-addition: #397300;\n --yfm-color-hljs-meta: #1f7199;\n --yfm-color-hljs-meta-string: #4d99bf;\n --yfm-font-family-monospace: \"Menlo\", \"Monaco\", \"Consolas\", \"Ubuntu Mono\", \"Liberation Mono\", \"DejaVu Sans Mono\", \"Courier New\", \"Courier\", monospace;\n --yfm-font-family-sans: \"Segoe UI\", Arial, Helvetica, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n}\n.yfm * {\n box-sizing: border-box;\n}\n.yfm > *:not(h2):not(h3):not(h4):not(h5):not(h6):first-child {\n margin-top: 0 !important;\n}\n.yfm > *:last-child {\n margin-bottom: 0 !important;\n}\n.yfm h1, .yfm h2, .yfm h3, .yfm h4, .yfm h5, .yfm h6 {\n margin-bottom: 15px;\n font-weight: 500;\n}\n.yfm h1 {\n font-size: 32px;\n line-height: 40px;\n}\n.yfm h2 {\n font-size: 24px;\n line-height: 28px;\n}\n.yfm h3 {\n font-size: 20px;\n line-height: 24px;\n}\n.yfm h4 {\n font-size: 17px;\n line-height: 24px;\n}\n.yfm h5 {\n font-size: 15px;\n line-height: 20px;\n}\n.yfm h6 {\n font-size: 13px;\n line-height: 18px;\n}\n.yfm a {\n background-color: transparent;\n color: #027bf3;\n text-decoration: none;\n}\n.yfm a:hover, .yfm a:active {\n color: #004080;\n}\n.yfm a:not([href]) {\n color: inherit;\n}\n.yfm strong {\n font-weight: 700;\n}\n.yfm img, .yfm svg {\n box-sizing: content-box;\n max-width: 100%;\n border: none;\n vertical-align: middle;\n}\n.yfm img[align=right], .yfm svg[align=right] {\n padding-left: 20px;\n}\n.yfm img[align=left], .yfm svg[align=left] {\n padding-right: 20px;\n}\n.yfm img {\n background-color: #ffffff;\n}\n.yfm svg {\n height: auto;\n}\n.yfm .katex svg {\n height: initial;\n}\n.yfm img + small {\n display: block;\n}\n.yfm p,\n.yfm blockquote,\n.yfm ul,\n.yfm ol,\n.yfm dl,\n.yfm table,\n.yfm pre {\n margin: 0 0 15px 0;\n}\n.yfm ul pre, .yfm ol pre, .yfm dl pre {\n margin-top: 15px;\n}\n.yfm code,\n.yfm kbd,\n.yfm pre {\n font-family: var(--yfm-font-family-monospace);\n font-size: 1em;\n font-feature-settings: normal;\n}\n.yfm input {\n margin: 0;\n overflow: visible;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n.yfm input[type=checkbox] {\n position: relative;\n top: 1px;\n box-sizing: border-box;\n padding: 0;\n}\n.yfm table {\n color: #333;\n display: inline-block;\n max-width: 100%;\n width: auto;\n overflow: auto;\n position: relative;\n z-index: 1;\n box-sizing: border-box;\n border: 1px solid rgba(0, 0, 0, 0.07);\n border-radius: 8px;\n border-collapse: collapse;\n border-spacing: 0;\n background: #ffffff;\n}\n.yfm table thead, .yfm table tr:nth-child(2n) {\n background-color: rgba(0, 0, 0, 0.02);\n}\n.yfm table tr:first-child td, .yfm table tr:first-child th {\n border-top: none;\n}\n.yfm table tr:last-child td, .yfm table tr:last-child th {\n border-bottom: none;\n}\n.yfm table th, .yfm table td {\n padding: 10px 20px;\n overflow: hidden;\n text-overflow: ellipsis;\n border: 1px solid rgba(0, 0, 0, 0.07);\n}\n.yfm table th p, .yfm table td p {\n padding: 0;\n margin: 0;\n}\n.yfm table td {\n vertical-align: baseline;\n white-space: normal;\n}\n.yfm table th {\n font-weight: 500;\n text-align: left;\n}\n.yfm table tr td:first-child, .yfm table tr th:first-child {\n border-left: none;\n}\n.yfm table tr td:last-child, .yfm table tr th:last-child {\n border-right: none;\n}\n.yfm hr {\n box-sizing: content-box;\n height: 0.25em;\n padding: 0;\n margin: 1.5em 0;\n overflow: hidden;\n background-color: rgba(0, 0, 0, 0.07);\n border: none;\n}\n.yfm hr::before {\n content: \"\";\n display: table;\n}\n.yfm hr::after {\n content: \"\";\n display: table;\n clear: both;\n}\n.yfm blockquote {\n position: relative;\n padding-left: 12px;\n border-left: 3px solid #027bf3;\n}\n.yfm blockquote > *:first-child {\n margin-top: 0;\n}\n.yfm blockquote > *:last-child {\n margin-bottom: 0;\n}\n.yfm dl {\n padding: 0;\n}\n.yfm dl > *:first-child {\n margin-top: 0;\n}\n.yfm dl > *:last-child {\n margin-bottom: 0;\n}\n.yfm dl dt {\n margin-bottom: 5px;\n font-size: 1em;\n font-weight: 500;\n font-style: italic;\n}\n.yfm dl dd {\n margin-bottom: 15px;\n padding: 0 15px;\n}\n.yfm dd {\n margin-left: 0;\n}\n.yfm dd > ol:first-child, .yfm dd > ul:first-child, .yfm dd > dd:first-child {\n padding-left: 0;\n}\n.yfm ul, .yfm ol {\n padding-left: 2.2em;\n}\n.yfm ul ul,\n.yfm ul ol,\n.yfm ol ol,\n.yfm ol ul {\n margin-top: 0;\n margin-bottom: 0;\n}\n.yfm:not(.yfm_no-list-reset) ol {\n list-style-type: none;\n counter-reset: list-item;\n}\n.yfm:not(.yfm_no-list-reset) ol > li {\n position: relative;\n counter-increment: list;\n}\n.yfm:not(.yfm_no-list-reset) ol > li::before {\n position: absolute;\n right: 100%;\n margin-right: 4px;\n content: counters(list, \".\") \". \";\n}\n.yfm li {\n word-wrap: break-word;\n}\n.yfm li + li {\n margin-top: 0.33em;\n}\n.yfm li p,\n.yfm li blockquote {\n margin-top: 15px;\n}\n.yfm code {\n padding: 0.1em 0.4em 0.15em;\n background-color: rgba(107, 132, 153, 0.12);\n border-radius: 4px;\n font-size: 0.875em;\n white-space: normal;\n color: rgb(59, 96, 128);\n}\n.yfm pre {\n word-wrap: normal;\n}\n.yfm table code {\n white-space: nowrap;\n}\n.yfm pre * code {\n display: inline;\n padding: 0;\n margin: 0;\n overflow: visible;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n color: rgba(0, 0, 0, 0.7);\n}\n.yfm pre > code {\n display: block;\n padding: 16px;\n overflow: auto;\n background-color: rgba(107, 132, 153, 0.12);\n color: rgba(0, 0, 0, 0.7);\n white-space: pre;\n}\n.yfm sup, .yfm sub {\n line-height: 0;\n}\n.yfm .visually-hidden {\n position: absolute;\n overflow: hidden;\n clip: rect(0 0 0 0);\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n white-space: nowrap;\n border: 0;\n clip-path: inset(100%);\n}\n\n.yfm .yfm-note {\n max-width: 1296px;\n margin: 20px 0;\n padding: 20px 20px 20px 64px;\n border-radius: 10px;\n}\n.yfm .yfm-note .yfm-note-title {\n font-weight: 700;\n}\n.yfm .yfm-note > p {\n margin: 0 0 10px 0;\n}\n.yfm .yfm-note > p:first-child::before {\n box-sizing: content-box;\n display: block;\n width: 24px;\n height: 24px;\n margin-top: -2px;\n margin-left: -44px;\n padding-right: 20px;\n float: left;\n}\n.yfm .yfm-note > p:last-child {\n margin-bottom: 0;\n}\n.yfm .yfm-note.yfm-accent-info > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(2,123,243)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-tip > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(86,189,103)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-alert > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(255,70,69)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-warning > p:first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(241,149,24)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-info {\n background: rgba(2, 123, 243, 0.08);\n}\n.yfm .yfm-note.yfm-accent-tip {\n background: rgba(63, 201, 46, 0.1);\n}\n.yfm .yfm-note.yfm-accent-alert {\n background: rgba(235, 50, 38, 0.08);\n}\n.yfm .yfm-note.yfm-accent-warning {\n background: rgba(255, 136, 0, 0.15);\n}\n\n.yfm h1 .yfm-anchor, .yfm h2 .yfm-anchor, .yfm h3 .yfm-anchor, .yfm h4 .yfm-anchor, .yfm h5 .yfm-anchor, .yfm h6 .yfm-anchor {\n display: inline-block;\n width: 24px;\n padding-right: 4px;\n margin-left: -24px;\n float: left;\n text-align: center;\n font-size: 18px;\n}\n.yfm h1 .yfm-anchor::before, .yfm h2 .yfm-anchor::before, .yfm h3 .yfm-anchor::before, .yfm h4 .yfm-anchor::before, .yfm h5 .yfm-anchor::before, .yfm h6 .yfm-anchor::before {\n content: \"#\";\n visibility: hidden;\n}\n.yfm h1:hover .yfm-anchor::before, .yfm h2:hover .yfm-anchor::before, .yfm h3:hover .yfm-anchor::before, .yfm h4:hover .yfm-anchor::before, .yfm h5:hover .yfm-anchor::before, .yfm h6:hover .yfm-anchor::before {\n visibility: visible;\n}\n.yfm table h1 .yfm-anchor, .yfm table h2 .yfm-anchor, .yfm table h3 .yfm-anchor, .yfm table h4 .yfm-anchor, .yfm table h5 .yfm-anchor, .yfm table h6 .yfm-anchor {\n width: 1em;\n margin-left: -1em;\n padding-right: 0;\n}\n\n.yfm .hljs {\n display: block;\n overflow-x: auto;\n padding: 16px;\n background: rgba(107, 132, 153, 0.12);\n background: var(--yfm-color-hljs-background);\n}\n.yfm .hljs,\n.yfm .hljs-subst {\n color: #444;\n color: var(--yfm-color-hljs-subst);\n}\n.yfm .hljs-comment {\n color: #888888;\n color: var(--yfm-color-hljs-comment);\n}\n.yfm .hljs-keyword,\n.yfm .hljs-attribute,\n.yfm .hljs-selector-tag,\n.yfm .hljs-meta-keyword,\n.yfm .hljs-doctag,\n.yfm .hljs-name {\n font-weight: bold;\n}\n.yfm .hljs-type,\n.yfm .hljs-string,\n.yfm .hljs-number,\n.yfm .hljs-selector-id,\n.yfm .hljs-selector-class,\n.yfm .hljs-quote,\n.yfm .hljs-template-tag,\n.yfm .hljs-deletion {\n color: #880000;\n color: var(--yfm-color-hljs-deletion);\n}\n.yfm .hljs-title,\n.yfm .hljs-section {\n color: #880000;\n color: var(--yfm-color-hljs-section);\n font-weight: bold;\n}\n.yfm .hljs-regexp,\n.yfm .hljs-symbol,\n.yfm .hljs-variable,\n.yfm .hljs-template-variable,\n.yfm .hljs-link,\n.yfm .hljs-selector-attr,\n.yfm .hljs-selector-pseudo {\n color: #BC6060;\n color: var(--yfm-color-hljs-pseudo);\n}\n.yfm .hljs-literal {\n color: #78A960;\n color: var(--yfm-color-hljs-literal);\n}\n.yfm .hljs-built_in,\n.yfm .hljs-bullet,\n.yfm .hljs-code,\n.yfm .hljs-addition {\n color: #397300;\n color: var(--yfm-color-hljs-addition);\n}\n.yfm .hljs-meta {\n color: #1f7199;\n color: var(--yfm-color-hljs-meta);\n}\n.yfm .hljs-meta-string {\n color: #4d99bf;\n color: var(--yfm-color-hljs-meta-string);\n}\n.yfm .hljs-emphasis {\n font-style: italic;\n}\n.yfm .hljs-strong {\n font-weight: bold;\n}\n\n.yfm-clipboard {\n position: relative;\n}\n.yfm-clipboard:hover .yfm-clipboard-button {\n display: block;\n}\n.yfm-clipboard > pre {\n border-radius: 10px;\n overflow: hidden;\n}\n.yfm-clipboard-button {\n display: none;\n position: absolute;\n cursor: pointer;\n top: 16px;\n right: 16px;\n z-index: 1;\n}\n\n.yfm-cut-title {\n cursor: pointer;\n position: relative;\n user-select: none;\n padding: 5px 0 5px 30px;\n}\n.yfm-cut-title:before {\n content: \"\";\n z-index: 1;\n left: 0;\n top: 50%;\n background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+CiAgICA8cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZmlsbD0ibm9uZSIgZD0iTTMgNmw1IDUgNS01Ii8+Cjwvc3ZnPgo=\");\n transform: translateY(-50%) rotate(-90deg);\n transition: transform 0.3s ease;\n height: 20px;\n width: 20px;\n position: absolute;\n}\n.yfm-cut-content {\n display: none;\n overflow: hidden;\n transition: height 0.3s ease-in-out;\n}\n.yfm-cut.open > .yfm-cut-content {\n display: revert;\n padding: 5px 0 15px 30px;\n}\n.yfm-cut.open > .yfm-cut-title:before {\n transform: translateY(-50%);\n}\n\n/**\n Public CSS variables:\n --yfm-file-icon sets file icon image\n --yfm-file-icon-color sets file icon color\n*/\n.yfm-file__icon {\n ---yfm-file-icon-img: var(--yfm-file-icon, url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zNjkuOSA5Ny45TDI4NiAxNEMyNzcgNSAyNjQuOC0uMSAyNTIuMS0uMUg0OEMyMS41IDAgMCAyMS41IDAgNDh2NDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI4OGMyNi41IDAgNDgtMjEuNSA0OC00OFYxMzEuOWMwLTEyLjctNS4xLTI1LTE0LjEtMzR6bS0yMi42IDIyLjdjMi4xIDIuMSAzLjUgNC42IDQuMiA3LjRIMjU2VjMyLjVjMi44LjcgNS4zIDIuMSA3LjQgNC4ybDgzLjkgODMuOXpNMzM2IDQ4MEg0OGMtOC44IDAtMTYtNy4yLTE2LTE2VjQ4YzAtOC44IDcuMi0xNiAxNi0xNmgxNzZ2MTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDEwNHYzMDRjMCA4LjgtNy4yIDE2LTE2IDE2em0tNDgtMjQ0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyeiIvPjwvc3ZnPg==\"));\n display: inline-block;\n user-select: none;\n width: 16px;\n margin: 0 2px;\n color: var(--yfm-file-icon-color, rgba(0, 0, 0, 0.7));\n background-color: currentColor;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100%;\n mask-image: var(---yfm-file-icon-img);\n mask-position: center;\n mask-repeat: no-repeat;\n}\n.yfm-file__icon::before {\n content: \" \";\n}\n\n.yfm-term_title {\n color: #027bf3;\n cursor: pointer;\n border-bottom: 1px dotted;\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n}\n.yfm-term_title:hover {\n color: #004080;\n}\n.yfm-term_dfn {\n position: absolute;\n z-index: 1000;\n width: fit-content;\n max-width: 450px;\n visibility: hidden;\n opacity: 0;\n padding: 10px;\n background-color: rgb(255, 255, 255);\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n border-radius: 4px;\n box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);\n outline: none;\n}\n@media screen and (max-width: 600px) {\n .yfm-term_dfn {\n max-width: 80%;\n }\n}\n.yfm-term_dfn::before {\n content: \"\";\n position: absolute;\n z-index: -1;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n border-radius: inherit;\n box-shadow: 0 0 0 1px rgb(229, 229, 229);\n}\n.yfm-term_dfn.open {\n visibility: visible;\n animation-name: popup;\n animation-duration: 0.1s;\n animation-timing-function: ease-out;\n animation-fill-mode: forwards;\n}\n@keyframes popup {\n 0% {\n opacity: 0;\n transform: translateY(10px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.yfm-tabs {\n margin-bottom: 15px;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-tabs ol {\n counter-reset: tabs-list;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-tabs ol > li {\n counter-increment: tabs-list;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-tabs ol > li:before {\n content: counters(tabs-list, \".\") \". \";\n}\n\n.yfm-tab-list {\n display: flex;\n flex-wrap: wrap;\n margin-bottom: 15px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.07);\n}\n\n.yfm-tab {\n margin-bottom: -1px;\n margin-right: 20px;\n border-bottom: 2px solid transparent;\n padding: 6px 0 7px;\n font-weight: 700;\n outline: none;\n cursor: pointer;\n user-select: none;\n white-space: break-spaces;\n}\n\n.yfm-tab:last-child {\n margin-right: 0;\n}\n\n.yfm-tab:hover, .yfm-tab:active {\n color: #004080;\n}\n\n.yfm-tab.active {\n border-bottom-color: #027bf3;\n}\n\n.yfm-tab-panel {\n visibility: hidden;\n height: 0;\n}\n\n.yfm-tab-panel:first-child {\n margin-top: 0 !important;\n}\n\n.yfm-tab-panel:last-child {\n margin-bottom: 0 !important;\n}\n\n.yfm-tab-panel.active {\n visibility: visible;\n height: auto;\n}\n\n\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvdHJhbnNmb3JtL3RyYW5zZm9ybS9zcmMvc2NzcyIsInNvdXJjZXMiOlsiX2NvbW1vbi5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX25vdGUuc2NzcyIsIl9hbmNob3Iuc2NzcyIsIl9oaWdobGlnaHQuc2NzcyIsIl9jb2RlLnNjc3MiLCJfY3V0LnNjc3MiLCJfZmlsZS5zY3NzIiwiX3Rlcm0uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZGlwbG9kb2MvdGFicy1leHRlbnNpb24vcnVudGltZS9pbmRleC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQ0pRO0FENldSO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0VBMEJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUE1WUE7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQSxPQ3pETTtFRDBETjs7QUFFQTtFQUNJLE9DL0NLOztBRGtEVDtFQUNJOztBQUtSO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBSVI7RUFDSSxrQkMzRkk7O0FEOEZSO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBT0k7O0FBSUE7RUFDSTs7QUFJUjtBQUFBO0FBQUE7RUFHSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7O0FBSVI7RUFDSTtFQUVBO0VB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QUNBOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQVFBO0VBQ0E7RUFFQTtFQUVBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQUNBOztBQXBCQTtFQUNJO0lBQ0k7OztBQW9CUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QUFHSjtFQUNJO0VBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOzs7O0FDekVwQjtFQUFVOzs7QUFBbUI7RUFBMEM7OztBQUF3QjtFQUE2Qzs7O0FBQTRCO0VBQW9EOzs7QUFBcUM7RUFBYztFQUFhO0VBQWU7RUFBbUI7OztBQUF3QztFQUFTO0VBQW1CO0VBQWtCO0VBQW9DO0VBQWtCO0VBQWdCO0VBQWE7RUFBZTtFQUFpQjs7O0FBQXlCO0VBQW9COzs7QUFBZTtFQUErQjs7O0FBQWM7RUFBZ0I7OztBQUE0QjtFQUFlO0VBQWtCOzs7QUFBUztFQUEyQjs7O0FBQXVCO0VBQTBCOzs7QUFBMEI7RUFBc0I7RUFBbUI7OztBQUNyMUIiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4ueWZtIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0teWZtLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgY29sb3I6ICR0ZXh0Q29sb3I7XG5cbiAgICAqIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAmID4gKjpub3QoaDIpOm5vdChoMyk6bm90KGg0KTpub3QoaDUpOm5vdChoNik6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIGg2IHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkbGlua0NvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlciwgJjphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICRsaW5rSG92ZXJDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KFtocmVmXSkge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgaW1nLCBzdmcge1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgJlthbGlnbj1yaWdodF0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJlthbGlnbj1sZWZ0XSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2VDb2xvcjtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmthdGV4IHN2ZyB7XG4gICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICBpbWcgKyBzbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIHAsXG4gICAgYmxvY2txdW90ZSxcbiAgICB1bCxcbiAgICBvbCxcbiAgICBkbCxcbiAgICB0YWJsZSxcbiAgICBwcmUge1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgfVxuXG4gICAgdWwsIG9sLCBkbCB7XG4gICAgICAgICYgcHJlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBwcmUge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0teWZtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgICAgICAgJlt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMXB4O1xuXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRhYmxlIHtcbiAgICAgICAgY29sb3I6ICMzMzM7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXJDb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJGJhc2VDb2xvcjtcblxuICAgICAgICB0aGVhZCwgdHI6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGVSb3dCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZCwgdGgge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRkLCB0aCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgdGgsIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXJDb2xvcjtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0ciB0ZDpmaXJzdC1jaGlsZCwgdHIgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgdHIgdGQ6bGFzdC1jaGlsZCwgdHIgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBociB7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBoZWlnaHQ6IDAuMjVlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAxLjVlbSAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXJDb2xvcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRhY2NlbnRDb2xvcjtcblxuICAgICAgICAmID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBkdCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cblxuICAgICAgICBkZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAmID4gb2w6Zmlyc3QtY2hpbGQsXG4gICAgICAgICYgPiB1bDpmaXJzdC1jaGlsZCxcbiAgICAgICAgJiA+IGRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsLCBvbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi4yZW07XG4gICAgfVxuXG4gICAgdWwgdWwsXG4gICAgdWwgb2wsXG4gICAgb2wgb2wsXG4gICAgb2wgdWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICY6bm90KC55Zm1fbm8tbGlzdC1yZXNldCkge1xuICAgICAgICBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICBjb3VudGVyLXJlc2V0OiBsaXN0LWl0ZW07XG5cbiAgICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0O1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXJzKGxpc3QsICcuJykgJy4gJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4zM2VtO1xuICAgIH1cblxuICAgIGxpIHAsXG4gICAgbGkgYmxvY2txdW90ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgfVxuXG4gICAgY29kZSB7XG4gICAgICAgIHBhZGRpbmc6IDAuMWVtIDAuNGVtIDAuMTVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlubGluZUNvZGVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogJGlubGluZUNvZGVDb2xvcjtcbiAgICB9XG5cbiAgICBwcmUge1xuICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICB9XG5cbiAgICB0YWJsZSBjb2RlIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICBwcmUgKiBjb2RlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6ICR0ZXh0Q29sb3I7XG4gICAgfVxuXG4gICAgcHJlID4gY29kZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZUJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgY29sb3I6ICR0ZXh0Q29sb3I7XG5cbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB9XG5cbiAgICBzdXAsIHN1YiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qXG4gICAgICAgIEhpZGVzIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBsZWF2ZXMgaXQgdmlzaWJsZSBmb3Igc2VhcmNoIGNyYXdsZXJzIGFuZCBzY3JlZW4gcmVhZGVyc1xuXG4gICAgICAgIGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4gICAgICAgIGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuICAgICovXG4gICAgLnZpc3VhbGx5LWhpZGRlbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuXG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG5cbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDEwMCUpO1xuICAgIH1cblxuICAgIC8vIGhpZ2hsaWdodC5qcyBjb2xvcnNcbiAgICAtLXlmbS1jb2xvci1obGpzLWJhY2tncm91bmQ6ICN7JGNvZGVCYWNrZ3JvdW5kQ29sb3J9O1xuICAgIC0teWZtLWNvbG9yLWhsanMtc3Vic3Q6ICM0NDQ7XG4gICAgLS15Zm0tY29sb3ItaGxqcy1jb21tZW50OiAjODg4ODg4O1xuICAgIC0teWZtLWNvbG9yLWhsanMtZGVsZXRpb246ICM4ODAwMDA7XG4gICAgLS15Zm0tY29sb3ItaGxqcy1zZWN0aW9uOiAjODgwMDAwO1xuICAgIC0teWZtLWNvbG9yLWhsanMtcHNldWRvOiAjQkM2MDYwO1xuICAgIC0teWZtLWNvbG9yLWhsanMtbGl0ZXJhbDogIzc4QTk2MDtcbiAgICAtLXlmbS1jb2xvci1obGpzLWFkZGl0aW9uOiAjMzk3MzAwO1xuICAgIC0teWZtLWNvbG9yLWhsanMtbWV0YTogIzFmNzE5OTtcbiAgICAtLXlmbS1jb2xvci1obGpzLW1ldGEtc3RyaW5nOiAjNGQ5OWJmO1xuICAgIC0teWZtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogXCJNZW5sb1wiLCBcIk1vbmFjb1wiLCBcIkNvbnNvbGFzXCIsIFwiVWJ1bnR1IE1vbm9cIiwgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJEZWphVnUgU2FucyBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcbiAgICAtLXlmbS1mb250LWZhbWlseS1zYW5zOiAnU2Vnb2UgVUknLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCAnU2Vnb2UgVUkgU3ltYm9sJztcbn1cbiIsIiRiYXNlQ29sb3I6ICNmZmZmZmY7XG4kYWNjZW50Q29sb3I6ICMwMjdiZjM7XG5cbiR0ZXh0Q29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiRib3JkZXJDb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiRiYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG5cbiRpbmxpbmVDb2RlQ29sb3I6IHJnYmEoNTksIDk2LCAxMjgsIDEpO1xuJGlubGluZUNvZGVCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMTA3LCAxMzIsIDE1MywgMC4xMik7XG5cbiRjb2RlQmFja2dyb3VuZENvbG9yOiByZ2JhKDEwNywgMTMyLCAxNTMsIDAuMTIpO1xuXG4kdGFibGVSb3dCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG5cbiRsaW5rQ29sb3I6ICRhY2NlbnRDb2xvcjtcbiRsaW5rSG92ZXJDb2xvcjogIzAwNDA4MDtcbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbiRpbmZvQ29sb3I6ICRhY2NlbnRDb2xvcjtcbiR0aXBDb2xvcjogIzU2YmQ2NztcbiR3YXJuaW5nQ29sb3I6ICNmMTk1MTg7XG4kaW1wb3J0YW50Q29sb3I6ICNmZjQ2NDU7XG5cbiRpbmZvQmFja2dyb3VuZENvbG9yOiByZ2JhKDIsIDEyMywgMjQzLCAwLjA4KTtcbiR0aXBCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoNjMsIDIwMSwgNDYsIDAuMSk7XG4kd2FybmluZ0JhY2tncm91bmRDb2xvcjogcmdiYSgyNTUsIDEzNiwgMCwgMC4xNSk7XG4kaW1wb3J0YW50QmFja2dyb3VuZENvbG9yOiByZ2JhKDIzNSwgNTAsIDM4LCAwLjA4KTtcblxuLnlmbSAueWZtLW5vdGUge1xuICAgIG1heC13aWR0aDogMTI5NnB4O1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDY0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcblxuICAgIC55Zm0tbm90ZS10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgJiA+IHAge1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAkY29sb3JzOiAoXG4gICAgICAgIHlmbS1hY2NlbnQtaW5mbzogJGluZm9Db2xvcixcbiAgICAgICAgeWZtLWFjY2VudC10aXA6ICR0aXBDb2xvcixcbiAgICAgICAgeWZtLWFjY2VudC1hbGVydDogJGltcG9ydGFudENvbG9yLFxuICAgICAgICB5Zm0tYWNjZW50LXdhcm5pbmc6ICR3YXJuaW5nQ29sb3JcbiAgICApO1xuXG4gICAgQGVhY2ggJHR5cGUsICRjb2xvciBpbiAkY29sb3JzIHtcbiAgICAgICAgJi4jeyR0eXBlfSA+IHA6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAkcjogcmVkKCRjb2xvcik7XG4gICAgICAgICAgICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgICAgICAgICAgICRiOiBibHVlKCRjb2xvcik7XG4gICAgICAgICAgICAkcmdiQ29sb3I6ICdyZ2IoJyArICRyICsgJywnICsgJGcgKyAnLCcgKyAkYiArICcpJztcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiJTNFJTNDY2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCI4XCIgZmlsbD1cIicgKyAkcmdiQ29sb3IgKyAnXCIvJTNFJTNDcmVjdCB3aWR0aD1cIjFcIiBoZWlnaHQ9XCI1XCIgeD1cIjcuNVwiIHk9XCI2LjVcIiBzdHJva2U9XCIlMjNmZmZcIiByeD1cIi41XCIvJTNFJTNDY2lyY2xlIGN4PVwiOFwiIGN5PVwiNFwiIHI9XCIxXCIgZmlsbD1cIiUyM2ZmZlwiLyUzRSUzQy9zdmclM0UnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICRiYWNrZ3JvdW5kQ29sb3JzOiAoXG4gICAgICAgIHlmbS1hY2NlbnQtaW5mbzogJGluZm9CYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgIHlmbS1hY2NlbnQtdGlwOiAkdGlwQmFja2dyb3VuZENvbG9yLFxuICAgICAgICB5Zm0tYWNjZW50LWFsZXJ0OiAkaW1wb3J0YW50QmFja2dyb3VuZENvbG9yLFxuICAgICAgICB5Zm0tYWNjZW50LXdhcm5pbmc6ICR3YXJuaW5nQmFja2dyb3VuZENvbG9yXG4gICAgKTtcblxuICAgIEBlYWNoICR0eXBlLCAkY29sb3IgaW4gJGJhY2tncm91bmRDb2xvcnMge1xuICAgICAgICAmLiN7JHR5cGV9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi55Zm0ge1xuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICAueWZtLWFuY2hvciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAueWZtLWFuY2hvcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcjJztcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgLnlmbS1hbmNob3I6OmJlZm9yZSB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgICAgIC55Zm0tYW5jaG9yIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLnlmbSB7XG4gICAgLmhsanMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvZGVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXlmbS1jb2xvci1obGpzLWJhY2tncm91bmQpO1xuICAgIH1cblxuICAgIC5obGpzLFxuICAgIC5obGpzLXN1YnN0IHtcbiAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1zdWJzdCk7XG4gICAgfVxuXG4gICAgLmhsanMtY29tbWVudCB7XG4gICAgICAgIGNvbG9yOiAjODg4ODg4O1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtY29tbWVudCk7XG4gICAgfVxuXG5cbiAgICAuaGxqcy1rZXl3b3JkLFxuICAgIC5obGpzLWF0dHJpYnV0ZSxcbiAgICAuaGxqcy1zZWxlY3Rvci10YWcsXG4gICAgLmhsanMtbWV0YS1rZXl3b3JkLFxuICAgIC5obGpzLWRvY3RhZyxcbiAgICAuaGxqcy1uYW1lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmhsanMtdHlwZSxcbiAgICAuaGxqcy1zdHJpbmcsXG4gICAgLmhsanMtbnVtYmVyLFxuICAgIC5obGpzLXNlbGVjdG9yLWlkLFxuICAgIC5obGpzLXNlbGVjdG9yLWNsYXNzLFxuICAgIC5obGpzLXF1b3RlLFxuICAgIC5obGpzLXRlbXBsYXRlLXRhZyxcbiAgICAuaGxqcy1kZWxldGlvbiB7XG4gICAgICAgIGNvbG9yOiAjODgwMDAwO1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtZGVsZXRpb24pO1xuICAgIH1cblxuICAgIC5obGpzLXRpdGxlLFxuICAgIC5obGpzLXNlY3Rpb24ge1xuICAgICAgICBjb2xvcjogIzg4MDAwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci1obGpzLXNlY3Rpb24pO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAuaGxqcy1yZWdleHAsXG4gICAgLmhsanMtc3ltYm9sLFxuICAgIC5obGpzLXZhcmlhYmxlLFxuICAgIC5obGpzLXRlbXBsYXRlLXZhcmlhYmxlLFxuICAgIC5obGpzLWxpbmssXG4gICAgLmhsanMtc2VsZWN0b3ItYXR0cixcbiAgICAuaGxqcy1zZWxlY3Rvci1wc2V1ZG8ge1xuICAgICAgICBjb2xvcjogI0JDNjA2MDtcbiAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci1obGpzLXBzZXVkbyk7XG4gICAgfVxuXG5cbiAgICAuaGxqcy1saXRlcmFsIHtcbiAgICAgICAgY29sb3I6ICM3OEE5NjA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1saXRlcmFsKTtcbiAgICB9XG5cbiAgICAuaGxqcy1idWlsdF9pbixcbiAgICAuaGxqcy1idWxsZXQsXG4gICAgLmhsanMtY29kZSxcbiAgICAuaGxqcy1hZGRpdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjMzk3MzAwO1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtYWRkaXRpb24pO1xuICAgIH1cblxuXG4gICAgLmhsanMtbWV0YSB7XG4gICAgICAgIGNvbG9yOiAjMWY3MTk5O1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWhsanMtbWV0YSk7XG4gICAgfVxuXG4gICAgLmhsanMtbWV0YS1zdHJpbmcge1xuICAgICAgICBjb2xvcjogIzRkOTliZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci1obGpzLW1ldGEtc3RyaW5nKTtcbiAgICB9XG5cblxuICAgIC5obGpzLWVtcGhhc2lzIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC5obGpzLXN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cbiIsIi55Zm0ge1xuICAgICYtY2xpcGJvYXJkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6aG92ZXIgJi1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gcHJlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jbGlwYm9hcmQtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuIiwiLnlmbS1jdXQge1xuICAgICRjbGFzczogJjtcblxuICAgICYtdGl0bGUge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAzMHB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TmlBeE5pSStDaUFnSUNBOGNHRjBhQ0J6ZEhKdmEyVTlJbU4xY25KbGJuUkRiMnh2Y2lJZ1ptbHNiRDBpYm05dVpTSWdaRDBpVFRNZ05tdzFJRFVnTlMwMUlpOCtDand2YzNablBnbz1cIik7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAmLm9wZW4ge1xuICAgICAgICA+ICN7JGNsYXNzfS1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHJldmVydDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDE1cHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gI3skY2xhc3N9LXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuJGRlZmF1bHRJY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBek9EUWdOVEV5SWo0OGNHRjBhQ0JtYVd4c1BTSmpkWEp5Wlc1MFEyOXNiM0lpSUdROUlrMHpOamt1T1NBNU55NDVUREk0TmlBeE5FTXlOemNnTlNBeU5qUXVPQzB1TVNBeU5USXVNUzB1TVVnME9FTXlNUzQxSURBZ01DQXlNUzQxSURBZ05EaDJOREUyWXpBZ01qWXVOU0F5TVM0MUlEUTRJRFE0SURRNGFESTRPR015Tmk0MUlEQWdORGd0TWpFdU5TQTBPQzAwT0ZZeE16RXVPV013TFRFeUxqY3ROUzR4TFRJMUxURTBMakV0TXpSNmJTMHlNaTQySURJeUxqZGpNaTR4SURJdU1TQXpMalVnTkM0MklEUXVNaUEzTGpSSU1qVTJWak15TGpWak1pNDRMamNnTlM0eklESXVNU0EzTGpRZ05DNHliRGd6TGprZ09ETXVPWHBOTXpNMklEUTRNRWcwT0dNdE9DNDRJREF0TVRZdE55NHlMVEUyTFRFMlZqUTRZekF0T0M0NElEY3VNaTB4TmlBeE5pMHhObWd4TnpaMk1UQTBZekFnTVRNdU15QXhNQzQzSURJMElESTBJREkwYURFd05IWXpNRFJqTUNBNExqZ3ROeTR5SURFMkxURTJJREUyZW0wdE5EZ3RNalEwZGpoak1DQTJMall0TlM0MElERXlMVEV5SURFeVNERXdPR010Tmk0MklEQXRNVEl0TlM0MExURXlMVEV5ZGkwNFl6QXROaTQySURVdU5DMHhNaUF4TWkweE1tZ3hOamhqTmk0MklEQWdNVElnTlM0MElERXlJREV5ZW0wd0lEWTBkamhqTUNBMkxqWXROUzQwSURFeUxURXlJREV5U0RFd09HTXROaTQySURBdE1USXROUzQwTFRFeUxURXlkaTA0WXpBdE5pNDJJRFV1TkMweE1pQXhNaTB4TW1neE5qaGpOaTQySURBZ01USWdOUzQwSURFeUlERXllbTB3SURZMGRqaGpNQ0EyTGpZdE5TNDBJREV5TFRFeUlERXlTREV3T0dNdE5pNDJJREF0TVRJdE5TNDBMVEV5TFRFeWRpMDRZekF0Tmk0MklEVXVOQzB4TWlBeE1pMHhNbWd4Tmpoak5pNDJJREFnTVRJZ05TNDBJREV5SURFeWVpSXZQand2YzNablBnPT1cIik7XG5cbi8qKlxuICAgIFB1YmxpYyBDU1MgdmFyaWFibGVzOlxuICAgIC0teWZtLWZpbGUtaWNvbiAgICAgICAgICAgICBzZXRzIGZpbGUgaWNvbiBpbWFnZVxuICAgIC0teWZtLWZpbGUtaWNvbi1jb2xvciAgICAgICBzZXRzIGZpbGUgaWNvbiBjb2xvclxuKi9cblxuLnlmbS1maWxlIHtcbiAgICAmX19pY29uIHtcbiAgICAgICAgLS0teWZtLWZpbGUtaWNvbi1pbWc6IHZhcigtLXlmbS1maWxlLWljb24sICN7JGRlZmF1bHRJY29ufSk7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgbWFyZ2luOiAwIDJweDtcblxuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWZpbGUtaWNvbi1jb2xvciwgI3skdGV4dENvbG9yfSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG5cbiAgICAgICAgbWFzay1pbWFnZTogdmFyKC0tLXlmbS1maWxlLWljb24taW1nKTtcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxhMCc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIueWZtLXRlcm0ge1xuICAgICZfdGl0bGUge1xuICAgICAgICBjb2xvcjogIzAyN2JmMztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG5cbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICMwMDQwODA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX2RmbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcblxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1heC13aWR0aDogNDUwcHg7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYigyMjksIDIyOSwgMjI5KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogcG9wdXA7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMXM7XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuXG4gICAgICAgICAgICBAa2V5ZnJhbWVzIHBvcHVwIHtcbiAgICAgICAgICAgICAgICAwJSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIueWZtLXRhYnN7bWFyZ2luLWJvdHRvbToxNXB4fS55Zm06bm90KC55Zm1fbm8tbGlzdC1yZXNldCkgLnlmbS10YWJzIG9se2NvdW50ZXItcmVzZXQ6dGFicy1saXN0fS55Zm06bm90KC55Zm1fbm8tbGlzdC1yZXNldCkgLnlmbS10YWJzIG9sPmxpe2NvdW50ZXItaW5jcmVtZW50OnRhYnMtbGlzdH0ueWZtOm5vdCgueWZtX25vLWxpc3QtcmVzZXQpIC55Zm0tdGFicyBvbD5saTpiZWZvcmV7Y29udGVudDpjb3VudGVycyh0YWJzLWxpc3QsXCIuXCIpIFwiLiBcIn0ueWZtLXRhYi1saXN0e2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDttYXJnaW4tYm90dG9tOjE1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMDcpfS55Zm0tdGFie21hcmdpbi1ib3R0b206LTFweDttYXJnaW4tcmlnaHQ6MjBweDtib3JkZXItYm90dG9tOjJweCBzb2xpZCB0cmFuc3BhcmVudDtwYWRkaW5nOjZweCAwIDdweDtmb250LXdlaWdodDo3MDA7b3V0bGluZTpub25lO2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmU7d2hpdGUtc3BhY2U6YnJlYWstc3BhY2VzfS55Zm0tdGFiOmxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjB9LnlmbS10YWI6aG92ZXIsLnlmbS10YWI6YWN0aXZle2NvbG9yOiMwMDQwODB9LnlmbS10YWIuYWN0aXZle2JvcmRlci1ib3R0b20tY29sb3I6IzAyN2JmM30ueWZtLXRhYi1wYW5lbHt2aXNpYmlsaXR5OmhpZGRlbjtoZWlnaHQ6MH0ueWZtLXRhYi1wYW5lbDpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjAhaW1wb3J0YW50fS55Zm0tdGFiLXBhbmVsOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ueWZtLXRhYi1wYW5lbC5hY3RpdmV7dmlzaWJpbGl0eTp2aXNpYmxlO2hlaWdodDphdXRvfVxuLyojIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguY3NzLm1hcCAqL1xuIl19 */", "@import 'variables';\n\n.yfm {\n font-family: var(--yfm-font-family-sans);\n font-size: 15px;\n line-height: 20px;\n word-wrap: break-word;\n color: $textColor;\n\n * {\n box-sizing: border-box;\n }\n\n & > *:not(h2):not(h3):not(h4):not(h5):not(h6):first-child {\n margin-top: 0 !important;\n }\n\n & > *:last-child {\n margin-bottom: 0 !important;\n }\n\n h1, h2, h3, h4, h5, h6 {\n margin-bottom: 15px;\n font-weight: 500;\n }\n\n h1 {\n font-size: 32px;\n line-height: 40px;\n }\n\n h2 {\n font-size: 24px;\n line-height: 28px;\n }\n\n h3 {\n font-size: 20px;\n line-height: 24px;\n }\n\n h4 {\n font-size: 17px;\n line-height: 24px;\n }\n\n h5 {\n font-size: 15px;\n line-height: 20px;\n }\n\n h6 {\n font-size: 13px;\n line-height: 18px;\n }\n\n a {\n background-color: transparent;\n color: $linkColor;\n text-decoration: none;\n\n &:hover, &:active {\n color: $linkHoverColor;\n }\n\n &:not([href]) {\n color: inherit;\n }\n\n }\n\n strong {\n font-weight: 700;\n }\n\n img, svg {\n box-sizing: content-box;\n max-width: 100%;\n border: none;\n vertical-align: middle;\n\n &[align=right] {\n padding-left: 20px;\n }\n\n &[align=left] {\n padding-right: 20px;\n }\n }\n\n img {\n background-color: $baseColor;\n }\n\n svg {\n height: auto;\n }\n\n .katex svg {\n height: initial;\n }\n\n img + small {\n display: block;\n }\n\n p,\n blockquote,\n ul,\n ol,\n dl,\n table,\n pre {\n margin: 0 0 15px 0;\n }\n\n ul, ol, dl {\n & pre {\n margin-top: 15px;\n }\n }\n\n code,\n kbd,\n pre {\n font-family: var(--yfm-font-family-monospace);\n font-size: 1em;\n font-feature-settings: normal;\n }\n\n input {\n margin: 0;\n overflow: visible;\n\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n\n &[type='checkbox'] {\n position: relative;\n top: 1px;\n\n box-sizing: border-box;\n padding: 0;\n }\n }\n\n table {\n color: #333;\n\n display: inline-block;\n max-width: 100%;\n width: auto;\n overflow: auto;\n position: relative;\n z-index: 1;\n\n box-sizing: border-box;\n border: 1px solid $borderColor;\n border-radius: 8px;\n border-collapse: collapse;\n border-spacing: 0;\n background: $baseColor;\n\n thead, tr:nth-child(2n) {\n background-color: $tableRowBackgroundColor;\n }\n\n tr:first-child {\n td, th {\n border-top: none;\n }\n }\n\n tr:last-child {\n td, th {\n border-bottom: none;\n }\n }\n\n\n th, td {\n padding: 10px 20px;\n overflow: hidden;\n text-overflow: ellipsis;\n border: 1px solid $borderColor;\n\n p {\n padding: 0;\n margin: 0;\n }\n }\n\n td {\n vertical-align: baseline;\n white-space: normal;\n }\n\n th {\n font-weight: 500;\n text-align: left;\n }\n\n tr td:first-child, tr th:first-child {\n border-left: none;\n }\n tr td:last-child, tr th:last-child {\n border-right: none;\n }\n }\n\n hr {\n box-sizing: content-box;\n height: 0.25em;\n padding: 0;\n margin: 1.5em 0;\n overflow: hidden;\n\n background-color: $borderColor;\n border: none;\n\n &::before {\n content: '';\n display: table;\n }\n\n &::after {\n content: '';\n display: table;\n clear: both;\n }\n }\n\n blockquote {\n position: relative;\n padding-left: 12px;\n border-left: 3px solid $accentColor;\n\n & > *:first-child {\n margin-top: 0;\n }\n\n & > *:last-child {\n margin-bottom: 0;\n }\n }\n\n dl {\n padding: 0;\n\n & > *:first-child {\n margin-top: 0;\n }\n\n & > *:last-child {\n margin-bottom: 0;\n }\n\n dt {\n margin-bottom: 5px;\n font-size: 1em;\n font-weight: 500;\n font-style: italic;\n }\n\n dd {\n margin-bottom: 15px;\n padding: 0 15px;\n }\n }\n\n dd {\n margin-left: 0;\n\n & > ol:first-child,\n & > ul:first-child,\n & > dd:first-child {\n padding-left: 0;\n }\n }\n\n ul, ol {\n padding-left: 2.2em;\n }\n\n ul ul,\n ul ol,\n ol ol,\n ol ul {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n &:not(.yfm_no-list-reset) {\n ol {\n list-style-type: none;\n counter-reset: list-item;\n\n & > li {\n position: relative;\n counter-increment: list;\n\n &::before {\n position: absolute;\n right: 100%;\n margin-right: 4px;\n content: counters(list, '.') '. ';\n }\n }\n }\n }\n\n li {\n word-wrap: break-word;\n }\n\n li + li {\n margin-top: 0.33em;\n }\n\n li p,\n li blockquote {\n margin-top: 15px;\n }\n\n code {\n padding: 0.1em 0.4em 0.15em;\n background-color: $inlineCodeBackgroundColor;\n border-radius: 4px;\n font-size: 0.875em;\n white-space: normal;\n color: $inlineCodeColor;\n }\n\n pre {\n word-wrap: normal;\n }\n\n table code {\n white-space: nowrap;\n }\n\n pre * code {\n display: inline;\n padding: 0;\n margin: 0;\n overflow: visible;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n color: $textColor;\n }\n\n pre > code {\n display: block;\n padding: 16px;\n overflow: auto;\n\n background-color: $codeBackgroundColor;\n color: $textColor;\n\n white-space: pre;\n }\n\n sup, sub {\n line-height: 0;\n }\n\n /*\n Hides element visually, but leaves it visible for search crawlers and screen readers\n\n https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n */\n .visually-hidden {\n position: absolute;\n\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n width: 1px;\n height: 1px;\n margin: -1px;\n\n padding: 0;\n\n white-space: nowrap;\n\n border: 0;\n\n clip-path: inset(100%);\n }\n\n // highlight.js colors\n --yfm-color-hljs-background: #{$codeBackgroundColor};\n --yfm-color-hljs-subst: #444;\n --yfm-color-hljs-comment: #888888;\n --yfm-color-hljs-deletion: #880000;\n --yfm-color-hljs-section: #880000;\n --yfm-color-hljs-pseudo: #BC6060;\n --yfm-color-hljs-literal: #78A960;\n --yfm-color-hljs-addition: #397300;\n --yfm-color-hljs-meta: #1f7199;\n --yfm-color-hljs-meta-string: #4d99bf;\n --yfm-font-family-monospace: \"Menlo\", \"Monaco\", \"Consolas\", \"Ubuntu Mono\", \"Liberation Mono\", \"DejaVu Sans Mono\", \"Courier New\", \"Courier\", monospace;\n --yfm-font-family-sans: 'Segoe UI', Arial, Helvetica, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n}\n", "$baseColor: #ffffff;\n$accentColor: #027bf3;\n\n$textColor: rgba(0, 0, 0, 0.7);\n$borderColor: rgba(0, 0, 0, 0.07);\n$backgroundColor: rgba(0, 0, 0, 0.02);\n\n$inlineCodeColor: rgba(59, 96, 128, 1);\n$inlineCodeBackgroundColor: rgba(107, 132, 153, 0.12);\n\n$codeBackgroundColor: rgba(107, 132, 153, 0.12);\n\n$tableRowBackgroundColor: rgba(0, 0, 0, 0.02);\n\n$linkColor: $accentColor;\n$linkHoverColor: #004080;\n", "@import 'variables';\n\n$infoColor: $accentColor;\n$tipColor: #56bd67;\n$warningColor: #f19518;\n$importantColor: #ff4645;\n\n$infoBackgroundColor: rgba(2, 123, 243, 0.08);\n$tipBackgroundColor: rgba(63, 201, 46, 0.1);\n$warningBackgroundColor: rgba(255, 136, 0, 0.15);\n$importantBackgroundColor: rgba(235, 50, 38, 0.08);\n\n.yfm .yfm-note {\n max-width: 1296px;\n margin: 20px 0;\n padding: 20px 20px 20px 64px;\n border-radius: 10px;\n\n .yfm-note-title {\n font-weight: 700;\n }\n\n & > p {\n margin: 0 0 10px 0;\n\n &:first-child {\n &::before {\n box-sizing: content-box;\n display: block;\n width: 24px;\n height: 24px;\n margin-top: -2px;\n margin-left: -44px;\n padding-right: 20px;\n float: left;\n }\n }\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n $colors: (\n yfm-accent-info: $infoColor,\n yfm-accent-tip: $tipColor,\n yfm-accent-alert: $importantColor,\n yfm-accent-warning: $warningColor\n );\n\n @each $type, $color in $colors {\n &.#{$type} > p:first-child::before {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n $rgbColor: 'rgb(' + $r + ',' + $g + ',' + $b + ')';\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"' + $rgbColor + '\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n }\n }\n\n $backgroundColors: (\n yfm-accent-info: $infoBackgroundColor,\n yfm-accent-tip: $tipBackgroundColor,\n yfm-accent-alert: $importantBackgroundColor,\n yfm-accent-warning: $warningBackgroundColor\n );\n\n @each $type, $color in $backgroundColors {\n &.#{$type} {\n background: $color;\n }\n }\n}\n", ".yfm {\n h1, h2, h3, h4, h5, h6 {\n .yfm-anchor {\n display: inline-block;\n width: 24px;\n padding-right: 4px;\n margin-left: -24px;\n float: left;\n\n text-align: center;\n font-size: 18px;\n }\n\n .yfm-anchor::before {\n content: '#';\n visibility: hidden;\n }\n\n &:hover .yfm-anchor::before {\n visibility: visible;\n }\n }\n\n table {\n h1, h2, h3, h4, h5, h6 {\n .yfm-anchor {\n width: 1em;\n margin-left: -1em;\n padding-right: 0;\n }\n }\n };\n}\n", "@import 'variables';\n\n.yfm {\n .hljs {\n display: block;\n overflow-x: auto;\n padding: 16px;\n background: $codeBackgroundColor;\n background: var(--yfm-color-hljs-background);\n }\n\n .hljs,\n .hljs-subst {\n color: #444;\n color: var(--yfm-color-hljs-subst);\n }\n\n .hljs-comment {\n color: #888888;\n color: var(--yfm-color-hljs-comment);\n }\n\n\n .hljs-keyword,\n .hljs-attribute,\n .hljs-selector-tag,\n .hljs-meta-keyword,\n .hljs-doctag,\n .hljs-name {\n font-weight: bold;\n }\n\n .hljs-type,\n .hljs-string,\n .hljs-number,\n .hljs-selector-id,\n .hljs-selector-class,\n .hljs-quote,\n .hljs-template-tag,\n .hljs-deletion {\n color: #880000;\n color: var(--yfm-color-hljs-deletion);\n }\n\n .hljs-title,\n .hljs-section {\n color: #880000;\n color: var(--yfm-color-hljs-section);\n font-weight: bold;\n }\n\n .hljs-regexp,\n .hljs-symbol,\n .hljs-variable,\n .hljs-template-variable,\n .hljs-link,\n .hljs-selector-attr,\n .hljs-selector-pseudo {\n color: #BC6060;\n color: var(--yfm-color-hljs-pseudo);\n }\n\n\n .hljs-literal {\n color: #78A960;\n color: var(--yfm-color-hljs-literal);\n }\n\n .hljs-built_in,\n .hljs-bullet,\n .hljs-code,\n .hljs-addition {\n color: #397300;\n color: var(--yfm-color-hljs-addition);\n }\n\n\n .hljs-meta {\n color: #1f7199;\n color: var(--yfm-color-hljs-meta);\n }\n\n .hljs-meta-string {\n color: #4d99bf;\n color: var(--yfm-color-hljs-meta-string);\n }\n\n\n .hljs-emphasis {\n font-style: italic;\n }\n\n .hljs-strong {\n font-weight: bold;\n }\n}\n", ".yfm {\n &-clipboard {\n position: relative;\n\n &:hover &-button {\n display: block;\n }\n\n & > pre {\n border-radius: 10px;\n overflow: hidden;\n }\n }\n\n &-clipboard-button {\n display: none;\n position: absolute;\n cursor: pointer;\n top: 16px;\n right: 16px;\n z-index: 1;\n }\n}\n", ".yfm-cut {\n $class: &;\n\n &-title {\n cursor: pointer;\n position: relative;\n user-select: none;\n padding: 5px 0 5px 30px;\n\n &:before {\n content: '';\n z-index: 1;\n left: 0;\n top: 50%;\n background-image: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+CiAgICA8cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZmlsbD0ibm9uZSIgZD0iTTMgNmw1IDUgNS01Ii8+Cjwvc3ZnPgo=\");\n transform: translateY(-50%) rotate(-90deg);\n transition: transform 0.3s ease;\n height: 20px;\n width: 20px;\n position: absolute;\n }\n }\n\n &-content {\n display: none;\n overflow: hidden;\n transition: height 0.3s ease-in-out;\n }\n\n &.open {\n > #{$class}-content {\n display: revert;\n padding: 5px 0 15px 30px;\n }\n\n > #{$class}-title:before {\n transform: translateY(-50%);\n }\n }\n}\n\n\n", "@import 'variables';\n\n$defaultIcon: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zNjkuOSA5Ny45TDI4NiAxNEMyNzcgNSAyNjQuOC0uMSAyNTIuMS0uMUg0OEMyMS41IDAgMCAyMS41IDAgNDh2NDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI4OGMyNi41IDAgNDgtMjEuNSA0OC00OFYxMzEuOWMwLTEyLjctNS4xLTI1LTE0LjEtMzR6bS0yMi42IDIyLjdjMi4xIDIuMSAzLjUgNC42IDQuMiA3LjRIMjU2VjMyLjVjMi44LjcgNS4zIDIuMSA3LjQgNC4ybDgzLjkgODMuOXpNMzM2IDQ4MEg0OGMtOC44IDAtMTYtNy4yLTE2LTE2VjQ4YzAtOC44IDcuMi0xNiAxNi0xNmgxNzZ2MTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDEwNHYzMDRjMCA4LjgtNy4yIDE2LTE2IDE2em0tNDgtMjQ0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyeiIvPjwvc3ZnPg==\");\n\n/**\n Public CSS variables:\n --yfm-file-icon sets file icon image\n --yfm-file-icon-color sets file icon color\n*/\n\n.yfm-file {\n &__icon {\n ---yfm-file-icon-img: var(--yfm-file-icon, #{$defaultIcon});\n\n display: inline-block;\n user-select: none;\n\n width: 16px;\n margin: 0 2px;\n\n color: var(--yfm-file-icon-color, #{$textColor});\n background-color: currentColor;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100%;\n\n mask-image: var(---yfm-file-icon-img);\n mask-position: center;\n mask-repeat: no-repeat;\n\n &::before {\n content: '\\a0';\n }\n }\n}\n", ".yfm-term {\n &_title {\n color: #027bf3;\n cursor: pointer;\n\n border-bottom: 1px dotted;\n\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n\n &:hover {\n color: #004080;\n }\n }\n\n &_dfn {\n position: absolute;\n z-index: 1000;\n\n width: fit-content;\n max-width: 450px;\n\n @media screen and (max-width: 600px) {\n & {\n max-width: 80%;\n }\n }\n\n visibility: hidden;\n opacity: 0;\n\n padding: 10px;\n\n background-color: rgb(255, 255, 255);\n\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n\n border-radius: 4px;\n\n box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);\n outline: none;\n\n &::before {\n content: '';\n position: absolute;\n z-index: -1;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n border-radius: inherit;\n box-shadow: 0 0 0 1px rgb(229, 229, 229);\n }\n\n &.open {\n visibility: visible;\n\n animation-name: popup;\n animation-duration: 0.1s;\n animation-timing-function: ease-out;\n animation-fill-mode: forwards;\n\n @keyframes popup {\n 0% {\n opacity: 0;\n transform: translateY(10px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n }\n }\n }\n}\n", ".yfm-tabs{margin-bottom:15px}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol{counter-reset:tabs-list}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol>li{counter-increment:tabs-list}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol>li:before{content:counters(tabs-list,\".\") \". \"}.yfm-tab-list{display:flex;flex-wrap:wrap;margin-bottom:15px;border-bottom:1px solid rgba(0,0,0,.07)}.yfm-tab{margin-bottom:-1px;margin-right:20px;border-bottom:2px solid transparent;padding:6px 0 7px;font-weight:700;outline:none;cursor:pointer;user-select:none;white-space:break-spaces}.yfm-tab:last-child{margin-right:0}.yfm-tab:hover,.yfm-tab:active{color:#004080}.yfm-tab.active{border-bottom-color:#027bf3}.yfm-tab-panel{visibility:hidden;height:0}.yfm-tab-panel:first-child{margin-top:0!important}.yfm-tab-panel:last-child{margin-bottom:0!important}.yfm-tab-panel.active{visibility:visible;height:auto}\n/*# sourceMappingURL=index.css.map */\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
package/dist/js/yfm.js
CHANGED
|
@@ -323,8 +323,12 @@
|
|
|
323
323
|
}
|
|
324
324
|
const { width: definitionWidth } = definitionElement.getBoundingClientRect();
|
|
325
325
|
const { left: definitionParentLeft } = definitionParent.getBoundingClientRect();
|
|
326
|
-
const
|
|
327
|
-
const
|
|
326
|
+
const definitionLeftCoordinate = Number(getCoords(termElement).left);
|
|
327
|
+
const definitionRightCoordinate = definitionWidth + definitionLeftCoordinate;
|
|
328
|
+
const definitionOutOfScreenOnLeft = definitionLeftCoordinate - definitionWidth < 0;
|
|
329
|
+
const definitionOutOfScreenOnRight = definitionRightCoordinate > document.body.clientWidth;
|
|
330
|
+
const isAlignSwapped = definitionOutOfScreenOnRight || document.dir === "rtl";
|
|
331
|
+
const fitDefinitionDocument = isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;
|
|
328
332
|
const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;
|
|
329
333
|
definitionElement.style.top = Number(getCoords(termElement).top + offsetTop - customHeaderTop) + "px";
|
|
330
334
|
definitionElement.style.left = Number(
|
package/dist/js/yfm.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../node_modules/get-root-node-polyfill/index.js", "../../node_modules/@diplodoc/tabs-extension/src/common.ts", "../../node_modules/@diplodoc/tabs-extension/src/runtime/utils.ts", "../../node_modules/@diplodoc/tabs-extension/src/runtime/TabsController.ts", "../../node_modules/@diplodoc/tabs-extension/src/runtime/index.ts", "../../src/js/polyfill.js", "../../src/js/utils.ts", "../../src/js/code.ts", "../../src/js/cut.ts", "../../src/js/term/utils.ts", "../../src/js/term/index.ts"],
|
|
4
|
-
"sourcesContent": ["'use strict';\n\n// Node getRootNode(optional GetRootNodeOptions options);\n\n/**\n * Returns the context object\u2019s shadow-including root if options\u2019s composed is true.\n * Returns the context object\u2019s root otherwise.\n *\n * The root of an object is itself, if its parent is null, or else it is the root of its parent.\n *\n * The shadow-including root of an object is its root\u2019s host\u2019s shadow-including root,\n * if the object\u2019s root is a shadow root, and its root otherwise.\n *\n * https://dom.spec.whatwg.org/#dom-node-getrootnode\n *\n * @memberof Node.prototype\n * @param {!Object} [opt = {}] - Options.\n * @param {!boolean} [opt.composed] - See above description.\n * @returns {!Node} The root node.\n */\nfunction getRootNode(opt) {\n var composed = typeof opt === 'object' && Boolean(opt.composed);\n\n return composed ? getShadowIncludingRoot(this) : getRoot(this);\n}\n\nfunction getShadowIncludingRoot(node) {\n var root = getRoot(node);\n\n if (isShadowRoot(root)) {\n return getShadowIncludingRoot(root.host);\n }\n\n return root;\n}\n\nfunction getRoot(node) {\n if (node.parentNode != null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\nfunction isShadowRoot(node) {\n return node.nodeName === '#document-fragment' && node.constructor.name === 'ShadowRoot';\n}\n\nif (typeof module === 'object' && module.exports) {\n module.exports = getRootNode;\n}\n", "import type {TabsController} from './runtime/TabsController';\n\nexport const TABS_CLASSNAME = 'yfm-tabs';\nexport const TABS_LIST_CLASSNAME = 'yfm-tab-list';\nexport const TAB_CLASSNAME = 'yfm-tab';\nexport const TAB_PANEL_CLASSNAME = 'yfm-tab-panel';\nexport const ACTIVE_CLASSNAME = 'active';\n\nexport const GROUP_DATA_KEY = 'data-diplodoc-group';\nexport const TAB_DATA_KEY = 'data-diplodoc-key';\nexport const TAB_DATA_ID = 'data-diplodoc-id';\nexport const TAB_ACTIVE_KEY = 'data-diplodoc-is-active';\n\nexport const DEFAULT_TABS_GROUP_PREFIX = 'defaultTabsGroup-';\n\nexport interface Tab {\n group?: string;\n key: string;\n}\n\nexport interface SelectedTabEvent {\n tab: Tab;\n currentTabId?: string;\n}\n\nexport const GLOBAL_SYMBOL: unique symbol = Symbol.for('diplodocTabs');\n\ndeclare global {\n interface Window {\n [GLOBAL_SYMBOL]: TabsController;\n }\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n\nexport const getClosestScrollableParent = (element: HTMLElement): HTMLElement | undefined => {\n if (Math.abs(element.scrollHeight - element.clientHeight) > 1) {\n return element;\n }\n\n return element.parentElement ? getClosestScrollableParent(element.parentElement) : undefined;\n};\n\nexport interface ElementOffset {\n top: number;\n left: number;\n}\n\nexport const getOffsetByScrollableParent = (\n element: HTMLElement,\n scrollableParent: HTMLElement,\n): ElementOffset => {\n const elementBounds = element.getBoundingClientRect();\n const scrollableParentBounds = scrollableParent.getBoundingClientRect();\n return {\n top: elementBounds.top - scrollableParentBounds.top,\n left: elementBounds.left - scrollableParentBounds.left,\n };\n};\n", "import {\n ACTIVE_CLASSNAME,\n DEFAULT_TABS_GROUP_PREFIX,\n GROUP_DATA_KEY,\n SelectedTabEvent,\n TABS_CLASSNAME,\n TABS_LIST_CLASSNAME,\n TAB_CLASSNAME,\n TAB_DATA_ID,\n TAB_DATA_KEY,\n TAB_PANEL_CLASSNAME,\n Tab,\n} from '../common';\nimport {\n ElementOffset,\n getClosestScrollableParent,\n getEventTarget,\n getOffsetByScrollableParent,\n isCustom,\n} from './utils';\n\nconst Selector = {\n TABS: `.${TABS_CLASSNAME}`,\n TAB_LIST: `.${TABS_LIST_CLASSNAME}`,\n TAB: `.${TAB_CLASSNAME}`,\n TAB_PANEL: `.${TAB_PANEL_CLASSNAME}`,\n};\n\nexport interface ISelectTabByIdOptions {\n scrollToElement: boolean;\n}\n\ntype Handler = (data: SelectedTabEvent) => void;\n\nexport class TabsController {\n private _document: Document;\n\n private _onSelectTabHandlers: Set<Handler> = new Set();\n\n constructor(document: Document) {\n this._document = document;\n this._document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n if (tab) {\n this._selectTab(tab, target);\n }\n });\n }\n\n onSelectTab(handler: Handler) {\n this._onSelectTabHandlers.add(handler);\n\n return () => {\n this._onSelectTabHandlers.delete(handler);\n };\n }\n\n selectTabById(id: string, options?: ISelectTabByIdOptions) {\n const target = this._document.querySelector(\n `${Selector.TAB}[${TAB_DATA_ID}=\"${id}\"]`,\n ) as HTMLElement;\n\n if (!target || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n if (tab) {\n this._selectTab(tab, target);\n }\n\n if (options?.scrollToElement) {\n target.scrollIntoView();\n }\n }\n\n selectTab(tab: Tab) {\n this._selectTab(tab);\n }\n\n private _selectTab(tab: Tab, targetTab?: HTMLElement) {\n const {group, key} = tab;\n\n if (!group) {\n return;\n }\n\n const scrollableParent = targetTab && getClosestScrollableParent(targetTab);\n const previousTargetOffset =\n scrollableParent && getOffsetByScrollableParent(targetTab, scrollableParent);\n\n const updatedTabs = this.updateHTML({group, key});\n\n if (updatedTabs > 0) {\n if (previousTargetOffset) {\n this.resetScroll(targetTab, scrollableParent, previousTargetOffset);\n }\n\n this.fireSelectTabEvent({group, key}, targetTab?.dataset.diplodocId);\n }\n }\n\n private updateHTML(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const tabs = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n\n tabs.forEach((element) => {\n const htmlElem = element as HTMLElement;\n if (!this.isValidTabElement(htmlElem) || htmlElem.dataset.diplodocIsActive === 'true') {\n return;\n }\n\n updated++;\n\n const tab = element;\n const tabList = tab.parentNode;\n const tabsContainer = tabList?.parentNode;\n const allTabs = Array.from(tabsContainer?.querySelectorAll(Selector.TAB) || []);\n const allPanels = Array.from(tabsContainer?.querySelectorAll(Selector.TAB_PANEL) || []);\n const targetIndex = allTabs.indexOf(tab);\n\n allTabs.forEach((tab, i) => {\n const panel = allPanels[i];\n const isTargetTab = i === targetIndex;\n const htmlElem = tab as HTMLElement;\n\n htmlElem.dataset.diplodocIsActive = isTargetTab ? 'true' : 'false';\n\n tab.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n tab.setAttribute('aria-selected', isTargetTab.toString());\n tab.setAttribute('tabindex', isTargetTab ? '-1' : '0');\n panel.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n });\n });\n\n return updated;\n }\n\n private resetScroll(\n target: HTMLElement,\n scrollableParent: HTMLElement,\n previousTargetOffset: ElementOffset,\n ) {\n const targetOffset = getOffsetByScrollableParent(target, scrollableParent);\n scrollableParent.scrollTo(\n targetOffset.left + scrollableParent.scrollLeft - previousTargetOffset.left,\n targetOffset.top + scrollableParent.scrollTop - previousTargetOffset.top,\n );\n }\n\n private fireSelectTabEvent(tab: Required<Tab>, diplodocId?: string) {\n const {group, key} = tab;\n\n const eventTab: Tab = group.startsWith(DEFAULT_TABS_GROUP_PREFIX) ? {key} : tab;\n\n this._onSelectTabHandlers.forEach((handler) => {\n handler({tab: eventTab, currentTabId: diplodocId});\n });\n }\n\n private isValidTabElement(element: HTMLElement) {\n const tabList =\n element.matches(Selector.TAB) && element.dataset.diplodocId\n ? element.closest(Selector.TAB_LIST)\n : null;\n return tabList?.closest(Selector.TABS);\n }\n\n private getTabDataFromHTMLElement(target: HTMLElement): Tab | null {\n const key = target.dataset.diplodocKey;\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key} : null;\n }\n}\n", "import {GLOBAL_SYMBOL} from '../common';\nimport {TabsController} from './TabsController';\nimport './scss/tabs.scss';\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && !window[GLOBAL_SYMBOL]) {\n window[GLOBAL_SYMBOL] = new TabsController(document);\n}\n", "import getRootNode from 'get-root-node-polyfill';\n\nif (typeof document !== 'undefined') {\n // matches polyfill for old edge\n (function (e) {\n const matches =\n e.matches ||\n e.matchesSelector ||\n e.webkitMatchesSelector ||\n e.mozMatchesSelector ||\n e.msMatchesSelector ||\n e.oMatchesSelector;\n\n if (matches) {\n e.matches = e.matchesSelector = matches;\n } else {\n e.matches = e.matchesSelector = function matches(selector) {\n const rootNode = e.getRootNode ? e.getRootNode() : getRootNode.call(e);\n const matches = rootNode.querySelectorAll(selector);\n const th = this;\n return Array.prototype.some.call(matches, (e) => {\n return e === th;\n });\n };\n }\n })(Element.prototype);\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n", "import {getEventTarget, isCustom} from './utils';\n\nconst BUTTON_SELECTOR = '.yfm-clipboard-button';\n\nfunction copyToClipboard(text: string) {\n if (!text) {\n return Promise.resolve();\n }\n\n if (navigator.clipboard && typeof navigator.clipboard.writeText) {\n return navigator.clipboard.writeText(text);\n }\n const textarea = document.createElement('textarea');\n textarea.setAttribute('style', 'position: absolute; left: 1000%');\n textarea.textContent = text;\n document.body.append(textarea);\n\n textarea.select();\n document.execCommand('copy');\n\n document.body.removeChild(textarea);\n\n return Promise.resolve();\n}\n\nfunction notifySuccess(svgButton: HTMLElement | null) {\n if (!svgButton) {\n return;\n }\n\n const id = svgButton.getAttribute('data-animation');\n // @ts-expect-error\n const icon = svgButton.getRootNode().getElementById(`visibileAnimation-${id}`);\n\n if (!icon) {\n return;\n }\n\n icon.beginElement();\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !target.matches(BUTTON_SELECTOR)) {\n return;\n }\n\n const parent = target.parentNode;\n\n if (!parent) {\n return;\n }\n\n const code = parent.querySelector<HTMLElement>('pre code');\n if (!code) {\n return;\n }\n\n copyToClipboard(code.innerText).then(() => {\n notifySuccess(parent.querySelector('.yfm-clipboard-button'));\n });\n });\n}\n", "import {getEventTarget, isCustom} from './utils';\n\nconst Selector = {\n CUT: '.yfm .yfm-cut',\n TITLE: '.yfm .yfm-cut-title',\n CONTENT: '.yfm .yfm-cut-content',\n};\n\nconst ClassName = {\n OPEN: 'open',\n};\n\nfunction toggleCut(element: HTMLElement) {\n const cutNode = element.parentNode;\n\n if (!(cutNode instanceof HTMLElement)) {\n return;\n }\n\n cutNode.classList.toggle(ClassName.OPEN);\n}\n\nfunction matchTitle(target: EventTarget | null) {\n if (!(target instanceof HTMLElement)) {\n return false;\n }\n\n return target?.matches?.(Selector.TITLE);\n}\n\nfunction findTitleInPath(event: MouseEvent): HTMLElement | undefined {\n const target = getEventTarget(event);\n\n if (matchTitle(target)) {\n return target as HTMLElement;\n }\n\n const path = event.composedPath?.();\n\n return path?.find(matchTitle) as HTMLElement | undefined;\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n if (isCustom(event)) {\n return;\n }\n\n const title = findTitleInPath(event);\n\n if (!title) {\n return;\n }\n\n toggleCut(title);\n });\n}\n", "export const Selector = {\n TITLE: '.yfm .yfm-term_title',\n CONTENT: '.yfm .yfm-term_dfn',\n};\nexport const openClass = 'open';\nexport const openDefinitionClass = Selector.CONTENT.replace(/\\./g, '') + ' ' + openClass;\nlet isListenerNeeded = true;\n\nexport function createDefinitionElement(termElement: HTMLElement) {\n const termKey = termElement.getAttribute('term-key');\n const definitionTemplate = document.getElementById(\n `${termKey}_template`,\n ) as HTMLTemplateElement;\n const definitionElement = definitionTemplate?.content.cloneNode(true).firstChild as HTMLElement;\n\n definitionTemplate?.parentElement?.appendChild(definitionElement);\n definitionTemplate.remove();\n\n return definitionElement;\n}\n\nexport function setDefinitionId(definitionElement: HTMLElement, termElement: HTMLElement): void {\n const termId = termElement.getAttribute('id') || Math.random().toString(36).substr(2, 8);\n definitionElement?.setAttribute('term-id', termId);\n}\n\nexport function setDefinitionPosition(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const {\n x: termX,\n y: termY,\n right: termRight,\n left: termLeft,\n width: termWidth,\n height: termHeight,\n } = termElement.getBoundingClientRect();\n\n const termParent = termParentElement(termElement);\n\n if (!termParent) {\n return;\n }\n\n const {right: termParentRight, left: termParentLeft} = termParent.getBoundingClientRect();\n\n if ((termParentRight < termLeft || termParentLeft > termRight) && !isListenerNeeded) {\n closeDefinition(definitionElement);\n return;\n }\n\n if (isListenerNeeded && termParent) {\n termParent.addEventListener('scroll', termOnResize);\n isListenerNeeded = false;\n }\n\n const relativeX = Number(definitionElement.getAttribute('relativeX'));\n const relativeY = Number(definitionElement.getAttribute('relativeY'));\n\n if (relativeX === termX && relativeY === termY) {\n return;\n }\n\n definitionElement.setAttribute('relativeX', String(termX));\n definitionElement.setAttribute('relativeY', String(termY));\n\n const offsetTop = termHeight + 5;\n const definitionParent = definitionElement.parentElement;\n\n if (!definitionParent) {\n return;\n }\n\n const {width: definitionWidth} = definitionElement.getBoundingClientRect();\n const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();\n\n // If definition not fit document change base alignment\n const definitionRightCoordinate = definitionWidth + Number(getCoords(termElement).left);\n const fitDefinitionDocument =\n document.body.clientWidth > definitionRightCoordinate ? 0 : definitionWidth - termWidth;\n\n const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;\n\n definitionElement.style.top =\n Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';\n definitionElement.style.left =\n Number(\n getCoords(termElement).left -\n definitionParentLeft +\n definitionParent.offsetLeft -\n fitDefinitionDocument,\n ) + 'px';\n}\n\nfunction termOnResize() {\n const openDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n}\n\nfunction termParentElement(term: HTMLElement | null) {\n if (!term) {\n return null;\n }\n\n const closestScrollableParent = term.closest('table') || term.closest('code');\n\n return closestScrollableParent || term.parentElement;\n}\n\nexport function closeDefinition(definition: HTMLElement) {\n definition.classList.remove(openClass);\n const termId = definition.getAttribute('term-id') || '';\n const termParent = termParentElement(document.getElementById(termId));\n\n if (!termParent) {\n return;\n }\n\n termParent.removeEventListener('scroll', termOnResize);\n isListenerNeeded = true;\n}\n\nfunction getCoords(elem: HTMLElement) {\n const box = elem.getBoundingClientRect();\n\n const body = document.body;\n const docEl = document.documentElement;\n\n const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n}\n", "import {\n Selector,\n closeDefinition,\n createDefinitionElement,\n openClass,\n openDefinitionClass,\n setDefinitionId,\n setDefinitionPosition,\n} from './utils';\nimport {getEventTarget, isCustom} from '../utils';\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n const target = getEventTarget(event) as HTMLElement;\n\n const termId = target.getAttribute('id');\n const termKey = target.getAttribute('term-key');\n let definitionElement = document.getElementById(termKey + '_element');\n\n if (termKey && !definitionElement) {\n definitionElement = createDefinitionElement(target);\n }\n\n const isSameTerm = openDefinition && termId === openDefinition.getAttribute('term-id');\n if (isSameTerm) {\n closeDefinition(openDefinition);\n return;\n }\n\n const isTargetDefinitionContent = target.closest(\n [Selector.CONTENT.replace(' ', ''), openClass].join('.'),\n );\n\n if (openDefinition && !isTargetDefinitionContent) {\n closeDefinition(openDefinition);\n }\n\n if (isCustom(event) || !target.matches(Selector.TITLE) || !definitionElement) {\n return;\n }\n\n setDefinitionId(definitionElement, target);\n setDefinitionPosition(definitionElement, target);\n\n definitionElement.classList.toggle(openClass);\n });\n\n document.addEventListener('keydown', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n if (event.key === 'Escape' && openDefinition) {\n closeDefinition(openDefinition);\n }\n });\n\n window.addEventListener('resize', () => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n openDefinition.classList.toggle(openClass);\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n });\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["'use strict';\n\n// Node getRootNode(optional GetRootNodeOptions options);\n\n/**\n * Returns the context object\u2019s shadow-including root if options\u2019s composed is true.\n * Returns the context object\u2019s root otherwise.\n *\n * The root of an object is itself, if its parent is null, or else it is the root of its parent.\n *\n * The shadow-including root of an object is its root\u2019s host\u2019s shadow-including root,\n * if the object\u2019s root is a shadow root, and its root otherwise.\n *\n * https://dom.spec.whatwg.org/#dom-node-getrootnode\n *\n * @memberof Node.prototype\n * @param {!Object} [opt = {}] - Options.\n * @param {!boolean} [opt.composed] - See above description.\n * @returns {!Node} The root node.\n */\nfunction getRootNode(opt) {\n var composed = typeof opt === 'object' && Boolean(opt.composed);\n\n return composed ? getShadowIncludingRoot(this) : getRoot(this);\n}\n\nfunction getShadowIncludingRoot(node) {\n var root = getRoot(node);\n\n if (isShadowRoot(root)) {\n return getShadowIncludingRoot(root.host);\n }\n\n return root;\n}\n\nfunction getRoot(node) {\n if (node.parentNode != null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\nfunction isShadowRoot(node) {\n return node.nodeName === '#document-fragment' && node.constructor.name === 'ShadowRoot';\n}\n\nif (typeof module === 'object' && module.exports) {\n module.exports = getRootNode;\n}\n", "import type {TabsController} from './runtime/TabsController';\n\nexport const TABS_CLASSNAME = 'yfm-tabs';\nexport const TABS_LIST_CLASSNAME = 'yfm-tab-list';\nexport const TAB_CLASSNAME = 'yfm-tab';\nexport const TAB_PANEL_CLASSNAME = 'yfm-tab-panel';\nexport const ACTIVE_CLASSNAME = 'active';\n\nexport const GROUP_DATA_KEY = 'data-diplodoc-group';\nexport const TAB_DATA_KEY = 'data-diplodoc-key';\nexport const TAB_DATA_ID = 'data-diplodoc-id';\nexport const TAB_ACTIVE_KEY = 'data-diplodoc-is-active';\n\nexport const DEFAULT_TABS_GROUP_PREFIX = 'defaultTabsGroup-';\n\nexport interface Tab {\n group?: string;\n key: string;\n}\n\nexport interface SelectedTabEvent {\n tab: Tab;\n currentTabId?: string;\n}\n\nexport const GLOBAL_SYMBOL: unique symbol = Symbol.for('diplodocTabs');\n\ndeclare global {\n interface Window {\n [GLOBAL_SYMBOL]: TabsController;\n }\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n\nexport const getClosestScrollableParent = (element: HTMLElement): HTMLElement | undefined => {\n if (Math.abs(element.scrollHeight - element.clientHeight) > 1) {\n return element;\n }\n\n return element.parentElement ? getClosestScrollableParent(element.parentElement) : undefined;\n};\n\nexport interface ElementOffset {\n top: number;\n left: number;\n}\n\nexport const getOffsetByScrollableParent = (\n element: HTMLElement,\n scrollableParent: HTMLElement,\n): ElementOffset => {\n const elementBounds = element.getBoundingClientRect();\n const scrollableParentBounds = scrollableParent.getBoundingClientRect();\n return {\n top: elementBounds.top - scrollableParentBounds.top,\n left: elementBounds.left - scrollableParentBounds.left,\n };\n};\n", "import {\n ACTIVE_CLASSNAME,\n DEFAULT_TABS_GROUP_PREFIX,\n GROUP_DATA_KEY,\n SelectedTabEvent,\n TABS_CLASSNAME,\n TABS_LIST_CLASSNAME,\n TAB_CLASSNAME,\n TAB_DATA_ID,\n TAB_DATA_KEY,\n TAB_PANEL_CLASSNAME,\n Tab,\n} from '../common';\nimport {\n ElementOffset,\n getClosestScrollableParent,\n getEventTarget,\n getOffsetByScrollableParent,\n isCustom,\n} from './utils';\n\nconst Selector = {\n TABS: `.${TABS_CLASSNAME}`,\n TAB_LIST: `.${TABS_LIST_CLASSNAME}`,\n TAB: `.${TAB_CLASSNAME}`,\n TAB_PANEL: `.${TAB_PANEL_CLASSNAME}`,\n};\n\nexport interface ISelectTabByIdOptions {\n scrollToElement: boolean;\n}\n\ntype Handler = (data: SelectedTabEvent) => void;\n\nexport class TabsController {\n private _document: Document;\n\n private _onSelectTabHandlers: Set<Handler> = new Set();\n\n constructor(document: Document) {\n this._document = document;\n this._document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n if (tab) {\n this._selectTab(tab, target);\n }\n });\n }\n\n onSelectTab(handler: Handler) {\n this._onSelectTabHandlers.add(handler);\n\n return () => {\n this._onSelectTabHandlers.delete(handler);\n };\n }\n\n selectTabById(id: string, options?: ISelectTabByIdOptions) {\n const target = this._document.querySelector(\n `${Selector.TAB}[${TAB_DATA_ID}=\"${id}\"]`,\n ) as HTMLElement;\n\n if (!target || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n if (tab) {\n this._selectTab(tab, target);\n }\n\n if (options?.scrollToElement) {\n target.scrollIntoView();\n }\n }\n\n selectTab(tab: Tab) {\n this._selectTab(tab);\n }\n\n private _selectTab(tab: Tab, targetTab?: HTMLElement) {\n const {group, key} = tab;\n\n if (!group) {\n return;\n }\n\n const scrollableParent = targetTab && getClosestScrollableParent(targetTab);\n const previousTargetOffset =\n scrollableParent && getOffsetByScrollableParent(targetTab, scrollableParent);\n\n const updatedTabs = this.updateHTML({group, key});\n\n if (updatedTabs > 0) {\n if (previousTargetOffset) {\n this.resetScroll(targetTab, scrollableParent, previousTargetOffset);\n }\n\n this.fireSelectTabEvent({group, key}, targetTab?.dataset.diplodocId);\n }\n }\n\n private updateHTML(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const tabs = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n\n tabs.forEach((element) => {\n const htmlElem = element as HTMLElement;\n if (!this.isValidTabElement(htmlElem) || htmlElem.dataset.diplodocIsActive === 'true') {\n return;\n }\n\n updated++;\n\n const tab = element;\n const tabList = tab.parentNode;\n const tabsContainer = tabList?.parentNode;\n const allTabs = Array.from(tabsContainer?.querySelectorAll(Selector.TAB) || []);\n const allPanels = Array.from(tabsContainer?.querySelectorAll(Selector.TAB_PANEL) || []);\n const targetIndex = allTabs.indexOf(tab);\n\n allTabs.forEach((tab, i) => {\n const panel = allPanels[i];\n const isTargetTab = i === targetIndex;\n const htmlElem = tab as HTMLElement;\n\n htmlElem.dataset.diplodocIsActive = isTargetTab ? 'true' : 'false';\n\n tab.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n tab.setAttribute('aria-selected', isTargetTab.toString());\n tab.setAttribute('tabindex', isTargetTab ? '-1' : '0');\n panel.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n });\n });\n\n return updated;\n }\n\n private resetScroll(\n target: HTMLElement,\n scrollableParent: HTMLElement,\n previousTargetOffset: ElementOffset,\n ) {\n const targetOffset = getOffsetByScrollableParent(target, scrollableParent);\n scrollableParent.scrollTo(\n targetOffset.left + scrollableParent.scrollLeft - previousTargetOffset.left,\n targetOffset.top + scrollableParent.scrollTop - previousTargetOffset.top,\n );\n }\n\n private fireSelectTabEvent(tab: Required<Tab>, diplodocId?: string) {\n const {group, key} = tab;\n\n const eventTab: Tab = group.startsWith(DEFAULT_TABS_GROUP_PREFIX) ? {key} : tab;\n\n this._onSelectTabHandlers.forEach((handler) => {\n handler({tab: eventTab, currentTabId: diplodocId});\n });\n }\n\n private isValidTabElement(element: HTMLElement) {\n const tabList =\n element.matches(Selector.TAB) && element.dataset.diplodocId\n ? element.closest(Selector.TAB_LIST)\n : null;\n return tabList?.closest(Selector.TABS);\n }\n\n private getTabDataFromHTMLElement(target: HTMLElement): Tab | null {\n const key = target.dataset.diplodocKey;\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key} : null;\n }\n}\n", "import {GLOBAL_SYMBOL} from '../common';\nimport {TabsController} from './TabsController';\nimport './scss/tabs.scss';\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && !window[GLOBAL_SYMBOL]) {\n window[GLOBAL_SYMBOL] = new TabsController(document);\n}\n", "import getRootNode from 'get-root-node-polyfill';\n\nif (typeof document !== 'undefined') {\n // matches polyfill for old edge\n (function (e) {\n const matches =\n e.matches ||\n e.matchesSelector ||\n e.webkitMatchesSelector ||\n e.mozMatchesSelector ||\n e.msMatchesSelector ||\n e.oMatchesSelector;\n\n if (matches) {\n e.matches = e.matchesSelector = matches;\n } else {\n e.matches = e.matchesSelector = function matches(selector) {\n const rootNode = e.getRootNode ? e.getRootNode() : getRootNode.call(e);\n const matches = rootNode.querySelectorAll(selector);\n const th = this;\n return Array.prototype.some.call(matches, (e) => {\n return e === th;\n });\n };\n }\n })(Element.prototype);\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n", "import {getEventTarget, isCustom} from './utils';\n\nconst BUTTON_SELECTOR = '.yfm-clipboard-button';\n\nfunction copyToClipboard(text: string) {\n if (!text) {\n return Promise.resolve();\n }\n\n if (navigator.clipboard && typeof navigator.clipboard.writeText) {\n return navigator.clipboard.writeText(text);\n }\n const textarea = document.createElement('textarea');\n textarea.setAttribute('style', 'position: absolute; left: 1000%');\n textarea.textContent = text;\n document.body.append(textarea);\n\n textarea.select();\n document.execCommand('copy');\n\n document.body.removeChild(textarea);\n\n return Promise.resolve();\n}\n\nfunction notifySuccess(svgButton: HTMLElement | null) {\n if (!svgButton) {\n return;\n }\n\n const id = svgButton.getAttribute('data-animation');\n // @ts-expect-error\n const icon = svgButton.getRootNode().getElementById(`visibileAnimation-${id}`);\n\n if (!icon) {\n return;\n }\n\n icon.beginElement();\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !target.matches(BUTTON_SELECTOR)) {\n return;\n }\n\n const parent = target.parentNode;\n\n if (!parent) {\n return;\n }\n\n const code = parent.querySelector<HTMLElement>('pre code');\n if (!code) {\n return;\n }\n\n copyToClipboard(code.innerText).then(() => {\n notifySuccess(parent.querySelector('.yfm-clipboard-button'));\n });\n });\n}\n", "import {getEventTarget, isCustom} from './utils';\n\nconst Selector = {\n CUT: '.yfm .yfm-cut',\n TITLE: '.yfm .yfm-cut-title',\n CONTENT: '.yfm .yfm-cut-content',\n};\n\nconst ClassName = {\n OPEN: 'open',\n};\n\nfunction toggleCut(element: HTMLElement) {\n const cutNode = element.parentNode;\n\n if (!(cutNode instanceof HTMLElement)) {\n return;\n }\n\n cutNode.classList.toggle(ClassName.OPEN);\n}\n\nfunction matchTitle(target: EventTarget | null) {\n if (!(target instanceof HTMLElement)) {\n return false;\n }\n\n return target?.matches?.(Selector.TITLE);\n}\n\nfunction findTitleInPath(event: MouseEvent): HTMLElement | undefined {\n const target = getEventTarget(event);\n\n if (matchTitle(target)) {\n return target as HTMLElement;\n }\n\n const path = event.composedPath?.();\n\n return path?.find(matchTitle) as HTMLElement | undefined;\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n if (isCustom(event)) {\n return;\n }\n\n const title = findTitleInPath(event);\n\n if (!title) {\n return;\n }\n\n toggleCut(title);\n });\n}\n", "export const Selector = {\n TITLE: '.yfm .yfm-term_title',\n CONTENT: '.yfm .yfm-term_dfn',\n};\nexport const openClass = 'open';\nexport const openDefinitionClass = Selector.CONTENT.replace(/\\./g, '') + ' ' + openClass;\nlet isListenerNeeded = true;\n\nexport function createDefinitionElement(termElement: HTMLElement) {\n const termKey = termElement.getAttribute('term-key');\n const definitionTemplate = document.getElementById(\n `${termKey}_template`,\n ) as HTMLTemplateElement;\n const definitionElement = definitionTemplate?.content.cloneNode(true).firstChild as HTMLElement;\n\n definitionTemplate?.parentElement?.appendChild(definitionElement);\n definitionTemplate.remove();\n\n return definitionElement;\n}\n\nexport function setDefinitionId(definitionElement: HTMLElement, termElement: HTMLElement): void {\n const termId = termElement.getAttribute('id') || Math.random().toString(36).substr(2, 8);\n definitionElement?.setAttribute('term-id', termId);\n}\n\nexport function setDefinitionPosition(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const {\n x: termX,\n y: termY,\n right: termRight,\n left: termLeft,\n width: termWidth,\n height: termHeight,\n } = termElement.getBoundingClientRect();\n\n const termParent = termParentElement(termElement);\n\n if (!termParent) {\n return;\n }\n\n const {right: termParentRight, left: termParentLeft} = termParent.getBoundingClientRect();\n\n if ((termParentRight < termLeft || termParentLeft > termRight) && !isListenerNeeded) {\n closeDefinition(definitionElement);\n return;\n }\n\n if (isListenerNeeded && termParent) {\n termParent.addEventListener('scroll', termOnResize);\n isListenerNeeded = false;\n }\n\n const relativeX = Number(definitionElement.getAttribute('relativeX'));\n const relativeY = Number(definitionElement.getAttribute('relativeY'));\n\n if (relativeX === termX && relativeY === termY) {\n return;\n }\n\n definitionElement.setAttribute('relativeX', String(termX));\n definitionElement.setAttribute('relativeY', String(termY));\n\n const offsetTop = termHeight + 5;\n const definitionParent = definitionElement.parentElement;\n\n if (!definitionParent) {\n return;\n }\n\n const {width: definitionWidth} = definitionElement.getBoundingClientRect();\n const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();\n\n // If definition not fit document change base alignment\n const definitionLeftCoordinate = Number(getCoords(termElement).left);\n const definitionRightCoordinate = definitionWidth + definitionLeftCoordinate;\n\n const definitionOutOfScreenOnLeft = definitionLeftCoordinate - definitionWidth < 0;\n const definitionOutOfScreenOnRight = definitionRightCoordinate > document.body.clientWidth;\n\n const isAlignSwapped = definitionOutOfScreenOnRight || document.dir === 'rtl';\n const fitDefinitionDocument =\n isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;\n const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;\n\n definitionElement.style.top =\n Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';\n definitionElement.style.left =\n Number(\n getCoords(termElement).left -\n definitionParentLeft +\n definitionParent.offsetLeft -\n fitDefinitionDocument,\n ) + 'px';\n}\n\nfunction termOnResize() {\n const openDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n}\n\nfunction termParentElement(term: HTMLElement | null) {\n if (!term) {\n return null;\n }\n\n const closestScrollableParent = term.closest('table') || term.closest('code');\n\n return closestScrollableParent || term.parentElement;\n}\n\nexport function closeDefinition(definition: HTMLElement) {\n definition.classList.remove(openClass);\n const termId = definition.getAttribute('term-id') || '';\n const termParent = termParentElement(document.getElementById(termId));\n\n if (!termParent) {\n return;\n }\n\n termParent.removeEventListener('scroll', termOnResize);\n isListenerNeeded = true;\n}\n\nfunction getCoords(elem: HTMLElement) {\n const box = elem.getBoundingClientRect();\n\n const body = document.body;\n const docEl = document.documentElement;\n\n const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n}\n", "import {\n Selector,\n closeDefinition,\n createDefinitionElement,\n openClass,\n openDefinitionClass,\n setDefinitionId,\n setDefinitionPosition,\n} from './utils';\nimport {getEventTarget, isCustom} from '../utils';\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n const target = getEventTarget(event) as HTMLElement;\n\n const termId = target.getAttribute('id');\n const termKey = target.getAttribute('term-key');\n let definitionElement = document.getElementById(termKey + '_element');\n\n if (termKey && !definitionElement) {\n definitionElement = createDefinitionElement(target);\n }\n\n const isSameTerm = openDefinition && termId === openDefinition.getAttribute('term-id');\n if (isSameTerm) {\n closeDefinition(openDefinition);\n return;\n }\n\n const isTargetDefinitionContent = target.closest(\n [Selector.CONTENT.replace(' ', ''), openClass].join('.'),\n );\n\n if (openDefinition && !isTargetDefinitionContent) {\n closeDefinition(openDefinition);\n }\n\n if (isCustom(event) || !target.matches(Selector.TITLE) || !definitionElement) {\n return;\n }\n\n setDefinitionId(definitionElement, target);\n setDefinitionPosition(definitionElement, target);\n\n definitionElement.classList.toggle(openClass);\n });\n\n document.addEventListener('keydown', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n if (event.key === 'Escape' && openDefinition) {\n closeDefinition(openDefinition);\n }\n });\n\n window.addEventListener('resize', () => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n openDefinition.classList.toggle(openClass);\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n });\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAoBA,eAASA,aAAY,KAAK;AACxB,YAAI,WAAW,OAAO,QAAQ,YAAY,QAAQ,IAAI,QAAQ;AAE9D,eAAO,WAAW,uBAAuB,IAAI,IAAI,QAAQ,IAAI;AAAA,MAC/D;AAEA,eAAS,uBAAuB,MAAM;AACpC,YAAI,OAAO,QAAQ,IAAI;AAEvB,YAAI,aAAa,IAAI,GAAG;AACtB,iBAAO,uBAAuB,KAAK,IAAI;AAAA,QACzC;AAEA,eAAO;AAAA,MACT;AAEA,eAAS,QAAQ,MAAM;AACrB,YAAI,KAAK,cAAc,MAAM;AAC3B,iBAAO,QAAQ,KAAK,UAAU;AAAA,QAChC;AAEA,eAAO;AAAA,MACT;AAEA,eAAS,aAAa,MAAM;AAC1B,eAAO,KAAK,aAAa,wBAAwB,KAAK,YAAY,SAAS;AAAA,MAC7E;AAEA,UAAI,OAAO,WAAW,YAAY,OAAO,SAAS;AAChD,eAAO,UAAUA;AAAA,MACnB;AAAA;AAAA;;;;AChDO,QAAMC,IAAiB,YACjBC,IAAsB,gBACtBC,IAAgB,WAChBC,IAAsB,iBACtBC,IAAmB,UAEnBC,IAAiB,uBACjBC,IAAe,qBACfC,IAAc;AAGpB,QAAMC,IAA4B,qBAY5BC,IAA+B,OAAO,IAAI,cAAc;ACzB9D,QAAMC,IAAkBC,OAAiB;AAC5C,UAAMC,IAAOD,EAAM,aAAa;AAChC,aAAO,MAAM,QAAQC,CAAI,KAAKA,EAAK,SAAS,IAAIA,EAAK,CAAC,IAAID,EAAM;IACpE,GAEaE,IAAYF,OAAiB;AACtC,UAAMG,IAASJ,EAAeC,CAAK;AACnC,aAAO,CAACG,KAAU,CAAEA,EAAuB;IAC/C,GAEaC,IAA8BC,OACnC,KAAK,IAAIA,EAAQ,eAAeA,EAAQ,YAAY,IAAI,IACjDA,IAGJA,EAAQ,gBAAgBD,EAA2BC,EAAQ,aAAa,IAAI,QAQ1EC,IAA8B,CACvCD,GACAE,MACgB;AAChB,UAAMC,IAAgBH,EAAQ,sBAAsB,GAC9CI,IAAyBF,EAAiB,sBAAsB;AACtE,aAAO,EACH,KAAKC,EAAc,MAAMC,EAAuB,KAChD,MAAMD,EAAc,OAAOC,EAAuB,KACtD;IACJ;ACZA,QAAMC,IAAW,EACb,MAAM,IAAIrB,CAAc,IACxB,UAAU,IAAIC,CAAmB,IACjC,KAAK,IAAIC,CAAa,IACtB,WAAW,IAAIC,CAAmB,GACtC,GAQamB,IAAN,MAAqB;MAKxB,YAAYC,GAAoB;AAFhC,aAAQ,uBAAqC,oBAAI;AAG7C,aAAK,YAAYA,GACjB,KAAK,UAAU,iBAAiB,SAAUZ,OAAU;AAChD,cAAMG,IAASJ,EAAeC,CAAK;AAEnC,cAAIE,EAASF,CAAK,KAAK,CAAC,KAAK,kBAAkBG,CAAM;AACjD;AAGJ,cAAMU,IAAM,KAAK,0BAA0BV,CAAM;AAC7CU,eACA,KAAK,WAAWA,GAAKV,CAAM;QAEnC,CAAC;MACL;MAEA,YAAYW,GAAkB;AAC1B,eAAA,KAAK,qBAAqB,IAAIA,CAAO,GAE9B,MAAM;AACT,eAAK,qBAAqB,OAAOA,CAAO;QAC5C;MACJ;MAEA,cAAcC,GAAYC,GAAiC;AACvD,YAAMb,IAAS,KAAK,UAAU,cAC1B,GAAGO,EAAS,GAAG,IAAId,CAAW,KAAKmB,CAAE,IACzC;AAEA,YAAI,CAACZ,KAAU,CAAC,KAAK,kBAAkBA,CAAM;AACzC;AAGJ,YAAMU,IAAM,KAAK,0BAA0BV,CAAM;AAC7CU,aACA,KAAK,WAAWA,GAAKV,CAAM,GAG3Ba,KAAA,QAAAA,EAAS,mBACTb,EAAO,eAAe;MAE9B;MAEA,UAAUU,GAAU;AAChB,aAAK,WAAWA,CAAG;MACvB;MAEQ,WAAWA,GAAUI,GAAyB;AAClD,YAAM,EAAC,OAAAC,GAAO,KAAAC,EAAG,IAAIN;AAErB,YAAI,CAACK;AACD;AAGJ,YAAMX,IAAmBU,KAAab,EAA2Ba,CAAS,GACpEG,IACFb,KAAoBD,EAA4BW,GAAWV,CAAgB;AAE3D,aAAK,WAAW,EAAC,OAAAW,GAAO,KAAAC,EAAG,CAAC,IAE9B,MACVC,KACA,KAAK,YAAYH,GAAWV,GAAkBa,CAAoB,GAGtE,KAAK,mBAAmB,EAAC,OAAAF,GAAO,KAAAC,EAAG,GAAGF,KAAA,OAAA,SAAAA,EAAW,QAAQ,UAAU;MAE3E;MAEQ,WAAWJ,GAAoB;AACnC,YAAM,EAAC,OAAAK,GAAO,KAAAC,EAAG,IAAIN,GAEfQ,IAAO,KAAK,UAAU,iBACxB,GAAGX,EAAS,IAAI,IAAIhB,CAAc,KAAKwB,CAAK,MAAMR,EAAS,GAAG,IAAIf,CAAY,KAAKwB,CAAG,IAC1F,GAEIG,IAAU;AAEd,eAAAD,EAAK,QAAShB,OAAY;AACtB,cAAMkB,IAAWlB;AACjB,cAAI,CAAC,KAAK,kBAAkBkB,CAAQ,KAAKA,EAAS,QAAQ,qBAAqB;AAC3E;AAGJD;AAEA,cAAMT,IAAMR,GACNmB,IAAUX,EAAI,YACdY,IAAgBD,KAAA,OAAA,SAAAA,EAAS,YACzBE,IAAU,MAAM,MAAKD,KAAA,OAAA,SAAAA,EAAe,iBAAiBf,EAAS,GAAA,MAAQ,CAAC,CAAC,GACxEiB,IAAY,MAAM,MAAKF,KAAA,OAAA,SAAAA,EAAe,iBAAiBf,EAAS,SAAA,MAAc,CAAC,CAAC,GAChFkB,IAAcF,EAAQ,QAAQb,CAAG;AAEvCa,YAAQ,QAAQ,CAACb,GAAKgB,MAAM;AACxB,gBAAMC,IAAQH,EAAUE,CAAC,GACnBE,IAAcF,MAAMD,GACpBL,IAAWV;AAEjBU,cAAS,QAAQ,mBAAmBQ,IAAc,SAAS,SAE3DlB,EAAI,UAAU,OAAOpB,GAAkBsC,CAAW,GAClDlB,EAAI,aAAa,iBAAiBkB,EAAY,SAAS,CAAC,GACxDlB,EAAI,aAAa,YAAYkB,IAAc,OAAO,GAAG,GACrDD,EAAM,UAAU,OAAOrC,GAAkBsC,CAAW;UACxD,CAAC;QACL,CAAC,GAEMT;MACX;MAEQ,YACJnB,GACAI,GACAa,GACF;AACE,YAAMY,IAAe1B,EAA4BH,GAAQI,CAAgB;AACzEA,UAAiB,SACbyB,EAAa,OAAOzB,EAAiB,aAAaa,EAAqB,MACvEY,EAAa,MAAMzB,EAAiB,YAAYa,EAAqB,GACzE;MACJ;MAEQ,mBAAmBP,GAAoBoB,GAAqB;AAChE,YAAM,EAAC,OAAAf,GAAO,KAAAC,EAAG,IAAIN,GAEfqB,IAAgBhB,EAAM,WAAWrB,CAAyB,IAAI,EAAC,KAAAsB,EAAG,IAAIN;AAE5E,aAAK,qBAAqB,QAASC,OAAY;AAC3CA,YAAQ,EAAC,KAAKoB,GAAU,cAAcD,EAAU,CAAC;QACrD,CAAC;MACL;MAEQ,kBAAkB5B,GAAsB;AAC5C,YAAMmB,IACFnB,EAAQ,QAAQK,EAAS,GAAG,KAAKL,EAAQ,QAAQ,aAC3CA,EAAQ,QAAQK,EAAS,QAAQ,IACjC;AACV,eAAOc,KAAA,OAAA,SAAAA,EAAS,QAAQd,EAAS,IAAA;MACrC;MAEQ,0BAA0BP,GAAiC;AAnLvE,YAAAgC;AAoLQ,YAAMhB,IAAMhB,EAAO,QAAQ,aACrBe,KAASiB,IAAAhC,EAAO,QAAQO,EAAS,IAAI,MAA5B,OAAA,SAAAyB,EAA+C,QAAQ;AACtE,eAAOhB,KAAOD,IAAQ,EAAC,OAAAA,GAAO,KAAAC,EAAG,IAAI;MACzC;IACJ;ACpLI,WAAO,UAAW,eAAe,OAAO,YAAa,eAAe,CAAC,OAAOrB,CAAa,MACzF,OAAOA,CAAa,IAAI,IAAIa,EAAe,QAAQ;EAAA,GAAA;;;ACLvD,sCAAwB;AAExB,MAAI,OAAO,aAAa,aAAa;AAEjC,KAAC,SAAU,GAAG;AACV,YAAM,UACF,EAAE,WACF,EAAE,mBACF,EAAE,yBACF,EAAE,sBACF,EAAE,qBACF,EAAE;AAEN,UAAI,SAAS;AACT,UAAE,UAAU,EAAE,kBAAkB;AAAA,MACpC,OAAO;AACH,UAAE,UAAU,EAAE,kBAAkB,SAASyB,SAAQ,UAAU;AACvD,gBAAM,WAAW,EAAE,cAAc,EAAE,YAAY,IAAI,8BAAAC,QAAY,KAAK,CAAC;AACrE,gBAAMD,WAAU,SAAS,iBAAiB,QAAQ;AAClD,gBAAM,KAAK;AACX,iBAAO,MAAM,UAAU,KAAK,KAAKA,UAAS,CAACE,OAAM;AAC7C,mBAAOA,OAAM;AAAA,UACjB,CAAC;AAAA,QACL;AAAA,MACJ;AAAA,IACJ,GAAG,QAAQ,SAAS;AAAA,EACxB;;;AC1BO,MAAM,iBAAiB,CAAC,UAAiB;AAC5C,UAAM,OAAO,MAAM,aAAa;AAChC,WAAO,MAAM,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,MAAM;AAAA,EACpE;AAEO,MAAM,WAAW,CAAC,UAAiB;AACtC,UAAM,SAAS,eAAe,KAAK;AACnC,WAAO,CAAC,UAAU,CAAE,OAAuB;AAAA,EAC/C;;;ACNA,MAAM,kBAAkB;AAExB,WAAS,gBAAgB,MAAc;AACnC,QAAI,CAAC,MAAM;AACP,aAAO,QAAQ,QAAQ;AAAA,IAC3B;AAEA,QAAI,UAAU,aAAa,OAAO,UAAU,UAAU,WAAW;AAC7D,aAAO,UAAU,UAAU,UAAU,IAAI;AAAA,IAC7C;AACA,UAAM,WAAW,SAAS,cAAc,UAAU;AAClD,aAAS,aAAa,SAAS,iCAAiC;AAChE,aAAS,cAAc;AACvB,aAAS,KAAK,OAAO,QAAQ;AAE7B,aAAS,OAAO;AAChB,aAAS,YAAY,MAAM;AAE3B,aAAS,KAAK,YAAY,QAAQ;AAElC,WAAO,QAAQ,QAAQ;AAAA,EAC3B;AAEA,WAAS,cAAc,WAA+B;AAClD,QAAI,CAAC,WAAW;AACZ;AAAA,IACJ;AAEA,UAAM,KAAK,UAAU,aAAa,gBAAgB;AAElD,UAAM,OAAO,UAAU,YAAY,EAAE,eAAe,qBAAqB,EAAE,EAAE;AAE7E,QAAI,CAAC,MAAM;AACP;AAAA,IACJ;AAEA,SAAK,aAAa;AAAA,EACtB;AAEA,MAAI,OAAO,aAAa,aAAa;AACjC,aAAS,iBAAiB,SAAS,CAAC,UAAU;AAC1C,YAAM,SAAS,eAAe,KAAK;AAEnC,UAAI,SAAS,KAAK,KAAK,CAAC,OAAO,QAAQ,eAAe,GAAG;AACrD;AAAA,MACJ;AAEA,YAAM,SAAS,OAAO;AAEtB,UAAI,CAAC,QAAQ;AACT;AAAA,MACJ;AAEA,YAAM,OAAO,OAAO,cAA2B,UAAU;AACzD,UAAI,CAAC,MAAM;AACP;AAAA,MACJ;AAEA,sBAAgB,KAAK,SAAS,EAAE,KAAK,MAAM;AACvC,sBAAc,OAAO,cAAc,uBAAuB,CAAC;AAAA,MAC/D,CAAC;AAAA,IACL,CAAC;AAAA,EACL;;;AC9DA,MAAM,WAAW;AAAA,IACb,KAAK;AAAA,IACL,OAAO;AAAA,IACP,SAAS;AAAA,EACb;AAEA,MAAM,YAAY;AAAA,IACd,MAAM;AAAA,EACV;AAEA,WAAS,UAAU,SAAsB;AACrC,UAAM,UAAU,QAAQ;AAExB,QAAI,EAAE,mBAAmB,cAAc;AACnC;AAAA,IACJ;AAEA,YAAQ,UAAU,OAAO,UAAU,IAAI;AAAA,EAC3C;AAEA,WAAS,WAAW,QAA4B;AAtBhD;AAuBI,QAAI,EAAE,kBAAkB,cAAc;AAClC,aAAO;AAAA,IACX;AAEA,YAAO,sCAAQ,YAAR,gCAAkB,SAAS;AAAA,EACtC;AAEA,WAAS,gBAAgB,OAA4C;AA9BrE;AA+BI,UAAM,SAAS,eAAe,KAAK;AAEnC,QAAI,WAAW,MAAM,GAAG;AACpB,aAAO;AAAA,IACX;AAEA,UAAM,QAAO,WAAM,iBAAN;AAEb,WAAO,6BAAM,KAAK;AAAA,EACtB;AAEA,MAAI,OAAO,aAAa,aAAa;AACjC,aAAS,iBAAiB,SAAS,CAAC,UAAU;AAC1C,UAAI,SAAS,KAAK,GAAG;AACjB;AAAA,MACJ;AAEA,YAAM,QAAQ,gBAAgB,KAAK;AAEnC,UAAI,CAAC,OAAO;AACR;AAAA,MACJ;AAEA,gBAAU,KAAK;AAAA,IACnB,CAAC;AAAA,EACL;;;ACxDO,MAAMC,YAAW;AAAA,IACpB,OAAO;AAAA,IACP,SAAS;AAAA,EACb;AACO,MAAM,YAAY;AAClB,MAAM,sBAAsBA,UAAS,QAAQ,QAAQ,OAAO,EAAE,IAAI,MAAM;AAC/E,MAAI,mBAAmB;AAEhB,WAAS,wBAAwB,aAA0B;AARlE;AASI,UAAM,UAAU,YAAY,aAAa,UAAU;AACnD,UAAM,qBAAqB,SAAS;AAAA,MAChC,GAAG,OAAO;AAAA,IACd;AACA,UAAM,oBAAoB,yDAAoB,QAAQ,UAAU,MAAM;AAEtE,mEAAoB,kBAApB,mBAAmC,YAAY;AAC/C,uBAAmB,OAAO;AAE1B,WAAO;AAAA,EACX;AAEO,WAAS,gBAAgB,mBAAgC,aAAgC;AAC5F,UAAM,SAAS,YAAY,aAAa,IAAI,KAAK,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,GAAG,CAAC;AACvF,2DAAmB,aAAa,WAAW;AAAA,EAC/C;AAEO,WAAS,sBACZ,mBACA,aACI;AACJ,UAAM;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,MACH,OAAO;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,IACZ,IAAI,YAAY,sBAAsB;AAEtC,UAAM,aAAa,kBAAkB,WAAW;AAEhD,QAAI,CAAC,YAAY;AACb;AAAA,IACJ;AAEA,UAAM,EAAC,OAAO,iBAAiB,MAAM,eAAc,IAAI,WAAW,sBAAsB;AAExF,SAAK,kBAAkB,YAAY,iBAAiB,cAAc,CAAC,kBAAkB;AACjF,sBAAgB,iBAAiB;AACjC;AAAA,IACJ;AAEA,QAAI,oBAAoB,YAAY;AAChC,iBAAW,iBAAiB,UAAU,YAAY;AAClD,yBAAmB;AAAA,IACvB;AAEA,UAAM,YAAY,OAAO,kBAAkB,aAAa,WAAW,CAAC;AACpE,UAAM,YAAY,OAAO,kBAAkB,aAAa,WAAW,CAAC;AAEpE,QAAI,cAAc,SAAS,cAAc,OAAO;AAC5C;AAAA,IACJ;AAEA,sBAAkB,aAAa,aAAa,OAAO,KAAK,CAAC;AACzD,sBAAkB,aAAa,aAAa,OAAO,KAAK,CAAC;AAEzD,UAAM,YAAY,aAAa;AAC/B,UAAM,mBAAmB,kBAAkB;AAE3C,QAAI,CAAC,kBAAkB;AACnB;AAAA,IACJ;AAEA,UAAM,EAAC,OAAO,gBAAe,IAAI,kBAAkB,sBAAsB;AACzE,UAAM,EAAC,MAAM,qBAAoB,IAAI,iBAAiB,sBAAsB;AAG5E,UAAM,2BAA2B,OAAO,UAAU,WAAW,EAAE,IAAI;AACnE,UAAM,4BAA4B,kBAAkB;AAEpD,UAAM,8BAA8B,2BAA2B,kBAAkB;AACjF,UAAM,+BAA+B,4BAA4B,SAAS,KAAK;AAE/E,UAAM,iBAAiB,gCAAgC,SAAS,QAAQ;AACxE,UAAM,wBACF,kBAAkB,CAAC,8BAA8B,kBAAkB,YAAY;AACnF,UAAM,kBAAkB,UAAU,gBAAgB,EAAE,MAAM,iBAAiB;AAE3E,sBAAkB,MAAM,MACpB,OAAO,UAAU,WAAW,EAAE,MAAM,YAAY,eAAe,IAAI;AACvE,sBAAkB,MAAM,OACpB;AAAA,MACI,UAAU,WAAW,EAAE,OACnB,uBACA,iBAAiB,aACjB;AAAA,IACR,IAAI;AAAA,EACZ;AAEA,WAAS,eAAe;AACpB,UAAM,iBAAiB,SAAS,uBAAuB,mBAAmB,EAAE,CAAC;AAE7E,QAAI,CAAC,gBAAgB;AACjB;AAAA,IACJ;AACA,UAAM,SAAS,eAAe,aAAa,SAAS,KAAK;AACzD,UAAM,cAAc,SAAS,eAAe,MAAM;AAElD,QAAI,CAAC,aAAa;AACd;AAAA,IACJ;AAEA,0BAAsB,gBAAgB,WAAW;AAAA,EACrD;AAEA,WAAS,kBAAkB,MAA0B;AACjD,QAAI,CAAC,MAAM;AACP,aAAO;AAAA,IACX;AAEA,UAAM,0BAA0B,KAAK,QAAQ,OAAO,KAAK,KAAK,QAAQ,MAAM;AAE5E,WAAO,2BAA2B,KAAK;AAAA,EAC3C;AAEO,WAAS,gBAAgB,YAAyB;AACrD,eAAW,UAAU,OAAO,SAAS;AACrC,UAAM,SAAS,WAAW,aAAa,SAAS,KAAK;AACrD,UAAM,aAAa,kBAAkB,SAAS,eAAe,MAAM,CAAC;AAEpE,QAAI,CAAC,YAAY;AACb;AAAA,IACJ;AAEA,eAAW,oBAAoB,UAAU,YAAY;AACrD,uBAAmB;AAAA,EACvB;AAEA,WAAS,UAAU,MAAmB;AAClC,UAAM,MAAM,KAAK,sBAAsB;AAEvC,UAAM,OAAO,SAAS;AACtB,UAAM,QAAQ,SAAS;AAEvB,UAAM,YAAY,OAAO,eAAe,MAAM,aAAa,KAAK;AAChE,UAAM,aAAa,OAAO,eAAe,MAAM,cAAc,KAAK;AAElE,UAAM,YAAY,MAAM,aAAa,KAAK,aAAa;AACvD,UAAM,aAAa,MAAM,cAAc,KAAK,cAAc;AAE1D,UAAM,MAAM,IAAI,MAAM,YAAY;AAClC,UAAM,OAAO,IAAI,OAAO,aAAa;AAErC,WAAO,EAAC,KAAK,KAAK,MAAM,GAAG,GAAG,MAAM,KAAK,MAAM,IAAI,EAAC;AAAA,EACxD;;;AChJA,MAAI,OAAO,aAAa,aAAa;AACjC,aAAS,iBAAiB,SAAS,CAAC,UAAU;AAC1C,YAAM,iBAAiB,SAAS;AAAA,QAC5B;AAAA,MACJ,EAAE,CAAC;AACH,YAAM,SAAS,eAAe,KAAK;AAEnC,YAAM,SAAS,OAAO,aAAa,IAAI;AACvC,YAAM,UAAU,OAAO,aAAa,UAAU;AAC9C,UAAI,oBAAoB,SAAS,eAAe,UAAU,UAAU;AAEpE,UAAI,WAAW,CAAC,mBAAmB;AAC/B,4BAAoB,wBAAwB,MAAM;AAAA,MACtD;AAEA,YAAM,aAAa,kBAAkB,WAAW,eAAe,aAAa,SAAS;AACrF,UAAI,YAAY;AACZ,wBAAgB,cAAc;AAC9B;AAAA,MACJ;AAEA,YAAM,4BAA4B,OAAO;AAAA,QACrC,CAACC,UAAS,QAAQ,QAAQ,KAAK,EAAE,GAAG,SAAS,EAAE,KAAK,GAAG;AAAA,MAC3D;AAEA,UAAI,kBAAkB,CAAC,2BAA2B;AAC9C,wBAAgB,cAAc;AAAA,MAClC;AAEA,UAAI,SAAS,KAAK,KAAK,CAAC,OAAO,QAAQA,UAAS,KAAK,KAAK,CAAC,mBAAmB;AAC1E;AAAA,MACJ;AAEA,sBAAgB,mBAAmB,MAAM;AACzC,4BAAsB,mBAAmB,MAAM;AAE/C,wBAAkB,UAAU,OAAO,SAAS;AAAA,IAChD,CAAC;AAED,aAAS,iBAAiB,WAAW,CAAC,UAAU;AAC5C,YAAM,iBAAiB,SAAS;AAAA,QAC5B;AAAA,MACJ,EAAE,CAAC;AACH,UAAI,MAAM,QAAQ,YAAY,gBAAgB;AAC1C,wBAAgB,cAAc;AAAA,MAClC;AAAA,IACJ,CAAC;AAED,WAAO,iBAAiB,UAAU,MAAM;AACpC,YAAM,iBAAiB,SAAS;AAAA,QAC5B;AAAA,MACJ,EAAE,CAAC;AAEH,UAAI,CAAC,gBAAgB;AACjB;AAAA,MACJ;AAEA,YAAM,SAAS,eAAe,aAAa,SAAS,KAAK;AACzD,YAAM,cAAc,SAAS,eAAe,MAAM;AAElD,UAAI,CAAC,aAAa;AACd,uBAAe,UAAU,OAAO,SAAS;AACzC;AAAA,MACJ;AAEA,4BAAsB,gBAAgB,WAAW;AAAA,IACrD,CAAC;AAAA,EACL;",
|
|
6
6
|
"names": ["getRootNode", "TABS_CLASSNAME", "TABS_LIST_CLASSNAME", "TAB_CLASSNAME", "TAB_PANEL_CLASSNAME", "ACTIVE_CLASSNAME", "GROUP_DATA_KEY", "TAB_DATA_KEY", "TAB_DATA_ID", "DEFAULT_TABS_GROUP_PREFIX", "GLOBAL_SYMBOL", "getEventTarget", "event", "path", "isCustom", "target", "getClosestScrollableParent", "element", "getOffsetByScrollableParent", "scrollableParent", "elementBounds", "scrollableParentBounds", "Selector", "TabsController", "document", "tab", "handler", "id", "options", "targetTab", "group", "key", "previousTargetOffset", "tabs", "updated", "htmlElem", "tabList", "tabsContainer", "allTabs", "allPanels", "targetIndex", "i", "panel", "isTargetTab", "targetOffset", "diplodocId", "eventTab", "_a", "matches", "getRootNode", "e", "Selector", "Selector"]
|
|
7
7
|
}
|
package/dist/js/yfm.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(()=>{(()=>{var Y=Object.create,
|
|
1
|
+
"use strict";(()=>{(()=>{var Y=Object.create,D=Object.defineProperty,F=Object.getOwnPropertyDescriptor,M=Object.getOwnPropertyNames,W=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty,G=(t,e)=>function(){return e||(0,t[M(t)[0]])((e={exports:{}}).exports,e),e.exports},K=(t,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of M(e))!z.call(t,c)&&c!==o&&D(t,c,{get:()=>e[c],enumerable:!(i=F(e,c))||i.enumerable});return t},U=(t,e,o)=>(o=t!=null?Y(W(t)):{},K(e||!t||!t.__esModule?D(o,"default",{value:t,enumerable:!0}):o,t)),J=G({"node_modules/get-root-node-polyfill/index.js"(t,e){"use strict";function o(a){var u=typeof a=="object"&&!!a.composed;return u?i(this):c(this)}function i(a){var u=c(a);return d(u)?i(u.host):u}function c(a){return a.parentNode!=null?c(a.parentNode):a}function d(a){return a.nodeName==="#document-fragment"&&a.constructor.name==="ShadowRoot"}typeof e=="object"&&e.exports&&(e.exports=o)}});(()=>{var t="yfm-tabs",e="yfm-tab-list",o="yfm-tab",i="yfm-tab-panel",c="active",d="data-diplodoc-group",a="data-diplodoc-key",u="data-diplodoc-id",p="defaultTabsGroup-",y=Symbol.for("diplodocTabs"),L=n=>{let r=n.composedPath();return Array.isArray(r)&&r.length>0?r[0]:n.target},k=n=>{let r=L(n);return!r||!r.matches},N=n=>Math.abs(n.scrollHeight-n.clientHeight)>1?n:n.parentElement?N(n.parentElement):void 0,O=(n,r)=>{let l=n.getBoundingClientRect(),s=r.getBoundingClientRect();return{top:l.top-s.top,left:l.left-s.left}},f={TABS:`.${t}`,TAB_LIST:`.${e}`,TAB:`.${o}`,TAB_PANEL:`.${i}`},b=class{constructor(n){this._onSelectTabHandlers=new Set,this._document=n,this._document.addEventListener("click",r=>{let l=L(r);if(k(r)||!this.isValidTabElement(l))return;let s=this.getTabDataFromHTMLElement(l);s&&this._selectTab(s,l)})}onSelectTab(n){return this._onSelectTabHandlers.add(n),()=>{this._onSelectTabHandlers.delete(n)}}selectTabById(n,r){let l=this._document.querySelector(`${f.TAB}[${u}="${n}"]`);if(!l||!this.isValidTabElement(l))return;let s=this.getTabDataFromHTMLElement(l);s&&this._selectTab(s,l),r!=null&&r.scrollToElement&&l.scrollIntoView()}selectTab(n){this._selectTab(n)}_selectTab(n,r){let{group:l,key:s}=n;if(!l)return;let m=r&&N(r),g=m&&O(r,m);this.updateHTML({group:l,key:s})>0&&(g&&this.resetScroll(r,m,g),this.fireSelectTabEvent({group:l,key:s},r==null?void 0:r.dataset.diplodocId))}updateHTML(n){let{group:r,key:l}=n,s=this._document.querySelectorAll(`${f.TABS}[${d}="${r}"] ${f.TAB}[${a}="${l}"]`),m=0;return s.forEach(g=>{let C=g;if(!this.isValidTabElement(C)||C.dataset.diplodocIsActive==="true")return;m++;let w=g,q=w.parentNode,P=q==null?void 0:q.parentNode,V=Array.from((P==null?void 0:P.querySelectorAll(f.TAB))||[]),st=Array.from((P==null?void 0:P.querySelectorAll(f.TAB_PANEL))||[]),at=V.indexOf(w);V.forEach((B,X)=>{let dt=st[X],h=X===at,ut=B;ut.dataset.diplodocIsActive=h?"true":"false",B.classList.toggle(c,h),B.setAttribute("aria-selected",h.toString()),B.setAttribute("tabindex",h?"-1":"0"),dt.classList.toggle(c,h)})}),m}resetScroll(n,r,l){let s=O(n,r);r.scrollTo(s.left+r.scrollLeft-l.left,s.top+r.scrollTop-l.top)}fireSelectTabEvent(n,r){let{group:l,key:s}=n,m=l.startsWith(p)?{key:s}:n;this._onSelectTabHandlers.forEach(g=>{g({tab:m,currentTabId:r})})}isValidTabElement(n){let r=n.matches(f.TAB)&&n.dataset.diplodocId?n.closest(f.TAB_LIST):null;return r==null?void 0:r.closest(f.TABS)}getTabDataFromHTMLElement(n){var r;let l=n.dataset.diplodocKey,s=(r=n.closest(f.TABS))==null?void 0:r.dataset.diplodocGroup;return l&&s?{group:s,key:l}:null}};typeof window!="undefined"&&typeof document!="undefined"&&!window[y]&&(window[y]=new b(document))})();var Q=U(J());typeof document!="undefined"&&function(t){let e=t.matches||t.matchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector;e?t.matches=t.matchesSelector=e:t.matches=t.matchesSelector=function(i){let d=(t.getRootNode?t.getRootNode():Q.default.call(t)).querySelectorAll(i),a=this;return Array.prototype.some.call(d,u=>u===a)}}(Element.prototype);var v=t=>{let e=t.composedPath();return Array.isArray(e)&&e.length>0?e[0]:t.target},I=t=>{let e=v(t);return!e||!e.matches},Z=".yfm-clipboard-button";function tt(t){if(!t)return Promise.resolve();if(navigator.clipboard&&typeof navigator.clipboard.writeText)return navigator.clipboard.writeText(t);let e=document.createElement("textarea");return e.setAttribute("style","position: absolute; left: 1000%"),e.textContent=t,document.body.append(e),e.select(),document.execCommand("copy"),document.body.removeChild(e),Promise.resolve()}function et(t){if(!t)return;let e=t.getAttribute("data-animation"),o=t.getRootNode().getElementById(`visibileAnimation-${e}`);o&&o.beginElement()}typeof document!="undefined"&&document.addEventListener("click",t=>{let e=v(t);if(I(t)||!e.matches(Z))return;let o=e.parentNode;if(!o)return;let i=o.querySelector("pre code");i&&tt(i.innerText).then(()=>{et(o.querySelector(".yfm-clipboard-button"))})});var ot={CUT:".yfm .yfm-cut",TITLE:".yfm .yfm-cut-title",CONTENT:".yfm .yfm-cut-content"},nt={OPEN:"open"};function rt(t){let e=t.parentNode;e instanceof HTMLElement&&e.classList.toggle(nt.OPEN)}function H(t){var e;return t instanceof HTMLElement?(e=t==null?void 0:t.matches)==null?void 0:e.call(t,ot.TITLE):!1}function it(t){var e;let o=v(t);if(H(o))return o;let i=(e=t.composedPath)==null?void 0:e.call(t);return i==null?void 0:i.find(H)}typeof document!="undefined"&&document.addEventListener("click",t=>{if(I(t))return;let e=it(t);e&&rt(e)});var R={TITLE:".yfm .yfm-term_title",CONTENT:".yfm .yfm-term_dfn"},T="open",_=R.CONTENT.replace(/\./g,"")+" "+T,E=!0;function lt(t){var e;let o=t.getAttribute("term-key"),i=document.getElementById(`${o}_template`),c=i==null?void 0:i.content.cloneNode(!0).firstChild;return(e=i==null?void 0:i.parentElement)==null||e.appendChild(c),i.remove(),c}function ct(t,e){let o=e.getAttribute("id")||Math.random().toString(36).substr(2,8);t==null||t.setAttribute("term-id",o)}function x(t,e){let{x:o,y:i,right:c,left:d,width:a,height:u}=e.getBoundingClientRect(),p=j(e);if(!p)return;let{right:y,left:L}=p.getBoundingClientRect();if((y<d||L>c)&&!E){S(t);return}E&&p&&(p.addEventListener("scroll",$),E=!1);let k=Number(t.getAttribute("relativeX")),N=Number(t.getAttribute("relativeY"));if(k===o&&N===i)return;t.setAttribute("relativeX",String(o)),t.setAttribute("relativeY",String(i));let O=u+5,f=t.parentElement;if(!f)return;let{width:b}=t.getBoundingClientRect(),{left:n}=f.getBoundingClientRect(),r=Number(A(e).left),l=b+r,s=r-b<0,C=(l>document.body.clientWidth||document.dir==="rtl")&&!s?b-a:0,w=A(f).top-f.offsetTop;t.style.top=Number(A(e).top+O-w)+"px",t.style.left=Number(A(e).left-n+f.offsetLeft-C)+"px"}function $(){let t=document.getElementsByClassName(_)[0];if(!t)return;let e=t.getAttribute("term-id")||"",o=document.getElementById(e);o&&x(t,o)}function j(t){return t?t.closest("table")||t.closest("code")||t.parentElement:null}function S(t){t.classList.remove(T);let e=t.getAttribute("term-id")||"",o=j(document.getElementById(e));o&&(o.removeEventListener("scroll",$),E=!0)}function A(t){let e=t.getBoundingClientRect(),o=document.body,i=document.documentElement,c=window.pageYOffset||i.scrollTop||o.scrollTop,d=window.pageXOffset||i.scrollLeft||o.scrollLeft,a=i.clientTop||o.clientTop||0,u=i.clientLeft||o.clientLeft||0,p=e.top+c-a,y=e.left+d-u;return{top:Math.round(p),left:Math.round(y)}}typeof document!="undefined"&&(document.addEventListener("click",t=>{let e=document.getElementsByClassName(_)[0],o=v(t),i=o.getAttribute("id"),c=o.getAttribute("term-key"),d=document.getElementById(c+"_element");if(c&&!d&&(d=lt(o)),e&&i===e.getAttribute("term-id")){S(e);return}let u=o.closest([R.CONTENT.replace(" ",""),T].join("."));e&&!u&&S(e),!(I(t)||!o.matches(R.TITLE)||!d)&&(ct(d,o),x(d,o),d.classList.toggle(T))}),document.addEventListener("keydown",t=>{let e=document.getElementsByClassName(_)[0];t.key==="Escape"&&e&&S(e)}),window.addEventListener("resize",()=>{let t=document.getElementsByClassName(_)[0];if(!t)return;let e=t.getAttribute("term-id")||"",o=document.getElementById(e);if(!o){t.classList.toggle(T);return}x(t,o)}))})();})();
|
|
2
2
|
//# sourceMappingURL=yfm.min.js.map
|
package/dist/js/yfm.min.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../node_modules/get-root-node-polyfill/index.js", "../../node_modules/@diplodoc/tabs-extension/src/common.ts", "../../node_modules/@diplodoc/tabs-extension/src/runtime/utils.ts", "../../node_modules/@diplodoc/tabs-extension/src/runtime/TabsController.ts", "../../node_modules/@diplodoc/tabs-extension/src/runtime/index.ts", "../../src/js/polyfill.js", "../../src/js/utils.ts", "../../src/js/code.ts", "../../src/js/cut.ts", "../../src/js/term/utils.ts", "../../src/js/term/index.ts"],
|
|
4
|
-
"sourcesContent": ["'use strict';\n\n// Node getRootNode(optional GetRootNodeOptions options);\n\n/**\n * Returns the context object\u2019s shadow-including root if options\u2019s composed is true.\n * Returns the context object\u2019s root otherwise.\n *\n * The root of an object is itself, if its parent is null, or else it is the root of its parent.\n *\n * The shadow-including root of an object is its root\u2019s host\u2019s shadow-including root,\n * if the object\u2019s root is a shadow root, and its root otherwise.\n *\n * https://dom.spec.whatwg.org/#dom-node-getrootnode\n *\n * @memberof Node.prototype\n * @param {!Object} [opt = {}] - Options.\n * @param {!boolean} [opt.composed] - See above description.\n * @returns {!Node} The root node.\n */\nfunction getRootNode(opt) {\n var composed = typeof opt === 'object' && Boolean(opt.composed);\n\n return composed ? getShadowIncludingRoot(this) : getRoot(this);\n}\n\nfunction getShadowIncludingRoot(node) {\n var root = getRoot(node);\n\n if (isShadowRoot(root)) {\n return getShadowIncludingRoot(root.host);\n }\n\n return root;\n}\n\nfunction getRoot(node) {\n if (node.parentNode != null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\nfunction isShadowRoot(node) {\n return node.nodeName === '#document-fragment' && node.constructor.name === 'ShadowRoot';\n}\n\nif (typeof module === 'object' && module.exports) {\n module.exports = getRootNode;\n}\n", "import type {TabsController} from './runtime/TabsController';\n\nexport const TABS_CLASSNAME = 'yfm-tabs';\nexport const TABS_LIST_CLASSNAME = 'yfm-tab-list';\nexport const TAB_CLASSNAME = 'yfm-tab';\nexport const TAB_PANEL_CLASSNAME = 'yfm-tab-panel';\nexport const ACTIVE_CLASSNAME = 'active';\n\nexport const GROUP_DATA_KEY = 'data-diplodoc-group';\nexport const TAB_DATA_KEY = 'data-diplodoc-key';\nexport const TAB_DATA_ID = 'data-diplodoc-id';\nexport const TAB_ACTIVE_KEY = 'data-diplodoc-is-active';\n\nexport const DEFAULT_TABS_GROUP_PREFIX = 'defaultTabsGroup-';\n\nexport interface Tab {\n group?: string;\n key: string;\n}\n\nexport interface SelectedTabEvent {\n tab: Tab;\n currentTabId?: string;\n}\n\nexport const GLOBAL_SYMBOL: unique symbol = Symbol.for('diplodocTabs');\n\ndeclare global {\n interface Window {\n [GLOBAL_SYMBOL]: TabsController;\n }\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n\nexport const getClosestScrollableParent = (element: HTMLElement): HTMLElement | undefined => {\n if (Math.abs(element.scrollHeight - element.clientHeight) > 1) {\n return element;\n }\n\n return element.parentElement ? getClosestScrollableParent(element.parentElement) : undefined;\n};\n\nexport interface ElementOffset {\n top: number;\n left: number;\n}\n\nexport const getOffsetByScrollableParent = (\n element: HTMLElement,\n scrollableParent: HTMLElement,\n): ElementOffset => {\n const elementBounds = element.getBoundingClientRect();\n const scrollableParentBounds = scrollableParent.getBoundingClientRect();\n return {\n top: elementBounds.top - scrollableParentBounds.top,\n left: elementBounds.left - scrollableParentBounds.left,\n };\n};\n", "import {\n ACTIVE_CLASSNAME,\n DEFAULT_TABS_GROUP_PREFIX,\n GROUP_DATA_KEY,\n SelectedTabEvent,\n TABS_CLASSNAME,\n TABS_LIST_CLASSNAME,\n TAB_CLASSNAME,\n TAB_DATA_ID,\n TAB_DATA_KEY,\n TAB_PANEL_CLASSNAME,\n Tab,\n} from '../common';\nimport {\n ElementOffset,\n getClosestScrollableParent,\n getEventTarget,\n getOffsetByScrollableParent,\n isCustom,\n} from './utils';\n\nconst Selector = {\n TABS: `.${TABS_CLASSNAME}`,\n TAB_LIST: `.${TABS_LIST_CLASSNAME}`,\n TAB: `.${TAB_CLASSNAME}`,\n TAB_PANEL: `.${TAB_PANEL_CLASSNAME}`,\n};\n\nexport interface ISelectTabByIdOptions {\n scrollToElement: boolean;\n}\n\ntype Handler = (data: SelectedTabEvent) => void;\n\nexport class TabsController {\n private _document: Document;\n\n private _onSelectTabHandlers: Set<Handler> = new Set();\n\n constructor(document: Document) {\n this._document = document;\n this._document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n if (tab) {\n this._selectTab(tab, target);\n }\n });\n }\n\n onSelectTab(handler: Handler) {\n this._onSelectTabHandlers.add(handler);\n\n return () => {\n this._onSelectTabHandlers.delete(handler);\n };\n }\n\n selectTabById(id: string, options?: ISelectTabByIdOptions) {\n const target = this._document.querySelector(\n `${Selector.TAB}[${TAB_DATA_ID}=\"${id}\"]`,\n ) as HTMLElement;\n\n if (!target || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n if (tab) {\n this._selectTab(tab, target);\n }\n\n if (options?.scrollToElement) {\n target.scrollIntoView();\n }\n }\n\n selectTab(tab: Tab) {\n this._selectTab(tab);\n }\n\n private _selectTab(tab: Tab, targetTab?: HTMLElement) {\n const {group, key} = tab;\n\n if (!group) {\n return;\n }\n\n const scrollableParent = targetTab && getClosestScrollableParent(targetTab);\n const previousTargetOffset =\n scrollableParent && getOffsetByScrollableParent(targetTab, scrollableParent);\n\n const updatedTabs = this.updateHTML({group, key});\n\n if (updatedTabs > 0) {\n if (previousTargetOffset) {\n this.resetScroll(targetTab, scrollableParent, previousTargetOffset);\n }\n\n this.fireSelectTabEvent({group, key}, targetTab?.dataset.diplodocId);\n }\n }\n\n private updateHTML(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const tabs = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n\n tabs.forEach((element) => {\n const htmlElem = element as HTMLElement;\n if (!this.isValidTabElement(htmlElem) || htmlElem.dataset.diplodocIsActive === 'true') {\n return;\n }\n\n updated++;\n\n const tab = element;\n const tabList = tab.parentNode;\n const tabsContainer = tabList?.parentNode;\n const allTabs = Array.from(tabsContainer?.querySelectorAll(Selector.TAB) || []);\n const allPanels = Array.from(tabsContainer?.querySelectorAll(Selector.TAB_PANEL) || []);\n const targetIndex = allTabs.indexOf(tab);\n\n allTabs.forEach((tab, i) => {\n const panel = allPanels[i];\n const isTargetTab = i === targetIndex;\n const htmlElem = tab as HTMLElement;\n\n htmlElem.dataset.diplodocIsActive = isTargetTab ? 'true' : 'false';\n\n tab.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n tab.setAttribute('aria-selected', isTargetTab.toString());\n tab.setAttribute('tabindex', isTargetTab ? '-1' : '0');\n panel.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n });\n });\n\n return updated;\n }\n\n private resetScroll(\n target: HTMLElement,\n scrollableParent: HTMLElement,\n previousTargetOffset: ElementOffset,\n ) {\n const targetOffset = getOffsetByScrollableParent(target, scrollableParent);\n scrollableParent.scrollTo(\n targetOffset.left + scrollableParent.scrollLeft - previousTargetOffset.left,\n targetOffset.top + scrollableParent.scrollTop - previousTargetOffset.top,\n );\n }\n\n private fireSelectTabEvent(tab: Required<Tab>, diplodocId?: string) {\n const {group, key} = tab;\n\n const eventTab: Tab = group.startsWith(DEFAULT_TABS_GROUP_PREFIX) ? {key} : tab;\n\n this._onSelectTabHandlers.forEach((handler) => {\n handler({tab: eventTab, currentTabId: diplodocId});\n });\n }\n\n private isValidTabElement(element: HTMLElement) {\n const tabList =\n element.matches(Selector.TAB) && element.dataset.diplodocId\n ? element.closest(Selector.TAB_LIST)\n : null;\n return tabList?.closest(Selector.TABS);\n }\n\n private getTabDataFromHTMLElement(target: HTMLElement): Tab | null {\n const key = target.dataset.diplodocKey;\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key} : null;\n }\n}\n", "import {GLOBAL_SYMBOL} from '../common';\nimport {TabsController} from './TabsController';\nimport './scss/tabs.scss';\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && !window[GLOBAL_SYMBOL]) {\n window[GLOBAL_SYMBOL] = new TabsController(document);\n}\n", "import getRootNode from 'get-root-node-polyfill';\n\nif (typeof document !== 'undefined') {\n // matches polyfill for old edge\n (function (e) {\n const matches =\n e.matches ||\n e.matchesSelector ||\n e.webkitMatchesSelector ||\n e.mozMatchesSelector ||\n e.msMatchesSelector ||\n e.oMatchesSelector;\n\n if (matches) {\n e.matches = e.matchesSelector = matches;\n } else {\n e.matches = e.matchesSelector = function matches(selector) {\n const rootNode = e.getRootNode ? e.getRootNode() : getRootNode.call(e);\n const matches = rootNode.querySelectorAll(selector);\n const th = this;\n return Array.prototype.some.call(matches, (e) => {\n return e === th;\n });\n };\n }\n })(Element.prototype);\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n", "import {getEventTarget, isCustom} from './utils';\n\nconst BUTTON_SELECTOR = '.yfm-clipboard-button';\n\nfunction copyToClipboard(text: string) {\n if (!text) {\n return Promise.resolve();\n }\n\n if (navigator.clipboard && typeof navigator.clipboard.writeText) {\n return navigator.clipboard.writeText(text);\n }\n const textarea = document.createElement('textarea');\n textarea.setAttribute('style', 'position: absolute; left: 1000%');\n textarea.textContent = text;\n document.body.append(textarea);\n\n textarea.select();\n document.execCommand('copy');\n\n document.body.removeChild(textarea);\n\n return Promise.resolve();\n}\n\nfunction notifySuccess(svgButton: HTMLElement | null) {\n if (!svgButton) {\n return;\n }\n\n const id = svgButton.getAttribute('data-animation');\n // @ts-expect-error\n const icon = svgButton.getRootNode().getElementById(`visibileAnimation-${id}`);\n\n if (!icon) {\n return;\n }\n\n icon.beginElement();\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !target.matches(BUTTON_SELECTOR)) {\n return;\n }\n\n const parent = target.parentNode;\n\n if (!parent) {\n return;\n }\n\n const code = parent.querySelector<HTMLElement>('pre code');\n if (!code) {\n return;\n }\n\n copyToClipboard(code.innerText).then(() => {\n notifySuccess(parent.querySelector('.yfm-clipboard-button'));\n });\n });\n}\n", "import {getEventTarget, isCustom} from './utils';\n\nconst Selector = {\n CUT: '.yfm .yfm-cut',\n TITLE: '.yfm .yfm-cut-title',\n CONTENT: '.yfm .yfm-cut-content',\n};\n\nconst ClassName = {\n OPEN: 'open',\n};\n\nfunction toggleCut(element: HTMLElement) {\n const cutNode = element.parentNode;\n\n if (!(cutNode instanceof HTMLElement)) {\n return;\n }\n\n cutNode.classList.toggle(ClassName.OPEN);\n}\n\nfunction matchTitle(target: EventTarget | null) {\n if (!(target instanceof HTMLElement)) {\n return false;\n }\n\n return target?.matches?.(Selector.TITLE);\n}\n\nfunction findTitleInPath(event: MouseEvent): HTMLElement | undefined {\n const target = getEventTarget(event);\n\n if (matchTitle(target)) {\n return target as HTMLElement;\n }\n\n const path = event.composedPath?.();\n\n return path?.find(matchTitle) as HTMLElement | undefined;\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n if (isCustom(event)) {\n return;\n }\n\n const title = findTitleInPath(event);\n\n if (!title) {\n return;\n }\n\n toggleCut(title);\n });\n}\n", "export const Selector = {\n TITLE: '.yfm .yfm-term_title',\n CONTENT: '.yfm .yfm-term_dfn',\n};\nexport const openClass = 'open';\nexport const openDefinitionClass = Selector.CONTENT.replace(/\\./g, '') + ' ' + openClass;\nlet isListenerNeeded = true;\n\nexport function createDefinitionElement(termElement: HTMLElement) {\n const termKey = termElement.getAttribute('term-key');\n const definitionTemplate = document.getElementById(\n `${termKey}_template`,\n ) as HTMLTemplateElement;\n const definitionElement = definitionTemplate?.content.cloneNode(true).firstChild as HTMLElement;\n\n definitionTemplate?.parentElement?.appendChild(definitionElement);\n definitionTemplate.remove();\n\n return definitionElement;\n}\n\nexport function setDefinitionId(definitionElement: HTMLElement, termElement: HTMLElement): void {\n const termId = termElement.getAttribute('id') || Math.random().toString(36).substr(2, 8);\n definitionElement?.setAttribute('term-id', termId);\n}\n\nexport function setDefinitionPosition(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const {\n x: termX,\n y: termY,\n right: termRight,\n left: termLeft,\n width: termWidth,\n height: termHeight,\n } = termElement.getBoundingClientRect();\n\n const termParent = termParentElement(termElement);\n\n if (!termParent) {\n return;\n }\n\n const {right: termParentRight, left: termParentLeft} = termParent.getBoundingClientRect();\n\n if ((termParentRight < termLeft || termParentLeft > termRight) && !isListenerNeeded) {\n closeDefinition(definitionElement);\n return;\n }\n\n if (isListenerNeeded && termParent) {\n termParent.addEventListener('scroll', termOnResize);\n isListenerNeeded = false;\n }\n\n const relativeX = Number(definitionElement.getAttribute('relativeX'));\n const relativeY = Number(definitionElement.getAttribute('relativeY'));\n\n if (relativeX === termX && relativeY === termY) {\n return;\n }\n\n definitionElement.setAttribute('relativeX', String(termX));\n definitionElement.setAttribute('relativeY', String(termY));\n\n const offsetTop = termHeight + 5;\n const definitionParent = definitionElement.parentElement;\n\n if (!definitionParent) {\n return;\n }\n\n const {width: definitionWidth} = definitionElement.getBoundingClientRect();\n const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();\n\n // If definition not fit document change base alignment\n const definitionRightCoordinate = definitionWidth + Number(getCoords(termElement).left);\n const fitDefinitionDocument =\n document.body.clientWidth > definitionRightCoordinate ? 0 : definitionWidth - termWidth;\n\n const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;\n\n definitionElement.style.top =\n Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';\n definitionElement.style.left =\n Number(\n getCoords(termElement).left -\n definitionParentLeft +\n definitionParent.offsetLeft -\n fitDefinitionDocument,\n ) + 'px';\n}\n\nfunction termOnResize() {\n const openDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n}\n\nfunction termParentElement(term: HTMLElement | null) {\n if (!term) {\n return null;\n }\n\n const closestScrollableParent = term.closest('table') || term.closest('code');\n\n return closestScrollableParent || term.parentElement;\n}\n\nexport function closeDefinition(definition: HTMLElement) {\n definition.classList.remove(openClass);\n const termId = definition.getAttribute('term-id') || '';\n const termParent = termParentElement(document.getElementById(termId));\n\n if (!termParent) {\n return;\n }\n\n termParent.removeEventListener('scroll', termOnResize);\n isListenerNeeded = true;\n}\n\nfunction getCoords(elem: HTMLElement) {\n const box = elem.getBoundingClientRect();\n\n const body = document.body;\n const docEl = document.documentElement;\n\n const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n}\n", "import {\n Selector,\n closeDefinition,\n createDefinitionElement,\n openClass,\n openDefinitionClass,\n setDefinitionId,\n setDefinitionPosition,\n} from './utils';\nimport {getEventTarget, isCustom} from '../utils';\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n const target = getEventTarget(event) as HTMLElement;\n\n const termId = target.getAttribute('id');\n const termKey = target.getAttribute('term-key');\n let definitionElement = document.getElementById(termKey + '_element');\n\n if (termKey && !definitionElement) {\n definitionElement = createDefinitionElement(target);\n }\n\n const isSameTerm = openDefinition && termId === openDefinition.getAttribute('term-id');\n if (isSameTerm) {\n closeDefinition(openDefinition);\n return;\n }\n\n const isTargetDefinitionContent = target.closest(\n [Selector.CONTENT.replace(' ', ''), openClass].join('.'),\n );\n\n if (openDefinition && !isTargetDefinitionContent) {\n closeDefinition(openDefinition);\n }\n\n if (isCustom(event) || !target.matches(Selector.TITLE) || !definitionElement) {\n return;\n }\n\n setDefinitionId(definitionElement, target);\n setDefinitionPosition(definitionElement, target);\n\n definitionElement.classList.toggle(openClass);\n });\n\n document.addEventListener('keydown', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n if (event.key === 'Escape' && openDefinition) {\n closeDefinition(openDefinition);\n }\n });\n\n window.addEventListener('resize', () => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n openDefinition.classList.toggle(openClass);\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n });\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
6
|
-
"names": ["require_get_root_node_polyfill", "__commonJS", "exports", "module", "getRootNode", "opt", "composed", "getShadowIncludingRoot", "getRoot", "node", "root", "isShadowRoot", "TABS_CLASSNAME", "TABS_LIST_CLASSNAME", "TAB_CLASSNAME", "TAB_PANEL_CLASSNAME", "ACTIVE_CLASSNAME", "GROUP_DATA_KEY", "TAB_DATA_KEY", "TAB_DATA_ID", "DEFAULT_TABS_GROUP_PREFIX", "GLOBAL_SYMBOL", "getEventTarget", "event", "path", "isCustom", "target", "getClosestScrollableParent", "element", "getOffsetByScrollableParent", "scrollableParent", "elementBounds", "scrollableParentBounds", "Selector", "TabsController", "document", "tab", "handler", "id", "options", "targetTab", "group", "key", "previousTargetOffset", "tabs", "updated", "htmlElem", "tabList", "tabsContainer", "allTabs", "allPanels", "targetIndex", "i", "panel", "isTargetTab", "targetOffset", "diplodocId", "eventTab", "_a", "import_get_root_node_polyfill", "__toESM", "e", "matches", "selector", "th", "BUTTON_SELECTOR", "copyToClipboard", "text", "textarea", "notifySuccess", "svgButton", "icon", "parent", "code", "ClassName", "toggleCut", "cutNode", "matchTitle", "findTitleInPath", "title", "openClass", "openDefinitionClass", "isListenerNeeded", "createDefinitionElement", "termElement", "termKey", "definitionTemplate", "definitionElement", "setDefinitionId", "termId", "setDefinitionPosition", "termX", "termY", "termRight", "termLeft", "termWidth", "termHeight", "termParent", "termParentElement", "termParentRight", "termParentLeft", "closeDefinition", "termOnResize", "relativeX", "relativeY", "offsetTop", "definitionParent", "definitionWidth", "definitionParentLeft", "
|
|
4
|
+
"sourcesContent": ["'use strict';\n\n// Node getRootNode(optional GetRootNodeOptions options);\n\n/**\n * Returns the context object\u2019s shadow-including root if options\u2019s composed is true.\n * Returns the context object\u2019s root otherwise.\n *\n * The root of an object is itself, if its parent is null, or else it is the root of its parent.\n *\n * The shadow-including root of an object is its root\u2019s host\u2019s shadow-including root,\n * if the object\u2019s root is a shadow root, and its root otherwise.\n *\n * https://dom.spec.whatwg.org/#dom-node-getrootnode\n *\n * @memberof Node.prototype\n * @param {!Object} [opt = {}] - Options.\n * @param {!boolean} [opt.composed] - See above description.\n * @returns {!Node} The root node.\n */\nfunction getRootNode(opt) {\n var composed = typeof opt === 'object' && Boolean(opt.composed);\n\n return composed ? getShadowIncludingRoot(this) : getRoot(this);\n}\n\nfunction getShadowIncludingRoot(node) {\n var root = getRoot(node);\n\n if (isShadowRoot(root)) {\n return getShadowIncludingRoot(root.host);\n }\n\n return root;\n}\n\nfunction getRoot(node) {\n if (node.parentNode != null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\nfunction isShadowRoot(node) {\n return node.nodeName === '#document-fragment' && node.constructor.name === 'ShadowRoot';\n}\n\nif (typeof module === 'object' && module.exports) {\n module.exports = getRootNode;\n}\n", "import type {TabsController} from './runtime/TabsController';\n\nexport const TABS_CLASSNAME = 'yfm-tabs';\nexport const TABS_LIST_CLASSNAME = 'yfm-tab-list';\nexport const TAB_CLASSNAME = 'yfm-tab';\nexport const TAB_PANEL_CLASSNAME = 'yfm-tab-panel';\nexport const ACTIVE_CLASSNAME = 'active';\n\nexport const GROUP_DATA_KEY = 'data-diplodoc-group';\nexport const TAB_DATA_KEY = 'data-diplodoc-key';\nexport const TAB_DATA_ID = 'data-diplodoc-id';\nexport const TAB_ACTIVE_KEY = 'data-diplodoc-is-active';\n\nexport const DEFAULT_TABS_GROUP_PREFIX = 'defaultTabsGroup-';\n\nexport interface Tab {\n group?: string;\n key: string;\n}\n\nexport interface SelectedTabEvent {\n tab: Tab;\n currentTabId?: string;\n}\n\nexport const GLOBAL_SYMBOL: unique symbol = Symbol.for('diplodocTabs');\n\ndeclare global {\n interface Window {\n [GLOBAL_SYMBOL]: TabsController;\n }\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n\nexport const getClosestScrollableParent = (element: HTMLElement): HTMLElement | undefined => {\n if (Math.abs(element.scrollHeight - element.clientHeight) > 1) {\n return element;\n }\n\n return element.parentElement ? getClosestScrollableParent(element.parentElement) : undefined;\n};\n\nexport interface ElementOffset {\n top: number;\n left: number;\n}\n\nexport const getOffsetByScrollableParent = (\n element: HTMLElement,\n scrollableParent: HTMLElement,\n): ElementOffset => {\n const elementBounds = element.getBoundingClientRect();\n const scrollableParentBounds = scrollableParent.getBoundingClientRect();\n return {\n top: elementBounds.top - scrollableParentBounds.top,\n left: elementBounds.left - scrollableParentBounds.left,\n };\n};\n", "import {\n ACTIVE_CLASSNAME,\n DEFAULT_TABS_GROUP_PREFIX,\n GROUP_DATA_KEY,\n SelectedTabEvent,\n TABS_CLASSNAME,\n TABS_LIST_CLASSNAME,\n TAB_CLASSNAME,\n TAB_DATA_ID,\n TAB_DATA_KEY,\n TAB_PANEL_CLASSNAME,\n Tab,\n} from '../common';\nimport {\n ElementOffset,\n getClosestScrollableParent,\n getEventTarget,\n getOffsetByScrollableParent,\n isCustom,\n} from './utils';\n\nconst Selector = {\n TABS: `.${TABS_CLASSNAME}`,\n TAB_LIST: `.${TABS_LIST_CLASSNAME}`,\n TAB: `.${TAB_CLASSNAME}`,\n TAB_PANEL: `.${TAB_PANEL_CLASSNAME}`,\n};\n\nexport interface ISelectTabByIdOptions {\n scrollToElement: boolean;\n}\n\ntype Handler = (data: SelectedTabEvent) => void;\n\nexport class TabsController {\n private _document: Document;\n\n private _onSelectTabHandlers: Set<Handler> = new Set();\n\n constructor(document: Document) {\n this._document = document;\n this._document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n if (tab) {\n this._selectTab(tab, target);\n }\n });\n }\n\n onSelectTab(handler: Handler) {\n this._onSelectTabHandlers.add(handler);\n\n return () => {\n this._onSelectTabHandlers.delete(handler);\n };\n }\n\n selectTabById(id: string, options?: ISelectTabByIdOptions) {\n const target = this._document.querySelector(\n `${Selector.TAB}[${TAB_DATA_ID}=\"${id}\"]`,\n ) as HTMLElement;\n\n if (!target || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n if (tab) {\n this._selectTab(tab, target);\n }\n\n if (options?.scrollToElement) {\n target.scrollIntoView();\n }\n }\n\n selectTab(tab: Tab) {\n this._selectTab(tab);\n }\n\n private _selectTab(tab: Tab, targetTab?: HTMLElement) {\n const {group, key} = tab;\n\n if (!group) {\n return;\n }\n\n const scrollableParent = targetTab && getClosestScrollableParent(targetTab);\n const previousTargetOffset =\n scrollableParent && getOffsetByScrollableParent(targetTab, scrollableParent);\n\n const updatedTabs = this.updateHTML({group, key});\n\n if (updatedTabs > 0) {\n if (previousTargetOffset) {\n this.resetScroll(targetTab, scrollableParent, previousTargetOffset);\n }\n\n this.fireSelectTabEvent({group, key}, targetTab?.dataset.diplodocId);\n }\n }\n\n private updateHTML(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const tabs = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n\n tabs.forEach((element) => {\n const htmlElem = element as HTMLElement;\n if (!this.isValidTabElement(htmlElem) || htmlElem.dataset.diplodocIsActive === 'true') {\n return;\n }\n\n updated++;\n\n const tab = element;\n const tabList = tab.parentNode;\n const tabsContainer = tabList?.parentNode;\n const allTabs = Array.from(tabsContainer?.querySelectorAll(Selector.TAB) || []);\n const allPanels = Array.from(tabsContainer?.querySelectorAll(Selector.TAB_PANEL) || []);\n const targetIndex = allTabs.indexOf(tab);\n\n allTabs.forEach((tab, i) => {\n const panel = allPanels[i];\n const isTargetTab = i === targetIndex;\n const htmlElem = tab as HTMLElement;\n\n htmlElem.dataset.diplodocIsActive = isTargetTab ? 'true' : 'false';\n\n tab.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n tab.setAttribute('aria-selected', isTargetTab.toString());\n tab.setAttribute('tabindex', isTargetTab ? '-1' : '0');\n panel.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n });\n });\n\n return updated;\n }\n\n private resetScroll(\n target: HTMLElement,\n scrollableParent: HTMLElement,\n previousTargetOffset: ElementOffset,\n ) {\n const targetOffset = getOffsetByScrollableParent(target, scrollableParent);\n scrollableParent.scrollTo(\n targetOffset.left + scrollableParent.scrollLeft - previousTargetOffset.left,\n targetOffset.top + scrollableParent.scrollTop - previousTargetOffset.top,\n );\n }\n\n private fireSelectTabEvent(tab: Required<Tab>, diplodocId?: string) {\n const {group, key} = tab;\n\n const eventTab: Tab = group.startsWith(DEFAULT_TABS_GROUP_PREFIX) ? {key} : tab;\n\n this._onSelectTabHandlers.forEach((handler) => {\n handler({tab: eventTab, currentTabId: diplodocId});\n });\n }\n\n private isValidTabElement(element: HTMLElement) {\n const tabList =\n element.matches(Selector.TAB) && element.dataset.diplodocId\n ? element.closest(Selector.TAB_LIST)\n : null;\n return tabList?.closest(Selector.TABS);\n }\n\n private getTabDataFromHTMLElement(target: HTMLElement): Tab | null {\n const key = target.dataset.diplodocKey;\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key} : null;\n }\n}\n", "import {GLOBAL_SYMBOL} from '../common';\nimport {TabsController} from './TabsController';\nimport './scss/tabs.scss';\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && !window[GLOBAL_SYMBOL]) {\n window[GLOBAL_SYMBOL] = new TabsController(document);\n}\n", "import getRootNode from 'get-root-node-polyfill';\n\nif (typeof document !== 'undefined') {\n // matches polyfill for old edge\n (function (e) {\n const matches =\n e.matches ||\n e.matchesSelector ||\n e.webkitMatchesSelector ||\n e.mozMatchesSelector ||\n e.msMatchesSelector ||\n e.oMatchesSelector;\n\n if (matches) {\n e.matches = e.matchesSelector = matches;\n } else {\n e.matches = e.matchesSelector = function matches(selector) {\n const rootNode = e.getRootNode ? e.getRootNode() : getRootNode.call(e);\n const matches = rootNode.querySelectorAll(selector);\n const th = this;\n return Array.prototype.some.call(matches, (e) => {\n return e === th;\n });\n };\n }\n })(Element.prototype);\n}\n", "export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n", "import {getEventTarget, isCustom} from './utils';\n\nconst BUTTON_SELECTOR = '.yfm-clipboard-button';\n\nfunction copyToClipboard(text: string) {\n if (!text) {\n return Promise.resolve();\n }\n\n if (navigator.clipboard && typeof navigator.clipboard.writeText) {\n return navigator.clipboard.writeText(text);\n }\n const textarea = document.createElement('textarea');\n textarea.setAttribute('style', 'position: absolute; left: 1000%');\n textarea.textContent = text;\n document.body.append(textarea);\n\n textarea.select();\n document.execCommand('copy');\n\n document.body.removeChild(textarea);\n\n return Promise.resolve();\n}\n\nfunction notifySuccess(svgButton: HTMLElement | null) {\n if (!svgButton) {\n return;\n }\n\n const id = svgButton.getAttribute('data-animation');\n // @ts-expect-error\n const icon = svgButton.getRootNode().getElementById(`visibileAnimation-${id}`);\n\n if (!icon) {\n return;\n }\n\n icon.beginElement();\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !target.matches(BUTTON_SELECTOR)) {\n return;\n }\n\n const parent = target.parentNode;\n\n if (!parent) {\n return;\n }\n\n const code = parent.querySelector<HTMLElement>('pre code');\n if (!code) {\n return;\n }\n\n copyToClipboard(code.innerText).then(() => {\n notifySuccess(parent.querySelector('.yfm-clipboard-button'));\n });\n });\n}\n", "import {getEventTarget, isCustom} from './utils';\n\nconst Selector = {\n CUT: '.yfm .yfm-cut',\n TITLE: '.yfm .yfm-cut-title',\n CONTENT: '.yfm .yfm-cut-content',\n};\n\nconst ClassName = {\n OPEN: 'open',\n};\n\nfunction toggleCut(element: HTMLElement) {\n const cutNode = element.parentNode;\n\n if (!(cutNode instanceof HTMLElement)) {\n return;\n }\n\n cutNode.classList.toggle(ClassName.OPEN);\n}\n\nfunction matchTitle(target: EventTarget | null) {\n if (!(target instanceof HTMLElement)) {\n return false;\n }\n\n return target?.matches?.(Selector.TITLE);\n}\n\nfunction findTitleInPath(event: MouseEvent): HTMLElement | undefined {\n const target = getEventTarget(event);\n\n if (matchTitle(target)) {\n return target as HTMLElement;\n }\n\n const path = event.composedPath?.();\n\n return path?.find(matchTitle) as HTMLElement | undefined;\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n if (isCustom(event)) {\n return;\n }\n\n const title = findTitleInPath(event);\n\n if (!title) {\n return;\n }\n\n toggleCut(title);\n });\n}\n", "export const Selector = {\n TITLE: '.yfm .yfm-term_title',\n CONTENT: '.yfm .yfm-term_dfn',\n};\nexport const openClass = 'open';\nexport const openDefinitionClass = Selector.CONTENT.replace(/\\./g, '') + ' ' + openClass;\nlet isListenerNeeded = true;\n\nexport function createDefinitionElement(termElement: HTMLElement) {\n const termKey = termElement.getAttribute('term-key');\n const definitionTemplate = document.getElementById(\n `${termKey}_template`,\n ) as HTMLTemplateElement;\n const definitionElement = definitionTemplate?.content.cloneNode(true).firstChild as HTMLElement;\n\n definitionTemplate?.parentElement?.appendChild(definitionElement);\n definitionTemplate.remove();\n\n return definitionElement;\n}\n\nexport function setDefinitionId(definitionElement: HTMLElement, termElement: HTMLElement): void {\n const termId = termElement.getAttribute('id') || Math.random().toString(36).substr(2, 8);\n definitionElement?.setAttribute('term-id', termId);\n}\n\nexport function setDefinitionPosition(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const {\n x: termX,\n y: termY,\n right: termRight,\n left: termLeft,\n width: termWidth,\n height: termHeight,\n } = termElement.getBoundingClientRect();\n\n const termParent = termParentElement(termElement);\n\n if (!termParent) {\n return;\n }\n\n const {right: termParentRight, left: termParentLeft} = termParent.getBoundingClientRect();\n\n if ((termParentRight < termLeft || termParentLeft > termRight) && !isListenerNeeded) {\n closeDefinition(definitionElement);\n return;\n }\n\n if (isListenerNeeded && termParent) {\n termParent.addEventListener('scroll', termOnResize);\n isListenerNeeded = false;\n }\n\n const relativeX = Number(definitionElement.getAttribute('relativeX'));\n const relativeY = Number(definitionElement.getAttribute('relativeY'));\n\n if (relativeX === termX && relativeY === termY) {\n return;\n }\n\n definitionElement.setAttribute('relativeX', String(termX));\n definitionElement.setAttribute('relativeY', String(termY));\n\n const offsetTop = termHeight + 5;\n const definitionParent = definitionElement.parentElement;\n\n if (!definitionParent) {\n return;\n }\n\n const {width: definitionWidth} = definitionElement.getBoundingClientRect();\n const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();\n\n // If definition not fit document change base alignment\n const definitionLeftCoordinate = Number(getCoords(termElement).left);\n const definitionRightCoordinate = definitionWidth + definitionLeftCoordinate;\n\n const definitionOutOfScreenOnLeft = definitionLeftCoordinate - definitionWidth < 0;\n const definitionOutOfScreenOnRight = definitionRightCoordinate > document.body.clientWidth;\n\n const isAlignSwapped = definitionOutOfScreenOnRight || document.dir === 'rtl';\n const fitDefinitionDocument =\n isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;\n const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;\n\n definitionElement.style.top =\n Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';\n definitionElement.style.left =\n Number(\n getCoords(termElement).left -\n definitionParentLeft +\n definitionParent.offsetLeft -\n fitDefinitionDocument,\n ) + 'px';\n}\n\nfunction termOnResize() {\n const openDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n}\n\nfunction termParentElement(term: HTMLElement | null) {\n if (!term) {\n return null;\n }\n\n const closestScrollableParent = term.closest('table') || term.closest('code');\n\n return closestScrollableParent || term.parentElement;\n}\n\nexport function closeDefinition(definition: HTMLElement) {\n definition.classList.remove(openClass);\n const termId = definition.getAttribute('term-id') || '';\n const termParent = termParentElement(document.getElementById(termId));\n\n if (!termParent) {\n return;\n }\n\n termParent.removeEventListener('scroll', termOnResize);\n isListenerNeeded = true;\n}\n\nfunction getCoords(elem: HTMLElement) {\n const box = elem.getBoundingClientRect();\n\n const body = document.body;\n const docEl = document.documentElement;\n\n const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n}\n", "import {\n Selector,\n closeDefinition,\n createDefinitionElement,\n openClass,\n openDefinitionClass,\n setDefinitionId,\n setDefinitionPosition,\n} from './utils';\nimport {getEventTarget, isCustom} from '../utils';\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n const target = getEventTarget(event) as HTMLElement;\n\n const termId = target.getAttribute('id');\n const termKey = target.getAttribute('term-key');\n let definitionElement = document.getElementById(termKey + '_element');\n\n if (termKey && !definitionElement) {\n definitionElement = createDefinitionElement(target);\n }\n\n const isSameTerm = openDefinition && termId === openDefinition.getAttribute('term-id');\n if (isSameTerm) {\n closeDefinition(openDefinition);\n return;\n }\n\n const isTargetDefinitionContent = target.closest(\n [Selector.CONTENT.replace(' ', ''), openClass].join('.'),\n );\n\n if (openDefinition && !isTargetDefinitionContent) {\n closeDefinition(openDefinition);\n }\n\n if (isCustom(event) || !target.matches(Selector.TITLE) || !definitionElement) {\n return;\n }\n\n setDefinitionId(definitionElement, target);\n setDefinitionPosition(definitionElement, target);\n\n definitionElement.classList.toggle(openClass);\n });\n\n document.addEventListener('keydown', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n if (event.key === 'Escape' && openDefinition) {\n closeDefinition(openDefinition);\n }\n });\n\n window.addEventListener('resize', () => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n openDefinition.classList.toggle(openClass);\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n });\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["require_get_root_node_polyfill", "__commonJS", "exports", "module", "getRootNode", "opt", "composed", "getShadowIncludingRoot", "getRoot", "node", "root", "isShadowRoot", "TABS_CLASSNAME", "TABS_LIST_CLASSNAME", "TAB_CLASSNAME", "TAB_PANEL_CLASSNAME", "ACTIVE_CLASSNAME", "GROUP_DATA_KEY", "TAB_DATA_KEY", "TAB_DATA_ID", "DEFAULT_TABS_GROUP_PREFIX", "GLOBAL_SYMBOL", "getEventTarget", "event", "path", "isCustom", "target", "getClosestScrollableParent", "element", "getOffsetByScrollableParent", "scrollableParent", "elementBounds", "scrollableParentBounds", "Selector", "TabsController", "document", "tab", "handler", "id", "options", "targetTab", "group", "key", "previousTargetOffset", "tabs", "updated", "htmlElem", "tabList", "tabsContainer", "allTabs", "allPanels", "targetIndex", "i", "panel", "isTargetTab", "targetOffset", "diplodocId", "eventTab", "_a", "import_get_root_node_polyfill", "__toESM", "e", "matches", "selector", "th", "BUTTON_SELECTOR", "copyToClipboard", "text", "textarea", "notifySuccess", "svgButton", "icon", "parent", "code", "ClassName", "toggleCut", "cutNode", "matchTitle", "findTitleInPath", "title", "openClass", "openDefinitionClass", "isListenerNeeded", "createDefinitionElement", "termElement", "termKey", "definitionTemplate", "definitionElement", "setDefinitionId", "termId", "setDefinitionPosition", "termX", "termY", "termRight", "termLeft", "termWidth", "termHeight", "termParent", "termParentElement", "termParentRight", "termParentLeft", "closeDefinition", "termOnResize", "relativeX", "relativeY", "offsetTop", "definitionParent", "definitionWidth", "definitionParentLeft", "definitionLeftCoordinate", "getCoords", "definitionRightCoordinate", "definitionOutOfScreenOnLeft", "fitDefinitionDocument", "customHeaderTop", "openDefinition", "term", "definition", "elem", "box", "body", "docEl", "scrollTop", "scrollLeft", "clientTop", "clientLeft", "top", "left", "isTargetDefinitionContent"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diplodoc/transform",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.8.0",
|
|
4
4
|
"description": "A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML",
|
|
5
5
|
"author": "YFM Team <yfm-team@yandex.ru>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"github-slugger": "1.4.0",
|
|
36
36
|
"js-yaml": "^4.1.0",
|
|
37
37
|
"lodash": "4.17.21",
|
|
38
|
-
"markdown-it": "13.0.
|
|
38
|
+
"markdown-it": "^13.0.2",
|
|
39
39
|
"markdown-it-attrs": "4.1.4",
|
|
40
40
|
"markdown-it-deflist": "2.1.0",
|
|
41
41
|
"markdown-it-meta": "0.0.1",
|
package/src/js/term/utils.ts
CHANGED
|
@@ -76,10 +76,15 @@ export function setDefinitionPosition(
|
|
|
76
76
|
const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();
|
|
77
77
|
|
|
78
78
|
// If definition not fit document change base alignment
|
|
79
|
-
const
|
|
80
|
-
const
|
|
81
|
-
|
|
79
|
+
const definitionLeftCoordinate = Number(getCoords(termElement).left);
|
|
80
|
+
const definitionRightCoordinate = definitionWidth + definitionLeftCoordinate;
|
|
81
|
+
|
|
82
|
+
const definitionOutOfScreenOnLeft = definitionLeftCoordinate - definitionWidth < 0;
|
|
83
|
+
const definitionOutOfScreenOnRight = definitionRightCoordinate > document.body.clientWidth;
|
|
82
84
|
|
|
85
|
+
const isAlignSwapped = definitionOutOfScreenOnRight || document.dir === 'rtl';
|
|
86
|
+
const fitDefinitionDocument =
|
|
87
|
+
isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;
|
|
83
88
|
const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;
|
|
84
89
|
|
|
85
90
|
definitionElement.style.top =
|