diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/404.html b/404.html new file mode 100644 index 000000000..7c2585dfb --- /dev/null +++ b/404.html @@ -0,0 +1,14 @@ + + + + + +Page Not Found | Yazi + + + + + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+ + \ No newline at end of file diff --git a/assets/css/styles.7bda54a4.css b/assets/css/styles.7bda54a4.css new file mode 100644 index 000000000..02b99b5a0 --- /dev/null +++ b/assets/css/styles.7bda54a4.css @@ -0,0 +1 @@ +.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_Sh1C,html{-webkit-tap-highlight-color:transparent}.clean-list,.containsTaskList_qSAd,.details_lZ0B>summary,.dropdown__menu,.menu__list{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#2e8555;--ifm-color-primary-dark:#29784c;--ifm-color-primary-darker:#277148;--ifm-color-primary-darkest:#205d3b;--ifm-color-primary-light:#33925d;--ifm-color-primary-lighter:#359962;--ifm-color-primary-lightest:#3cad6e;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#0000001a;--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_ExRF{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_jXp3,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList_CoiK{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_yKdi .wordWrapButtonIcon_gKMZ{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_k0u6,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_zhUG:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_o1in article>:first-child,.docItemContainer_o1in header+*,.footer__item{margin-top:0}.admonitionContent_opPc>:last-child,.collapsibleContent_VjnQ p:last-child,.details_lZ0B>summary>p:last-child,.footer__items,.tabItem_n1O3>:last-child{margin-bottom:0}.codeBlockStandalone_ABMF,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_ISGj{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lZ0B[data-collapsed=false].isBrowser_no_l>summary:before,.details_lZ0B[open]:not(.isBrowser_no_l)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_y8Vv,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover,.sidebarItemLink_QHUh:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.sidebarItemTitle_mKW_,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_qSAd>li)>.containsTaskList_qSAd{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--ifm-color-primary:#25c2a0;--ifm-color-primary-dark:#21af90;--ifm-color-primary-darker:#1fa588;--ifm-color-primary-darkest:#1a8870;--ifm-color-primary-light:#29d5b0;--ifm-color-primary-lighter:#32d8b4;--ifm-color-primary-lightest:#4fddbf;--docusaurus-highlighted-code-line-bg:#0000004d}pre.prism-code{tab-size:4}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_Xt9D,.sidebarLogo_JeWg,.themedComponent_T9Uj,[data-theme=dark] .lightToggleIcon_KeeV,[data-theme=light] .darkToggleIcon_saFG,html[data-announcement-bar-initially-dismissed=true] .announcementBar_xLqx{display:none}.skipToContent_tLSW{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_tLSW:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_RV5_{line-height:0;padding:0}.content_mxxS{font-size:85%;padding:5px 0;text-align:center}.content_mxxS a{color:inherit;text-decoration:underline}.announcementBar_xLqx{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_lipj{flex:0 0 10px}.announcementBarClose_q_bn{align-self:stretch;flex:0 0 30px}.toggle_zKwc{height:2rem;width:2rem}.features_jVLO,.toggleButton_Sh1C{align-items:center;width:100%;display:flex}.toggleButton_Sh1C{border-radius:50%;height:100%;justify-content:center;transition:background var(--ifm-transition-fast)}.toggleButton_Sh1C:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_SE6i{cursor:not-allowed}.darkNavbarColorModeToggle_MLl_:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_LeW_,[data-theme=light] .themedComponent--light_LnQX,html:not([data-theme]) .themedComponent--light_LnQX{display:initial}.iconExternalLink_FzVt{margin-left:.3rem}.dropdownNavbarItemMobile_Je6P{cursor:pointer}.iconLanguage_MfbH{margin-right:5px;vertical-align:text-bottom}@supports selector(:has(*)){.navbarSearchContainer_tJmq:not(:has(>*)){display:none}}.navbarHideable_PRDR{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_UOa3{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_lDGA{color:red;white-space:pre-wrap}.errorBoundaryFallback_Fu9f{color:red;padding:.55rem}.footerLogoLink_hiOB{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_hiOB:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.anchorWithStickyNavbar_kntu{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_MdN_{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_MTkO{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.features_jVLO{padding:2rem 0}.featureSvg_km3_{height:200px;width:200px}.heroBanner_qdFl{overflow:hidden;padding:4rem 0;position:relative;text-align:center}.sidebar_sXwe,.tableOfContents_SjQa{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto}.buttons_AeoN{align-items:center;display:flex;justify-content:center}.sidebar_sXwe{position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_mKW_{font-size:var(--ifm-h3-font-size)}.container_ldet,.sidebarItemList_w9tn{font-size:.9rem}.sidebarItem_yjGh{margin-top:.7rem}.sidebarItemLink_QHUh{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_Woob{color:var(--ifm-color-primary)!important}.authorCol_mDTl{flex-grow:1!important;max-width:inherit!important}.imageOnlyAuthorRow_RxfN{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_BLD_{margin-left:.3rem;margin-right:.3rem}.backToTopButton_gYZi{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.buttonGroup_fIMt button,.codeBlockContainer_vocU{background:var(--prism-background-color);color:var(--prism-color)}.backToTopButton_gYZi:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_PbAn{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton__riI{display:none;margin:0}.docMainContainer__6QZ,.docRoot_iSU5{display:flex;width:100%}.docsWrapper_RBU1{display:flex;flex:1 0 auto}.cards_fs6L{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.space_jwe0{display:inline-flex;gap:.5rem}.codeBlockContainer_vocU{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_cjU_{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_rQ4W{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_sODX{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_rQ4W+.codeBlockContent_cjU_ .codeBlock_sODX{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_noJQ{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_rItn{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_fIMt{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_fIMt button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_fIMt button:focus-visible,.buttonGroup_fIMt button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_fIMt button{opacity:.4}.iconEdit_LzJe{margin-right:.3em;vertical-align:sub}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine__qcx{counter-increment:a;display:table-row}.codeLineNumber_zhUG{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_zhUG:before{content:counter(a);opacity:.4}.codeLineContent_EAHY{padding-right:var(--ifm-pre-padding)}.tag_pdpq{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_pdpq:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_jIad{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_XeDX{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_XeDX:after,.tagWithCount_XeDX:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_XeDX:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_XeDX:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_XeDX span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.theme-code-block:hover .copyButtonCopied_SOFy{opacity:1!important}.copyButtonIcons_s68s{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_OUTw,.copyButtonSuccessIcon_WF0B{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_WF0B{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_SOFy .copyButtonIcon_OUTw{opacity:0;transform:scale(.33)}.copyButtonCopied_SOFy .copyButtonSuccessIcon_WF0B{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tags_FiAV{display:inline}.tag_N3GO{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_kIP3{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_JDLe{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_JDLe:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_lJkC:after,.tocCollapsibleExpanded_BToT{transform:none}.tocCollapsible_eOKD{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_MMFn>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_MMFn ul li{margin:.4rem .8rem}.tocCollapsibleContent_MMFn a{display:block}.wordWrapButtonIcon_gKMZ{height:1.2rem;width:1.2rem}.details_lZ0B{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lZ0B>summary{cursor:pointer;padding-left:1rem;position:relative}.details_lZ0B>summary::-webkit-details-marker{display:none}.details_lZ0B>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_VjnQ{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_qVgx{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.img_vmPz{height:auto}.admonition_zSC8{margin-bottom:1em}.admonitionHeading_k0u6{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_k0u6:not(:last-child){margin-bottom:.3rem}.admonitionHeading_k0u6 code{text-transform:none}.admonitionIcon_APvl{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_APvl svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.blogPostFooterDetailsFull_tIY_{flex-direction:column}.tableOfContents_SjQa{position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.breadcrumbHomeIcon__OA5{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_UEib{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}@media (min-width:997px){.collapseSidebarButton__riI,.expandButton_otNl{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_q_bn,.announcementBarPlaceholder_lipj{flex-basis:50px}.navbarSearchContainer_tJmq{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.collapseSidebarButton__riI{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_SXr8{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_F41r,[dir=rtl] .collapseSidebarButtonIcon_SXr8{transform:rotate(0)}.collapseSidebarButton__riI:focus,.collapseSidebarButton__riI:hover,.expandButton_otNl:focus,.expandButton_otNl:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_eAey{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_mIeD{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_mIeD{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_sEQp{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_NaZc{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_ilKF{padding-top:0}.sidebarHidden_ccbI{opacity:0;visibility:hidden}.sidebarLogo_JeWg{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_JeWg img{height:2rem;margin-right:.5rem}.expandButton_otNl{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_F41r{transform:rotate(180deg)}.docSidebarContainer_Xt9D{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_IBg7{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_m5le{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer__6QZ{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_xMdb{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_xr_G{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.lastUpdated_kIP3{text-align:right}.tocMobile_st4G{display:none}.docItemCol_biXE{max-width:75%!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_euGD,.footer__link-separator,.navbar__item,.sidebar_sXwe,.tableOfContents_SjQa{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_tJmq{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_EKWy{padding:0 .3rem}}@media screen and (max-width:996px){.heroBanner_qdFl{padding:2rem}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.title_ISGj{font-size:2rem}}@media (hover:hover){.backToTopButton_gYZi:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media print{.announcementBar_xLqx,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_st4G{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_noJQ{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/js/0480b142.d5fb6362.js b/assets/js/0480b142.d5fb6362.js new file mode 100644 index 000000000..a245309db --- /dev/null +++ b/assets/js/0480b142.d5fb6362.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[836],{4594:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>c,frontMatter:()=>o,metadata:()=>r,toc:()=>h});var t=i(1527),s=i(6225);const o={sidebar_position:6,description:"Answers to some frequently asked questions about Yazi."},a="Frequently Asked Questions",r={id:"faq",title:"Frequently Asked Questions",description:"Answers to some frequently asked questions about Yazi.",source:"@site/docs/faq.md",sourceDirName:".",slug:"/faq",permalink:"/docs/faq",draft:!1,unlisted:!1,editUrl:"https://github.com/yazi-rs/yazi-rs.github.io/edit/main/docs/faq.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6,description:"Answers to some frequently asked questions about Yazi."},sidebar:"docsSidebar",previous:{title:"Tips",permalink:"/docs/tips"}},d={},h=[{value:"Why is Yazi fast?",id:"why-is-yazi-fast",level:2},{value:"Why am I getting a "Permission denied" when editing files in Linux/macOS?",id:"why-am-i-getting-a-permission-denied-when-editing-files-in-linuxmacos",level:2},{value:"Why can't I preview files on Windows?",id:"why-cant-i-preview-files-on-windows",level:2},{value:"Why do my icons shrink in kitty, and enlarge when scrolling?",id:"why-do-my-icons-shrink-in-kitty-and-enlarge-when-scrolling",level:2},{value:"Why can't "Open" and "Enter" be a single command?",id:"why-cant-open-and-enter-be-a-single-command",level:2},{value:"Why is "orphan" set to false by default?",id:"why-is-orphan-set-to-false-by-default",level:2},{value:"I don't like nerd\u2010fonts!",id:"i-dont-like-nerdfonts",level:2},{value:"Why doesn't the XXX feature exist?",id:"why-doesnt-the-xxx-feature-exist",level:2},{value:"Why do I need to copy the entire keybindings?",id:"why-do-i-need-to-copy-the-entire-keybindings",level:2}];function l(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",...(0,s.a)(),...e.components},{Details:i}=n;return i||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"frequently-asked-questions",children:"Frequently Asked Questions"}),"\n",(0,t.jsx)(n.h2,{id:"why-is-yazi-fast",children:"Why is Yazi fast?"}),"\n",(0,t.jsxs)(n.p,{children:["See ",(0,t.jsx)(n.a,{href:"/blog/why-is-yazi-fast",children:"Why is Yazi fast?"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"why-am-i-getting-a-permission-denied-when-editing-files-in-linuxmacos",children:'Why am I getting a "Permission denied" when editing files in Linux/macOS?'}),"\n",(0,t.jsxs)(n.p,{children:["Yazi defaults to using ",(0,t.jsx)(n.code,{children:"$EDITOR"})," as the default editor, which is suitable for most cases."]}),"\n",(0,t.jsxs)(n.p,{children:["When you encounter this error, it means that ",(0,t.jsx)(n.code,{children:"$EDITOR"})," is not set properly. You can add something like ",(0,t.jsx)(n.code,{children:"export EDITOR=vim"})," to your Bash/Zsh/Fish configuration.\nAlternatively, you can change Yazi's ",(0,t.jsx)(n.a,{href:"https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/yazi.toml",children:"default edit opener"})," from ",(0,t.jsx)(n.code,{children:"$EDITOR"})," to vim/nvim/nano."]}),"\n",(0,t.jsx)(n.h2,{id:"why-cant-i-preview-files-on-windows",children:"Why can't I preview files on Windows?"}),"\n",(0,t.jsxs)(i,{children:[(0,t.jsx)("summary",{children:"Yazi Windows Edition"}),(0,t.jsxs)("div",{children:[(0,t.jsxs)(n.p,{children:["Have you added Git to the ",(0,t.jsx)(n.code,{children:"PATH"})," according to the ",(0,t.jsx)(n.a,{href:"https://github.com/sxyazi/yazi/wiki/Windows-Installation-Guide#requirements",children:"Windows Installation Guide"}),"?"]}),(0,t.jsxs)(n.p,{children:["Please make sure the ",(0,t.jsx)(n.code,{children:"file"})," command is available in your terminal, you can do a ",(0,t.jsx)(n.code,{children:"file -v"})," to verify it."]})]})]}),"\n",(0,t.jsxs)(i,{children:[(0,t.jsx)("summary",{children:"Yazi Linux Edition running on WSL"}),(0,t.jsxs)("div",{children:[(0,t.jsx)(n.p,{children:"Limited by ConPTY, the Windows version of Yazi has had to implement many workarounds, which are not perfect."}),(0,t.jsxs)(n.p,{children:["However, if you run Yazi in WSL, you can experience perfect image previews using ",(0,t.jsx)(n.code,{children:"wezterm ssh"}),".",(0,t.jsx)("br",{}),"\n",(0,t.jsx)(n.a,{href:"https://wezfurlong.org/wezterm/",children:"WezTerm"})," is an excellent terminal that can bypass the limitations of ConPTY through its SSH feature, and it's currently the only terminal that supports this approach."]}),(0,t.jsxs)(n.p,{children:["You need to install ",(0,t.jsx)(n.code,{children:"sshd"})," in WSL and start it:"]}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"sudo apt install openssh-server\nsudo service ssh restart\n"})}),(0,t.jsx)(n.p,{children:"Then, on the host machine, connect to WSL via SSH:"}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"wezterm ssh 127.0.0.1\n"})}),(0,t.jsx)(n.p,{children:"That's it! you can now get Yazi's image preview working properly."})]})]}),"\n",(0,t.jsxs)(n.p,{children:["Before ",(0,t.jsxs)(n.a,{href:"https://github.com/crossterm-rs/crossterm/pull/810",children:["Add ",(0,t.jsx)(n.code,{children:"CSI 14 t"})," sequence support"]})," is merged, it is not possible to obtain the actual width and height of the terminal."]}),"\n",(0,t.jsxs)(n.p,{children:["Therefore, the Windows version of Yazi currently uses ",(0,t.jsx)(n.code,{children:"preview.max_width"})," and ",(0,t.jsx)(n.code,{children:"preview.max_height"})," specified by the user in the ",(0,t.jsx)(n.code,{children:"yazi.toml"})," as the image size."]}),"\n",(0,t.jsxs)(n.h2,{id:"why-do-my-icons-shrink-in-kitty-and-enlarge-when-scrolling",children:["Why do my icons shrink in ",(0,t.jsx)(n.a,{href:"https://sw.kovidgoyal.net/kitty/",children:"kitty"}),", and enlarge when scrolling?"]}),"\n",(0,t.jsxs)(n.p,{children:["TL;DR: Use a theme for Yazi, ",(0,t.jsx)(n.a,{href:"https://github.com/yazi-rs/themes",children:"https://github.com/yazi-rs/themes"})]}),"\n",(0,t.jsx)(n.p,{children:"This might be a bug in kitty (or feature? I don't know). In kitty, you have to add a style to file list items (like foreground color) to make the icons match the text size. However, Yazi's default theme can't add that color, because it can't predict whether the user's terminal has a white background with black text, or a black background with white text."}),"\n",(0,t.jsx)(n.p,{children:"So it inherits the default terminal font color. This causes the icon size issue, and I've only found this problem in kitty - other terminals don't have it. Therefore, please use a Yazi theme for the kitty terminal."}),"\n",(0,t.jsx)(n.h2,{id:"why-cant-open-and-enter-be-a-single-command",children:'Why can\'t "Open" and "Enter" be a single command?'}),"\n",(0,t.jsxs)(n.p,{children:["The decision to separate ",(0,t.jsx)(n.code,{children:"enter"})," and ",(0,t.jsx)(n.code,{children:"open"})," commands was intentional."]}),"\n",(0,t.jsx)(n.p,{children:"Yazi will be adding the ability to treat an archive as a directory in the future, allowing direct operations on the files inside."}),"\n",(0,t.jsx)(n.p,{children:'An archive is a file, so it\'s "openable", but it\'s also "enterable" as a directory; so the user can choose the action they want to do.'}),"\n",(0,t.jsx)(n.p,{children:"This is true for a actual directory as well - a directory can be entered (in Yazi), or opened (in programs like VSCode or desktop file managers)."}),"\n",(0,t.jsxs)(n.p,{children:["If you truly don't need to distinguish between them, use this ",(0,t.jsx)(n.a,{href:"/docs/tips#smart-enter-enter-for-directory-open-for-file",children:"smart-enter tip"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"why-is-orphan-set-to-false-by-default",children:'Why is "orphan" set to false by default?'}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"orphan=true"})," is an emergency exit; once specified, your task will not be managed by Yazi."]}),"\n",(0,t.jsxs)(n.p,{children:["For instance, if you realize that you've used ",(0,t.jsx)(n.code,{children:"unzip"})," on the wrong files, and you need to cancel it, with ",(0,t.jsx)(n.code,{children:"orphan=false"}),", you can easily do that by pressing ",(0,t.jsx)(n.code,{children:"x"})," in Yazi's task manager.\nHowever, with ",(0,t.jsx)(n.code,{children:"orphan=true"}),", you can only return to the shell to terminate it."]}),"\n",(0,t.jsxs)(n.p,{children:["On the other hand, tasks with ",(0,t.jsx)(n.code,{children:"orphan=false"})," are scheduled through the Yazi task system. It can limit the number of concurrent tasks (configurable by the user), to prevent system resource depletion, such as when you're extracting 100 files."]}),"\n",(0,t.jsx)(n.h2,{id:"i-dont-like-nerdfonts",children:"I don't like nerd\u2010fonts!"}),"\n",(0,t.jsxs)(n.p,{children:["Yazi has ",(0,t.jsx)(n.code,{children:"nerd-fonts"})," enabled by default, it looks really cool!"]}),"\n",(0,t.jsxs)(n.p,{children:["If you don't want to use it and want things to be calm, sure, you can modify these icons as much as you want in ",(0,t.jsx)(n.a,{href:"/docs/configuration/theme",children:(0,t.jsx)(n.code,{children:"theme.toml"})}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-toml",children:'[status]\nseparator_open = ""\nseparator_close = ""\n'})}),"\n",(0,t.jsx)(n.p,{children:"and"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-toml",children:'[icons]\n"Desktop/" = ""\n"Documents/" = ""\n"Downloads/" = ""\n# ...\n'})}),"\n",(0,t.jsxs)(n.p,{children:["The above code changed all icons to ",(0,t.jsx)(n.code,{children:'""'}),", and the whole world went quiet, nice!"]}),"\n",(0,t.jsx)(n.h2,{id:"why-doesnt-the-xxx-feature-exist",children:"Why doesn't the XXX feature exist?"}),"\n",(0,t.jsx)(n.p,{children:"Yazi is a new project, with less than 3 months (as of Sep 20, 2023) since its first commit, and some features are still heavily being developed."}),"\n",(0,t.jsxs)(n.p,{children:["If you find that the XXX feature is missing, please check if it has already been mentioned in the ",(0,t.jsx)(n.a,{href:"https://github.com/sxyazi/yazi/issues/51",children:"Feature Requests"})," and search for related issues. If not, you can create a new request."]}),"\n",(0,t.jsx)(n.p,{children:"Our time slices are limited, and they are allocated to what we consider critical issues, such as bug fixes and making Yazi stable, which includes addressing proposals that could potentially lead to broken changes in the future."}),"\n",(0,t.jsx)(n.p,{children:"Most maintainers have their full-time jobs, so please understand if your request isn't implemented promptly. Of course, we welcome any constructive PR to help expedite the implementation of your desired feature!"}),"\n",(0,t.jsx)(n.h2,{id:"why-do-i-need-to-copy-the-entire-keybindings",children:"Why do I need to copy the entire keybindings?"}),"\n",(0,t.jsxs)(n.p,{children:["Quoted from ",(0,t.jsx)(n.a,{href:"https://github.com/sxyazi/yazi/issues/158#issuecomment-1722130381",children:"sxyazi/yazi#158 - comment"}),":"]}),"\n",(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"Since Yazi is still in the alpha stage and is not yet stable, default keybindings may undergo adjustments, potentially disrupting user expectations."}),"\n",(0,t.jsx)(n.p,{children:"Therefore, I encourage users to copy the complete keybinding list, which will not be affected by default configurations. Considering a merge after Yazi stabilizes seems to make more sense."}),"\n"]})]})}function c(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},6225:(e,n,i)=>{i.d(n,{Z:()=>r,a:()=>a});var t=i(959);const s={},o=t.createContext(s);function a(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0f425520.afb6f393.js b/assets/js/0f425520.afb6f393.js new file mode 100644 index 000000000..90abd4a5c --- /dev/null +++ b/assets/js/0f425520.afb6f393.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[240],{2138:(i,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>d});var o=n(1527),t=n(6225);const r={id:"overview",sidebar_position:0,sidebar_label:"Configuration",description:"Learn how to configure Yazi."},c="Configuration",s={id:"configuration/overview",title:"Configuration",description:"Learn how to configure Yazi.",source:"@site/docs/configuration/overview.md",sourceDirName:"configuration",slug:"/configuration/overview",permalink:"/docs/configuration/overview",draft:!1,unlisted:!1,editUrl:"https://github.com/yazi-rs/yazi-rs.github.io/edit/main/docs/configuration/overview.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{id:"overview",sidebar_position:0,sidebar_label:"Configuration",description:"Learn how to configure Yazi."},sidebar:"docsSidebar",previous:{title:"Quick Start",permalink:"/docs/quick-start"},next:{title:"yazi.toml",permalink:"/docs/configuration/yazi"}},a={},d=[{value:"Custom config directory",id:"custom-config-directory",level:2}];function l(i){const e={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,t.a)(),...i.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"configuration",children:"Configuration"}),"\n",(0,o.jsx)(e.p,{children:"There are three configuration files for Yazi:"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"/docs/configuration/yazi",children:(0,o.jsx)(e.code,{children:"yazi.toml"})})," - General configuration"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"/docs/configuration/keymap",children:(0,o.jsx)(e.code,{children:"keymap.toml"})})," - Keybinds configuration"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"/docs/configuration/theme",children:(0,o.jsx)(e.code,{children:"theme.toml"})})," - Color scheme configuration"]}),"\n"]}),"\n",(0,o.jsxs)(e.p,{children:["You can find the default configurations at: ",(0,o.jsx)(e.a,{href:"https://github.com/sxyazi/yazi/tree/main/yazi-config/preset",children:"https://github.com/sxyazi/yazi/tree/main/yazi-config/preset"}),"."]}),"\n",(0,o.jsx)(e.p,{children:"To override any of the defaults, begin by copying the appropriate file to following location:"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["Unix: ",(0,o.jsx)(e.code,{children:"~/.config/yazi/"})]}),"\n",(0,o.jsxs)(e.li,{children:["Windows: ",(0,o.jsx)(e.code,{children:"C:\\Users\\USERNAME\\AppData\\Roaming\\yazi\\config\\"})]}),"\n"]}),"\n",(0,o.jsxs)(e.p,{children:["For example, to edit the keymaps, start by copying ",(0,o.jsx)(e.code,{children:"keymap.toml"})," file (found ",(0,o.jsx)(e.a,{href:"https://github.com/sxyazi/yazi/tree/main/yazi-config/preset",children:"here"}),") to:"]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["Unix: ",(0,o.jsx)(e.code,{children:"~/.config/yazi/keymap.toml"})]}),"\n",(0,o.jsxs)(e.li,{children:["Windows: ",(0,o.jsx)(e.code,{children:"C:\\Users\\USERNAME\\AppData\\Roaming\\yazi\\config\\keymap.toml"})]}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"custom-config-directory",children:"Custom config directory"}),"\n",(0,o.jsxs)(e.p,{children:["You can change the Yazi configuration directory by exporting the ",(0,o.jsx)(e.code,{children:"YAZI_CONFIG_HOME"})," environment variable."]})]})}function h(i={}){const{wrapper:e}={...(0,t.a)(),...i.components};return e?(0,o.jsx)(e,{...i,children:(0,o.jsx)(l,{...i})}):l(i)}},6225:(i,e,n)=>{n.d(e,{Z:()=>s,a:()=>c});var o=n(959);const t={},r=o.createContext(t);function c(i){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof i?i(e):{...e,...i}}),[e,i])}function s(i){let e;return e=i.disableParentContext?"function"==typeof i.components?i.components(t):i.components||t:c(i.components),o.createElement(r.Provider,{value:e},i.children)}}}]); \ No newline at end of file diff --git a/assets/js/17896441.7fa23498.js b/assets/js/17896441.7fa23498.js new file mode 100644 index 000000000..3009bcf46 --- /dev/null +++ b/assets/js/17896441.7fa23498.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[918],{3554:(e,t,n)=>{n.r(t),n.d(t,{default:()=>de});var s=n(959),a=n(726),i=n(4194),l=n(1527);const o=s.createContext(null);function r(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,l.jsx)(o.Provider,{value:a,children:t})}function c(){const e=(0,s.useContext)(o);if(null===e)throw new i.i6("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=c();return(0,l.jsx)(a.d,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(5341),m=n(1339),h=n(9111),b=n(6151);function v(e){const{previous:t,next:n}=e;return(0,l.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,h.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,l.jsx)(b.Z,{...t,subLabel:(0,l.jsx)(h.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,l.jsx)(b.Z,{...n,subLabel:(0,l.jsx)(h.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}function x(){const{metadata:e}=c();return(0,l.jsx)(v,{previous:e.previous,next:e.next})}var p=n(2599),f=n(6626),g=n(745),j=n(7839),L=n(7310),C=n(8987);const N={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,l.jsx)(h.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,l.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,l.jsx)(h.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,l.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function k(e){const t=N[e.versionMetadata.banner];return(0,l.jsx)(t,{...e})}function _(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,l.jsx)(h.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,l.jsx)("b",{children:(0,l.jsx)(f.Z,{to:n,onClick:s,children:(0,l.jsx)(h.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function Z(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:s}}=(0,p.Z)(),{pluginId:a}=(0,g.gA)({failfast:!0}),{savePreferredVersionName:i}=(0,L.J)(a),{latestDocSuggestion:o,latestVersionSuggestion:r}=(0,g.Jo)(a),c=o??(d=r).docs.find((e=>e.id===d.mainDocId));var d;return(0,l.jsxs)("div",{className:(0,u.Z)(t,j.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,l.jsx)("div",{children:(0,l.jsx)(k,{siteTitle:s,versionMetadata:n})}),(0,l.jsx)("div",{className:"margin-top--md",children:(0,l.jsx)(_,{versionLabel:r.label,to:c.path,onClick:()=>i(r.name)})})]})}function T(e){let{className:t}=e;const n=(0,C.E)();return n.banner?(0,l.jsx)(Z,{className:t,versionMetadata:n}):null}function U(e){let{className:t}=e;const n=(0,C.E)();return n.badge?(0,l.jsx)("span",{className:(0,u.Z)(t,j.k.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(h.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}function H(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return(0,l.jsx)(h.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,l.jsx)("b",{children:(0,l.jsx)("time",{dateTime:new Date(1e3*t).toISOString(),children:n})})},children:" on {date}"})}function y(e){let{lastUpdatedBy:t}=e;return(0,l.jsx)(h.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,l.jsx)("b",{children:t})},children:" by {user}"})}function A(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:s}=e;return(0,l.jsxs)("span",{className:j.k.common.lastUpdated,children:[(0,l.jsx)(h.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&n?(0,l.jsx)(H,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:s?(0,l.jsx)(y,{lastUpdatedBy:s}):""},children:"Last updated{atDate}{byUser}"}),!1]})}var M=n(8746),w=n(3715);const I={lastUpdated:"lastUpdated_kIP3"};function B(e){return(0,l.jsx)("div",{className:(0,u.Z)(j.k.docs.docFooterTagsRow,"row margin-bottom--sm"),children:(0,l.jsx)("div",{className:"col",children:(0,l.jsx)(w.Z,{...e})})})}function E(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,formattedLastUpdatedAt:a}=e;return(0,l.jsxs)("div",{className:(0,u.Z)(j.k.docs.docFooterEditMetaRow,"row"),children:[(0,l.jsx)("div",{className:"col",children:t&&(0,l.jsx)(M.Z,{editUrl:t})}),(0,l.jsx)("div",{className:(0,u.Z)("col",I.lastUpdated),children:(n||s)&&(0,l.jsx)(A,{lastUpdatedAt:n,formattedLastUpdatedAt:a,lastUpdatedBy:s})})]})}function O(){const{metadata:e}=c(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:s,lastUpdatedBy:a,tags:i}=e,o=i.length>0,r=!!(t||n||a);return o||r?(0,l.jsxs)("footer",{className:(0,u.Z)(j.k.docs.docFooter,"docusaurus-mt-lg"),children:[o&&(0,l.jsx)(B,{tags:i}),r&&(0,l.jsx)(E,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:a,formattedLastUpdatedAt:s})]}):null}var S=n(730),D=n(7951);const V={tocCollapsibleButton:"tocCollapsibleButton_JDLe",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_lJkC"};function P(e){let{collapsed:t,...n}=e;return(0,l.jsx)("button",{type:"button",...n,className:(0,u.Z)("clean-btn",V.tocCollapsibleButton,!t&&V.tocCollapsibleButtonExpanded,n.className),children:(0,l.jsx)(h.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const R={tocCollapsible:"tocCollapsible_eOKD",tocCollapsibleContent:"tocCollapsibleContent_MMFn",tocCollapsibleExpanded:"tocCollapsibleExpanded_BToT"};function F(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:i,toggleCollapsed:o}=(0,S.u)({initialState:!0});return(0,l.jsxs)("div",{className:(0,u.Z)(R.tocCollapsible,!i&&R.tocCollapsibleExpanded,n),children:[(0,l.jsx)(P,{collapsed:i,onClick:o}),(0,l.jsx)(S.z,{lazy:!0,className:R.tocCollapsibleContent,collapsed:i,children:(0,l.jsx)(D.Z,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const z={tocMobile:"tocMobile_st4G"};function J(){const{toc:e,frontMatter:t}=c();return(0,l.jsx)(F,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.Z)(j.k.docs.docTocMobile,z.tocMobile)})}var $=n(3123);function q(){const{toc:e,frontMatter:t}=c();return(0,l.jsx)($.Z,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:j.k.docs.docTocDesktop})}var G=n(1878),K=n(6051);function Q(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=c();return t.hide_title||void 0!==n?null:e.title}();return(0,l.jsxs)("div",{className:(0,u.Z)(j.k.docs.docMarkdown,"markdown"),children:[n&&(0,l.jsx)("header",{children:(0,l.jsx)(G.Z,{as:"h1",children:n})}),(0,l.jsx)(K.Z,{children:t})]})}var W=n(1632),X=n(853),Y=n(9759);function ee(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const te={breadcrumbHomeIcon:"breadcrumbHomeIcon__OA5"};function ne(){const e=(0,Y.Z)("/");return(0,l.jsx)("li",{className:"breadcrumbs__item",children:(0,l.jsx)(f.Z,{"aria-label":(0,h.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,l.jsx)(ee,{className:te.breadcrumbHomeIcon})})})}const se={breadcrumbsContainer:"breadcrumbsContainer_UEib"};function ae(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,l.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,l.jsx)(f.Z,{className:a,href:n,itemProp:"item",children:(0,l.jsx)("span",{itemProp:"name",children:t})}):(0,l.jsx)("span",{className:a,children:t})}function ie(e){let{children:t,active:n,index:s,addMicrodata:a}=e;return(0,l.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,u.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,l.jsx)("meta",{itemProp:"position",content:String(s+1)})]})}function le(){const e=(0,W.s1)(),t=(0,X.Ns)();return e?(0,l.jsx)("nav",{className:(0,u.Z)(j.k.docs.docBreadcrumbs,se.breadcrumbsContainer),"aria-label":(0,h.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,l.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,l.jsx)(ne,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,l.jsx)(ie,{active:s,index:n,addMicrodata:!!a,children:(0,l.jsx)(ae,{href:a,isLast:s,children:t.label})},n)}))]})}):null}var oe=n(5283);const re={docItemContainer:"docItemContainer_o1in",docItemCol:"docItemCol_biXE"};function ce(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=c(),n=(0,m.i)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,l.jsx)(J,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,l.jsx)(q,{})}}(),{metadata:{unlisted:s}}=c();return(0,l.jsxs)("div",{className:"row",children:[(0,l.jsxs)("div",{className:(0,u.Z)("col",!n.hidden&&re.docItemCol),children:[s&&(0,l.jsx)(oe.Z,{}),(0,l.jsx)(T,{}),(0,l.jsxs)("div",{className:re.docItemContainer,children:[(0,l.jsxs)("article",{children:[(0,l.jsx)(le,{}),(0,l.jsx)(U,{}),n.mobile,(0,l.jsx)(Q,{children:t}),(0,l.jsx)(O,{})]}),(0,l.jsx)(x,{})]})]}),n.desktop&&(0,l.jsx)("div",{className:"col col--3",children:n.desktop})]})}function de(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,l.jsx)(r,{content:e.content,children:(0,l.jsxs)(a.FG,{className:t,children:[(0,l.jsx)(d,{}),(0,l.jsx)(ce,{children:(0,l.jsx)(n,{})})]})})}},3123:(e,t,n)=>{n.d(t,{Z:()=>c});n(959);var s=n(5341),a=n(7951);const i={tableOfContents:"tableOfContents_SjQa",docItemContainer:"docItemContainer_EKWy"};var l=n(1527);const o="table-of-contents__link toc-highlight",r="table-of-contents__link--active";function c(e){let{className:t,...n}=e;return(0,l.jsx)("div",{className:(0,s.Z)(i.tableOfContents,"thin-scrollbar",t),children:(0,l.jsx)(a.Z,{...n,linkClassName:o,linkActiveClassName:r})})}},7951:(e,t,n)=>{n.d(t,{Z:()=>v});var s=n(959),a=n(842);function i(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):s.push(a)})),s}function l(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=l({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function o(e){const t=e.getBoundingClientRect();return t.top===t.bottom?o(e.parentNode):t}function r(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>o(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,s.useRef)(void 0),n=c();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:i,maxHeadingLevel:l}=e;function o(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),o=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let a=t;a<=n;a+=1)s.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:i,maxHeadingLevel:l}),c=r(o,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",o),document.addEventListener("resize",o),o(),()=>{document.removeEventListener("scroll",o),document.removeEventListener("resize",o)}}),[e,n])}var u=n(6626),m=n(1527);function h(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,m.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.Z,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(h,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const b=s.memo(h);function v(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:o="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:c,maxHeadingLevel:u,...h}=e;const v=(0,a.L)(),x=c??v.tableOfContents.minHeadingLevel,p=u??v.tableOfContents.maxHeadingLevel,f=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>l({toc:i(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:x,maxHeadingLevel:p});return d((0,s.useMemo)((()=>{if(o&&r)return{linkClassName:o,linkActiveClassName:r,minHeadingLevel:x,maxHeadingLevel:p}}),[o,r,x,p])),(0,m.jsx)(b,{toc:f,className:n,linkClassName:o,...h})}},5283:(e,t,n)=>{n.d(t,{Z:()=>h});n(959);var s=n(5341),a=n(9111),i=n(5655),l=n(1527);function o(){return(0,l.jsx)(a.Z,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function r(){return(0,l.jsx)(a.Z,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,l.jsx)(i.Z,{children:(0,l.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=n(7839),u=n(9302);function m(e){let{className:t}=e;return(0,l.jsx)(u.Z,{type:"caution",title:(0,l.jsx)(o,{}),className:(0,s.Z)(t,d.k.common.unlistedBanner),children:(0,l.jsx)(r,{})})}function h(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c,{}),(0,l.jsx)(m,{...e})]})}}}]); \ No newline at end of file diff --git a/assets/js/1df93b7f.05ff8937.js b/assets/js/1df93b7f.05ff8937.js new file mode 100644 index 000000000..f10d42dfb --- /dev/null +++ b/assets/js/1df93b7f.05ff8937.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[237],{8851:(e,l,a)=>{a.d(l,{Z:()=>ae});var t,c,r,i,n,h,f,m,d,s,p,E,Z,o,M,x,g,y,v,u,w,b,H,j,z,P,V,O,A,N,L,S,k,q,B,_,I,C,F,G,R,T,U,D,J,K,Q,W,X,Y,$,ee=a(959);function le(){return le=Object.assign?Object.assign.bind():function(e){for(var l=1;l{let{title:l,titleId:a,...ae}=e;return ee.createElement("svg",le({xmlns:"http://www.w3.org/2000/svg","data-name":"Layer 1",width:855.157,height:581.907,viewBox:"0 0 855.157 581.907","aria-labelledby":a},ae),l?ee.createElement("title",{id:a},l):null,t||(t=ee.createElement("path",{d:"M519.741 326.238a5.5 5.5 0 0 1 5.5 5.5v53.206h105.5a5.5 5.5 0 0 1 0 11h-105.5v184h-11V331.738a5.5 5.5 0 0 1 5.5-5.5Z",fill:"#e6e6e6"})),c||(c=ee.createElement("path",{d:"m226.147 578.694-19.832.548a13.812 13.812 0 0 1-8.486-2.38c-2.154-1.601-3.142-3.767-2.708-5.942l3.902-19.613c.736-3.7 5.27-6.497 10.78-6.649l10.953-.302c5.51-.152 10.191 2.39 11.13 6.044l4.98 19.368c.552 2.147-.315 4.364-2.377 6.083a13.812 13.812 0 0 1-8.342 2.843ZM346.777 578.134l-19.832.547a13.812 13.812 0 0 1-8.485-2.379c-2.154-1.602-3.142-3.767-2.709-5.942l3.903-19.613c.735-3.7 5.27-6.497 10.78-6.65l10.952-.302c5.51-.152 10.192 2.39 11.13 6.044l4.98 19.368c.552 2.148-.315 4.365-2.377 6.083a13.812 13.812 0 0 1-8.342 2.844ZM157.282 411.63a4.331 4.331 0 0 1 1.595-8.308l225.468-6.226a4.33 4.33 0 0 1 4.448 4.208 4.336 4.336 0 0 1-4.209 4.449l-225.468 6.225a4.307 4.307 0 0 1-1.834-.349Z",fill:"#3f3d56"})),r||(r=ee.createElement("path",{fill:"#e6e6e6",d:"m176.042 338.768 64.449-1.78 6.009 217.598-64.45 1.78z"})),i||(i=ee.createElement("path",{fill:"#ccc",d:"m242.126 333.079-12.389 33.749.011 153.759 15.096 4.329-2.718-191.837z"})),n||(n=ee.createElement("path",{d:"M207.93 280.122c-12.057.342-21.256 21.209-21.035 29.352l.407 14.741 43.659-1.205-.407-14.742c-.229-8.142-10.566-28.47-22.624-28.146ZM176.878 428.88a8.51 8.51 0 0 1-8.731-8.261l-.663-23.991a8.5 8.5 0 1 1 16.994-.47l.662 23.991a8.51 8.51 0 0 1-8.262 8.732Z",fill:"#3f3d56"})),h||(h=ee.createElement("path",{fill:"#3f3d56",d:"m193.233 339.284-.305-15.855 4.158-.103.305 15.804 3.769 230.346-4.159.115"})),f||(f=ee.createElement("path",{d:"m247.881 376.36-74.738 2.065c-7.139-8.706-7.787-45.793 7.11-52.851l5.843-9.92 45.042-2.2 5.265 10.446c7.41 6.305 11.231 43.161 11.478 52.46Z",fill:"#e6e6e6"})),m||(m=ee.createElement("path",{d:"m219.75 358.573-18.9.522c-3.646.101-6.747-4.63-6.91-10.546s2.671-10.811 6.318-10.912l18.9-.522c3.648-.1 6.748 4.631 6.912 10.547s-2.672 10.81-6.32 10.911Z",fill:"#6c63ff"})),d||(d=ee.createElement("path",{fill:"#e6e6e6",d:"m183.151 465.568-38.959 27.52-6.806 62.05 45.448-15.185.317-74.385zM300.453 336.103l64.449-1.78 6.009 217.598-64.45 1.78z"})),s||(s=ee.createElement("path",{fill:"#ccc",d:"m301.996 333.806 13.261 33.416 3.979 153.708-14.979 4.719-2.261-191.843z"})),p||(p=ee.createElement("ellipse",{cx:397.132,cy:262.584,rx:8.447,ry:11.327,fill:"#e6e6e6"})),E||(E=ee.createElement("path",{d:"M331.083 277.492c-12.057.342-21.257 21.209-21.036 29.352l.407 14.741 43.66-1.205-.407-14.742c-.23-8.143-10.566-28.47-22.624-28.146ZM343.567 344.247l-.305-15.855 4.158-.104.305 15.805 3.769 230.346-4.159.115",fill:"#3f3d56"})),Z||(Z=ee.createElement("path",{d:"m371.034 373.73-74.739 2.064c-1.303-7.876.383-44.632 7.111-52.85l5.843-9.92 45.042-2.2 5.264 10.445c13.299 1.084 17.95 37.204 11.479 52.462Z",fill:"#e6e6e6"})),o||(o=ee.createElement("path",{d:"m342.995 359.254-18.9.522c-3.647.1-6.769-5.374-6.957-12.202s2.626-12.466 6.273-12.567l18.9-.522c3.647-.1 6.768 5.374 6.957 12.202s-2.626 12.466-6.273 12.567Z",fill:"#6c63ff"})),M||(M=ee.createElement("path",{fill:"#e6e6e6",d:"m368.086 449.662 37.663 29.268 3.966 62.297-44.706-17.244 3.077-74.321z"})),x||(x=ee.createElement("path",{d:"M357.568 161.12c-40.413 0-86.857-44.845-127.949-23.538-124.415 64.514-107.288-43.44-143.032-83.589l1.174-2.353c27.06 103.218 51.543 267.692 142.398 83.204 22.76-46.214 97.456 25.22 141.424 23.113l.076 2.83q-6.965.335-14.09.334ZM454.565 167.467c-32.215 24.4-96.316 16.691-116.208 58.487-60.228 126.545-111.754 30.148-164.488 19.723l-.485-2.584c52.79 4.378 109.414-2.416 163.751-19.648 49.104-15.571 92.914-38.735 126.692-66.962l1.769 2.21q-5.35 4.473-11.03 8.774Z",fill:"#f2f2f2"})),g||(g=ee.createElement("ellipse",{cx:104.132,cy:150.584,rx:8.447,ry:11.327,fill:"#e6e6e6"})),y||(y=ee.createElement("ellipse",{cx:366.132,cy:58.584,rx:8.447,ry:11.327,fill:"#e6e6e6"})),v||(v=ee.createElement("path",{d:"M181.47 207.63c-3.861 2.572-7.814-3.552-3.878-6.011 3.862-2.573 7.815 3.551 3.879 6.01ZM324.47 6.63c-3.861 2.572-7.814-3.552-3.878-6.011 3.862-2.573 7.815 3.551 3.879 6.01ZM408.749 125.801l-2.457-.539.538-2.458-1.638-.359-.539 2.458-2.457-.538-.359 1.638 2.457.539-.538 2.457 1.638.359.539-2.458 2.457.539.359-1.638z",fill:"#e6e6e6"})),u||(u=ee.createElement("circle",{cx:183.535,cy:32.737,r:10.702,fill:"#ff6584"})),w||(w=ee.createElement("path",{d:"M261.816 19.19c-12.058.343-21.257 21.21-21.036 29.352l.407 14.742 43.66-1.206-.408-14.741c-.228-8.143-10.565-28.47-22.623-28.147ZM287.813 577.41l-19.833.547a13.812 13.812 0 0 1-8.485-2.38c-2.154-1.601-3.142-3.767-2.709-5.942l3.903-19.612c.735-3.7 5.27-6.498 10.78-6.65l10.952-.302c5.51-.152 10.192 2.39 11.13 6.044l4.98 19.368c.552 2.147-.315 4.364-2.377 6.083a13.812 13.812 0 0 1-8.341 2.843Z",fill:"#3f3d56"})),b||(b=ee.createElement("path",{fill:"#e6e6e6",d:"m232.207 114.816 64.45-1.78 12.145 439.848-64.45 1.78z"})),H||(H=ee.createElement("path",{fill:"#3f3d56",d:"m270.868 325.949-.305-15.855 4.158-.103.305 15.804 3.769 230.346-4.159.115"})),j||(j=ee.createElement("path",{d:"m309.345 153.292-87.326 2.41c-1.522-9.202.447-52.15 8.309-61.751l2.154-11.462 60.297-1.665 3.154 11.17c8.66 7.369 13.124 50.432 13.412 61.298Z",fill:"#e6e6e6"})),z||(z=ee.createElement("path",{d:"m294.685 82.176-62.223 1.718c-2.297.064-4.193-1.142-4.236-2.693a1.952 1.952 0 0 1 .097-.658l9.665-29.776c.414-1.275 2.061-2.211 3.984-2.264l41.265-1.14c1.922-.053 3.619.791 4.103 2.042L298.633 78.6c.578 1.493-.756 3.047-2.98 3.47a6.08 6.08 0 0 1-.968.105Z",fill:"#e6e6e6"})),P||(P=ee.createElement("path",{d:"M238.6 323.926a7.626 7.626 0 0 1-1.58-.915 5.604 5.604 0 0 1-2.38-4.321l-2.26-81.878c-.094-3.389 3.225-6.24 7.397-6.356l55.703-1.538c4.173-.116 7.643 2.549 7.737 5.938l2.261 81.878a5.603 5.603 0 0 1-2.137 4.446 8.506 8.506 0 0 1-5.261 1.91l-55.703 1.538a8.92 8.92 0 0 1-3.777-.702Z",fill:"#3f3d56"})),V||(V=ee.createElement("path",{d:"m274.253 76.907-18.9.522c-3.648.1-6.732-4.02-6.874-9.184s2.71-9.45 6.356-9.55l18.9-.522c3.647-.1 6.731 4.02 6.874 9.184s-2.71 9.45-6.356 9.55Z",fill:"#6c63ff"})),O||(O=ee.createElement("path",{d:"M721.009 562.528h-22V402.651c18.402-1.32 32.232-6.955 32.232-13.707 0-7.732-18.132-14-40.5-14s-40.5 6.268-40.5 14c0 6.817 14.1 12.494 32.768 13.742v159.842h-22a8 8 0 0 0 0 16h60a8 8 0 0 0 0-16Z",fill:"#e6e6e6"})),A||(A=ee.createElement("path",{fill:"#a0616a",d:"m676.847 481.363-7.227 7.875-33.814-24.126 10.665-11.623 30.376 27.874z"})),N||(N=ee.createElement("path",{d:"M658.368 502.148a13.322 13.322 0 0 0 4.336 9.308l.318.296 9.478-10.329 13.82-15.064-10.202-9.366-1.843 2.012-.192.207-9.182 4.343-1.945.925-.333.155-.733 7.865v.008a13.283 13.283 0 0 0-3.522 9.64Z",fill:"#2f2e41"})),L||(L=ee.createElement("path",{fill:"#a0616a",d:"m714.287 559.924-10.227 3.107-16.85-37.968 15.094-4.585 11.983 39.446z"})),S||(S=ee.createElement("path",{d:"m686.801 578.643.126.421 32.976-10.017-4.025-13.251-2.604.791-.274.082-12.26-1.125-.362-.03-4.64 6.4a13.413 13.413 0 0 0-8.937 16.729Z",fill:"#2f2e41"})),k||(k=ee.createElement("path",{"data-name":"Path 17",d:"M629.957 361.128s-65.294 63.042-24.016 82.556h12.758a84.503 84.503 0 0 1 12.611-25.108c1.206-1.577 5.721-1.257 6.975-2.794 7.657-9.387 15.959-17.448 21.692-17.128l-1.372 43.558-2.22 15.537c-1.165 8.032 31.728 78.161 31.728 78.161l20.674-8.125s-21.54-57.762-21.792-66.09l17.261-91.561Z",fill:"#2f2e41"})),q||(q=ee.createElement("path",{d:"M624.512 364.237a3.89 3.89 0 0 0 1.273 1.154 8.99 8.99 0 0 0 2.67.992c14.702 3.337 62.726 10.254 75.193 6.955 1.532-.4 2.53-.962 2.856-1.702 1.043-2.338.91-12.215.296-24.142-.111-2.234-2.575-4.654-2.723-6.992-.103-1.753 2.109-3.403 1.99-5.186-.813-12.06-1.864-24.349-2.567-32.118-.444-4.994-.747-8.116-.747-8.116l7.583-47.817-.355-.585-.4-.2-24.452-12.104-1.331-3.403a5.267 5.267 0 0 0-4.876-3.337l-16.107-.066a5.249 5.249 0 0 0-4.284 2.175l-4.365 6.044-28.855 18.497.111.34 13.54 41.203.066 3.211v.008l.503 25.821-1.398 3.5 1.576 5.741s-.725 6.71-4.61 11.697c-3.521 4.528-8.005 9.249-10.032 13.081v.007c-1.125 2.117-1.502 3.951-.555 5.342Z",fill:"#6c63ff"})),B||(B=ee.createElement("path",{"data-name":"Path 18",d:"m602.806 439.939 3.49 4.41s32.097 22.456 33.2 24.554l5.072 4.8 12.274-13.12-6.383-8a50.107 50.107 0 0 0-19.22-14.716l-9.783-8.679Z",fill:"#2f2e41"})),_||(_=ee.createElement("path",{d:"m718.425 379.131-5.845-56.577-1.543-23.286 16.36-2.958s-.648 16.65 1.495 26.044c2.115 9.27.28 55.535.15 56.772a7.96 7.96 0 1 1-10.617.005Z",fill:"#a0616a"})),I||(I=ee.createElement("path",{d:"m698.943 293.447 4.557 9.751 1.59 3.396 4.285 22.433 2.138 2.272 1.842 7.332.866-.178 15.61-3.233 4.551-.94a8.65 8.65 0 0 0-1.568-10.824c-.311-.281-.57-.555-.563-.814.26-15.604-.695-44.096-9.315-55.823-2.737-3.721-4.38-7.428-6.77-10.017-.007-.008-.007-.015-.014-.015l-5.816-9.522-.355-.585-.4-.2Z",fill:"#6c63ff"})),C||(C=ee.createElement("circle",{"data-name":"Ellipse 5",cx:672.128,cy:202.131,r:21.431,fill:"#a0616a"})),F||(F=ee.createElement("path",{d:"M697.575 197.52c.628-3.602 1.117-8.27-.68-12.42-1.52-3.493-5.321-6.768-9.546-6.326a4.399 4.399 0 0 0-1.372-4.4 11.555 11.555 0 0 0-4.689-2.204c-3.97-1.167-8.084-2.377-12.331-2.4-4.767-.025-8.99 1.608-11.58 4.487l-.064.093-.776 1.854a1.868 1.868 0 0 1-1.149 1.057 1.836 1.836 0 0 1-1.553-.19 1.695 1.695 0 0 0-2.581 1.366l-.042.79-1.112-.443a1.69 1.69 0 0 0-2.298 1.85l.148.942a1.811 1.811 0 0 0-1.38.31 1.655 1.655 0 0 0-.59 1.86 15.398 15.398 0 0 0 4.285 6.4 12.802 12.802 0 0 0 2.908 1.978q.33.166.685.314a76.252 76.252 0 0 0 26.963 6.108 15.654 15.654 0 0 0-1.674 5.372 5.875 5.875 0 0 0 2.514 5.542 7.4 7.4 0 0 0 1.204.551 7.941 7.941 0 0 1 1.154.535 3.598 3.598 0 0 1-.148 6.243s1.595 1.947 1.85 1.914a4.982 4.982 0 0 0 2.625-1.553c4.641-4.507 7.746-11.107 9.23-19.63Z",fill:"#2f2e41"})),G||(G=ee.createElement("path",{d:"m791.398 528.793.931-20.943a67.64 67.64 0 0 1 31.55-7.987c-15.153 12.389-13.26 36.27-23.532 52.929a40.686 40.686 0 0 1-29.836 18.801l-12.68 7.764a68.176 68.176 0 0 1 14.37-55.246 65.854 65.854 0 0 1 12.103-11.245c3.037 8.008 7.094 15.927 7.094 15.927Z",fill:"#f2f2f2"})),R||(R=ee.createElement("path",{d:"M855.157 580.354a1.549 1.549 0 0 1-1.554 1.553H1.553a1.553 1.553 0 0 1 0-3.107h852.05a1.549 1.549 0 0 1 1.554 1.554Z",fill:"#ccc"})),T||(T=ee.createElement("path",{d:"M366.498 423.566a8.51 8.51 0 0 1-8.731-8.262l-.663-23.991a8.5 8.5 0 0 1 16.994-.47l.662 23.992a8.51 8.51 0 0 1-8.262 8.731Z",fill:"#3f3d56"})),U||(U=ee.createElement("path",{d:"M741.354 511.248q-19.368 0-42.456-1.464c-79.614-5.056-182.738-22.633-290.376-49.492-107.638-26.86-206.93-59.794-279.585-92.734C93.544 351.51 66.38 336.32 48.2 322.41c-19.247-14.727-27.666-27.564-25.024-38.153 5.148-20.629 50.731-25.142 88.064-25.295l.013 3c-51.268.21-81.514 8.387-85.166 23.022-4.651 18.64 33.287 47.74 104.087 79.841 72.496 32.868 171.606 65.74 279.074 92.557 107.467 26.816 210.4 44.363 289.84 49.408 77.578 4.928 124.743-2.938 129.394-21.578 3.862-15.477-21.598-38.276-71.69-64.198l1.38-2.664c36.396 18.835 78.645 45.851 73.221 67.588-2.642 10.59-16.105 17.965-40.015 21.923-13.63 2.256-30.37 3.387-50.025 3.387Z",fill:"#ccc"})),D||(D=ee.createElement("path",{d:"M56.059 491.595c-10.247 0-16.908-2.546-19.856-7.607-5.814-9.98 3.923-27.494 28.941-52.051l2.102 2.14c-23.24 22.813-33.343 40.001-28.451 48.4 3.096 5.313 12.308 7.218 26.648 5.505 14.236-1.7 33.1-6.765 56.072-15.055 47.291-17.067 106.623-45.856 167.065-81.064 60.44-35.207 114.75-72.617 152.927-105.335 7.332-6.286 13.987-12.333 19.78-17.972a196.96 196.96 0 0 0 20.975-23.377c8.563-11.627 11.453-20.581 8.358-25.895-5.17-8.874-26.888-8.04-61.157 2.353l-.87-2.87c36.766-11.15 58.508-11.484 64.619-.992 3.797 6.518.926 16.337-8.534 29.183a199.923 199.923 0 0 1-21.3 23.748c-5.836 5.683-12.538 11.772-19.919 18.1-38.31 32.833-92.777 70.353-153.37 105.648-60.593 35.297-120.1 64.168-167.555 81.295-23.185 8.367-42.274 13.486-56.735 15.211a82.698 82.698 0 0 1-9.74.635Z",fill:"#ccc"})),J||(J=ee.createElement("path",{d:"M603.602 368.423c-7.415-.148-47.24-1.291-53.77-1.01-.37-1.293-12.75 14.573-13.052 14.67a1.808 1.808 0 0 0 .605 2.908c.728.443 64.932-.745 65.71-.59a1.786 1.786 0 0 0 1.593-1.038l.43-.962c.044-1.644.582-10.048.1-11.484a1.778 1.778 0 0 0-1.616-2.494Z",fill:"#e6e6e6"})),ee.createElement("path",{d:"M782.303 559.959c-.377.905-.859 2.043-2.023 2.001l-65.032.73a1.794 1.794 0 0 1-1.565-2.633Z",transform:"translate(-177.185 -177.56)",opacity:.17,style:{isolation:"isolate"}}),K||(K=ee.createElement("path",{d:"M550.135 367.218c-.7-1.21-18.086-87.238-19.537-87.957l-11.87-14.521-1.062-.798c-1.475-.81-5.014-.263-4.695 1.99 2.789 13.37 20.725 89.52 21.118 101.391l2.16 15.124a1.863 1.863 0 0 0 2.3 1.53 3.583 3.583 0 0 0 2.877-2.079c.162-.534 9.522-14.37 8.709-14.68Z",fill:"#e6e6e6"})),ee.createElement("path",{d:"m695.91 442.3 22.703 117.16c-.759 1.922-4.312 3.268-5.14.747-.014-.003-23.29-116.643-23.314-116.713-.248-2.807 4.39-2.896 5.751-1.195Z",transform:"translate(-177.185 -177.56)",opacity:.17,style:{isolation:"isolate"}}),Q||(Q=ee.createElement("path",{fill:"#6c63ff",d:"m519.409 269.531 11.53 16.072 12.942 61.465-6.016 5.248-18.456-82.785z"})),W||(W=ee.createElement("path",{d:"m596.159 376.71 3.19.13a12.539 12.539 0 0 1 .46-2.76c.48-2.28.91-4.99-1.08-4.98-1.35-.13-1.81 1.58-2.05 3.44a26.318 26.318 0 0 1-.52 4.17ZM577.859 372.42l2.15.08 1.04.04c-.02-1.14.51-3.49-.78-4.07a1.6 1.6 0 0 0-.65-.13c-1.21-.07-1.57.85-1.68 1.91-.07.64-.04 1.32-.06 1.85 0 .11-.01.22-.02.32ZM571.489 372.16l2.16.09 1.03.04c-.02-1.31.67-4.17-1.43-4.21-1.94-.11-1.69 2.36-1.74 3.76 0 .11-.01.22-.02.32ZM565.119 371.91l2.15.08 1.04.04c-.02-1.3.67-4.16-1.43-4.2-1.94-.12-1.69 2.35-1.74 3.76 0 .11-.01.22-.02.32ZM558.749 371.65l2.16.09 1.03.04c-.02-1.31.67-4.16-1.43-4.21-1.94-.11-1.69 2.36-1.74 3.76 0 .11-.01.22-.02.32ZM552.379 371.4l2.15.08 1.04.04c-.02-1.2.56-3.71-.98-4.14h-.01a1.464 1.464 0 0 0-.44-.06 1.506 1.506 0 0 0-.54.05h-.01c-1.34.35-1.15 2.45-1.19 3.71 0 .11-.01.22-.02.32ZM589.729 370.72l3.19.13c0-.12 0-.25.01-.4a13.33 13.33 0 0 0 .04-2.29c-.11-.84-.47-1.5-1.48-1.52-1.03-.06-1.44.6-1.6 1.45a3.116 3.116 0 0 0-.08.44v.01c-.08.78-.03 1.62-.08 2.18ZM583.359 370.46l3.19.13a23.28 23.28 0 0 0 .06-2.58c-.09-.88-.44-1.6-1.49-1.62-1.06-.07-1.47.65-1.63 1.54-.15.86-.07 1.89-.13 2.53Z",fill:"#2f2e41"})),X||(X=ee.createElement("path",{d:"m576.989 370.21.95.04 2.24.09c-.01-.48.08-1.18.09-1.87a4.233 4.233 0 0 0-.02-.62c-.08-.93-.41-1.7-1.5-1.72-1.11-.06-1.5.71-1.64 1.65-.14.84-.06 1.81-.12 2.43ZM589.789 376.46l3.19.12c-.01-1.3.67-4.16-1.43-4.2-2.1-.13-1.64 2.77-1.76 4.08ZM583.419 376.2l3.19.13c-.01-1.31.67-4.17-1.43-4.21-2.1-.12-1.64 2.78-1.76 4.08ZM577.049 375.95l3.19.12c-.01-.93.34-2.65-.23-3.57a1.32 1.32 0 0 0-1.2-.63 1.406 1.406 0 0 0-.93.23c-1.02.67-.73 2.79-.83 3.85ZM570.679 375.69l3.19.13c-.01-.93.33-2.64-.22-3.57a1.323 1.323 0 0 0-1.21-.64 1.39 1.39 0 0 0-.93.23c-1.02.69-.73 2.8-.83 3.85ZM564.309 375.44l3.19.12c-.01-.93.34-2.65-.23-3.57a1.32 1.32 0 0 0-1.2-.63 1.405 1.405 0 0 0-.93.23c-1.02.67-.73 2.79-.83 3.85ZM557.939 375.18l3.19.13c-.01-.93.33-2.64-.22-3.57a1.312 1.312 0 0 0-1.21-.64 1.39 1.39 0 0 0-.93.23c-1.02.69-.73 2.8-.83 3.85ZM551.569 374.93l3.19.12c-.01-.93.33-2.64-.23-3.57a1.308 1.308 0 0 0-1.2-.63 1.405 1.405 0 0 0-.93.23c-1.02.68-.73 2.79-.83 3.85Z",fill:"#2f2e41"})),Y||(Y=ee.createElement("path",{d:"m587.595 365.686 24.313-51.42 9.193-21.45-14.448-8.227s-4.921 15.92-10.064 24.068c-5.075 8.04-18.719 52.286-19.006 53.496a7.96 7.96 0 1 0 10.012 3.533Z",fill:"#a0616a"})),$||($=ee.createElement("path",{d:"m587.447 318.079 18.387 11.093 4.17-6.303 2.778-1.433 11.494-19.737 10.163-10.354 13.427-42.919-17.47 2.621-.023.008c-3.112 1.65-5.896 4.601-9.713 7.202-12.026 8.196-22.395 34.752-27.335 49.559-.081.243-.414.412-.8.578a8.653 8.653 0 0 0-5.078 9.685Z",fill:"#6c63ff"})))}},6134:(e,l,a)=>{a.d(l,{Z:()=>he});var t,c,r,i,n,h,f,m,d,s,p,E,Z,o,M,x,g,y,v,u,w,b,H,j,z,P,V,O,A,N,L,S,k,q,B,_,I,C,F,G,R,T,U,D,J,K,Q,W,X,Y,$,ee,le,ae,te,ce,re,ie=a(959);function ne(){return ne=Object.assign?Object.assign.bind():function(e){for(var l=1;l{let{title:l,titleId:a,...he}=e;return ie.createElement("svg",ne({xmlns:"http://www.w3.org/2000/svg","data-name":"Layer 1",width:717.67,height:453.964,viewBox:"0 0 717.67 453.964","aria-labelledby":a},he),l?ie.createElement("title",{id:a},l):null,t||(t=ie.createElement("path",{d:"M271.986 71.477a3.827 3.827 0 0 1-4.314 1.257 5.829 5.829 0 0 1-.678-.248 28.826 28.826 0 0 0-.368-7.989 21.362 21.362 0 0 1-1.64 6.57 8.91 8.91 0 0 1-1.76-2.513 22.425 22.425 0 0 1-1.602-6.046c-1.205-7.088-2.393-14.462-.428-21.389 2.88-10.119 11.957-17.393 15.75-27.211l1.867-1.677c3.198 5.445 3.34 12.212 2.036 18.387-1.297 6.187-3.91 11.993-5.975 17.96s-3.613 12.313-2.655 18.556c.22 1.47.556 3.086-.233 4.343Z",fill:"#2f2e41"})),c||(c=ie.createElement("path",{fill:"#ffb6b6",d:"m230.469 157.098-12.174 55.681 53.174 17.319-7.819-73h-33.181z"})),r||(r=ie.createElement("path",{d:"M605.699 452.598h24.096v-110.47a107.653 107.653 0 0 0-107.531-107.53H298.326a107.653 107.653 0 0 0-107.531 107.53v110.47h24.095v-75.47a108.654 108.654 0 0 1 108.531-108.53h173.747A108.654 108.654 0 0 1 605.7 377.128Z",fill:"#e6e6e6"})),i||(i=ie.createElement("path",{d:"m312.894 394.806-25.68-7.775a88.484 88.484 0 0 1-2.51-20.963 8.4 8.4 0 0 1 13.816-6.355c13.773 11.814 33.948 18.118 46.968 31.58a52.073 52.073 0 0 1 13.888 42.946l5.62 18.181a87.259 87.259 0 0 1-63.976-35.285 84.287 84.287 0 0 1-10.122-18.565c10.892-1.235 21.996-3.764 21.996-3.764Z",fill:"#f2f2f2"})),n||(n=ie.createElement("path",{d:"m379.823 424.58 13.098-3.966.05-.209a8.409 8.409 0 0 0-12.482-9.094c-5.946 3.532-12.548 6.574-17.29 11.477a26.56 26.56 0 0 0-7.083 21.904l-2.867 9.272a44.505 44.505 0 0 0 32.63-17.996 42.989 42.989 0 0 0 5.163-9.469c-5.555-.63-11.219-1.92-11.219-1.92Z",fill:"#f2f2f2"})),h||(h=ie.createElement("path",{d:"M485.849 153.13h-51.006a2.721 2.721 0 0 0-2.717 2.724v80.574h56.447v-80.574a2.723 2.723 0 0 0-2.724-2.724Zm-25.332 45.781a6.051 6.051 0 0 1-6.023-6.023v-9.293a6.023 6.023 0 0 1 12.046 0v9.293a6.051 6.051 0 0 1-6.023 6.023Z",fill:"#3f3d56"})),f||(f=ie.createElement("path",{d:"M570.31 27.385H352.28a7.078 7.078 0 0 0-7.066 7.067v147.127a7.073 7.073 0 0 0 7.066 7.066h218.03a7.073 7.073 0 0 0 7.066-7.066V34.452a7.078 7.078 0 0 0-7.067-7.067Z",fill:"#3f3d56"})),m||(m=ie.createElement("path",{d:"M568.49 32.49H354.101a3.787 3.787 0 0 0-3.78 3.786v143.48a3.786 3.786 0 0 0 3.78 3.78h214.387a3.786 3.786 0 0 0 3.78-3.78V36.277a3.787 3.787 0 0 0-3.78-3.787Z",fill:"#fff"})),d||(d=ie.createElement("path",{d:"M431.95 233.85v7.775a1.523 1.523 0 0 0 1.52 1.52h53.758a1.527 1.527 0 0 0 1.52-1.52v-7.774Z",fill:"#3f3d56"})),s||(s=ie.createElement("path",{d:"M526.73 245.85H399.181a2.346 2.346 0 0 1-2.296-2.83l1.98-9.4a2.356 2.356 0 0 1 2.295-1.863h123.592a2.356 2.356 0 0 1 2.295 1.863l1.98 9.4a2.346 2.346 0 0 1-2.297 2.83Z",fill:"#3f3d56"})),p||(p=ie.createElement("rect",{x:402.066,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),E||(E=ie.createElement("rect",{x:409.923,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),Z||(Z=ie.createElement("rect",{x:417.779,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),o||(o=ie.createElement("rect",{x:425.636,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),M||(M=ie.createElement("rect",{x:433.493,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),x||(x=ie.createElement("rect",{x:441.35,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),g||(g=ie.createElement("rect",{x:449.207,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),y||(y=ie.createElement("rect",{x:457.063,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),v||(v=ie.createElement("rect",{x:464.92,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),u||(u=ie.createElement("rect",{x:472.777,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),w||(w=ie.createElement("rect",{x:480.634,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),b||(b=ie.createElement("rect",{x:488.49,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),H||(H=ie.createElement("rect",{x:496.347,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),j||(j=ie.createElement("rect",{x:504.204,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),z||(z=ie.createElement("rect",{x:512.061,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),P||(P=ie.createElement("rect",{x:519.917,y:233.45,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),V||(V=ie.createElement("rect",{x:401.973,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),O||(O=ie.createElement("rect",{x:409.83,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),A||(A=ie.createElement("rect",{x:417.687,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),N||(N=ie.createElement("rect",{x:425.543,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),L||(L=ie.createElement("rect",{x:433.4,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),S||(S=ie.createElement("rect",{x:441.257,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),k||(k=ie.createElement("rect",{x:449.114,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),q||(q=ie.createElement("rect",{x:456.97,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),B||(B=ie.createElement("rect",{x:464.827,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),_||(_=ie.createElement("rect",{x:472.684,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),I||(I=ie.createElement("rect",{x:480.541,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),C||(C=ie.createElement("rect",{x:488.398,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),F||(F=ie.createElement("rect",{x:496.254,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),G||(G=ie.createElement("rect",{x:504.111,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),R||(R=ie.createElement("rect",{x:511.968,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),T||(T=ie.createElement("rect",{x:519.825,y:237.378,width:3.928,height:2.357,rx:.488,fill:"#e6e6e6"})),U||(U=ie.createElement("rect",{x:439.686,y:242.092,width:31.427,height:2.357,rx:.488,fill:"#e6e6e6"})),D||(D=ie.createElement("path",{d:"M536.523 68.508v75.52a19.073 19.073 0 0 1-19.07 19.07h-94.52a19.08 19.08 0 0 1-17.51-11.49 17.984 17.984 0 0 1-1.13-3.51 17.367 17.367 0 0 0 6.3 1.17h94.52a17.605 17.605 0 0 0 17.58-17.58v-75.52a17.368 17.368 0 0 0-1.17-6.3 17.988 17.988 0 0 1 3.51 1.13 19.08 19.08 0 0 1 11.49 17.51Z",fill:"#f2f2f2"})),J||(J=ie.createElement("path",{fill:"#ffb6b6",d:"m183.897 368.973-9.375 5.805-27.619-33.95 13.836-8.566 23.158 36.711z"})),K||(K=ie.createElement("path",{d:"m191.99 381.099-7.54 3.367-4.525-6.52-.27 8.66-20 8.928a4.924 4.924 0 0 1-6.214-7.055l11.048-18.162-3.214-7.198 17.248-6.497ZM157.635 362.442l15.834-15.344c-11.764-29.03-12.704-47.022-29.012-82.131 38.693 7.914 66.356 7.433 98.356.337 10.833-2.364 38.785-23.956 36.487-35.027q-.161-.776-.38-1.538c-3.435-11.711-1.017-29.645-8.451-42.641-13.755-5.186-34.653 12.325-51 23-7.883 5.147-2.113 12.16-8 14l-22.57 7.326-55.372-8.943a20.511 20.511 0 0 0-23.376 17.36q-.14.9-.204 1.812c2.548 14.104 5.204 27.837 8.063 40.874.923 4.208-.635 12.275 2.836 12.395s2.073 8.464 3.154 12.543c6.654 25.114 10.863 37.268 33.635 55.977Z",fill:"#2f2e41"})),Q||(Q=ie.createElement("path",{fill:"#ffb6b6",d:"m127.329 429.745-9.767-5.098 15.453-40.936 14.415 7.524-20.101 38.51z"})),W||(W=ie.createElement("path",{d:"m125.701 399.184 15.661 10.783c19.195-27.76 31.658-64.854 40.94-106.36 36.138-15.765 67.76-33.801 89.796-57.994a20.915 20.915 0 0 0-1.21-29.095q-.578-.542-1.195-1.038c-9.545-7.603-30.743-3.229-44.292-9.583l-24.204 33.5 2.782 7.802-8.42 4.099-7.11 3.46-8.137 3.963-26.679 12.987a20.484 20.484 0 0 0-9.089 27.63q.405.817.878 1.599l-9.908 49.36s2.726 8.593-1.563 7.79-1.953 9.724-1.953 9.724ZM121.414 452.305l-7.321-3.82 2.3-7.595-6.954 5.165-19.418-10.134a4.924 4.924 0 0 1 1.672-9.252l21.096-2.616 3.648-6.988 15.802 9.486Z",fill:"#2f2e41"})),X||(X=ie.createElement("path",{d:"m334.892 237.703-11.423-27.605-9 5 5.435 28.082a10.001 10.001 0 1 0 14.988-5.477ZM143.208 19.407l17.38 24.3 7.634-6.91-11.657-26.12a10.001 10.001 0 1 0-13.357 8.73Z",fill:"#ffb6b6"})),Y||(Y=ie.createElement("path",{d:"M221.697 173.42c-11.274 17.487 30.028 55.587 51.772 46.678 3.807-1.56 16.904-6.713 7.952-13.857s1.038.851 1.274-3.799c.158-3.109-2.25-9.93.262-9.637s3.953-6.971-1.517-8.821a10.618 10.618 0 0 1-7-9c-.523-19.167 5.968-39.178 5.968-39.178l26.498 67.735s-.196 11.719 3.183 8.138 3.134 8.009 3.134 8.009 5.024 3.507 2.135 5.458 3.11 7.952 3.11 7.952l14-1s-.219-10.4-2.61-12.7-1.215-5.92-1.215-5.92-4.929-4.583-2.052-9.982-20.95-101.961-20.95-101.961a25.72 25.72 0 0 0-18.367-19.62l-15.12-4.164-2.685-10.653h-21.292l-3.708 7-34-3s-33.643-30.61-32-33-3.573-7.986-3.573-7.986-4.454-1.458-1.94-2.236-2.238-2.578-2.238-2.578-4.4-1.156-2.324-2.678-6.925-2.522-6.925-2.522l-11.678 9.527 2.36 4.002s-1.439 5.45.44 3.46 2.231 3.784 2.231 3.784.96 6.322 6.646 8.227 10 20 10 20l48 40c-7.31 8.39-5.57 17.166.906 26.141Z",fill:"#6c63ff"})),$||($=ie.createElement("circle",{cx:258.343,cy:36.964,r:23.056,fill:"#ffb6b6"})),ee||(ee=ie.createElement("path",{d:"M278.469 30.098c-.59.17-9.25 1.3-13 2-3.68.69-4.32-4-7.33-3.12a.127.127 0 0 0-.01-.06 28.344 28.344 0 0 0-2.37-7.17 21.178 21.178 0 0 1 .17 6.6.984.984 0 0 1-.02.17c-.01.1-.03.19-.04.29-3.18-1.4-5.2-.15-7.4.29-2.46.49-4.38 1.57-3 10 2.83 17.34 17.55 23.53 15 35-.5 2.27-1.76 5.11-3.34 5.82a28.344 28.344 0 0 0-2.37-7.17 21.178 21.178 0 0 1 .17 6.6c-2.45-2.65-4.22-11.91-12.46-19.25-2.03-1.8-12.2-12.48-13.42-15a32.136 32.136 0 0 1 .54 6.11 29.416 29.416 0 0 1-.28 4.1 1.151 1.151 0 0 1-.03.26c-.01.16-.04.3-.06.45-.02.17-.05.33-.08.5-3.33-.48-6.28-1.06-7.67-2.42-6.76-6.58 1.49-19.4 6-31 6.45-16.61 25.18-18.82 27-19 8.02-.81 21.57.91 26 10 3.1 6.37 1.12 15.1-2 16Z",fill:"#2f2e41"})),le||(le=ie.createElement("path",{d:"m229.854 33.847 16.7-25.98a25.612 25.612 0 0 0-13.187-3.46 16.42 16.42 0 0 0-12.11 5.711c-3.41 4.24-3.996 10.232-2.718 15.521.442 1.827 8.846-4.6 6.846-1.6-1.642 2.349-4.326 12.221-5 15-1.083 4.472-4.063 9.062-1.409 12.82 3.139 4.445 8.74 6.654 14.177 6.878s10.787-1.282 15.954-2.988Z",fill:"#2f2e41"})),ae||(ae=ie.createElement("path",{d:"M236.27 32.822a1 1 0 0 1-.272-1.962c.262-.432.155-2.253.068-3.724-.325-5.524-.87-14.77 8.106-21.01a1 1 0 0 1 1.142 1.642c-8.055 5.6-7.571 13.815-7.251 19.25.182 3.108.315 5.352-1.57 5.78a.994.994 0 0 1-.222.024Z",fill:"#6c63ff"})),te||(te=ie.createElement("path",{d:"M0 451.95a1.186 1.186 0 0 0 1.183 1.19H716.48a1.19 1.19 0 0 0 0-2.38H1.19A1.186 1.186 0 0 0 0 451.945Z",fill:"#ccc"})),ce||(ce=ie.createElement("path",{d:"M442.535 94.85h-15.132a1.513 1.513 0 0 1 0-3.027h15.132a1.513 1.513 0 0 1 0 3.026ZM469.772 94.85H454.64a1.513 1.513 0 1 1 0-3.027h15.132a1.513 1.513 0 1 1 0 3.026ZM483.391 106.955H468.26a1.513 1.513 0 1 1 0-3.026h15.132a1.513 1.513 0 1 1 0 3.026ZM456.237 106.955h-28.834a1.513 1.513 0 0 1 0-3.026h28.834a1.513 1.513 0 0 1 0 3.026ZM510.713 94.85h-28.835a1.513 1.513 0 0 1 0-3.027h28.835a1.513 1.513 0 1 1 0 3.026ZM452.895 71.925H424.06a1.513 1.513 0 1 1 0-3.026h28.835a1.513 1.513 0 1 1 0 3.026ZM455.265 80.766a1.355 1.355 0 0 1-.832-2.425l7.383-5.739a2.714 2.714 0 0 0 .328-3.984l-6.198-6.71a1.355 1.355 0 1 1 1.99-1.84l9.205 9.965a1.355 1.355 0 0 1-.163 1.99l-10.882 8.458a1.351 1.351 0 0 1-.83.285Z",fill:"#6c63ff"})),re||(re=ie.createElement("path",{d:"M422.601 80.766a1.355 1.355 0 0 0 .832-2.425l-7.383-5.739a2.714 2.714 0 0 1-.328-3.984l6.199-6.71a1.355 1.355 0 0 0-1.99-1.84l-9.206 9.965a1.355 1.355 0 0 0 .164 1.99l10.88 8.458a1.351 1.351 0 0 0 .832.285ZM467.8 132.906h-28.834a1.513 1.513 0 0 1 0-3.027h28.835a1.513 1.513 0 0 1 0 3.027ZM472.882 140.391a1.355 1.355 0 0 1-.833-2.425l7.384-5.739a2.714 2.714 0 0 0 .328-3.984l-6.199-6.71a1.355 1.355 0 0 1 1.99-1.84l9.206 9.965a1.355 1.355 0 0 1-.164 1.99l-10.881 8.458a1.351 1.351 0 0 1-.831.285ZM422.601 140.391a1.355 1.355 0 0 0 .832-2.425l-7.383-5.739a2.714 2.714 0 0 1-.328-3.984l6.199-6.71a1.355 1.355 0 1 0-1.99-1.84l-9.206 9.965a1.355 1.355 0 0 0 .164 1.99l10.88 8.458a1.351 1.351 0 0 0 .832.285ZM425.174 136.151l6.061-13.865a1.513 1.513 0 0 1 2.773 1.212l-6.06 13.866a1.513 1.513 0 1 1-2.774-1.213Z",fill:"#6c63ff"})))}},5510:(e,l,a)=>{a.d(l,{Z:()=>U});var t,c,r,i,n,h,f,m,d,s,p,E,Z,o,M,x,g,y,v,u,w,b,H,j,z,P,V,O,A,N,L,S,k,q,B,_,I,C,F,G,R=a(959);function T(){return T=Object.assign?Object.assign.bind():function(e){for(var l=1;l{let{title:l,titleId:a,...U}=e;return R.createElement("svg",T({xmlns:"http://www.w3.org/2000/svg","data-name":"Layer 1",width:923.222,height:462.144,viewBox:"0 0 923.222 462.144","aria-labelledby":a},U),l?R.createElement("title",{id:a},l):null,t||(t=R.createElement("path",{d:"M244.347 220.484h-1.722v-47.179A27.305 27.305 0 0 0 215.32 146h-99.954a27.305 27.305 0 0 0-27.305 27.305V432.13a27.305 27.305 0 0 0 27.305 27.305h99.954a27.305 27.305 0 0 0 27.305-27.305V254.066h1.723Z",fill:"#e5e5e5"})),c||(c=R.createElement("path",{d:"M216.422 153.104h-13.048a9.688 9.688 0 0 1-8.97 13.347h-57.261a9.688 9.688 0 0 1-8.97-13.347h-12.186a20.391 20.391 0 0 0-20.392 20.391V431.94a20.391 20.391 0 0 0 20.392 20.391h100.435a20.391 20.391 0 0 0 20.391-20.391V173.495a20.391 20.391 0 0 0-20.391-20.391Z",fill:"#fff"})),r||(r=R.createElement("path",{fill:"#fff",d:"M123.23 261.812h90.396v60.985H123.23z"})),i||(i=R.createElement("path",{d:"M213.937 323.109h-91.019V261.5h91.02Zm-90.396-.624h89.773v-60.362H123.54Z",fill:"#3f3d56"})),n||(n=R.createElement("path",{d:"M130.869 309.429h75.117v-42.78H130.87Z",fill:"#e6e6e6"})),h||(h=R.createElement("circle",{cx:152.967,cy:285.719,r:7.529,fill:"#6c63ff"})),f||(f=R.createElement("path",{d:"M176.576 308.92h-36.934a.752.752 0 0 1-.138-.011l17.468-30.258a1.223 1.223 0 0 1 2.13 0l11.722 20.305.562.972Z",fill:"#3f3d56"})),R.createElement("path",{opacity:.2,style:{isolation:"isolate"},d:"M176.576 308.92h-12.61l6.19-8.992.446-.648.223-.324.561.972 5.19 8.992z"}),m||(m=R.createElement("path",{d:"M197.14 308.92h-31.944l6.19-8.992.446-.648 8.066-11.718a1.632 1.632 0 0 1 2.423-.144 1.458 1.458 0 0 1 .116.144Z",fill:"#3f3d56"})),d||(d=R.createElement("path",{d:"M432.891 459.668H190.608a21.684 21.684 0 0 1-21.66-21.66V86.643a21.684 21.684 0 0 1 21.66-21.66h242.283a21.684 21.684 0 0 1 21.66 21.66v351.365a21.684 21.684 0 0 1-21.66 21.66Z",fill:"#e5e5e5"})),s||(s=R.createElement("path",{d:"M433.318 445.849H190.182a6.685 6.685 0 0 1-6.677-6.677V85.48a6.685 6.685 0 0 1 6.677-6.677h243.136a6.685 6.685 0 0 1 6.677 6.677v353.692a6.685 6.685 0 0 1-6.677 6.677Z",fill:"#fff"})),p||(p=R.createElement("circle",{cx:310.828,cy:71.617,r:1.843,fill:"#fff"})),E||(E=R.createElement("path",{fill:"#fff",d:"M221.777 179.774h191.302v129.061H221.777z"})),Z||(Z=R.createElement("path",{d:"M413.738 309.495h-192.62V179.114h192.62Zm-191.302-1.32H412.42V180.433H222.436Z",fill:"#3f3d56"})),o||(o=R.createElement("path",{d:"M237.943 280.544h158.97v-90.532h-158.97Z",fill:"#e6e6e6"})),M||(M=R.createElement("circle",{cx:284.708,cy:230.367,r:15.933,fill:"#6c63ff"})),x||(x=R.createElement("path",{d:"M334.672 279.466H256.51a1.592 1.592 0 0 1-.292-.023l36.967-64.032a2.588 2.588 0 0 1 4.506 0l24.809 42.97 1.188 2.057Z",fill:"#3f3d56"})),R.createElement("path",{opacity:.2,style:{isolation:"isolate"},d:"M334.672 279.466h-26.686l13.1-19.028.943-1.371.471-.685 1.188 2.056 10.984 19.028z"}),g||(g=R.createElement("path",{d:"M378.192 279.466h-67.604l13.1-19.028.943-1.371 17.071-24.798a3.454 3.454 0 0 1 5.127-.307 3.083 3.083 0 0 1 .246.307Z",fill:"#3f3d56"})),y||(y=R.createElement("path",{d:"m673.435 455.496-12.264-5.164-8.413-61.48H540.724l-9.12 61.229-10.971 5.486a2.605 2.605 0 0 0 1.165 4.935h150.626a2.605 2.605 0 0 0 1.01-5.006Z",fill:"#e6e6e6"})),v||(v=R.createElement("path",{d:"M872.527 397.032H322.184a10.903 10.903 0 0 1-10.879-10.903v-77.606h572.101v77.606a10.903 10.903 0 0 1-10.879 10.903Z",fill:"#ccc"})),u||(u=R.createElement("path",{d:"M883.982 345.202H310.803V13.144A13.159 13.159 0 0 1 323.947 0h546.89a13.159 13.159 0 0 1 13.145 13.144Z",fill:"#e5e5e5"})),w||(w=R.createElement("path",{d:"M849.748 321.1H345.037a10.144 10.144 0 0 1-10.133-10.132V34.234A10.145 10.145 0 0 1 345.037 24.1h504.71a10.145 10.145 0 0 1 10.134 10.134v276.734a10.144 10.144 0 0 1-10.133 10.133Z",fill:"#fff"})),b||(b=R.createElement("path",{d:"M921.939 462.144H1.335a1.317 1.317 0 0 1-1.294-.953 1.285 1.285 0 0 1 1.242-1.613h920.55a1.358 1.358 0 0 1 1.359 1.004 1.284 1.284 0 0 1-1.253 1.562Z",fill:"#ccc"})),H||(H=R.createElement("path",{d:"M717.289 122.103c2.59-8.257 8.482-15.83 16.63-18.621 8.148-2.792 22.363-.183 26.206 7.565 5.537 11.167 3.05 24.842.113 36.966a300.348 300.348 0 0 0-4.627-.203l-2.192-7.307v7.235c-12.097-.374-24.69-.14-37.291.102-1.13-8.583-1.43-17.48 1.16-25.737Z",fill:"#2f2e41"})),j||(j=R.createElement("path",{fill:"#9f616a",d:"m828.442 436.728-10.176 4.264-21.291-37.22 15.019-6.294 16.448 39.25z"})),z||(z=R.createElement("path",{d:"m835.172 445.504-32.812 13.75-.174-.414a13.848 13.848 0 0 1 7.419-18.124l20.04-8.398Z",fill:"#2f2e41"})),P||(P=R.createElement("path",{d:"M679.215 260.908a7.634 7.634 0 0 1 3.097-11.288l21.871-65.998 14.648 7.813-26.105 62.416a7.675 7.675 0 0 1-13.511 7.057ZM706.181 448.559h-11.033l-5.249-42.557h16.284l-.002 42.557z",fill:"#9f616a"})),V||(V=R.createElement("path",{d:"m708.995 459.255-35.576-.002v-.45a13.848 13.848 0 0 1 13.847-13.847h.001l21.729.001Z",fill:"#2f2e41"})),O||(O=R.createElement("path",{fill:"#9f616a",d:"m750.419 206.503 2.5 6.5-.5 6.5-48-6 1.5-5.5 5.5-6.5 39 5z"})),A||(A=R.createElement("circle",{cx:734.949,cy:130.535,r:17.475,fill:"#9f616a"})),N||(N=R.createElement("path",{d:"m716.419 160.503 10-6 20-2 17.677 4-.177 32.5-11 24-47-5-2-6.54s-13-17.46 1-27.46Z",fill:"#6c63ff"})),L||(L=R.createElement("path",{d:"m718.919 162.003-2.5-1.5s-13.5 2.5-16.5 10.5-6 44-6 44l12.5 1.484 4.5-29.484Z",fill:"#6c63ff"})),S||(S=R.createElement("path",{d:"M752.919 217.003v11.106s13 16.894 6 29.894c0 0 15 28 16 38l14 46s35 35 32 60l2 8-23 10-5-7-39-67-33-61-6 72s4 56-7 62l-1 9h-23.343v-8.555s-8.657-30.445-3.657-53.445l-2-97s9-41 20-48l4-10ZM722.941 107.779a21.95 21.95 0 0 1 33.371 19.156c-9.768.449-20.03.566-30.434.586l-2.46-6.018-1.449 6.023q-4.755 0-9.53-.013a22.411 22.411 0 0 1 10.502-19.734Z",fill:"#2f2e41"})),k||(k=R.createElement("path",{fill:"#fff",d:"m459.328 169.738 235.26-59.828 40.363 158.718-235.26 59.828z"})),q||(q=R.createElement("path",{d:"m735.968 269.233-236.883 60.24-40.775-160.34 236.883-60.241Zm-235.673 58.205 233.638-59.415-39.95-157.096-233.638 59.415Z",fill:"#3f3d56"})),B||(B=R.createElement("path",{d:"m510.723 288.608 195.499-49.716-28.313-111.335-195.499 49.716Z",fill:"#e6e6e6"})),_||(_=R.createElement("circle",{cx:552.542,cy:212.275,r:20.218,fill:"#6c63ff"})),I||(I=R.createElement("path",{d:"m629.342 257.031-96.122 24.445a2.02 2.02 0 0 1-.367.062l25.436-90.307a3.284 3.284 0 0 1 5.541-1.409l43.95 45.086 2.104 2.157Z",fill:"#3f3d56"})),R.createElement("path",{opacity:.2,style:{isolation:"isolate"},d:"m629.342 257.031-32.818 8.346 10.159-27.498.731-1.98.366-.991 2.104 2.157 19.458 19.966z"}),C||(C=R.createElement("path",{d:"m682.863 243.42-83.138 21.143 10.159-27.498.73-1.98 13.239-35.835a4.383 4.383 0 0 1 6.21-1.981 3.913 3.913 0 0 1 .398.3Z",fill:"#3f3d56"})),F||(F=R.createElement("path",{d:"M736.296 239.966a7.86 7.86 0 0 1 1.183.366l30.507-21-.698-8.97 13.4-2.823 2.779 15.76a5.974 5.974 0 0 1-3.241 6.396l-37.79 18.637a7.84 7.84 0 1 1-6.14-8.366Z",fill:"#9f616a"})),G||(G=R.createElement("path",{d:"m756.919 158.003 7.177-1.5s15.823-5.5 16.823 14.5l2 47-14.854 2-6.146-41Z",fill:"#6c63ff"})))}},9201:(e,l,a)=>{a.d(l,{Z:()=>ae});var t,c,r,i,n,h,f,m,d,s,p,E,Z,o,M,x,g,y,v,u,w,b,H,j,z,P,V,O,A,N,L,S,k,q,B,_,I,C,F,G,R,T,U,D,J,K,Q,W,X,Y,$,ee=a(959);function le(){return le=Object.assign?Object.assign.bind():function(e){for(var l=1;l{let{title:l,titleId:a,...ae}=e;return ee.createElement("svg",le({xmlns:"http://www.w3.org/2000/svg","data-name":"Layer 1",width:704.362,height:635,viewBox:"0 0 704.362 635","aria-labelledby":a},ae),l?ee.createElement("title",{id:a},l):null,t||(t=ee.createElement("path",{d:"M437.632 369h-258a33.037 33.037 0 0 1-33-33V33a33.037 33.037 0 0 1 33-33H419.66l50.973 40.629V336a33.037 33.037 0 0 1-33 33Z",fill:"#e6e6e6"})),c||(c=ee.createElement("path",{d:"M179.632 9.5a23.527 23.527 0 0 0-23.5 23.5v303a23.527 23.527 0 0 0 23.5 23.5h258a23.527 23.527 0 0 0 23.5-23.5V45.206L416.336 9.5Z",fill:"#fff"})),r||(r=ee.createElement("path",{d:"M387.451 97.604H269.988a5.495 5.495 0 1 1 0-10.99H387.45a5.495 5.495 0 1 1 0 10.99ZM410.12 116.151H269.988a5.495 5.495 0 1 1 0-10.99H410.12a5.495 5.495 0 1 1 0 10.99ZM387.451 180.722H269.988a5.495 5.495 0 1 1 0-10.99H387.45a5.495 5.495 0 1 1 0 10.99ZM410.12 199.269H269.988a5.495 5.495 0 1 1 0-10.99H410.12a5.495 5.495 0 1 1 0 10.99ZM387.451 263.84H269.988a5.495 5.495 0 1 1 0-10.991H387.45a5.495 5.495 0 1 1 0 10.99ZM410.12 282.386H269.988a5.495 5.495 0 0 1 0-10.99H410.12a5.495 5.495 0 1 1 0 10.99Z",fill:"#ccc"})),i||(i=ee.createElement("circle",{"data-name":"Ellipse 44",cx:221.073,cy:101.382,r:19.423,fill:"#6c63ff"})),n||(n=ee.createElement("path",{"data-name":"Path 395",d:"M219.148 108.792a2.014 2.014 0 0 1-1.212-.403l-.022-.016-4.564-3.492a2.029 2.029 0 0 1 2.468-3.22l2.957 2.267 6.986-9.115a2.028 2.028 0 0 1 2.843-.375l-.042.06.044-.06a2.03 2.03 0 0 1 .375 2.844l-8.218 10.716a2.029 2.029 0 0 1-1.613.791Z",fill:"#fff"})),h||(h=ee.createElement("circle",{"data-name":"Ellipse 44",cx:223.073,cy:184.5,r:19.423,fill:"#ccc"})),f||(f=ee.createElement("circle",{"data-name":"Ellipse 44",cx:221.073,cy:267.618,r:19.423,fill:"#ccc"})),m||(m=ee.createElement("path",{d:"M469.64 41.936h-39.929a10.99 10.99 0 0 1-10.99-10.99V1.455a.687.687 0 0 1 1.113-.539l50.233 39.795a.687.687 0 0 1-.427 1.225Z",fill:"#e6e6e6"})),d||(d=ee.createElement("path",{d:"M199.348 425.772 46.702 457.947a17.02 17.02 0 0 1-20.14-13.128L.366 320.549a17.02 17.02 0 0 1 13.129-20.14l152.646-32.175a17.02 17.02 0 0 1 20.14 13.128l26.194 124.27a17.02 17.02 0 0 1-13.128 20.14Z",fill:"#fff"})),s||(s=ee.createElement("path",{d:"M199.348 425.772 46.702 457.947a17.02 17.02 0 0 1-20.14-13.128L.366 320.549a17.02 17.02 0 0 1 13.129-20.14l152.646-32.175a17.02 17.02 0 0 1 20.14 13.128l26.194 124.27a17.02 17.02 0 0 1-13.128 20.14ZM13.908 302.366a15.017 15.017 0 0 0-11.584 17.771l26.194 124.27A15.017 15.017 0 0 0 46.29 455.99l152.645-32.175a15.017 15.017 0 0 0 11.584-17.771l-26.194-124.27a15.017 15.017 0 0 0-17.77-11.583Z",fill:"#3f3d56"})),p||(p=ee.createElement("path",{"data-name":"Path 411",d:"M156.657 309.209 79.62 325.447a2.73 2.73 0 0 1-3.23-1.863 2.63 2.63 0 0 1 2-3.254l78.42-16.53c3.061 1.726 2.094 4.936-.153 5.41Z",fill:"#ccc"})),E||(E=ee.createElement("path",{"data-name":"Path 412",d:"M159.506 322.722 82.467 338.96a2.73 2.73 0 0 1-3.23-1.863 2.63 2.63 0 0 1 2-3.254l78.42-16.53c3.062 1.726 2.094 4.936-.152 5.41Z",fill:"#ccc"})),Z||(Z=ee.createElement("path",{"data-name":"Path 413",d:"m67.435 350.165-23.511 4.955a2.962 2.962 0 0 1-3.506-2.285L34.57 325.09a2.962 2.962 0 0 1 2.285-3.506l23.511-4.955a2.963 2.963 0 0 1 3.506 2.285l5.848 27.745a2.962 2.962 0 0 1-2.285 3.506Z",fill:"#ccc"})),o||(o=ee.createElement("path",{"data-name":"Path 414",d:"M165.113 350.437 47.54 375.22a2.73 2.73 0 0 1-3.23-1.863 2.63 2.63 0 0 1 1.999-3.254l118.958-25.074c3.062 1.725 2.094 4.935-.153 5.408Z",fill:"#ccc"})),M||(M=ee.createElement("path",{"data-name":"Path 415",d:"M167.963 363.954 50.388 388.737a2.73 2.73 0 0 1-3.23-1.863 2.63 2.63 0 0 1 2-3.254l118.957-25.074c3.062 1.725 2.094 4.935-.152 5.408Z",fill:"#ccc"})),x||(x=ee.createElement("path",{"data-name":"Path 416",d:"M170.81 377.462 53.235 402.245a2.73 2.73 0 0 1-3.23-1.863 2.63 2.63 0 0 1 2-3.254l118.957-25.074c3.062 1.725 2.094 4.935-.152 5.408Z",fill:"#ccc"})),g||(g=ee.createElement("path",{"data-name":"Path 417",d:"M173.659 390.978 56.084 415.761a2.73 2.73 0 0 1-3.23-1.863 2.63 2.63 0 0 1 2-3.254L173.81 385.57c3.062 1.725 2.094 4.935-.152 5.408Z",fill:"#ccc"})),y||(y=ee.createElement("path",{"data-name":"Path 418",d:"M176.506 404.488 58.932 429.27a2.73 2.73 0 0 1-3.23-1.863 2.63 2.63 0 0 1 1.999-3.254l118.958-25.074c3.062 1.726 2.094 4.935-.153 5.409Z",fill:"#ccc"})),v||(v=ee.createElement("path",{d:"M197.26 342.62a10.525 10.525 0 0 0-.682 1.51l-48.134 11.945-8.373-8.662-14.725 10.928 13.333 16.776a8 8 0 0 0 9.289 2.428l52.23-21.342a10.497 10.497 0 1 0-2.937-13.582ZM32.964 448.913a10.743 10.743 0 0 0 6.378-15.188l33.125-92.067-23.004-4.077-25.327 91.781a10.8 10.8 0 0 0 8.828 19.551Z",fill:"#a0616a"})),u||(u=ee.createElement("path",{d:"m68.26 358.001-22.713-8.717a4.817 4.817 0 0 1-2.47-6.863l11.916-21.125a13.377 13.377 0 0 1 24.95 9.66l-5.256 23.597A4.817 4.817 0 0 1 68.26 358Z",fill:"#6c63ff"})),w||(w=ee.createElement("path",{fill:"#a0616a",d:"m119.525 621.766 12.26-.001 5.832-47.288-18.094.001.002 47.288z"})),b||(b=ee.createElement("path",{d:"M116.398 617.763H140.542a15.386 15.386 0 0 1 15.387 15.386v.5l-39.53.001Z",fill:"#2f2e41"})),H||(H=ee.createElement("path",{fill:"#a0616a",d:"m50.525 621.766 12.26-.001 5.832-47.288-18.094.001.002 47.288z"})),j||(j=ee.createElement("path",{d:"M47.398 617.763H71.542a15.386 15.386 0 0 1 15.387 15.386v.5l-39.53.001ZM63.377 602.733H47.863a4.5 4.5 0 0 1-4.495-4.714l7.37-158.332.464-.013 74.919-1.953 14.66 158.423a4.5 4.5 0 0 1-4.12 4.911l-17.427 1.394a4.502 4.502 0 0 1-4.767-3.582L92.177 486.09a1.454 1.454 0 0 0-1.47-1.199h-.005a1.454 1.454 0 0 0-1.467 1.211l-21.442 113a4.51 4.51 0 0 1-4.416 3.631Z",fill:"#2f2e41"})),z||(z=ee.createElement("circle",{cx:91.797,cy:273.914,r:24.561,fill:"#a0616a"})),P||(P=ee.createElement("path",{d:"M83.561 458.242c-11.706 0-23.73-3.077-33.698-12.175a4.552 4.552 0 0 1-1.47-3.85c1.068-9.586 6.243-59.08 3.329-92.143a40.02 40.02 0 0 1 12.955-33.305 39.598 39.598 0 0 1 33.962-9.834c.306.055.612.112.918.171 19.664 3.806 33.326 22.004 31.78 42.331-2.256 29.66-4.278 69.78-1.103 92.468a4.493 4.493 0 0 1-2.414 4.637c-7.225 3.65-25.326 11.7-44.259 11.7Z",fill:"#6c63ff"})),V||(V=ee.createElement("path",{d:"M115.61 359.768a4.812 4.812 0 0 1-2.109-3.411l-2.992-23.99a13.377 13.377 0 0 1 25.754-7.248l9.856 22.161a4.817 4.817 0 0 1-3.11 6.598l-23.437 6.522a4.811 4.811 0 0 1-3.961-.632Z",fill:"#6c63ff"})),O||(O=ee.createElement("path",{d:"M83.223 298.128a17.598 17.598 0 0 1-6.797-1.23c-.952-.366-1.94-.667-2.889-1.034-8.387-3.24-13.911-12.172-14.109-21.16s4.457-17.714 11.37-23.463 15.864-8.702 24.829-9.384c9.657-.735 20.53 1.713 25.926 9.755 1.437 2.141 2.441 4.738 1.59 7.323a4.686 4.686 0 0 1-1.32 2.028c-2.41 2.144-4.812.532-7.27.39-3.376-.196-6.408 2.537-7.498 5.738s-.61 6.727.27 9.993a24.962 24.962 0 0 1 1.258 6.076 6.108 6.108 0 0 1-2.531 5.378c-2.11 1.276-4.88.537-6.992-.736s-3.935-3.044-6.216-3.98-5.344-.73-6.671 1.348a7.379 7.379 0 0 0-.844 2.435c-1.19 5.421-.916 5.102-2.106 10.523Z",fill:"#2f2e41"})),A||(A=ee.createElement("path",{d:"M191.668 635h-190a1 1 0 0 1 0-2h190a1 1 0 1 1 0 2Z",fill:"#ccc"})),N||(N=ee.createElement("path",{d:"m678.012 428.63-136.057 76.317a17.02 17.02 0 0 1-23.144-6.51l-62.13-110.765a17.02 17.02 0 0 1 6.51-23.144l136.058-76.317a17.02 17.02 0 0 1 23.143 6.51l62.13 110.765a17.02 17.02 0 0 1-6.51 23.143Z",fill:"#fff"})),L||(L=ee.createElement("path",{d:"m678.012 428.63-136.057 76.317a17.02 17.02 0 0 1-23.144-6.51l-62.13-110.765a17.02 17.02 0 0 1 6.51-23.144l136.058-76.317a17.02 17.02 0 0 1 23.143 6.51l62.13 110.765a17.02 17.02 0 0 1-6.51 23.143ZM464.17 366.272a15.017 15.017 0 0 0-5.745 20.42l62.13 110.765a15.017 15.017 0 0 0 20.421 5.744l136.058-76.317a15.017 15.017 0 0 0 5.744-20.42L620.648 295.7a15.017 15.017 0 0 0-20.42-5.745Z",fill:"#3f3d56"})),S||(S=ee.createElement("path",{"data-name":"Path 411",d:"m602.442 330.148-68.667 38.517a2.73 2.73 0 0 1-3.638-.813 2.63 2.63 0 0 1 .935-3.703l69.898-39.207c3.437.731 3.473 4.084 1.47 5.207Z",fill:"#ccc"})),k||(k=ee.createElement("path",{"data-name":"Path 412",d:"m609.198 342.193-68.667 38.516a2.73 2.73 0 0 1-3.638-.813 2.63 2.63 0 0 1 .935-3.703l69.898-39.207c3.437.732 3.473 4.084 1.47 5.207Z",fill:"#ccc"})),q||(q=ee.createElement("path",{"data-name":"Path 413",d:"m529.534 395.893-20.957 11.755a2.962 2.962 0 0 1-4.028-1.133l-13.872-24.73a2.962 2.962 0 0 1 1.134-4.029l20.956-11.754a2.963 2.963 0 0 1 4.028 1.133l13.872 24.73a2.962 2.962 0 0 1-1.133 4.028Z",fill:"#ccc"})),B||(B=ee.createElement("path",{"data-name":"Path 414",d:"m622.83 366.966-104.797 58.783a2.73 2.73 0 0 1-3.638-.813 2.63 2.63 0 0 1 .935-3.703l106.03-59.474c3.438.732 3.473 4.084 1.47 5.207Z",fill:"#ccc"})),_||(_=ee.createElement("path",{"data-name":"Path 415",d:"M629.589 379.014 524.79 437.797a2.73 2.73 0 0 1-3.638-.813 2.63 2.63 0 0 1 .935-3.702l106.03-59.475c3.438.732 3.473 4.084 1.47 5.207Z",fill:"#ccc"})),I||(I=ee.createElement("path",{"data-name":"Path 416",d:"m636.343 391.054-104.798 58.783a2.73 2.73 0 0 1-3.639-.813 2.63 2.63 0 0 1 .935-3.702l106.03-59.475c3.438.732 3.474 4.084 1.472 5.207Z",fill:"#ccc"})),C||(C=ee.createElement("path",{"data-name":"Path 417",d:"m643.1 403.102-104.798 58.783a2.73 2.73 0 0 1-3.638-.813 2.63 2.63 0 0 1 .935-3.703l106.03-59.475c3.438.732 3.473 4.084 1.471 5.207Z",fill:"#ccc"})),F||(F=ee.createElement("path",{"data-name":"Path 418",d:"m649.854 415.143-104.797 58.783a2.73 2.73 0 0 1-3.639-.813 2.63 2.63 0 0 1 .935-3.703l106.03-59.474c3.438.731 3.473 4.084 1.471 5.207Z",fill:"#ccc"})),G||(G=ee.createElement("path",{d:"M631.571 460.266a9.454 9.454 0 0 0-6.28-13.065l-2.85-33.475-13.706 10.813 4.807 30.13a9.505 9.505 0 0 0 18.03 5.597Z",fill:"#ffb8b8"})),R||(R=ee.createElement("path",{d:"m622.7 443.695-11.383 1.357a4.231 4.231 0 0 1-4.728-4.018l-1.66-38.402-21.577-58.946a12.148 12.148 0 0 1 .641-11.567 15.878 15.878 0 0 1 1.808-2.334 12.11 12.11 0 0 1 10.562-3.75 12.626 12.626 0 0 1 9.484 6.59l14.071 29.486a83.765 83.765 0 0 1 8.095 39.573l-1.587 37.988a4.228 4.228 0 0 1-3.67 4.015Z",fill:"#6c63ff"})),T||(T=ee.createElement("path",{fill:"#ffb8b8",d:"m663.126 609.664-10.554 4.632-22.89-38.503 15.576-6.837 17.868 40.708z"})),U||(U=ee.createElement("path",{d:"m670.309 618.713-34.03 14.937-.19-.43a14.465 14.465 0 0 1 7.431-19.06h.001l20.785-9.123Z",fill:"#2f2e41"})),D||(D=ee.createElement("path",{fill:"#ffb8b8",d:"M521.437 622.477h-11.526l-5.483-44.457 17.011.001-.002 44.456z"})),J||(J=ee.createElement("path",{d:"m524.376 633.65-37.164-.001v-.47a14.465 14.465 0 0 1 14.465-14.465H524.377ZM633.652 607.28l-64.206-143.284a1.41 1.41 0 0 0-2.656.188l-39.12 138.394a4.206 4.206 0 0 1-4.504 3.1l-21.366-2.136a4.255 4.255 0 0 1-3.798-4.551c6.796-84.524 17.509-164.298 49.602-216.52l.17-.278 48.544 9.519 64.808 206.373a4.249 4.249 0 0 1-2.751 5.265l-19.543 6.281a4.215 4.215 0 0 1-5.18-2.352Z",fill:"#2f2e41"})),K||(K=ee.createElement("circle",{cx:571.237,cy:285.983,r:23.091,fill:"#ffb8b8"})),Q||(Q=ee.createElement("path",{d:"m544.62 386.468-.295-.06-.069-.292c-3.111-13.135-3.185-27.47-.22-42.606a33.468 33.468 0 0 1 33.507-27.074 33.523 33.523 0 0 1 32.819 32.23c.99 26.032-9.649 48.6-9.756 48.826l-.159.33Z",fill:"#6c63ff"})),W||(W=ee.createElement("path",{d:"M482.72 430.397a9.454 9.454 0 0 0 7.582-12.355l26.596-20.526-16.513-5.666-22.724 20.36a9.505 9.505 0 0 0 5.06 18.187Z",fill:"#ffb8b8"})),X||(X=ee.createElement("path",{d:"M497.247 414.917a4.215 4.215 0 0 1-5.401-.952l-7.307-8.834a4.23 4.23 0 0 1 .818-6.15l31.383-22.194 37.865-50.065a12.147 12.147 0 0 1 10.072-5.726 15.846 15.846 0 0 1 2.94.257 12.106 12.106 0 0 1 8.873 6.848 12.625 12.625 0 0 1-.403 11.54l-28.038 45.406-.062.1Z",fill:"#6c63ff"})),Y||(Y=ee.createElement("path",{d:"M575.367 284.55c-1.702-2.799-5.458-3.59-8.719-3.27s-6.431 1.465-9.707 1.44c-9.097-.071-16.119-11.158-12.294-19.412 3.136-6.77 10.97-9.742 18.057-12.075 14.858-4.891 31.925-9.59 45.408-1.66a28.214 28.214 0 0 1 13.58 25.14c-.304 6.242-2.694 12.653-.672 18.566 2.332 6.822 9.727 10.482 16.715 12.252 12.25 3.104 25.167 2.604 37.494 5.387s24.96 10.175 28.282 22.368c2.183 8.009-.094 16.63-3.866 24.025a62.223 62.223 0 0 1-86.805 25.461c-14.903-8.702-25.662-23.409-32.076-39.43a132.03 132.03 0 0 1-7.632-29c-1.437-9.29-.218-18.679 2.384-27.713a2.547 2.547 0 0 0-.15-2.078Z",fill:"#2f2e41"})),$||($=ee.createElement("path",{d:"M658.668 635h-190a1 1 0 0 1 0-2h190a1 1 0 1 1 0 2Z",fill:"#ccc"})))}},6077:(e,l,a)=>{a.r(l),a.d(l,{default:()=>Z});var t=a(5924),c=a(6626),r=a(2599),i=a(7792),n=a(1878);const h={features:"features_jVLO",featureSvg:"featureSvg_km3_"};var f=a(1527);const m=[{title:"Full Asynchronous Support",Svg:a(8851).Z,description:(0,f.jsx)(f.Fragment,{children:"All I/O operations are asynchronous, CPU tasks are spread across multiple threads, making the most of available resources."})},{title:"Powerful Async Task Scheduling and Management",Svg:a(9201).Z,description:(0,f.jsx)(f.Fragment,{children:"Provides real-time progress updates, task cancellation, and internal task priority assignment."})},{title:"Built-in Support for Multiple Image Protocols",Svg:a(5510).Z,description:(0,f.jsx)(f.Fragment,{children:"Also integrated with \xdcberzug++, covering almost all terminals."})},{title:"Built-in Code Highlighting and Image Encoding",Svg:a(6134).Z,description:(0,f.jsx)(f.Fragment,{children:"Combined with the pre-caching mechanism, greatly accelerates image and normal file loading."})}];function d(e){let{title:l,Svg:a,description:c}=e;return(0,f.jsxs)("div",{className:(0,t.Z)("col col--3"),children:[(0,f.jsx)("div",{className:"text--center",children:(0,f.jsx)(a,{className:h.featureSvg,role:"img"})}),(0,f.jsxs)("div",{className:"text--center padding-horiz--md",children:[(0,f.jsx)(n.Z,{as:"h3",children:l}),(0,f.jsx)("p",{children:c})]})]})}function s(){return(0,f.jsx)("section",{className:h.features,children:(0,f.jsx)("div",{className:"container",children:(0,f.jsx)("div",{className:"row",children:m.map(((e,l)=>(0,f.jsx)(d,{...e},l)))})})})}const p={heroBanner:"heroBanner_qdFl",buttons:"buttons_AeoN"};function E(){const{siteConfig:e}=(0,r.Z)();return(0,f.jsx)("header",{className:(0,t.Z)("hero hero--primary",p.heroBanner),children:(0,f.jsxs)("div",{className:"container",children:[(0,f.jsx)(n.Z,{as:"h1",className:"hero__title",children:e.title}),(0,f.jsx)("p",{className:"hero__subtitle",children:e.tagline}),(0,f.jsx)("div",{className:p.buttons,children:(0,f.jsx)(c.Z,{className:"button button--secondary button--lg",to:"/docs/installation",children:"Get Started \ud83d\ude80"})})]})})}function Z(){return(0,f.jsxs)(i.Z,{description:"Blazing fast terminal file manager written in Rust, based on async I/O.",children:[(0,f.jsx)(E,{}),(0,f.jsx)("main",{children:(0,f.jsx)(s,{})})]})}},5924:(e,l,a)=>{function t(e){var l,a,c="";if("string"==typeof e||"number"==typeof e)c+=e;else if("object"==typeof e)if(Array.isArray(e))for(l=0;lc});const c=function(){for(var e,l,a=0,c="";a{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/23.2c563a0b.js b/assets/js/23.2c563a0b.js new file mode 100644 index 000000000..37d8470e0 --- /dev/null +++ b/assets/js/23.2c563a0b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[23],{9643:(e,t,s)=>{s.d(t,{Z:()=>f});var r=s(959),a=s(5341),n=s(7792),l=s(1339),i=s(6626),o=s(9111),c=s(8903),m=s(853);function d(e){const{pathname:t}=(0,c.TH)();return(0,r.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,m.Mg)(e.permalink,t))}(e,t)))),[e,t])}const u={sidebar:"sidebar_sXwe",sidebarItemTitle:"sidebarItemTitle_mKW_",sidebarItemList:"sidebarItemList_w9tn",sidebarItem:"sidebarItem_yjGh",sidebarItemLink:"sidebarItemLink_QHUh",sidebarItemLinkActive:"sidebarItemLinkActive_Woob"};var h=s(1527);function g(e){let{sidebar:t}=e;const s=d(t.items);return(0,h.jsx)("aside",{className:"col col--3",children:(0,h.jsxs)("nav",{className:(0,a.Z)(u.sidebar,"thin-scrollbar"),"aria-label":(0,o.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,h.jsx)("div",{className:(0,a.Z)(u.sidebarItemTitle,"margin-bottom--md"),children:t.title}),(0,h.jsx)("ul",{className:(0,a.Z)(u.sidebarItemList,"clean-list"),children:s.map((e=>(0,h.jsx)("li",{className:u.sidebarItem,children:(0,h.jsx)(i.Z,{isNavLink:!0,to:e.permalink,className:u.sidebarItemLink,activeClassName:u.sidebarItemLinkActive,children:e.title})},e.permalink)))})]})})}var p=s(35);function x(e){let{sidebar:t}=e;const s=d(t.items);return(0,h.jsx)("ul",{className:"menu__list",children:s.map((e=>(0,h.jsx)("li",{className:"menu__list-item",children:(0,h.jsx)(i.Z,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active",children:e.title})},e.permalink)))})}function j(e){return(0,h.jsx)(p.Zo,{component:x,props:e})}function b(e){let{sidebar:t}=e;const s=(0,l.i)();return t?.items.length?"mobile"===s?(0,h.jsx)(j,{sidebar:t}):(0,h.jsx)(g,{sidebar:t}):null}function f(e){const{sidebar:t,toc:s,children:r,...l}=e,i=t&&t.items.length>0;return(0,h.jsx)(n.Z,{...l,children:(0,h.jsx)("div",{className:"container margin-vert--lg",children:(0,h.jsxs)("div",{className:"row",children:[(0,h.jsx)(b,{sidebar:t}),(0,h.jsx)("main",{className:(0,a.Z)("col",{"col--7":i,"col--9 col--offset-1":!i}),itemScope:!0,itemType:"https://schema.org/Blog",children:r}),s&&(0,h.jsx)("div",{className:"col col--2",children:s})]})})})}},8777:(e,t,s)=>{s.d(t,{Z:()=>O});var r=s(959),a=s(5341),n=s(2936),l=s(9759),i=s(1527);function o(e){let{children:t,className:s}=e;const{frontMatter:r,assets:a,metadata:{description:o}}=(0,n.C)(),{withBaseUrl:c}=(0,l.C)(),m=a.image??r.image,d=r.keywords??[];return(0,i.jsxs)("article",{className:s,itemProp:"blogPost",itemScope:!0,itemType:"https://schema.org/BlogPosting",children:[o&&(0,i.jsx)("meta",{itemProp:"description",content:o}),m&&(0,i.jsx)("link",{itemProp:"image",href:c(m,{absolute:!0})}),d.length>0&&(0,i.jsx)("meta",{itemProp:"keywords",content:d.join(",")}),t]})}var c=s(6626);const m={title:"title_ISGj"};function d(e){let{className:t}=e;const{metadata:s,isBlogPostPage:r}=(0,n.C)(),{permalink:l,title:o}=s,d=r?"h1":"h2";return(0,i.jsx)(d,{className:(0,a.Z)(m.title,t),itemProp:"headline",children:r?o:(0,i.jsx)(c.Z,{itemProp:"url",to:l,children:o})})}var u=s(9111),h=s(2599);const g=["zero","one","two","few","many","other"];function p(e){return g.filter((t=>e.includes(t)))}const x={locale:"en",pluralForms:p(["one","other"]),select:e=>1===e?"one":"other"};function j(){const{i18n:{currentLocale:e}}=(0,h.Z)();return(0,r.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:p(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),x}}),[e])}function b(){const e=j();return{selectMessage:(t,s)=>function(e,t,s){const r=e.split("|");if(1===r.length)return r[0];r.length>s.pluralForms.length&&console.error(`For locale=${s.locale}, a maximum of ${s.pluralForms.length} plural forms are expected (${s.pluralForms.join(",")}), but the message contains ${r.length}: ${e}`);const a=s.select(t),n=s.pluralForms.indexOf(a);return r[Math.min(n,r.length-1)]}(s,t,e)}}const f={container:"container_ldet"};function v(e){let{readingTime:t}=e;const s=function(){const{selectMessage:e}=b();return t=>{const s=Math.ceil(t);return e(s,(0,u.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:s}))}}();return(0,i.jsx)(i.Fragment,{children:s(t)})}function P(e){let{date:t,formattedDate:s}=e;return(0,i.jsx)("time",{dateTime:t,itemProp:"datePublished",children:s})}function N(){return(0,i.jsx)(i.Fragment,{children:" \xb7 "})}function _(e){let{className:t}=e;const{metadata:s}=(0,n.C)(),{date:r,formattedDate:l,readingTime:o}=s;return(0,i.jsxs)("div",{className:(0,a.Z)(f.container,"margin-vert--md",t),children:[(0,i.jsx)(P,{date:r,formattedDate:l}),void 0!==o&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(N,{}),(0,i.jsx)(v,{readingTime:o})]})]})}function k(e){return e.href?(0,i.jsx)(c.Z,{...e}):(0,i.jsx)(i.Fragment,{children:e.children})}function Z(e){let{author:t,className:s}=e;const{name:r,title:n,url:l,imageURL:o,email:c}=t,m=l||c&&`mailto:${c}`||void 0;return(0,i.jsxs)("div",{className:(0,a.Z)("avatar margin-bottom--sm",s),children:[o&&(0,i.jsx)(k,{href:m,className:"avatar__photo-link",children:(0,i.jsx)("img",{className:"avatar__photo",src:o,alt:r,itemProp:"image"})}),r&&(0,i.jsxs)("div",{className:"avatar__intro",itemProp:"author",itemScope:!0,itemType:"https://schema.org/Person",children:[(0,i.jsx)("div",{className:"avatar__name",children:(0,i.jsx)(k,{href:m,itemProp:"url",children:(0,i.jsx)("span",{itemProp:"name",children:r})})}),n&&(0,i.jsx)("small",{className:"avatar__subtitle",itemProp:"description",children:n})]})]})}const I={authorCol:"authorCol_mDTl",imageOnlyAuthorRow:"imageOnlyAuthorRow_RxfN",imageOnlyAuthorCol:"imageOnlyAuthorCol_BLD_"};function w(e){let{className:t}=e;const{metadata:{authors:s},assets:r}=(0,n.C)();if(0===s.length)return null;const l=s.every((e=>{let{name:t}=e;return!t}));return(0,i.jsx)("div",{className:(0,a.Z)("margin-top--md margin-bottom--sm",l?I.imageOnlyAuthorRow:"row",t),children:s.map(((e,t)=>(0,i.jsx)("div",{className:(0,a.Z)(!l&&"col col--6",l?I.imageOnlyAuthorCol:I.authorCol),children:(0,i.jsx)(Z,{author:{...e,imageURL:r.authorsImageUrls[t]??e.imageURL}})},t)))})}function C(){return(0,i.jsxs)("header",{children:[(0,i.jsx)(d,{}),(0,i.jsx)(_,{}),(0,i.jsx)(w,{})]})}var T=s(5378),y=s(6051);function F(e){let{children:t,className:s}=e;const{isBlogPostPage:r}=(0,n.C)();return(0,i.jsx)("div",{id:r?T.blogPostContainerID:void 0,className:(0,a.Z)("markdown",s),itemProp:"articleBody",children:(0,i.jsx)(y.Z,{children:t})})}var L=s(8746),B=s(3715);function M(){return(0,i.jsx)("b",{children:(0,i.jsx)(u.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read More"})})}function A(e){const{blogPostTitle:t,...s}=e;return(0,i.jsx)(c.Z,{"aria-label":(0,u.I)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...s,children:(0,i.jsx)(M,{})})}const R={blogPostFooterDetailsFull:"blogPostFooterDetailsFull_tIY_"};function D(){const{metadata:e,isBlogPostPage:t}=(0,n.C)(),{tags:s,title:r,editUrl:l,hasTruncateMarker:o}=e,c=!t&&o,m=s.length>0;return m||c||l?(0,i.jsxs)("footer",{className:(0,a.Z)("row docusaurus-mt-lg",t&&R.blogPostFooterDetailsFull),children:[m&&(0,i.jsx)("div",{className:(0,a.Z)("col",{"col--9":c}),children:(0,i.jsx)(B.Z,{tags:s})}),t&&l&&(0,i.jsx)("div",{className:"col margin-top--sm",children:(0,i.jsx)(L.Z,{editUrl:l})}),c&&(0,i.jsx)("div",{className:(0,a.Z)("col text--right",{"col--3":m}),children:(0,i.jsx)(A,{blogPostTitle:r,to:e.permalink})})]}):null}function O(e){let{children:t,className:s}=e;const r=function(){const{isBlogPostPage:e}=(0,n.C)();return e?void 0:"margin-bottom--xl"}();return(0,i.jsxs)(o,{className:(0,a.Z)(r,s),children:[(0,i.jsx)(C,{}),(0,i.jsx)(F,{children:t}),(0,i.jsx)(D,{})]})}},2936:(e,t,s)=>{s.d(t,{C:()=>o,n:()=>i});var r=s(959),a=s(4194),n=s(1527);const l=r.createContext(null);function i(e){let{children:t,content:s,isBlogPostPage:a=!1}=e;const i=function(e){let{content:t,isBlogPostPage:s}=e;return(0,r.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:s})),[t,s])}({content:s,isBlogPostPage:a});return(0,n.jsx)(l.Provider,{value:i,children:t})}function o(){const e=(0,r.useContext)(l);if(null===e)throw new a.i6("BlogPostProvider");return e}}}]); \ No newline at end of file diff --git a/assets/js/3b25d5a1.852da53a.js b/assets/js/3b25d5a1.852da53a.js new file mode 100644 index 000000000..e8f34332e --- /dev/null +++ b/assets/js/3b25d5a1.852da53a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[826],{3835:(e,i,s)=>{s.r(i),s.d(i,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>n,metadata:()=>o,toc:()=>c});var t=s(1527),a=s(6225);const n={slug:"why-is-yazi-fast",title:"Why is Yazi fast?",authors:["sxyazi"]},r=void 0,o={permalink:"/blog/why-is-yazi-fast",editUrl:"https://github.com/yazi-rs/yazi-rs.github.io/edit/main/blog/2023-10-29-why-is-yazi-fast.md",source:"@site/blog/2023-10-29-why-is-yazi-fast.md",title:"Why is Yazi fast?",description:"This article assumes that you have already used Yazi and are familiar with most of its features.",date:"2023-10-29T00:00:00.000Z",formattedDate:"October 29, 2023",tags:[],readingTime:4.88,hasTruncateMarker:!1,authors:[{name:"\u4e09\u54b2\u96c5 \xb7 Misaki Masa",title:"Creator of Yazi",url:"https://github.com/sxyazi",imageURL:"https://github.com/sxyazi.png",key:"sxyazi"}],frontMatter:{slug:"why-is-yazi-fast",title:"Why is Yazi fast?",authors:["sxyazi"]},unlisted:!1},l={authorsImageUrls:[void 0]},c=[{value:"Tokio",id:"tokio",level:2},{value:"Pre-Caching",id:"pre-caching",level:2},{value:"Discardable Tasks",id:"discardable-tasks",level:2},{value:"Code Highlighting",id:"code-highlighting",level:2},{value:"Image Preview",id:"image-preview",level:2},{value:"Async Task Scheduling",id:"async-task-scheduling",level:2},{value:"TODO",id:"todo",level:2}];function h(e){const i={a:"a",code:"code",em:"em",h2:"h2",li:"li",p:"p",ul:"ul",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.p,{children:"This article assumes that you have already used Yazi and are familiar with most of its features."}),"\n",(0,t.jsx)(i.p,{children:"Yazi has undergone significant optimizations to enhance user experience. It is designed entirely as an async program, handling all time-consuming tasks (I/O and CPU) as async tasks in a non-blocking, event-driven manner."}),"\n",(0,t.jsx)(i.h2,{id:"tokio",children:"Tokio"}),"\n",(0,t.jsx)(i.p,{children:'Internally, Yazi uses Tokio as its async runtime: hold on! Tokio\'s async may not be "truly async" as you might perceive it!'}),"\n",(0,t.jsx)(i.p,{children:"Uh, okay. From an application-layer perspective, it indeed is async; however, from a system-level view, there are possibly better solutions."}),"\n",(0,t.jsxs)(i.p,{children:["But! This is not the current performance bottleneck for Yazi. Considering Yazi is a TUI app, unlike CLI programs like ",(0,t.jsx)(i.code,{children:"ls"})," and ",(0,t.jsx)(i.code,{children:"exa"})," that need to output all files immediately, Yazi has more optimization opportunities at the application-layer:"]}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["For large directories (e.g., 100,000 files), Yazi uses ",(0,t.jsx)(i.a,{href:"https://github.com/sxyazi/yazi/pull/117",children:"chunked loading"}),", which is unmatched by ",(0,t.jsx)(i.code,{children:"ls"})," and ",(0,t.jsx)(i.code,{children:"exa"})," since they must load everything at once."]}),"\n",(0,t.jsxs)(i.li,{children:["Yazi also preloads directory file lists in the background, an optimization that ",(0,t.jsx)(i.code,{children:"ls"})," and ",(0,t.jsx)(i.code,{children:"exa"})," do not possess."]}),"\n"]}),"\n",(0,t.jsx)(i.p,{children:"I must express my gratitude to Tokio for providing an excellent and convenient way to realize these application-layer optimizations."}),"\n",(0,t.jsxs)(i.p,{children:["I believe that the benefits brought by these application-level optimizations are more noticeable compared to switching to solutions like ",(0,t.jsx)(i.code,{children:"io_uring"}),". But I remain open to this and welcome constructive PR."]}),"\n",(0,t.jsxs)(i.p,{children:["Here is a relevant discussion on Reddit: ",(0,t.jsx)(i.a,{href:"https://www.reddit.com/r/rust/comments/16fxr58/comment/k066gmh/",children:"reddit.com/r/rust/comments/16fxr58/comment/k066gmh"})]}),"\n",(0,t.jsx)(i.h2,{id:"pre-caching",children:"Pre-Caching"}),"\n",(0,t.jsx)(i.p,{children:"Yazi provides pre-caching mechanisms for the following data:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["Mimetype: The baseline. Yazi uses the file's mimetype as a reference for tasks such as opening, previewing, and style rendering, and internally utilizes ",(0,t.jsx)(i.code,{children:"file(1)"})," to obtain the file's mimetype."]}),"\n",(0,t.jsx)(i.li,{children:"Image: To accelerate image previews, Yazi employs a 2-pass process for image files. The first pass is preprocessing, which downscales the image based on user-set max_width/max_height and generates a compressed lossy image as a cache file, significantly reducing file size. The second pass occurs when the user actually switches to the file and downscales it again to fit the terminal size."}),"\n",(0,t.jsx)(i.li,{children:"Video: To speed up video previews, Yazi pre-converts them into images and goes through the first pass of image processing. When the user needs to display the video, it undergoes the same second pass."}),"\n",(0,t.jsx)(i.li,{children:"PDF: Similar to video."}),"\n",(0,t.jsx)(i.li,{children:"Directory size: Yazi lazily calculates the directory size only when the user sets sorting by file size, as it is a time-consuming operation."}),"\n"]}),"\n",(0,t.jsx)(i.p,{children:"Note: Except for size, all of these are scoped, meaning that when you are on the first page, only the first few files will be pre-cached."}),"\n",(0,t.jsx)(i.p,{children:"For example, if your directory has 1000 files, your terminal height is 10, and you are on the second page, only files 11 to 20 will be processed. This greatly saves resources."}),"\n",(0,t.jsx)(i.h2,{id:"discardable-tasks",children:"Discardable Tasks"}),"\n",(0,t.jsx)(i.p,{children:"Every preview task is discardable. When you navigate quickly between files and the previous file's triggered preview task is still not finished, it will be discarded directly, initiating a new task."}),"\n",(0,t.jsxs)(i.p,{children:["This promotes resource utilization. For I/O tasks like loading directory lists, Tokio's ",(0,t.jsx)(i.code,{children:"abort"})," is used; for CPU tasks like code highlighting, an ",(0,t.jsx)(i.code,{children:"Atomic"})," is used to record a ",(0,t.jsx)(i.code,{children:"ticket"}),", and it checks if the value changes on each line code highlight. If it changes, it indicates that the current context has changed, and the entire highlighting task is discarded."]}),"\n",(0,t.jsx)(i.h2,{id:"code-highlighting",children:"Code Highlighting"}),"\n",(0,t.jsx)(i.p,{children:"Yazi has built-in code highlighting and keeps it to a minimum for all text files: if your terminal height is 10, only the first 10 lines of the file are read and highlighted."}),"\n",(0,t.jsxs)(i.p,{children:["Other file managers that rely on external programs like ",(0,t.jsx)(i.code,{children:"bat"})," need to wait for ",(0,t.jsx)(i.code,{children:"bat"})," to finish highlighting the ",(0,t.jsx)(i.em,{children:"entire file"})," before displaying only the first 10 lines."]}),"\n",(0,t.jsxs)(i.p,{children:["In cases like JSON that require external program ",(0,t.jsx)(i.code,{children:"jq"}),", Yazi kills ",(0,t.jsx)(i.code,{children:"jq"})," directly after reading the first 10 lines to avoid unnecessary resource consumption."]}),"\n",(0,t.jsx)(i.p,{children:"Since code highlighting is a CPU-intensive task, it is distributed among multiple blocking threads, managed through Tokio's spawn_blocking, and is also discardable."}),"\n",(0,t.jsx)(i.h2,{id:"image-preview",children:"Image Preview"}),"\n",(0,t.jsx)(i.p,{children:"Yazi not only has built-in code highlighting but also includes image encoding and downscaling - there is likely nothing faster than having it directly built-in. It is also distributed among multiple threads and is discardable."}),"\n",(0,t.jsx)(i.p,{children:"Besides being fast, Yazi's built-in Terminal graphics protocol, Inline images protocol, and Sixel graphics format allow Yazi to finely control when to display or hide images."}),"\n",(0,t.jsxs)(i.p,{children:["This ensures that in Yazi, there won't be issues, like images stacking on top of each other, or image escape code breaking the entire screen, when quickly navigating through images, as ",(0,t.jsx)(i.code,{children:"stdout"})," is locked while outputting these escape codes. This locking happens after all image data is prepared, so it has no impact on performance."]}),"\n",(0,t.jsx)(i.h2,{id:"async-task-scheduling",children:"Async Task Scheduling"}),"\n",(0,t.jsx)(i.p,{children:"In Yazi, tasks are automatically prioritized based on their severity. Yazi categorizes tasks into two types:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Macro tasks: Large and heavy tasks, such as copying large files, typically taking a long time to complete."}),"\n",(0,t.jsx)(i.li,{children:"Micro tasks: Small and urgent tasks, such as fetching file mimetype, pre-caching images, calculating directory size, and so on."}),"\n"]}),"\n",(0,t.jsx)(i.p,{children:"This is similar to having big and small cores in a CPU; when the big cores are idle, they help with the micro tasks. Yazi defaults to starting 5 micro workers and 10 macro workers, and these numbers can be configured by the user!"}),"\n",(0,t.jsx)(i.p,{children:"For complex tasks like file copying, a combination of micro and macro approaches is employed. Micro is used to recursively gather a list of all files to be copied, allowing users to see the number of tasks and their sizes in advance. Macro, on the other hand, handles the actual copying process."}),"\n",(0,t.jsx)(i.p,{children:"The advantage of task scheduling extends beyond providing ample concurrency for I/O and CPU resources; it also indirectly mitigates the depletion of system resources (such as file handles and CPU) due to sudden task surges."}),"\n",(0,t.jsx)(i.h2,{id:"todo",children:"TODO"}),"\n",(0,t.jsx)(i.p,{children:"I'll find time to continue writing."})]})}function d(e={}){const{wrapper:i}={...(0,a.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},6225:(e,i,s)=>{s.d(i,{Z:()=>o,a:()=>r});var t=s(959);const a={},n=t.createContext(a);function r(e){const i=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),t.createElement(n.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3b8c55ea.b2fa27ec.js b/assets/js/3b8c55ea.b2fa27ec.js new file mode 100644 index 000000000..2daf385cb --- /dev/null +++ b/assets/js/3b8c55ea.b2fa27ec.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[217],{5203:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>t,toc:()=>c});var s=i(1527),a=i(6225);const l={sidebar_position:1,description:"How to install Yazi on various operating systems."},r="Installation",t={id:"installation",title:"Installation",description:"How to install Yazi on various operating systems.",source:"@site/docs/installation.md",sourceDirName:".",slug:"/installation",permalink:"/docs/installation",draft:!1,unlisted:!1,editUrl:"https://github.com/yazi-rs/yazi-rs.github.io/edit/main/docs/installation.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,description:"How to install Yazi on various operating systems."},sidebar:"docsSidebar",next:{title:"Quick Start",permalink:"/docs/quick-start"}},o={},c=[{value:"Arch Linux",id:"arch-linux",level:2},{value:"macOS",id:"macos",level:2},{value:"Nix",id:"nix",level:2},{value:"NetBSD",id:"netbsd",level:2},{value:"Windows",id:"windows",level:2},{value:"AOSC OS",id:"aosc-os",level:2},{value:"Official binaries",id:"official-binaries",level:2},{value:"Cargo",id:"cargo",level:2},{value:"Build from source",id:"build-from-source",level:2}];function d(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"installation",children:"Installation"}),"\n",(0,s.jsx)(n.p,{children:"Prerequisites:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"file (required, for file type detection)"}),"\n",(0,s.jsxs)(n.li,{children:["nerd-fonts (",(0,s.jsx)(n.a,{href:"/docs/faq#i-dont-like-nerdfonts",children:(0,s.jsx)(n.em,{children:"optional"})}),")"]}),"\n",(0,s.jsxs)(n.li,{children:["ffmpegthumbnailer (",(0,s.jsx)(n.em,{children:"optional"}),", for video thumbnails)"]}),"\n",(0,s.jsxs)(n.li,{children:["unar (",(0,s.jsx)(n.em,{children:"optional"}),", for archive preview)"]}),"\n",(0,s.jsxs)(n.li,{children:["jq (",(0,s.jsx)(n.em,{children:"optional"}),", for JSON preview)"]}),"\n",(0,s.jsxs)(n.li,{children:["poppler (",(0,s.jsx)(n.em,{children:"optional"}),", for PDF preview)"]}),"\n",(0,s.jsxs)(n.li,{children:["fd (",(0,s.jsx)(n.em,{children:"optional"}),", for file searching)"]}),"\n",(0,s.jsxs)(n.li,{children:["rg (",(0,s.jsx)(n.em,{children:"optional"}),", for file content searching)"]}),"\n",(0,s.jsxs)(n.li,{children:["fzf (",(0,s.jsx)(n.em,{children:"optional"}),", for quick file subtree navigation)"]}),"\n",(0,s.jsxs)(n.li,{children:["zoxide (",(0,s.jsx)(n.em,{children:"optional"}),", for historical directories navigation)"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"arch-linux",children:"Arch Linux"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"sudo pacman -S yazi ffmpegthumbnailer unarchiver jq poppler fd ripgrep fzf zoxide\n"})}),"\n",(0,s.jsxs)(n.p,{children:["If you want to use the latest git version, you can install it from ",(0,s.jsx)(n.a,{href:"https://aur.archlinux.org/packages/yazi-git/",children:"AUR"})," or ",(0,s.jsx)(n.a,{href:"https://github.com/archlinuxcn/repo/",children:"Arch Linux CN"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"paru -S yazi-git ffmpegthumbnailer unarchiver jq poppler fd ripgrep fzf zoxide\n"})}),"\n",(0,s.jsx)(n.h2,{id:"macos",children:"macOS"}),"\n",(0,s.jsx)(n.p,{children:"Install Yazi and its dependencies with Homebrew:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"brew update\nbrew install yazi ffmpegthumbnailer unar jq poppler fd ripgrep fzf zoxide\nbrew tap homebrew/cask-fonts && brew install --cask font-symbols-only-nerd-font\n"})}),"\n",(0,s.jsxs)(n.p,{children:["If you prefer to use the most recent code, use ",(0,s.jsx)(n.code,{children:"--HEAD"})," flag:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"brew install yazi --HEAD\n"})}),"\n",(0,s.jsx)(n.h2,{id:"nix",children:"Nix"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.a,{href:"https://search.nixos.org/packages?channel=unstable&show=yazi",children:"Nix package of Yazi"})," is available. Nix users can install Yazi via:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# On NixOS:\nnix-env -iA nixos.yazi\n\n# On Non NixOS:\nnix-env -iA nixpkgs.yazi\n"})}),"\n",(0,s.jsx)(n.p,{children:"Or add the following to your configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-nix",children:"# configuration.nix\nenvironment.systemPackages = with pkgs; [\n\tyazi\n];\n"})}),"\n",(0,s.jsxs)(n.p,{children:["You can also manage Yazi's configuration using the\n",(0,s.jsx)(n.a,{href:"https://nix-community.github.io/home-manager/options.html#opt-programs.yazi.enable",children:"home-manager"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"netbsd",children:"NetBSD"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"pkgin install yazi\n"})}),"\n",(0,s.jsx)(n.h2,{id:"windows",children:"Windows"}),"\n",(0,s.jsxs)(n.p,{children:["See ",(0,s.jsx)(n.a,{href:"https://github.com/sxyazi/yazi/wiki/Windows-Installation-Guide",children:"Windows Installation Guide"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"aosc-os",children:"AOSC OS"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"sudo oma install yazi\n"})}),"\n",(0,s.jsx)(n.h2,{id:"official-binaries",children:"Official binaries"}),"\n",(0,s.jsxs)(n.p,{children:["You can download the latest official binaries from ",(0,s.jsx)(n.a,{href:"https://github.com/sxyazi/yazi/releases",children:"GitHub Releases"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"cargo",children:"Cargo"}),"\n",(0,s.jsx)(n.p,{children:"Setup the latest stable Rust toolchain:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Now you can install ",(0,s.jsx)(n.code,{children:"yazi-fm"})," from ",(0,s.jsx)(n.a,{href:"https://crates.io/crates/yazi-fm",children:"crates.io"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"cargo install --locked yazi-fm\n"})}),"\n",(0,s.jsx)(n.p,{children:"Or install the latest git version:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"cargo install --locked --git https://github.com/sxyazi/yazi.git\n"})}),"\n",(0,s.jsxs)(n.p,{children:["If it fails to build, please check if ",(0,s.jsx)(n.code,{children:"make"})," and ",(0,s.jsx)(n.code,{children:"gcc"})," is installed on your system."]}),"\n",(0,s.jsx)(n.h2,{id:"build-from-source",children:"Build from source"}),"\n",(0,s.jsx)(n.p,{children:"Setup the latest stable Rust toolchain:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n"})}),"\n",(0,s.jsx)(n.p,{children:"Clone the repository and build Yazi:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/sxyazi/yazi.git\ncd yazi\ncargo build --release\n"})}),"\n",(0,s.jsx)(n.p,{children:"Then, you can run:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"./target/release/yazi\n"})}),"\n",(0,s.jsxs)(n.p,{children:["If it fails to build, please check if ",(0,s.jsx)(n.code,{children:"make"})," and ",(0,s.jsx)(n.code,{children:"gcc"})," is installed on your system."]})]})}function h(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},6225:(e,n,i)=>{i.d(n,{Z:()=>t,a:()=>r});var s=i(959);const a={},l=s.createContext(a);function r(e){const n=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/468e7028.0b264781.js b/assets/js/468e7028.0b264781.js new file mode 100644 index 000000000..26676879e --- /dev/null +++ b/assets/js/468e7028.0b264781.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[871],{7124:(e,n,l)=>{l.r(n),l.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>a,frontMatter:()=>r,metadata:()=>d,toc:()=>c});var i=l(1527),s=l(6225);const r={sidebar_position:3,description:"Learn how to configure your Yazi theme."},t="theme.toml",d={id:"configuration/theme",title:"theme.toml",description:"Learn how to configure your Yazi theme.",source:"@site/docs/configuration/theme.md",sourceDirName:"configuration",slug:"/configuration/theme",permalink:"/docs/configuration/theme",draft:!1,unlisted:!1,editUrl:"https://github.com/yazi-rs/yazi-rs.github.io/edit/main/docs/configuration/theme.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,description:"Learn how to configure your Yazi theme."},sidebar:"docsSidebar",previous:{title:"keymap.toml",permalink:"/docs/configuration/keymap"},next:{title:"Plugin",permalink:"/docs/plugin/overview"}},o={},c=[{value:"Types",id:"types",level:2},{value:"[manager]",id:"manager",level:2},{value:"[status]",id:"status",level:2},{value:"[select]",id:"select",level:2},{value:"[input]",id:"input",level:2},{value:"[completion]",id:"completion",level:2},{value:"[tasks]",id:"tasks",level:2},{value:"[which]",id:"which",level:2},{value:"[help]",id:"help",level:2},{value:"[filetype]",id:"filetype",level:2},{value:"[icons]",id:"icons",level:2}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"themetoml",children:"theme.toml"}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["If you're looking for ready-made themes and don't want to create one yourself, check out ",(0,i.jsx)(n.a,{href:"https://github.com/yazi-rs/themes",children:"yazi-rs/themes"})," repo."]})}),"\n",(0,i.jsx)(n.h2,{id:"types",children:"Types"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Color: A color. It can be in Hex format with RGB values, such as ",(0,i.jsx)(n.code,{children:"#484D66"}),". Or can be one of the following 17 values:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"reset"}),"\n",(0,i.jsx)(n.li,{children:"black"}),"\n",(0,i.jsx)(n.li,{children:"white"}),"\n",(0,i.jsx)(n.li,{children:"red"}),"\n",(0,i.jsx)(n.li,{children:"lightred"}),"\n",(0,i.jsx)(n.li,{children:"green"}),"\n",(0,i.jsx)(n.li,{children:"lightgreen"}),"\n",(0,i.jsx)(n.li,{children:"yellow"}),"\n",(0,i.jsx)(n.li,{children:"lightyellow"}),"\n",(0,i.jsx)(n.li,{children:"blue"}),"\n",(0,i.jsx)(n.li,{children:"lightblue"}),"\n",(0,i.jsx)(n.li,{children:"magenta"}),"\n",(0,i.jsx)(n.li,{children:"lightmagenta"}),"\n",(0,i.jsx)(n.li,{children:"cyan"}),"\n",(0,i.jsx)(n.li,{children:"lightcyan"}),"\n",(0,i.jsx)(n.li,{children:"gray"}),"\n",(0,i.jsx)(n.li,{children:"darkgray"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Style: Appears in a format similar to ",(0,i.jsx)(n.code,{children:'{ fg = "#e4e4e4", bg = "black", ... }'}),", and supports the following properties:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"fg (Color): Foreground color"}),"\n",(0,i.jsx)(n.li,{children:"bg (Color): Background color"}),"\n",(0,i.jsx)(n.li,{children:"bold (Boolean): Bold"}),"\n",(0,i.jsx)(n.li,{children:"dim (Boolean): Dim (not supported by all terminals)"}),"\n",(0,i.jsx)(n.li,{children:"italic (Boolean): Italic"}),"\n",(0,i.jsx)(n.li,{children:"underline (Boolean): Underline"}),"\n",(0,i.jsx)(n.li,{children:"blink (Boolean): Blink"}),"\n",(0,i.jsx)(n.li,{children:"blink_rapid (Boolean): Rapid blink"}),"\n",(0,i.jsx)(n.li,{children:"reversed (Boolean): Reversed foreground and background colors"}),"\n",(0,i.jsx)(n.li,{children:"hidden (Boolean): Hidden"}),"\n",(0,i.jsx)(n.li,{children:"crossed (Boolean): Crossed out"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"manager",children:"[manager]"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"cwd (Style): CWD text style."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Hovered:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"hovered (Style): Hovered file style."}),"\n",(0,i.jsx)(n.li,{children:"preview_hovered (Style): Hovered file style, in the preview pane."}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Find: The ",(0,i.jsx)(n.code,{children:"find"})," feature"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"find_keyword (Style): Style of the highlighted portion in the filename."}),"\n",(0,i.jsx)(n.li,{children:"find_position (Style): Style of current file location in all found files to the right of the filename."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Marker: Color block on the left side separator line in the filename."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"marker_selected (Style): Selected file marker style."}),"\n",(0,i.jsx)(n.li,{children:"marker_copied (Style): Copied file marker style."}),"\n",(0,i.jsx)(n.li,{children:"marker_cut (Style): Cut file marker style."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Tab: Tab bar"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"tab_active (Style): Active tab style."}),"\n",(0,i.jsx)(n.li,{children:"tab_inactive (Style): Inactive tab style."}),"\n",(0,i.jsx)(n.li,{children:"tab_width (Style): Tab maximum width. When set to a value greater than 2, the remaining space will be filled with the tab name, which is current directory name."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Border:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["border_symbol (String): Border symbol. e.g. ",(0,i.jsx)(n.code,{children:'"\u2502"'}),"."]}),"\n",(0,i.jsx)(n.li,{children:"border_style (Style): Border style."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Highlighting: The built-in syntax highlighting feature"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["syntect_theme (String): Theme file path. Since Yazi and ",(0,i.jsx)(n.code,{children:"bat"})," use the same highlighter, so you can directly use bat's theme files, such as ",(0,i.jsx)(n.code,{children:"~/.config/bat/themes/Catppuccino-mocha.tmTheme"}),"."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"status",children:"[status]"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["separator_open (String): Opening separator symbol. e.g. ",(0,i.jsx)(n.code,{children:'"["'}),"."]}),"\n",(0,i.jsxs)(n.li,{children:["separator_close (String): Closing separator symbol. e.g. ",(0,i.jsx)(n.code,{children:'"]"'}),"."]}),"\n",(0,i.jsx)(n.li,{children:"separator_style (Style): Separator style."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Mode"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"mode_normal (Style): Normal mode style."}),"\n",(0,i.jsx)(n.li,{children:"mode_select (Style): Select mode style."}),"\n",(0,i.jsx)(n.li,{children:"mode_unset (Style): Unset mode style."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Progress"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"progress_label (Style): Progress label style."}),"\n",(0,i.jsx)(n.li,{children:"progress_normal (Style): Style of the progress bar when it is not in an error state."}),"\n",(0,i.jsx)(n.li,{children:"progress_error (Style): Style of the progress bar when an error occurs."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Permissions"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"permissions_t (Style): File type."}),"\n",(0,i.jsx)(n.li,{children:"permissions_r (Style): Read permission."}),"\n",(0,i.jsx)(n.li,{children:"permissions_w (Style): Write permission."}),"\n",(0,i.jsx)(n.li,{children:"permissions_x (Style): Execute permission."}),"\n",(0,i.jsxs)(n.li,{children:["permissions_s (Style): ",(0,i.jsx)(n.code,{children:"-"})," separator."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"select",children:"[select]"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"border (Style): Border style."}),"\n",(0,i.jsx)(n.li,{children:"active (Style): Selected item style."}),"\n",(0,i.jsx)(n.li,{children:"inactive (Style): Unselected item style."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"input",children:"[input]"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"border (Style): Border style."}),"\n",(0,i.jsx)(n.li,{children:"title (Style): Title style."}),"\n",(0,i.jsx)(n.li,{children:"value (Style): Value style."}),"\n",(0,i.jsx)(n.li,{children:"selected (Style): Selected value style."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"completion",children:"[completion]"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"border (Style): Border style."}),"\n",(0,i.jsx)(n.li,{children:"active (Style): Selected item style."}),"\n",(0,i.jsx)(n.li,{children:"inactive (Style): Unselected item style."}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Icons"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"icon_file (String): File icon."}),"\n",(0,i.jsx)(n.li,{children:"icon_folder (String): Folder icon."}),"\n",(0,i.jsx)(n.li,{children:"icon_command (String): Command icon."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"tasks",children:"[tasks]"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"border (Style): Border style."}),"\n",(0,i.jsx)(n.li,{children:"title (Style): Title style."}),"\n",(0,i.jsx)(n.li,{children:"hovered (Style): Hovered item style."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"which",children:"[which]"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"mask (Style): Mask style."}),"\n",(0,i.jsx)(n.li,{children:"cand (Style): Candidate key style."}),"\n",(0,i.jsx)(n.li,{children:"rest (Style): Rest key style."}),"\n",(0,i.jsx)(n.li,{children:"desc (Style): Description style."}),"\n",(0,i.jsxs)(n.li,{children:["separator (String): Separator symbol. e.g. ",(0,i.jsx)(n.code,{children:'" -> "'}),"."]}),"\n",(0,i.jsx)(n.li,{children:"separator_style (Style): Separator style."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"help",children:"[help]"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"on (Style): Key column style."}),"\n",(0,i.jsx)(n.li,{children:"exec (Style): Command column style."}),"\n",(0,i.jsx)(n.li,{children:"desc (Style): Description column style."}),"\n",(0,i.jsx)(n.li,{children:"hovered (Style): Hovered item style."}),"\n",(0,i.jsx)(n.li,{children:"footer (Style): Footer style."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"filetype",children:"[filetype]"}),"\n",(0,i.jsx)(n.p,{children:"Set file list item display styles for specific file types, supporting matching by name and mime-type:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-toml",children:'[filetype]\nrules = [\n\t# Images\n\t{ mime = "image/*", fg = "cyan" },\n\n\t# Videos\n\t{ mime = "video/*", fg = "yellow" },\n\t{ mime = "audio/*", fg = "yellow" },\n\n\t# ...\n\n\t# Fallback\n\t# { name = "*", fg = "white" },\n\t{ name = "*/", fg = "blue" }\n]\n'})}),"\n",(0,i.jsxs)(n.p,{children:["Each rule supports complete ",(0,i.jsx)(n.a,{href:"#Types",children:"Style properties"}),". There are two special rule:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:'name = "*"'})," matches all files."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:'name = "*/"'})," matches all directories."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"icons",children:"[icons]"}),"\n",(0,i.jsxs)(n.p,{children:["Display different icons based on file name rules, noting that the ",(0,i.jsx)(n.code,{children:"/"})," after the name signifies that it must be a directory."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-toml",children:'[icons]\n"Desktop/" = "\uf108"\n"*.rs" = "\ue7a8"\n# ...\n\n# Default\n"*" = "\uf15b"\n"*/" = "\uf115"\n'})}),"\n",(0,i.jsxs)(n.p,{children:["Similarly, ",(0,i.jsx)(n.code,{children:"*"})," and ",(0,i.jsx)(n.code,{children:"*/"})," can be used for fallback matching all files and all directories."]}),"\n",(0,i.jsxs)(n.p,{children:["The above rules use icons from ",(0,i.jsx)(n.a,{href:"https://www.nerdfonts.com",children:"Nerd Fonts"}),", and they will not display properly if you don't have a Nerd Font installed."]})]})}function a(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},6225:(e,n,l)=>{l.d(n,{Z:()=>d,a:()=>t});var i=l(959);const s={},r=i.createContext(s);function t(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4a2fc4aa.416a51ae.js b/assets/js/4a2fc4aa.416a51ae.js new file mode 100644 index 000000000..cf320b61d --- /dev/null +++ b/assets/js/4a2fc4aa.416a51ae.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[124],{3769:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/5e95c892.8118ed08.js b/assets/js/5e95c892.8118ed08.js new file mode 100644 index 000000000..ca7ca0cf4 --- /dev/null +++ b/assets/js/5e95c892.8118ed08.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[661],{395:(e,s,r)=>{r.r(s),r.d(s,{default:()=>d});r(959);var u=r(5341),a=r(726),c=r(7839),n=r(3797),t=r(7792),l=r(1527);function d(e){return(0,l.jsx)(a.FG,{className:(0,u.Z)(c.k.wrapper.docsPages),children:(0,l.jsx)(t.Z,{children:(0,n.H)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/assets/js/629.32e568ff.js b/assets/js/629.32e568ff.js new file mode 100644 index 000000000..60853397a --- /dev/null +++ b/assets/js/629.32e568ff.js @@ -0,0 +1 @@ +(self.webpackChunk=self.webpackChunk||[]).push([[629],{9302:(e,t,n)=>{"use strict";n.d(t,{Z:()=>E});var s=n(959),o=n(1527);function a(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),a=t.filter((e=>e!==n)),c=n?.props.children;return{mdxAdmonitionTitle:c,rest:a.length>0?(0,o.jsx)(o.Fragment,{children:a}):null}}(e.children),a=e.title??t;return{...e,...a&&{title:a},children:n}}var c=n(5341),i=n(9111),r=n(7839);const l={admonition:"admonition_zSC8",admonitionHeading:"admonitionHeading_k0u6",admonitionIcon:"admonitionIcon_APvl",admonitionContent:"admonitionContent_opPc"};function d(e){let{type:t,className:n,children:s}=e;return(0,o.jsx)("div",{className:(0,c.Z)(r.k.common.admonition,r.k.common.admonitionType(t),l.admonition,n),children:s})}function u(e){let{icon:t,title:n}=e;return(0,o.jsxs)("div",{className:l.admonitionHeading,children:[(0,o.jsx)("span",{className:l.admonitionIcon,children:t}),n]})}function m(e){let{children:t}=e;return t?(0,o.jsx)("div",{className:l.admonitionContent,children:t}):null}function h(e){const{type:t,icon:n,title:s,children:a,className:c}=e;return(0,o.jsxs)(d,{type:t,className:c,children:[(0,o.jsx)(u,{title:s,icon:n}),(0,o.jsx)(m,{children:a})]})}function p(e){return(0,o.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const f={icon:(0,o.jsx)(p,{}),title:(0,o.jsx)(i.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function g(e){return(0,o.jsx)(h,{...f,...e,className:(0,c.Z)("alert alert--secondary",e.className),children:e.children})}function x(e){return(0,o.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const j={icon:(0,o.jsx)(x,{}),title:(0,o.jsx)(i.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function b(e){return(0,o.jsx)(h,{...j,...e,className:(0,c.Z)("alert alert--success",e.className),children:e.children})}function v(e){return(0,o.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const N={icon:(0,o.jsx)(v,{}),title:(0,o.jsx)(i.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function k(e){return(0,o.jsx)(h,{...N,...e,className:(0,c.Z)("alert alert--info",e.className),children:e.children})}function y(e){return(0,o.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const C={icon:(0,o.jsx)(y,{}),title:(0,o.jsx)(i.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function B(e){return(0,o.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const w={icon:(0,o.jsx)(B,{}),title:(0,o.jsx)(i.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const Z={icon:(0,o.jsx)(y,{}),title:(0,o.jsx)(i.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const L={...{note:g,tip:b,info:k,warning:function(e){return(0,o.jsx)(h,{...C,...e,className:(0,c.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,o.jsx)(h,{...w,...e,className:(0,c.Z)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,o.jsx)(g,{title:"secondary",...e}),important:e=>(0,o.jsx)(k,{title:"important",...e}),success:e=>(0,o.jsx)(b,{title:"success",...e}),caution:function(e){return(0,o.jsx)(h,{...Z,...e,className:(0,c.Z)("alert alert--warning",e.className),children:e.children})}}};function E(e){const t=a(e),n=(s=t.type,L[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),L.info));var s;return(0,o.jsx)(n,{...t})}},8746:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});n(959);var s=n(9111),o=n(7839),a=n(6626),c=n(5341);const i={iconEdit:"iconEdit_LzJe"};var r=n(1527);function l(e){let{className:t,...n}=e;return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,c.Z)(i.iconEdit,t),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,r.jsxs)(a.Z,{to:t,className:o.k.common.editThisPage,children:[(0,r.jsx)(l,{}),(0,r.jsx)(s.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}},6051:(e,t,n)=>{"use strict";n.d(t,{Z:()=>ie});var s=n(959),o=n(6225),a=n(5655),c=n(9027),i=n(5341),r=n(1059),l=n(842);function d(){const{prism:e}=(0,l.L)(),{colorMode:t}=(0,r.I)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var u=n(7839),m=n(7226),h=n.n(m);const p=/title=(?["'])(?.*?)\1/,f=/\{(?<range>[\d,-]+)\}/,g={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},x={...g,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},j=Object.keys(g);function b(e,t){const n=e.map((e=>{const{start:n,end:s}=x[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function v(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:o,metastring:a}=t;if(a&&f.test(a)){const e=a.match(f).groups.range;if(0===o.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${a}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=o[0].className,s=h()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const c=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return b(["js","jsBlock"],t);case"jsx":case"tsx":return b(["js","jsBlock","jsx"],t);case"html":return b(["js","jsBlock","html"],t);case"python":case"py":case"bash":return b(["bash"],t);case"markdown":case"md":return b(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return b(["tex"],t);case"lua":case"haskell":case"sql":return b(["lua"],t);case"wasm":return b(["wasm"],t);case"vb":case"vbnet":case"vba":case"visual-basic":return b(["vb","rem"],t);case"batch":return b(["rem"],t);case"basic":return b(["rem","f90"],t);case"fsharp":return b(["js","ml"],t);case"ocaml":case"sml":return b(["ml"],t);case"fortran":return b(["f90"],t);case"cobol":return b(["cobol"],t);default:return b(j,t)}}(s,o),i=n.split("\n"),r=Object.fromEntries(o.map((e=>[e.className,{start:0,range:""}]))),l=Object.fromEntries(o.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;h<i.length;){const e=i[h].match(c);if(!e){h+=1;continue}const t=e.slice(1).find((e=>void 0!==e));l[t]?r[l[t]].range+=`${h},`:d[t]?r[d[t]].start=h:u[t]&&(r[u[t]].range+=`${r[u[t]].start}-${h-1},`),i.splice(h,1)}n=i.join("\n");const m={};return Object.entries(r).forEach((e=>{let[t,{range:n}]=e;h()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const N={codeBlockContainer:"codeBlockContainer_vocU"};var k=n(1527);function y(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,o]=e;const a=t[s];a&&"string"==typeof o&&(n[a]=o)})),n}(d());return(0,k.jsx)(t,{...n,style:s,className:(0,i.Z)(n.className,N.codeBlockContainer,u.k.common.codeBlock)})}const C={codeBlockContent:"codeBlockContent_cjU_",codeBlockTitle:"codeBlockTitle_rQ4W",codeBlock:"codeBlock_sODX",codeBlockStandalone:"codeBlockStandalone_ABMF",codeBlockLines:"codeBlockLines_noJQ",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_rItn",buttonGroup:"buttonGroup_fIMt"};function B(e){let{children:t,className:n}=e;return(0,k.jsx)(y,{as:"pre",tabIndex:0,className:(0,i.Z)(C.codeBlockStandalone,"thin-scrollbar",n),children:(0,k.jsx)("code",{className:C.codeBlockLines,children:t})})}var w=n(4194);const Z={attributes:!0,characterData:!0,childList:!0,subtree:!0};function L(e,t){const[n,o]=(0,s.useState)(),a=(0,s.useCallback)((()=>{o(e.current?.closest("[role=tabpanel][hidden]"))}),[e,o]);(0,s.useEffect)((()=>{a()}),[a]),function(e,t,n){void 0===n&&(n=Z);const o=(0,w.zX)(t),a=(0,w.Ql)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(o);return e&&t.observe(e,a),()=>t.disconnect()}),[e,o,a])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),a())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var E=n(2281);const _={codeLine:"codeLine__qcx",codeLineNumber:"codeLineNumber_zhUG",codeLineContent:"codeLineContent_EAHY"};function T(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:o,getTokenProps:a}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const c=o({line:t,className:(0,i.Z)(n,s&&_.codeLine)}),r=t.map(((e,t)=>(0,k.jsx)("span",{...a({token:e,key:t})},t)));return(0,k.jsxs)("span",{...c,children:[s?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)("span",{className:_.codeLineNumber}),(0,k.jsx)("span",{className:_.codeLineContent,children:r})]}):r,(0,k.jsx)("br",{})]})}var z=n(9111);function I(e){return(0,k.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,k.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function A(e){return(0,k.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,k.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const S={copyButtonCopied:"copyButtonCopied_SOFy",copyButtonIcons:"copyButtonIcons_s68s",copyButtonIcon:"copyButtonIcon_OUTw",copyButtonSuccessIcon:"copyButtonSuccessIcon_WF0B"};function M(e){let{code:t,className:n}=e;const[o,a]=(0,s.useState)(!1),c=(0,s.useRef)(void 0),r=(0,s.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),o=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const a=document.getSelection(),c=a.rangeCount>0&&a.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let i=!1;try{i=document.execCommand("copy")}catch{}s.remove(),c&&(a.removeAllRanges(),a.addRange(c)),o&&o.focus()}(t),a(!0),c.current=window.setTimeout((()=>{a(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(c.current)),[]),(0,k.jsx)("button",{type:"button","aria-label":o?(0,z.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,z.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,z.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.Z)("clean-btn",n,S.copyButton,o&&S.copyButtonCopied),onClick:r,children:(0,k.jsxs)("span",{className:S.copyButtonIcons,"aria-hidden":"true",children:[(0,k.jsx)(I,{className:S.copyButtonIcon}),(0,k.jsx)(A,{className:S.copyButtonSuccessIcon})]})})}function H(e){return(0,k.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,k.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const R={wordWrapButtonIcon:"wordWrapButtonIcon_gKMZ",wordWrapButtonEnabled:"wordWrapButtonEnabled_yKdi"};function W(e){let{className:t,onClick:n,isEnabled:s}=e;const o=(0,z.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,k.jsx)("button",{type:"button",onClick:n,className:(0,i.Z)("clean-btn",t,s&&R.wordWrapButtonEnabled),"aria-label":o,title:o,children:(0,k.jsx)(H,{className:R.wordWrapButtonIcon,"aria-hidden":"true"})})}function V(e){let{children:t,className:n="",metastring:o,title:a,showLineNumbers:c,language:r}=e;const{prism:{defaultLanguage:u,magicComments:m}}=(0,l.L)(),h=function(e){return e?.toLowerCase()}(r??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??u),f=d(),g=function(){const[e,t]=(0,s.useState)(!1),[n,o]=(0,s.useState)(!1),a=(0,s.useRef)(null),c=(0,s.useCallback)((()=>{const n=a.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[a,e]),i=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=a.current,n=e>t||a.current.querySelector("code").hasAttribute("style");o(n)}),[a]);return L(a,i),(0,s.useEffect)((()=>{i()}),[e,i]),(0,s.useEffect)((()=>(window.addEventListener("resize",i,{passive:!0}),()=>{window.removeEventListener("resize",i)})),[i]),{codeBlockRef:a,isEnabled:e,isCodeScrollable:n,toggle:c}}(),x=function(e){return e?.match(p)?.groups.title??""}(o)||a,{lineClassNames:j,code:b}=v(t,{metastring:o,language:h,magicComments:m}),N=c??function(e){return Boolean(e?.includes("showLineNumbers"))}(o);return(0,k.jsxs)(y,{as:"div",className:(0,i.Z)(n,h&&!n.includes(`language-${h}`)&&`language-${h}`),children:[x&&(0,k.jsx)("div",{className:C.codeBlockTitle,children:x}),(0,k.jsxs)("div",{className:C.codeBlockContent,children:[(0,k.jsx)(E.y$,{theme:f,code:b,language:h??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:o,getTokenProps:a}=e;return(0,k.jsx)("pre",{tabIndex:0,ref:g.codeBlockRef,className:(0,i.Z)(t,C.codeBlock,"thin-scrollbar"),style:n,children:(0,k.jsx)("code",{className:(0,i.Z)(C.codeBlockLines,N&&C.codeBlockLinesWithNumbering),children:s.map(((e,t)=>(0,k.jsx)(T,{line:e,getLineProps:o,getTokenProps:a,classNames:j[t],showLineNumbers:N},t)))})})}}),(0,k.jsxs)("div",{className:C.buttonGroup,children:[(g.isEnabled||g.isCodeScrollable)&&(0,k.jsx)(W,{className:C.codeButton,onClick:()=>g.toggle(),isEnabled:g.isEnabled}),(0,k.jsx)(M,{className:C.codeButton,code:b})]})]})]})}function $(e){let{children:t,...n}=e;const o=(0,c.Z)(),a=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),i="string"==typeof a?V:B;return(0,k.jsx)(i,{...n,children:a},String(o))}function P(e){return(0,k.jsx)("code",{...e})}var O=n(6626);var D=n(730);const q={details:"details_lZ0B",isBrowser:"isBrowser_no_l",collapsibleContent:"collapsibleContent_VjnQ"};function F(e){return!!e&&("SUMMARY"===e.tagName||F(e.parentElement))}function U(e,t){return!!e&&(e===t||U(e.parentElement,t))}function G(e){let{summary:t,children:n,...o}=e;const a=(0,c.Z)(),r=(0,s.useRef)(null),{collapsed:l,setCollapsed:d}=(0,D.u)({initialState:!o.open}),[u,m]=(0,s.useState)(o.open),h=s.isValidElement(t)?t:(0,k.jsx)("summary",{children:t??"Details"});return(0,k.jsxs)("details",{...o,ref:r,open:u,"data-collapsed":l,className:(0,i.Z)(q.details,a&&q.isBrowser,o.className),onMouseDown:e=>{F(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;F(t)&&U(t,r.current)&&(e.preventDefault(),l?(d(!1),m(!0)):d(!0))},children:[h,(0,k.jsx)(D.z,{lazy:!1,collapsed:l,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{d(e),m(!e)},children:(0,k.jsx)("div",{className:q.collapsibleContent,children:n})})]})}const Q={details:"details_qVgx"},X="alert alert--info";function J(e){let{...t}=e;return(0,k.jsx)(G,{...t,className:(0,i.Z)(X,Q.details,t.className)})}function K(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),o=(0,k.jsx)(k.Fragment,{children:t.filter((e=>e!==n))});return(0,k.jsx)(J,{...e,summary:n,children:o})}var Y=n(1878);function ee(e){return(0,k.jsx)(Y.Z,{...e})}const te={containsTaskList:"containsTaskList_qSAd"};function ne(e){if(void 0!==e)return(0,i.Z)(e,e?.includes("contains-task-list")&&te.containsTaskList)}const se={img:"img_vmPz"};var oe=n(9302),ae=n(8129);const ce={Head:a.Z,details:K,Details:K,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,k.jsx)(P,{...e}):(0,k.jsx)($,{...e})},a:function(e){return(0,k.jsx)(O.Z,{...e})},pre:function(e){return(0,k.jsx)(k.Fragment,{children:e.children})},ul:function(e){return(0,k.jsx)("ul",{...e,className:ne(e.className)})},img:function(e){return(0,k.jsx)("img",{loading:"lazy",...e,className:(t=e.className,(0,i.Z)(t,se.img))});var t},h1:e=>(0,k.jsx)(ee,{as:"h1",...e}),h2:e=>(0,k.jsx)(ee,{as:"h2",...e}),h3:e=>(0,k.jsx)(ee,{as:"h3",...e}),h4:e=>(0,k.jsx)(ee,{as:"h4",...e}),h5:e=>(0,k.jsx)(ee,{as:"h5",...e}),h6:e=>(0,k.jsx)(ee,{as:"h6",...e}),admonition:oe.Z,mermaid:ae.Z};function ie(e){let{children:t}=e;return(0,k.jsx)(o.Z,{components:ce,children:t})}},6151:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(959);var s=n(5341),o=n(6626),a=n(1527);function c(e){const{permalink:t,title:n,subLabel:c,isNext:i}=e;return(0,a.jsxs)(o.Z,{className:(0,s.Z)("pagination-nav__link",i?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[c&&(0,a.jsx)("div",{className:"pagination-nav__sublabel",children:c}),(0,a.jsx)("div",{className:"pagination-nav__label",children:n})]})}},3715:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});n(959);var s=n(5341),o=n(9111),a=n(6626);const c={tag:"tag_pdpq",tagRegular:"tagRegular_jIad",tagWithCount:"tagWithCount_XeDX"};var i=n(1527);function r(e){let{permalink:t,label:n,count:o}=e;return(0,i.jsxs)(a.Z,{href:t,className:(0,s.Z)(c.tag,o?c.tagWithCount:c.tagRegular),children:[n,o&&(0,i.jsx)("span",{children:o})]})}const l={tags:"tags_FiAV",tag:"tag_N3GO"};function d(e){let{tags:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(o.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,s.Z)(l.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:n}=e;return(0,i.jsx)("li",{className:l.tag,children:(0,i.jsx)(r,{label:t,permalink:n})},n)}))})]})}},7226:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,o,a]=t;if(s&&a){s=parseInt(s),a=parseInt(a);const e=s<a?1:-1;"-"!==o&&".."!==o&&"\u2025"!==o||(a+=e);for(let t=s;t!==a;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},6225:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i,a:()=>c});var s=n(959);const o={},a=s.createContext(o);function c(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/678.cb56a71e.js b/assets/js/678.cb56a71e.js new file mode 100644 index 000000000..6efecacfd --- /dev/null +++ b/assets/js/678.cb56a71e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[678],{7479:(e,t,n)=>{n.d(t,{Z:()=>a});n(959);var o=n(5341),i=n(9111),s=n(1878),r=n(1527);function a(e){let{className:t}=e;return(0,r.jsx)("main",{className:(0,o.Z)("container margin-vert--xl",t),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(s.Z,{as:"h1",className:"hero__title",children:(0,r.jsx)(i.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(i.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(i.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},6678:(e,t,n)=>{n.r(t),n.d(t,{default:()=>d});var o=n(959),i=n(9111),s=n(726),r=n(7792),a=n(7479),c=n(1527);function l(){const e=(0,i.I)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(s.d,{title:e}),(0,c.jsx)(r.Z,{children:(0,c.jsx)(a.Z,{})})]})}function d(e){return(0,o.useLayoutEffect)((()=>{location.href.includes("/docs")&&(location.href=location.href.replace("/docs",""))}),[]),(0,c.jsx)(l,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/72e14192.0b767e9a.js b/assets/js/72e14192.0b767e9a.js new file mode 100644 index 000000000..8954a39c2 --- /dev/null +++ b/assets/js/72e14192.0b767e9a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[239],{3650:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>I,contentTitle:()=>z,default:()=>q,frontMatter:()=>C,metadata:()=>T,toc:()=>N});var r=n(1527),i=n(6225),s=n(959),d=n(5341),l=n(7186),c=n(8903),a=n(7065),h=n(4183),o=n(1877),x=n(9199);function u(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function j(e){const{values:t,children:n}=e;return(0,s.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:r,default:i}}=e;return{value:t,label:n,attributes:r,default:i}}))}(n);return function(e){const t=(0,o.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const r=(0,c.k6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,h._X)(i),(0,s.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(r.location.search);t.set(i,e),r.replace({...r.location,search:t.toString()})}),[i,r])]}function f(e){const{defaultValue:t,queryString:n=!1,groupId:r}=e,i=j(e),[d,l]=(0,s.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const r=n.find((e=>e.default))??n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:i}))),[c,h]=m({queryString:n,groupId:r}),[o,u]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,i]=(0,x.Nk)(n);return[r,(0,s.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:r}),f=(()=>{const e=c??o;return p({value:e,tabValues:i})?e:null})();(0,a.Z)((()=>{f&&l(f)}),[f]);return{selectedValue:d,selectValue:(0,s.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);l(e),h(e),u(e)}),[h,u,i]),tabValues:i}}var b=n(9027);const y={tabList:"tabList_CoiK",tabItem:"tabItem_ExRF"};function g(e){let{className:t,block:n,selectedValue:i,selectValue:s,tabValues:c}=e;const a=[],{blockElementScrollPositionUntilNextRender:h}=(0,l.o5)(),o=e=>{const t=e.currentTarget,n=a.indexOf(t),r=c[n].value;r!==i&&(h(t),s(r))},x=e=>{let t=null;switch(e.key){case"Enter":o(e);break;case"ArrowRight":{const n=a.indexOf(e.currentTarget)+1;t=a[n]??a[0];break}case"ArrowLeft":{const n=a.indexOf(e.currentTarget)-1;t=a[n]??a[a.length-1];break}}t?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,d.Z)("tabs",{"tabs--block":n},t),children:c.map((e=>{let{value:t,label:n,attributes:s}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,ref:e=>a.push(e),onKeyDown:x,onClick:o,...s,className:(0,d.Z)("tabs__item",y.tabItem,s?.className,{"tabs__item--active":i===t}),children:n??t},t)}))})}function v(e){let{lazy:t,children:n,selectedValue:i}=e;const d=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=d.find((e=>e.props.value===i));return e?(0,s.cloneElement)(e,{className:"margin-top--md"}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:d.map(((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==i})))})}function w(e){const t=f(e);return(0,r.jsxs)("div",{className:(0,d.Z)("tabs-container",y.tabList),children:[(0,r.jsx)(g,{...e,...t}),(0,r.jsx)(v,{...e,...t})]})}function k(e){const t=(0,b.Z)();return(0,r.jsx)(w,{...e,children:u(e.children)},String(t))}const $={tabItem:"tabItem_n1O3"};function S(e){let{children:t,hidden:n,className:i}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,d.Z)($.tabItem,i),hidden:n,children:t})}const C={sidebar_position:2,description:"A quick guide on the basic usage of Yazi."},z="Quick Start",T={id:"quick-start",title:"Quick Start",description:"A quick guide on the basic usage of Yazi.",source:"@site/docs/quick-start.md",sourceDirName:".",slug:"/quick-start",permalink:"/docs/quick-start",draft:!1,unlisted:!1,editUrl:"https://github.com/yazi-rs/yazi-rs.github.io/edit/main/docs/quick-start.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,description:"A quick guide on the basic usage of Yazi."},sidebar:"docsSidebar",previous:{title:"Installation",permalink:"/docs/installation"},next:{title:"Configuration",permalink:"/docs/configuration/overview"}},I={},N=[{value:"Themes",id:"themes",level:2},{value:"Keybindings",id:"keybindings",level:2},{value:"Navigation",id:"navigation",level:3},{value:"Selection",id:"selection",level:3},{value:"File/directory operations",id:"filedirectory-operations",level:3},{value:"Copying paths",id:"copying-paths",level:3},{value:"Finding files/directories",id:"finding-filesdirectories",level:3},{value:"Sorting",id:"sorting",level:3},{value:"Changing working directory when exiting Yazi",id:"changing-working-directory-when-exiting-yazi",level:2}];function E(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"quick-start",children:"Quick Start"}),"\n",(0,r.jsxs)(t.p,{children:["After ",(0,r.jsx)(t.a,{href:"/docs/installation",children:"installing"}),", use the following command to run it:"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"yazi\n"})}),"\n",(0,r.jsxs)(t.p,{children:["Press ",(0,r.jsx)(t.code,{children:"q"})," to quit and ",(0,r.jsx)(t.code,{children:"~"})," to open the help menu."]}),"\n",(0,r.jsx)(t.h2,{id:"themes",children:"Themes"}),"\n",(0,r.jsx)(t.p,{children:"We have created a repo to collect themes from the community. Pick a theme you like!"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.a,{href:"https://github.com/yazi-rs/themes",children:"https://github.com/yazi-rs/themes"})}),"\n",(0,r.jsx)(t.h2,{id:"keybindings",children:"Keybindings"}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsxs)(t.p,{children:["To see all key bindings, check the ",(0,r.jsx)(t.a,{href:"https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/keymap.toml",children:"yazi-config/preset/keymap.toml"})," file."]})}),"\n",(0,r.jsx)(t.h3,{id:"navigation",children:"Navigation"}),"\n",(0,r.jsxs)(t.p,{children:["To navigate between files and directories you can use the arrow keys ",(0,r.jsx)(t.code,{children:"\u2190"}),", ",(0,r.jsx)(t.code,{children:"\u2191"}),", ",(0,r.jsx)(t.code,{children:"\u2193"})," and ",(0,r.jsx)(t.code,{children:"\u2192"})," or vi(m)-like commands such as ",(0,r.jsx)(t.code,{children:"h"}),", ",(0,r.jsx)(t.code,{children:"j"}),", ",(0,r.jsx)(t.code,{children:"k"}),", ",(0,r.jsx)(t.code,{children:"l"}),":"]}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Key binding"}),(0,r.jsx)(t.th,{children:"Alternate key"}),(0,r.jsx)(t.th,{children:"Action"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"k"}),(0,r.jsx)(t.td,{children:"\u2191"}),(0,r.jsx)(t.td,{children:"Move the cursor up"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"j"}),(0,r.jsx)(t.td,{children:"\u2193"}),(0,r.jsx)(t.td,{children:"Move the cursor down"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"l"}),(0,r.jsx)(t.td,{children:"\u2192"}),(0,r.jsx)(t.td,{children:"Enter highlighted directory"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"h"}),(0,r.jsx)(t.td,{children:"\u2190"}),(0,r.jsx)(t.td,{children:"Leave the current directory and into its parent"})]})]})]}),"\n",(0,r.jsx)(t.p,{children:"Further navigation commands can be found in the table below."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Key binding"}),(0,r.jsx)(t.th,{children:"Action"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"K"}),(0,r.jsx)(t.td,{children:"Move the cursor up 5 lines"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"J"}),(0,r.jsx)(t.td,{children:"Move the cursor down 5 lines"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"g \u21d2 g"}),(0,r.jsx)(t.td,{children:"Move cursor to the top"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"G"}),(0,r.jsx)(t.td,{children:"Move cursor to the bottom"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"selection",children:"Selection"}),"\n",(0,r.jsx)(t.p,{children:"To select files and directories, the following commands are available."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Key binding"}),(0,r.jsx)(t.th,{children:"Action"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"<Space>"}),(0,r.jsx)(t.td,{children:"Toggle selection of highlighted file/directory"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"v"}),(0,r.jsx)(t.td,{children:"Enter visual mode (selection mode)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"V"}),(0,r.jsx)(t.td,{children:"Enter visual mode (unset mode)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"<Ctrl-a>"}),(0,r.jsx)(t.td,{children:"Select all files"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"<Ctrl-r>"}),(0,r.jsx)(t.td,{children:"Inverse selection of all files"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"<Esc>"}),(0,r.jsx)(t.td,{children:"Cancel selection"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"filedirectory-operations",children:"File/directory operations"}),"\n",(0,r.jsx)(t.p,{children:"To interact with selected files/directories use any of the commands below."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Key binding"}),(0,r.jsx)(t.th,{children:"Action"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"o"}),(0,r.jsx)(t.td,{children:"Open the selected files"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"O"}),(0,r.jsx)(t.td,{children:"Open the selected files interactively"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"<Enter>"}),(0,r.jsx)(t.td,{children:"Open the selected files"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"<Ctrl-Enter>"}),(0,r.jsx)(t.td,{children:"Open the selected files interactively (some terminals don't support it yet)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"y"}),(0,r.jsx)(t.td,{children:"Yank the selected files (copy)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"x"}),(0,r.jsx)(t.td,{children:"Yank the selected files (cut)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"p"}),(0,r.jsx)(t.td,{children:"Paste the yanked files"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"P"}),(0,r.jsx)(t.td,{children:"Paste the yanked files (overwrite if the destination exists)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"-"}),(0,r.jsx)(t.td,{children:"Create a symbolic link to the yanked files (absolute path)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"_"}),(0,r.jsx)(t.td,{children:"Create a symbolic link to the yanked files (relative path)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"d"}),(0,r.jsx)(t.td,{children:"Move the files to the trash"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"D"}),(0,r.jsx)(t.td,{children:"Permanently delete the files"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"a"}),(0,r.jsx)(t.td,{children:'Create a file or directory (ends with "/" for directories)'})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"r"}),(0,r.jsx)(t.td,{children:"Rename a file or directory"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:";"}),(0,r.jsx)(t.td,{children:"Run a shell command"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:":"}),(0,r.jsx)(t.td,{children:"Run a shell command (block the UI until the command finishes)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"."}),(0,r.jsx)(t.td,{children:"Toggle the visibility of hidden files"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"s"}),(0,r.jsx)(t.td,{children:"Search files by name using fd"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"S"}),(0,r.jsx)(t.td,{children:"Search files by content using ripgrep"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"<Ctrl-s>"}),(0,r.jsx)(t.td,{children:"Cancel the ongoing search"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"z"}),(0,r.jsx)(t.td,{children:"Jump to a directory using zoxide"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Z"}),(0,r.jsx)(t.td,{children:"Jump to a directory, or reveal a file using fzf"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"copying-paths",children:"Copying paths"}),"\n",(0,r.jsx)(t.p,{children:"To copy paths, use any of the following commands below."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsxs)(t.em,{children:["Observation: ",(0,r.jsx)(t.code,{children:"c \u21d2 d"})," indicates pressing the ",(0,r.jsx)(t.code,{children:"c"})," key followed by pressing the ",(0,r.jsx)(t.code,{children:"d"})," key."]})}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Key binding"}),(0,r.jsx)(t.th,{children:"Action"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"c \u21d2 c"}),(0,r.jsx)(t.td,{children:"Copy absolute path"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"c \u21d2 d"}),(0,r.jsx)(t.td,{children:"Copy the path of the parent directory"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"c \u21d2 f"}),(0,r.jsx)(t.td,{children:"Copy the name of the file"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"c \u21d2 n"}),(0,r.jsx)(t.td,{children:"Copy the name of the file without the extension"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"finding-filesdirectories",children:"Finding files/directories"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Key binding"}),(0,r.jsx)(t.th,{children:"Action"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"/"}),(0,r.jsx)(t.td,{children:"Forward find file/directory in CWD"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"?"}),(0,r.jsx)(t.td,{children:"Backward find file/directory in CWD"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"n"}),(0,r.jsx)(t.td,{children:"Jump to next occurrence"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"N"}),(0,r.jsx)(t.td,{children:"Jump to previous occurrence"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"sorting",children:"Sorting"}),"\n",(0,r.jsx)(t.p,{children:"To sort files/directories use the following commands."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsxs)(t.em,{children:["Observation: ",(0,r.jsx)(t.code,{children:", \u21d2 a"})," indicates pressing the ",(0,r.jsx)(t.code,{children:","})," key followed by pressing the ",(0,r.jsx)(t.code,{children:"a"})," key."]})}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Key binding"}),(0,r.jsx)(t.th,{children:"Action"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:", \u21d2 a"}),(0,r.jsx)(t.td,{children:"Sort alphabetically"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:", \u21d2 A"}),(0,r.jsx)(t.td,{children:"Sort alphabetically (reverse)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:", \u21d2 c"}),(0,r.jsx)(t.td,{children:"Sort by creation time"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:", \u21d2 C"}),(0,r.jsx)(t.td,{children:"Sort by creation time (reverse)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:", \u21d2 m"}),(0,r.jsx)(t.td,{children:"Sort by modified time"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:", \u21d2 M"}),(0,r.jsx)(t.td,{children:"Sort by modified time (reverse)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:", \u21d2 n"}),(0,r.jsx)(t.td,{children:"Sort naturally"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:", \u21d2 N"}),(0,r.jsx)(t.td,{children:"Sort naturally (reverse)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:", \u21d2 s"}),(0,r.jsx)(t.td,{children:"Sort by size"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:", \u21d2 S"}),(0,r.jsx)(t.td,{children:"Sort by size (reverse)"})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"changing-working-directory-when-exiting-yazi",children:"Changing working directory when exiting Yazi"}),"\n",(0,r.jsx)(t.p,{children:"You can also use this convenient wrapper that provides the ability to change the current working directory when exiting Yazi."}),"\n",(0,r.jsxs)(k,{children:[(0,r.jsx)(S,{value:"bash-zsh",label:"Bash / Zsh",default:!0,children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:'function ya() {\n\ttmp="$(mktemp -t "yazi-cwd.XXXXX")"\n\tyazi "$@" --cwd-file="$tmp"\n\tif cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then\n\t\tcd -- "$cwd"\n\tfi\n\trm -f -- "$tmp"\n}\n'})})}),(0,r.jsx)(S,{value:"fish",label:"Fish",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-shell",children:'function ya\n\tset tmp (mktemp -t "yazi-cwd.XXXXX")\n\tyazi $argv --cwd-file="$tmp"\n\tif set cwd (cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]\n\t\tcd -- "$cwd"\n\tend\n\trm -f -- "$tmp"\nend\n'})})}),(0,r.jsx)(S,{value:"nushell",label:"Nushell",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-shell",children:'def --env ya [args?] {\n\tlet tmp = $"($env.TEMP)(char path_sep)yazi-cwd." + (random chars -l 5)\n\tyazi $args --cwd-file $tmp\n\tlet cwd = (open $tmp)\n\tif $cwd != "" and $cwd != $env.PWD {\n\t\tcd $cwd\n\t}\n\trm -f $tmp\n}\n'})})}),(0,r.jsx)(S,{value:"powershell",label:"PowerShell",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-powershell",children:'function ya {\n $tmp = [System.IO.Path]::GetTempFileName()\n yazi $args --cwd-file="$tmp"\n $cwd = Get-Content -Path $tmp\n if (-not [String]::IsNullOrEmpty($cwd) -and $cwd -ne $PWD.Path) {\n Set-Location -Path $cwd\n }\n Remove-Item -Path $tmp\n}\n'})})})]})]})}function q(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(E,{...e})}):E(e)}},6225:(e,t,n)=>{n.d(t,{Z:()=>l,a:()=>d});var r=n(959);const i={},s=r.createContext(i);function d(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/814f3328.fa917596.js b/assets/js/814f3328.fa917596.js new file mode 100644 index 000000000..98c94e056 --- /dev/null +++ b/assets/js/814f3328.fa917596.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[535],{5641:s=>{s.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Why is Yazi fast?","permalink":"/blog/why-is-yazi-fast","unlisted":false}]}')}}]); \ No newline at end of file diff --git a/assets/js/90e6250d.51696a33.js b/assets/js/90e6250d.51696a33.js new file mode 100644 index 000000000..38f94e554 --- /dev/null +++ b/assets/js/90e6250d.51696a33.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[54],{2979:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>h,contentTitle:()=>r,default:()=>a,frontMatter:()=>d,metadata:()=>c,toc:()=>t});var s=n(1527),l=n(6225);const d={sidebar_position:1,description:"Learn how to use Yazi's Lua API."},r="API (Work in progress)",c={id:"plugin/api",title:"API (Work in progress)",description:"Learn how to use Yazi's Lua API.",source:"@site/docs/plugin/api.md",sourceDirName:"plugin",slug:"/plugin/api",permalink:"/docs/plugin/api",draft:!1,unlisted:!1,editUrl:"https://github.com/yazi-rs/yazi-rs.github.io/edit/main/docs/plugin/api.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,description:"Learn how to use Yazi's Lua API."},sidebar:"docsSidebar",previous:{title:"Plugin",permalink:"/docs/plugin/overview"},next:{title:"Tips",permalink:"/docs/tips"}},h={},t=[{value:"Layout",id:"layout",level:2},{value:"<code>ui.Bar</code>",id:"uibar",level:3},{value:"<code>ui.Border</code>",id:"uiborder",level:3},{value:"<code>ui.Constraint</code>",id:"uiconstraint",level:3},{value:"<code>ui.Gauge</code>",id:"uigauge",level:3},{value:"<code>ui.Layout</code>",id:"uilayout",level:3},{value:"<code>ui.Line</code>",id:"uiline",level:3},{value:"<code>ui.List</code>",id:"uilist",level:3},{value:"<code>ui.ListItem</code>",id:"uilistitem",level:3},{value:"<code>ui.Padding</code>",id:"uipadding",level:3},{value:"<code>ui.Paragraph</code>",id:"uiparagraph",level:3},{value:"<code>ui.Rect</code>",id:"uirect",level:3},{value:"<code>ui.Span</code>",id:"uispan",level:3},{value:"<code>ui.Style</code>",id:"uistyle",level:3},{value:"Config",id:"config",level:2},{value:"ya",id:"ya",level:2},{value:"<code>cache_file(path)</code>",id:"cache_filepath",level:3},{value:"<code>manager_emit(cmd, args, data)</code>",id:"manager_emitcmd-args-data",level:3},{value:"<code>image_show(url, rect)</code>",id:"image_showurl-rect",level:3},{value:"<code>image_precache(src, dist)</code>",id:"image_precachesrc-dist",level:3},{value:"<code>dbg(msg)</code>",id:"dbgmsg",level:3},{value:"<code>err(msg)</code>",id:"errmsg",level:3},{value:"<code>plugin_retrieve</code>",id:"plugin_retrieve",level:3},{value:"<code>preview_code(opts)</code>",id:"preview_codeopts",level:3},{value:"<code>preview_archive(opts)</code>",id:"preview_archiveopts",level:3},{value:"<code>preview_widgets(opts, widgets)</code>",id:"preview_widgetsopts-widgets",level:3},{value:"<code>target_family()</code>",id:"target_family",level:3},{value:"<code>truncate(text, max)</code>",id:"truncatetext-max",level:3},{value:"<code>mime_valid(mime)</code>",id:"mime_validmime",level:3},{value:"<code>time()</code>",id:"time",level:3},{value:"<code>uid()</code>",id:"uid",level:3},{value:"<code>gid()</code>",id:"gid",level:3},{value:"<code>user_name()</code>",id:"user_name",level:3},{value:"<code>group_name()</code>",id:"group_name",level:3},{value:"Common",id:"common",level:2},{value:"Cha",id:"cha",level:3},{value:"File",id:"file",level:3},{value:"Range",id:"range",level:3},{value:"Url",id:"url",level:3},{value:"Window",id:"window",level:3},{value:"Sync context",id:"sync-context",level:2},{value:"<code>tab::Mode</code>",id:"tabmode",level:3},{value:"<code>tab::Config</code>",id:"tabconfig",level:3},{value:"<code>tab::Preview</code>",id:"tabpreview",level:3},{value:"<code>folder::Folder</code>",id:"folderfolder",level:3},{value:"<code>folder::Files</code>",id:"folderfiles",level:3},{value:"<code>folder::File</code>",id:"folderfile",level:3},{value:"<code>manager::Tabs</code>",id:"managertabs",level:3},{value:"<code>tab::Tab</code>",id:"tabtab",level:3},{value:"<code>tasks::Tasks</code>",id:"taskstasks",level:3},{value:"Isolate context",id:"isolate-context",level:2},{value:"fs",id:"fs",level:3},{value:"Child",id:"child",level:3},{value:"Command",id:"command",level:3},{value:"Output",id:"output",level:3},{value:"Status",id:"status",level:3}];function o(e){const i={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,l.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.h1,{id:"api-work-in-progress",children:"API (Work in progress)"}),"\n",(0,s.jsx)(i.h2,{id:"layout",children:"Layout"}),"\n",(0,s.jsx)(i.p,{children:"Paragraph, List, Bar, Border, and Gauge are renderable widgets; others need to be placed within any of them."}),"\n",(0,s.jsx)(i.h3,{id:"uibar",children:(0,s.jsx)(i.code,{children:"ui.Bar"})}),"\n",(0,s.jsx)(i.p,{children:"Create a bar:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:"ui.Bar(rect, direction)\n"})}),"\n",(0,s.jsxs)(i.p,{children:["The first attribute is a ",(0,s.jsx)(i.a,{href:"#uirect",children:"Rect"}),", representing the position of this bar.\nThe second denotes the direction of the bar and accepts the following constants:"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Bar.NONE"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Bar.TOP"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Bar.RIGHT"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Bar.BOTTOM"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Bar.LEFT"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Bar.ALL"})}),"\n"]}),"\n",(0,s.jsxs)(i.p,{children:["Methods (all methods return ",(0,s.jsx)(i.code,{children:"self"}),"):"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Bar:symbol(symbol)"})," - accepts a string, specifying the symbol for the bar"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Bar:style(style)"})," - accepts a ",(0,s.jsx)(i.a,{href:"#uistyle",children:"Style"}),", specifying the style of the bar"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"uiborder",children:(0,s.jsx)(i.code,{children:"ui.Border"})}),"\n",(0,s.jsx)(i.p,{children:"Create a border:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:"ui.Border(rect, position)\n"})}),"\n",(0,s.jsxs)(i.p,{children:["The first attribute is a ",(0,s.jsx)(i.a,{href:"#uirect",children:"Rect"}),", representing the position of this border.\nThe second denotes the position of the border and accepts the following constants:"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Border.NONE"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Border.TOP"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Border.RIGHT"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Border.BOTTOM"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Border.LEFT"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Border.ALL"})}),"\n"]}),"\n",(0,s.jsxs)(i.p,{children:["You can also use ",(0,s.jsx)(i.code,{children:"ui.Border:type(type)"})," to specify different types for the border. It accepts the following type constants:"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Border.PLAIN"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Border.ROUNDED"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Border.DOUBLE"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Border.THICK"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Border.QUADRANT_INSIDE"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Border.QUADRANT_OUTSIDE"})}),"\n"]}),"\n",(0,s.jsxs)(i.p,{children:["Methods (all methods return ",(0,s.jsx)(i.code,{children:"self"}),"):"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Border:style(style)"})," - accepts a ",(0,s.jsx)(i.a,{href:"#uistyle",children:"Style"}),", specifying the style of the border"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"uiconstraint",children:(0,s.jsx)(i.code,{children:"ui.Constraint"})}),"\n",(0,s.jsx)(i.p,{children:"Constraints are used to define the size of a layout."}),"\n",(0,s.jsx)(i.p,{children:"They can be used to define a fixed size, a percentage of the available space, a ratio of the available space, or a minimum or maximum size:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:"ui.Constraint.Percentage(50) -- Apply a percentage to a given amount\nui.Constraint.Ratio(1, 3) -- Apply a ratio\nui.Constraint.Length(10) -- Apply no more than the given amount (currently roughly equal to `ui.Constraint.Max`)\nui.Constraint.Max(5) -- Apply at most the given amount\nui.Constraint.Min(3) -- Apply at least the given amount\n"})}),"\n",(0,s.jsx)(i.h3,{id:"uigauge",children:(0,s.jsx)(i.code,{children:"ui.Gauge"})}),"\n",(0,s.jsx)(i.p,{children:"Create a gauge:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:"ui.Gauge(rect)\n"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Gauge:percent(percent)"})," - Set the percentage of the gauge"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Gauge:ratio(ratio)"})," - Set the ratio of the gauge"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Gauge:label(label)"})," - Set the label of the gauge"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Gauge:style(style)"})," - Set the style of everything except the bar itself, which accepts a ",(0,s.jsx)(i.a,{href:"#uistyle",children:"Style"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Gauge:gauge_style(style)"})," - Set the style of the bar, which accepts a ",(0,s.jsx)(i.a,{href:"#uistyle",children:"Style"})]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"uilayout",children:(0,s.jsx)(i.code,{children:"ui.Layout"})}),"\n",(0,s.jsx)(i.p,{children:"Create a layout:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:"ui.Layout()\n"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Layout:direction(direction)"})," - Set the direction of the layout. It accepts the following constants:","\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Layout.HORIZONTAL"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Layout.VERTICAL"})}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Layout:margin(margin)"})," - Set the margin of the layout"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Layout:margin_h(margin)"})," - Set the horizontal margin of the layout"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Layout:margin_v(margin)"})," - Set the vertical margin of the layout"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Layout:constraints({ constraint, ... })"})," - Set the constraints of the layout, which accepts a list of ",(0,s.jsx)(i.a,{href:"#uiconstraint",children:"Constraint"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Layout:split(rect)"})," - Accepts a ",(0,s.jsx)(i.a,{href:"#uirect",children:"Rect"})," and split it into multiple ",(0,s.jsx)(i.a,{href:"#uirect",children:"Rect"})," according to the constraints"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"uiline",children:(0,s.jsx)(i.code,{children:"ui.Line"})}),"\n",(0,s.jsxs)(i.p,{children:["Create a line, which accepts a list of ",(0,s.jsx)(i.a,{href:"#uispan",children:"Span"})," and ",(0,s.jsx)(i.a,{href:"#uiline",children:"Line"}),":"]}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:"ui.Line { span, line, span, ... }\n"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Line:width()"})," - Get the width of the line"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Line:style(style)"})," - Set the style of the line, which accepts a ",(0,s.jsx)(i.a,{href:"#uistyle",children:"Style"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Line:align(alignment)"})," - Set the alignment of the line. It accepts the following constants:","\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Line.LEFT"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Line.CENTER"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Line.RIGHT"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"uilist",children:(0,s.jsx)(i.code,{children:"ui.List"})}),"\n",(0,s.jsx)(i.p,{children:"Create a list:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:"ui.List(rect, items)\n"})}),"\n",(0,s.jsxs)(i.p,{children:["The first attribute is a ",(0,s.jsx)(i.a,{href:"#uirect",children:"Rect"}),", representing the position of this list.\nThe second denotes the items of the list and accepts a list of ",(0,s.jsx)(i.a,{href:"#uilistitem",children:"ListItem"}),"."]}),"\n",(0,s.jsx)(i.h3,{id:"uilistitem",children:(0,s.jsx)(i.code,{children:"ui.ListItem"})}),"\n",(0,s.jsx)(i.p,{children:"Create a list item:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:'ui.ListItem(line)\nui.ListItem(span)\nui.ListItem("string")\n'})}),"\n",(0,s.jsxs)(i.p,{children:["Methods (all methods return ",(0,s.jsx)(i.code,{children:"self"}),"):"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.ListItem:style(style)"})," - Set the style of the list item, which accepts a ",(0,s.jsx)(i.a,{href:"#uistyle",children:"Style"})]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"uipadding",children:(0,s.jsx)(i.code,{children:"ui.Padding"})}),"\n",(0,s.jsx)(i.p,{children:"All parameters for padding are integers:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:"ui.Padding(left, right, top, bottom)\n"})}),"\n",(0,s.jsx)(i.p,{children:"If you want to specify only one of them, you can:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Padding.left(left)"})," equal to ",(0,s.jsx)(i.code,{children:"ui.Padding(left, 0, 0, 0)"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Padding.right(right)"})," equal to ",(0,s.jsx)(i.code,{children:"ui.Padding(0, right, 0, 0)"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Padding.top(top)"})," equal to ",(0,s.jsx)(i.code,{children:"ui.Padding(0, 0, top, 0)"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Padding.bottom(bottom)"})," equal to ",(0,s.jsx)(i.code,{children:"ui.Padding(0, 0, 0, bottom)"})]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"Or specify a particular direction for them:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Padding.x(x)"})," equal to ",(0,s.jsx)(i.code,{children:"ui.Padding(x, x, 0, 0)"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Padding.y(y)"})," equal to ",(0,s.jsx)(i.code,{children:"ui.Padding(0, 0, y, y)"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Padding.xy(x, y)"})," equal to ",(0,s.jsx)(i.code,{children:"ui.Padding(x, x, y, y)"})]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"Properties:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"left"})," - left padding"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"right"})," - right padding"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"top"})," - top padding"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"bottom"})," - bottom padding"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"uiparagraph",children:(0,s.jsx)(i.code,{children:"ui.Paragraph"})}),"\n",(0,s.jsx)(i.p,{children:"Create a paragraph:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:"ui.Paragraph(rect, { line, line, ... })\n"})}),"\n",(0,s.jsxs)(i.p,{children:["The first attribute is a ",(0,s.jsx)(i.a,{href:"#uirect",children:"Rect"}),", representing the position of this paragraph.\nThe second denotes the lines of the paragraph and accepts a list of ",(0,s.jsx)(i.a,{href:"#uiline",children:"Line"}),"."]}),"\n",(0,s.jsxs)(i.p,{children:["You can also use ",(0,s.jsx)(i.code,{children:"ui.Paragraph.parse(string)"})," to parse an ",(0,s.jsx)(i.a,{href:"https://en.wikipedia.org/wiki/ANSI_escape_code",children:"ANSI escape sequence"})," string into a paragraph."]}),"\n",(0,s.jsxs)(i.p,{children:["Methods (all methods return ",(0,s.jsx)(i.code,{children:"self"}),"):"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Paragraph:style(style)"})," - Set the style of the paragraph, which accepts a ",(0,s.jsx)(i.a,{href:"#uistyle",children:"Style"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Paragraph:align(alignment)"})," - Set the alignment of the paragraph. It accepts the following constants:","\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Paragraph.LEFT"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Paragraph.CENTER"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"ui.Paragraph.RIGHT"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"uirect",children:(0,s.jsx)(i.code,{children:"ui.Rect"})}),"\n",(0,s.jsx)(i.p,{children:"A Rect is represented an area within the terminal by four attributes:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:"ui.Rect {\n\tx = 10, -- x position\n\ty = 10, -- y position\n\tw = 20, -- width\n\th = 30, -- height\n}\n\nui.Rect.default -- Equal to `ui.Rect { x = 0, y = 0, w = 0, h = 0 }`\n"})}),"\n",(0,s.jsxs)(i.p,{children:["You can obtain a pre-computed ",(0,s.jsx)(i.code,{children:"Rect"})," through ",(0,s.jsx)(i.a,{href:"#uilayout",children:"Yazi's layout system"}),"."]}),"\n",(0,s.jsx)(i.p,{children:"Note that if you intend to create it yourself, ensure these values are calculated accurately; otherwise, it may cause Yazi to crash!"}),"\n",(0,s.jsx)(i.p,{children:"Properties:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"x"})," - x position"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"y"})," - y position"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"w"})," - width"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"h"})," - height"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"left"})," - left position"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"right"})," - right position"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"top"})," - top position"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"bottom"})," - bottom position"]}),"\n"]}),"\n",(0,s.jsxs)(i.p,{children:["Methods (all methods return ",(0,s.jsx)(i.code,{children:"self"}),"):"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Rect:padding(padding)"})," - Set padding. It accepts a ",(0,s.jsx)(i.a,{href:"#uipadding",children:"Padding"})]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"uispan",children:(0,s.jsx)(i.code,{children:"ui.Span"})}),"\n",(0,s.jsx)(i.p,{children:"Create a span:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:'ui.Span("string")\n'})}),"\n",(0,s.jsxs)(i.p,{children:["Methods (all methods return ",(0,s.jsx)(i.code,{children:"self"}),"):"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Span:fg(color)"})," - Set the foreground color of the span, which accepts a ",(0,s.jsx)(i.a,{href:"/docs/configuration/theme#types",children:"Color"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Span:bg(color)"})," - Set the background color of the span, which accepts a ",(0,s.jsx)(i.a,{href:"/docs/configuration/theme#types",children:"Color"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Span:bold()"})," - Set the span to bold"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Span:dim()"})," - Set the span to dim"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Span:italic()"})," - Set the span to italic"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Span:underline()"})," - Set the span to underline"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Span:blink()"})," - Set the span to blink"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Span:blink_rapid()"})," - Set the span to blink rapidly"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Span:hidden()"})," - Set the span to hidden"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Span:crossed()"})," - Set the span to crossed"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Span:reset()"})," - Reset the style of the span"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Span:style(style)"})," - Set the style of the span, which accepts a ",(0,s.jsx)(i.a,{href:"#uistyle",children:"Style"})]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"uistyle",children:(0,s.jsx)(i.code,{children:"ui.Style"})}),"\n",(0,s.jsx)(i.p,{children:"Create a style:"}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:"ui.Style()\n"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Style:fg(string)"})," - Set the foreground color of the style, which accepts a ",(0,s.jsx)(i.a,{href:"/docs/configuration/theme#types",children:"Color"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Style:bg(string)"})," - Set the background color of the style, which accepts a ",(0,s.jsx)(i.a,{href:"/docs/configuration/theme#types",children:"Color"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Style:bold()"})," - Set the style to bold"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Style:dim()"})," - Set the style to dim"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Style:italic()"})," - Set the style to italic"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Style:underline()"})," - Set the style to underline"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Style:blink()"})," - Set the style to blink"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Style:blink_rapid()"})," - Set the style to blink rapidly"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Style:hidden()"})," - Set the style to hidden"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Style:crossed()"})," - Set the style to crossed"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ui.Style:reset()"})," - Reset the style"]}),"\n"]}),"\n",(0,s.jsx)(i.h2,{id:"config",children:"Config"}),"\n",(0,s.jsx)(i.p,{children:"TODO"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:"BOOT"}),"\n",(0,s.jsx)(i.li,{children:"MANAGER"}),"\n",(0,s.jsx)(i.li,{children:"THEME"}),"\n",(0,s.jsx)(i.li,{children:"PREVIEW"}),"\n"]}),"\n",(0,s.jsx)(i.h2,{id:"ya",children:"ya"}),"\n",(0,s.jsx)(i.h3,{id:"cache_filepath",children:(0,s.jsx)(i.code,{children:"cache_file(path)"})}),"\n",(0,s.jsxs)(i.p,{children:["Calculate the cached ",(0,s.jsx)(i.a,{href:"#url",children:"Url"})," corresponding to the given path:"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"path"})," - Required, the path of the file, which is a string"]}),"\n"]}),"\n",(0,s.jsxs)(i.p,{children:["If the file is not allowed to be cached, such as it's ignored in the user config, or the file itself is a cache, returns ",(0,s.jsx)(i.code,{children:"nil"}),"."]}),"\n",(0,s.jsx)(i.h3,{id:"manager_emitcmd-args-data",children:(0,s.jsx)(i.code,{children:"manager_emit(cmd, args, data)"})}),"\n",(0,s.jsx)(i.p,{children:"Send a command to the manager without waiting for the executor to execute:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"cmd"})," - Required, the command name, which is a string"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"args"})," - Required, the arguments of the command, which is a table of strings"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"data"})," - Optional, additional data passed to the command"]}),"\n"]}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:'ya.manager_emit("my-cmd", { "hello", foo = "", bar_baz = "world" })\n\n-- Equivalent to:\n-- my-cmd "hello" --foo --bar-baz="world"\n'})}),"\n",(0,s.jsx)(i.h3,{id:"image_showurl-rect",children:(0,s.jsx)(i.code,{children:"image_show(url, rect)"})}),"\n",(0,s.jsx)(i.p,{children:"Display the given image within the specified area, and the image will downscale to fit that area automatically:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"url"})," - Required, the ",(0,s.jsx)(i.a,{href:"#url",children:"Url"})," of the image"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"rect"})," - Required, the ",(0,s.jsx)(i.a,{href:"#uirect",children:"Rect"})," of the area"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"image_precachesrc-dist",children:(0,s.jsx)(i.code,{children:"image_precache(src, dist)"})}),"\n",(0,s.jsxs)(i.p,{children:["Pre-cache the image to a specified path based on user-configured ",(0,s.jsxs)(i.a,{href:"../configuration/yazi#preview",children:[(0,s.jsx)(i.code,{children:"max_width"})," and ",(0,s.jsx)(i.code,{children:"max_height"})]}),":"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"src"})," - Required, the source path of the image"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"dist"})," - Required, the destination path of the image"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"dbgmsg",children:(0,s.jsx)(i.code,{children:"dbg(msg)"})}),"\n",(0,s.jsx)(i.p,{children:"Append messages to Yazi's log file at the debug level:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"msg"})," - Required, the message to be logged, which is a string"]}),"\n"]}),"\n",(0,s.jsxs)(i.p,{children:['Note that if you build in release mode, the log level for Yazi is "error" instead of "debug", so you\'ll need to use ',(0,s.jsx)(i.a,{href:"#errmsg",children:(0,s.jsx)(i.code,{children:"ya.err"})}),"."]}),"\n",(0,s.jsx)(i.h3,{id:"errmsg",children:(0,s.jsx)(i.code,{children:"err(msg)"})}),"\n",(0,s.jsx)(i.p,{children:"Append messages to Yazi's log file at the error level:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"msg"})," - Required, the message to be logged, which is a string"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"plugin_retrieve",children:(0,s.jsx)(i.code,{children:"plugin_retrieve"})}),"\n",(0,s.jsx)(i.p,{children:"TODO"}),"\n",(0,s.jsx)(i.h3,{id:"preview_codeopts",children:(0,s.jsx)(i.code,{children:"preview_code(opts)"})}),"\n",(0,s.jsx)(i.p,{children:"Preview the file as code into the specified area:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"opts"})," - Required, the options of the preview, which is a table:","\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"file"})," - The previewed ",(0,s.jsx)(i.a,{href:"#file",children:"File"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"area"})," - The area of the preview, which is a ",(0,s.jsx)(i.a,{href:"#uirect",children:"Rect"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"skip"})," - The number of units to skip. It's units largely depend on your previewer, such as lines for code, and percentages for videos"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"window"})," - The ",(0,s.jsx)(i.a,{href:"#window",children:"Window"})," of the preview"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"preview_archiveopts",children:(0,s.jsx)(i.code,{children:"preview_archive(opts)"})}),"\n",(0,s.jsx)(i.p,{children:"Preview the file as an archive into the specified area:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"opts"})," - Required, the options of the preview. It's the same as ",(0,s.jsx)(i.a,{href:"#previewcodeopts",children:(0,s.jsx)(i.code,{children:"preview_code"})})]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"preview_widgetsopts-widgets",children:(0,s.jsx)(i.code,{children:"preview_widgets(opts, widgets)"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"opts"})," - Required, the options of the preview, which is a table:","\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"file"})," - The previewed ",(0,s.jsx)(i.a,{href:"#file",children:"File"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"skip"})," - The number of units to skip. It's units largely depend on your previewer, such as lines for code, and percentages for videos"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"window"})," - The ",(0,s.jsx)(i.a,{href:"#window",children:"Window"})," of the preview"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"widgets"})," - List of renderable widgets, such as ",(0,s.jsx)(i.code,{children:"{ ui.Paragraph {...}, ui.List {...}, ... }"})]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"target_family",children:(0,s.jsx)(i.code,{children:"target_family()"})}),"\n",(0,s.jsxs)(i.p,{children:["Returns the target family of the current platform, ",(0,s.jsx)(i.code,{children:'"windows"'}),", ",(0,s.jsx)(i.code,{children:'"unix"'}),", or ",(0,s.jsx)(i.code,{children:'"wasm"'}),"."]}),"\n",(0,s.jsx)(i.h3,{id:"truncatetext-max",children:(0,s.jsx)(i.code,{children:"truncate(text, max)"})}),"\n",(0,s.jsx)(i.p,{children:"Truncate the text to the specified length and return it:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"text"})," - Required, the text to be truncated, which is a string"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"max"})," - Required, the maximum length of the text, which is a integer"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"mime_validmime",children:(0,s.jsx)(i.code,{children:"mime_valid(mime)"})}),"\n",(0,s.jsx)(i.p,{children:"Check whether the mime-type is valid:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"mime"})," - Required, the mime-type to be checked, which is a string"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"time",children:(0,s.jsx)(i.code,{children:"time()"})}),"\n",(0,s.jsx)(i.p,{children:"Returns the current timestamp, which is a float, the integer part represents the seconds, and the decimal part represents the milliseconds."}),"\n",(0,s.jsx)(i.h3,{id:"uid",children:(0,s.jsx)(i.code,{children:"uid()"})}),"\n",(0,s.jsx)(i.p,{children:"Returns the user id of the current user, which is a integer."}),"\n",(0,s.jsx)(i.h3,{id:"gid",children:(0,s.jsx)(i.code,{children:"gid()"})}),"\n",(0,s.jsx)(i.p,{children:"Returns the group id of the current user, which is a integer."}),"\n",(0,s.jsx)(i.h3,{id:"user_name",children:(0,s.jsx)(i.code,{children:"user_name()"})}),"\n",(0,s.jsx)(i.p,{children:"Returns the name of the current user, which is a string."}),"\n",(0,s.jsx)(i.h3,{id:"group_name",children:(0,s.jsx)(i.code,{children:"group_name()"})}),"\n",(0,s.jsx)(i.p,{children:"Returns the name of the current group, which is a string."}),"\n",(0,s.jsx)(i.h2,{id:"common",children:"Common"}),"\n",(0,s.jsx)(i.h3,{id:"cha",children:"Cha"}),"\n",(0,s.jsx)(i.p,{children:"Cha means one file's characteristics with the following properties:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_dir"}),": Whether this file is a directory"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_hidden"}),": Whether this file is hidden (starts with a dot)"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_link"}),": Whether this file is a symlink"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_bad_link"}),": Whether this file is a bad symlink, which points to a non-existent file"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"length"}),": The length of this file, returns a integer representing the size in bytes. Note that it can't reflect the size of a directory, use ",(0,s.jsx)(i.a,{href:"#folderfile",children:(0,s.jsx)(i.code,{children:"size()"})})," instead"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"created"}),": The created time of this file in Unix timestamp, or ",(0,s.jsx)(i.code,{children:"nil"})," if it doesn't have a valid time"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"modified"}),": The modified time of this file in Unix timestamp, or ",(0,s.jsx)(i.code,{children:"nil"})," if it doesn't have a valid time"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"accessed"}),": The accessed time of this file in Unix timestamp, or ",(0,s.jsx)(i.code,{children:"nil"})," if it doesn't have a valid time"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"permissions"}),": Unix permissions of this file in string, e.g. ",(0,s.jsx)(i.code,{children:"drwxr-xr-x"}),". For Windows, it's always ",(0,s.jsx)(i.code,{children:"nil"})]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"And the Unix only properties:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_block_device"}),": Whether this file is a block device"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_char_device"}),": Whether this file is a character device"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_fifo"}),": Whether this file is a fifo"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_socket"}),": Whether this file is a socket"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"uid"}),": The user id of this file"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"gid"}),": The group id of this file"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"file",children:"File"}),"\n",(0,s.jsx)(i.p,{children:"Properties:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"url"}),": The ",(0,s.jsx)(i.a,{href:"#url",children:"Url"})," of this file"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"cha"}),": The ",(0,s.jsx)(i.a,{href:"#cha",children:"Cha"})," of this file"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"link_to"}),": The ",(0,s.jsx)(i.a,{href:"#url",children:"Url"})," of this file pointing to, if it's a symlink; otherwise, ",(0,s.jsx)(i.code,{children:"nil"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"name"}),": The name of this file"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"range",children:"Range"}),"\n",(0,s.jsx)(i.p,{children:"TODO"}),"\n",(0,s.jsx)(i.h3,{id:"url",children:"Url"}),"\n",(0,s.jsx)(i.p,{children:"Properties:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"frag"}),": The fragment string of this url. Let's say the url is ",(0,s.jsx)(i.code,{children:"archive:///root/my-archive.zip#1.jpg"}),", then the fragment is ",(0,s.jsx)(i.code,{children:"1.jpg"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_regular"}),": Whether the file represented by this url is a regular file"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_search"}),": Whether the file represented by this url from the search result"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_archive"}),": Whether the file represented by this url from an archive"]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"Meta methods:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"__eq(another_url)"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"__tostring()"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"__concat(string)"})}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"window",children:"Window"}),"\n",(0,s.jsx)(i.p,{children:"Properties:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"rows"}),": The number of rows of this window"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"cols"}),": The number of columns of this window"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"width"}),": The width of this window in pixels"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"height"}),": The height of this window in pixels"]}),"\n"]}),"\n",(0,s.jsx)(i.h2,{id:"sync-context",children:"Sync context"}),"\n",(0,s.jsxs)(i.p,{children:["The sync context accompanies the entire app lifecycle, you can access all app data through the ",(0,s.jsx)(i.code,{children:"cx"})," within it:"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"cx.active"}),": The active tab, which is a ",(0,s.jsx)(i.a,{href:"#tabtab",children:"tab::Tab"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"cx.tabs"}),": All of tabs, which is a ",(0,s.jsx)(i.a,{href:"#managertabs",children:"manager::Tabs"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"cx.tasks"}),": All of tasks, which is a ",(0,s.jsx)(i.a,{href:"#taskstasks",children:"tasks::Tasks"})]}),"\n"]}),"\n",(0,s.jsxs)(i.p,{children:["which is active during UI rendering (UI plugins) and when executing sync functional plugins (",(0,s.jsx)(i.code,{children:"plugin --sync"})," command)."]}),"\n",(0,s.jsx)(i.p,{children:"For better performance, the sync context is created only at the app's start and remains singular throughout. Thus, plugins running within this context share states,\nprompting plugin developers to create separate namespaces for their plugins to prevent global space contamination."}),"\n",(0,s.jsx)(i.h3,{id:"tabmode",children:(0,s.jsx)(i.code,{children:"tab::Mode"})}),"\n",(0,s.jsx)(i.p,{children:"Visual mode status."}),"\n",(0,s.jsx)(i.p,{children:"Properties:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_select"}),": Whether the mode is select"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_unset"}),": Whether the mode is unset"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_visual"}),": Whether the mode is select or unset"]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"Methods:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"pending(idx, state)"}),": TODO"]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"Meta methods:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"__tostring()"})}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"tabconfig",children:(0,s.jsx)(i.code,{children:"tab::Config"})}),"\n",(0,s.jsx)(i.p,{children:"TODO"}),"\n",(0,s.jsx)(i.p,{children:"Properties:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"sort_by"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"sort_sensitive"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"sort_reverse"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"sort_dir_first"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"linemode"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"show_hidden"})}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"tabpreview",children:(0,s.jsx)(i.code,{children:"tab::Preview"})}),"\n",(0,s.jsx)(i.p,{children:"TODO"}),"\n",(0,s.jsx)(i.p,{children:"Properties:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"skip"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"folder"})}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"folderfolder",children:(0,s.jsx)(i.code,{children:"folder::Folder"})}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:"cwd"}),"\n",(0,s.jsx)(i.li,{children:"offset"}),"\n",(0,s.jsx)(i.li,{children:"cursor"}),"\n",(0,s.jsx)(i.li,{children:"window"}),"\n",(0,s.jsx)(i.li,{children:"files"}),"\n",(0,s.jsx)(i.li,{children:"hovered"}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"folderfiles",children:(0,s.jsx)(i.code,{children:"folder::Files"})}),"\n",(0,s.jsx)(i.p,{children:"Meta methods:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"__len()"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"__pairs()"})}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"folderfile",children:(0,s.jsx)(i.code,{children:"folder::File"})}),"\n",(0,s.jsxs)(i.p,{children:["Based on ",(0,s.jsx)(i.a,{href:"#file",children:"File"}),", with the following additional methods:"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"size()"})," - The size of this file, returns a integer representing the size in bytes, or ",(0,s.jsx)(i.code,{children:"nil"})," if its a directory and it has not been scanned"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"mime()"})," - The mime-type string of this file"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"prefix()"})," - The prefix of this file relative to ",(0,s.jsx)(i.code,{children:"CWD"}),", which used in the flat view during search. For instance, if ",(0,s.jsx)(i.code,{children:"CWD"})," is ",(0,s.jsx)(i.code,{children:"/foo"}),", and the file is ",(0,s.jsx)(i.code,{children:"/foo/bar/baz"}),", then the prefix is ",(0,s.jsx)(i.code,{children:"bar/"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"icon()"})," - The icon string of this file, ",(0,s.jsx)(i.a,{href:"/docs/configuration/theme#icons",children:(0,s.jsx)(i.code,{children:"[icons]"})})," rules are applied"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"style()"})," - The ",(0,s.jsx)(i.a,{href:"#uistyle",children:"Style"})," of this file, ",(0,s.jsx)(i.a,{href:"/docs/configuration/theme#filetype",children:(0,s.jsx)(i.code,{children:"[filetype]"})})," rules are applied"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_hovered()"})," - Whether this file is hovered"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_yanked()"})," - Whether this file is yanked"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"is_selected()"})," - Whether this file is selected"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"found()"})," - When users find a file using the ",(0,s.jsx)(i.code,{children:"find"})," command, the status of the file - returns ",(0,s.jsx)(i.code,{children:"nil"})," if it doesn't match the user's find keyword; otherwise, returns ",(0,s.jsx)(i.code,{children:"{idx, all}"}),", where ",(0,s.jsx)(i.code,{children:"idx"})," is the position of matched file, and ",(0,s.jsx)(i.code,{children:"all"})," represents the number of all matched files."]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"highlights()"})," - TODO"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"managertabs",children:(0,s.jsx)(i.code,{children:"manager::Tabs"})}),"\n",(0,s.jsx)(i.p,{children:"Properties:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"idx"}),": The index of the active tab"]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"Meta methods:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"__len()"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"__index(idx)"})}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"tabtab",children:(0,s.jsx)(i.code,{children:"tab::Tab"})}),"\n",(0,s.jsx)(i.p,{children:"Properties:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"mode"}),": The ",(0,s.jsx)(i.a,{href:"#tabmode",children:"tab::Mode"})," of this tab"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"conf"}),": The ",(0,s.jsx)(i.a,{href:"#tabconfig",children:"tab::Config"})," of this tab"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"parent"}),": The parent folder within this tab, which is a ",(0,s.jsx)(i.a,{href:"#folderfolder",children:"folder::Folder"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"current"}),": The current folder within this tab, which is a ",(0,s.jsx)(i.a,{href:"#folderfolder",children:"folder::Folder"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"preview"}),": The ",(0,s.jsx)(i.a,{href:"#tabpreview",children:"tab::Preview"})," within this tab"]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"Methods:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"name()"}),": The name of this tab"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"taskstasks",children:(0,s.jsx)(i.code,{children:"tasks::Tasks"})}),"\n",(0,s.jsx)(i.p,{children:"Properties:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.code,{children:"progress"}),": The progress of all tasks, which is a table:"]}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-lua",children:"{\n\t-- Number of tasks\n\ttotal = 0,\n\tsucc = 0,\n\tfail = 0,\n\n\t-- Workload of tasks\n\tfound = 0,\n\tprocessed = 0,\n}\n"})}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.h2,{id:"isolate-context",children:"Isolate context"}),"\n",(0,s.jsx)(i.h3,{id:"fs",children:"fs"}),"\n",(0,s.jsx)(i.p,{children:"TODO"}),"\n",(0,s.jsx)(i.p,{children:"Functions:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"write(url, data)"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"metadata(url)"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"symlink_metadata(url)"})}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"child",children:"Child"}),"\n",(0,s.jsx)(i.p,{children:"TODO"}),"\n",(0,s.jsx)(i.p,{children:"Methods:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"read(len)"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"read_line()"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"read_line_with(opts)"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"wait()"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"start_kill()"})}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"command",children:"Command"}),"\n",(0,s.jsx)(i.p,{children:"TODO"}),"\n",(0,s.jsx)(i.p,{children:"Methods:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"arg(arg)"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"args(args)"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"env(key, value)"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"stdin(cfg)"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"stdout(cfg)"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"stderr(cfg)"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"spawn()"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"output()"})}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"output",children:"Output"}),"\n",(0,s.jsx)(i.p,{children:"TODO"}),"\n",(0,s.jsx)(i.p,{children:"Properties:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"status"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"stdout"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"stderr"})}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"status",children:"Status"}),"\n",(0,s.jsx)(i.p,{children:"Methods:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"success()"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.code,{children:"code()"})}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"TODO"})]})}function a(e={}){const{wrapper:i}={...(0,l.a)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},6225:(e,i,n)=>{n.d(i,{Z:()=>c,a:()=>r});var s=n(959);const l={},d=s.createContext(l);function r(e){const i=s.useContext(d);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),s.createElement(d.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.df301b76.js b/assets/js/935f2afb.df301b76.js new file mode 100644 index 000000000..7ab7051cf --- /dev/null +++ b/assets/js/935f2afb.df301b76.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[53],{1109:i=>{i.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docsSidebar":[{"type":"link","label":"Installation","href":"/docs/installation","docId":"installation","unlisted":false},{"type":"link","label":"Quick Start","href":"/docs/quick-start","docId":"quick-start","unlisted":false},{"type":"category","label":"Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"yazi.toml","href":"/docs/configuration/yazi","docId":"configuration/yazi","unlisted":false},{"type":"link","label":"keymap.toml","href":"/docs/configuration/keymap","docId":"configuration/keymap","unlisted":false},{"type":"link","label":"theme.toml","href":"/docs/configuration/theme","docId":"configuration/theme","unlisted":false}],"href":"/docs/configuration/overview"},{"type":"category","label":"Plugin (Work in progress)","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"API (Work in progress)","href":"/docs/plugin/api","docId":"plugin/api","unlisted":false}],"href":"/docs/plugin/overview"},{"type":"link","label":"Tips","href":"/docs/tips","docId":"tips","unlisted":false},{"type":"link","label":"Frequently Asked Questions","href":"/docs/faq","docId":"faq","unlisted":false}]},"docs":{"configuration/keymap":{"id":"configuration/keymap","title":"keymap.toml","description":"Learn how to configure keyboard shortcuts with Yazi.","sidebar":"docsSidebar"},"configuration/overview":{"id":"configuration/overview","title":"Configuration","description":"Learn how to configure Yazi.","sidebar":"docsSidebar"},"configuration/theme":{"id":"configuration/theme","title":"theme.toml","description":"Learn how to configure your Yazi theme.","sidebar":"docsSidebar"},"configuration/yazi":{"id":"configuration/yazi","title":"yazi.toml","description":"Learn how to configure Yazi\'s basic functionality.","sidebar":"docsSidebar"},"faq":{"id":"faq","title":"Frequently Asked Questions","description":"Answers to some frequently asked questions about Yazi.","sidebar":"docsSidebar"},"installation":{"id":"installation","title":"Installation","description":"How to install Yazi on various operating systems.","sidebar":"docsSidebar"},"plugin/api":{"id":"plugin/api","title":"API (Work in progress)","description":"Learn how to use Yazi\'s Lua API.","sidebar":"docsSidebar"},"plugin/overview":{"id":"plugin/overview","title":"Plugin (Work in progress)","description":"Learn how to extend Yazi with Lua plugins.","sidebar":"docsSidebar"},"quick-start":{"id":"quick-start","title":"Quick Start","description":"A quick guide on the basic usage of Yazi.","sidebar":"docsSidebar"},"tips":{"id":"tips","title":"Tips","description":"A few helpful tips for using Yazi.","sidebar":"docsSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/9bff038b.d4c76ebe.js b/assets/js/9bff038b.d4c76ebe.js new file mode 100644 index 000000000..5b82941c7 --- /dev/null +++ b/assets/js/9bff038b.d4c76ebe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[699],{3850:(i,n,e)=>{e.r(n),e.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>a});var t=e(1527),o=e(6225);const r={id:"overview",sidebar_position:0,sidebar_label:"Plugin",description:"Learn how to extend Yazi with Lua plugins."},s="Plugin (Work in progress)",c={id:"plugin/overview",title:"Plugin (Work in progress)",description:"Learn how to extend Yazi with Lua plugins.",source:"@site/docs/plugin/overview.md",sourceDirName:"plugin",slug:"/plugin/overview",permalink:"/docs/plugin/overview",draft:!1,unlisted:!1,editUrl:"https://github.com/yazi-rs/yazi-rs.github.io/edit/main/docs/plugin/overview.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{id:"overview",sidebar_position:0,sidebar_label:"Plugin",description:"Learn how to extend Yazi with Lua plugins."},sidebar:"docsSidebar",previous:{title:"theme.toml",permalink:"/docs/configuration/theme"},next:{title:"API (Work in progress)",permalink:"/docs/plugin/api"}},l={},a=[];function d(i){const n={code:"code",h1:"h1",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.a)(),...i.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"plugin-work-in-progress",children:"Plugin (Work in progress)"}),"\n",(0,t.jsxs)(n.p,{children:["You can extend Yazi's functionality through Lua plugins, which need to be placed in the ",(0,t.jsx)(n.code,{children:"plugins"})," subdirectory within Yazi's configuration directory:"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Unix: ",(0,t.jsx)(n.code,{children:"~/.config/yazi/plugins/"})]}),"\n",(0,t.jsxs)(n.li,{children:["Windows: ",(0,t.jsx)(n.code,{children:"C:\\Users\\USERNAME\\AppData\\Roaming\\yazi\\config\\plugins\\"})]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{children:".\n\u251c\u2500\u2500 init.lua\n\u251c\u2500\u2500 plugins/\n\u2502\xa0\xa0 \u251c\u2500\u2500 fzf.yazi/\n\u2502\xa0\xa0 \u2514\u2500\u2500 zoxide.yazi/\n\u2514\u2500\u2500 yazi.toml\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Each plugin is a directory ending with ",(0,t.jsx)(n.code,{children:".yazi"}),", containing an ",(0,t.jsx)(n.code,{children:"init.lua"})," file for the plugin's initialization.\nFor instance, the structure of the ",(0,t.jsx)(n.code,{children:"zoxide.yazi"})," plugin is as:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{children:"zoxide.yazi/\n\u2514\u2500\u2500 init.lua\n"})})]})}function u(i={}){const{wrapper:n}={...(0,o.a)(),...i.components};return n?(0,t.jsx)(n,{...i,children:(0,t.jsx)(d,{...i})}):d(i)}},6225:(i,n,e)=>{e.d(n,{Z:()=>c,a:()=>s});var t=e(959);const o={},r=t.createContext(o);function s(i){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof i?i(n):{...n,...i}}),[n,i])}function c(i){let n;return n=i.disableParentContext?"function"==typeof i.components?i.components(o):i.components||o:s(i.components),t.createElement(r.Provider,{value:n},i.children)}}}]); \ No newline at end of file diff --git a/assets/js/9e2c8087.f8f7080a.js b/assets/js/9e2c8087.f8f7080a.js new file mode 100644 index 000000000..b8ea196e0 --- /dev/null +++ b/assets/js/9e2c8087.f8f7080a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[857],{3665:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>t,contentTitle:()=>c,default:()=>a,frontMatter:()=>r,metadata:()=>d,toc:()=>h});var s=i(1527),l=i(6225);const r={sidebar_position:2,description:"Learn how to configure keyboard shortcuts with Yazi."},c="keymap.toml",d={id:"configuration/keymap",title:"keymap.toml",description:"Learn how to configure keyboard shortcuts with Yazi.",source:"@site/docs/configuration/keymap.md",sourceDirName:"configuration",slug:"/configuration/keymap",permalink:"/docs/configuration/keymap",draft:!1,unlisted:!1,editUrl:"https://github.com/yazi-rs/yazi-rs.github.io/edit/main/docs/configuration/keymap.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,description:"Learn how to configure keyboard shortcuts with Yazi."},sidebar:"docsSidebar",previous:{title:"yazi.toml",permalink:"/docs/configuration/yazi"},next:{title:"theme.toml",permalink:"/docs/configuration/theme"}},t={},h=[{value:"[manager]",id:"manager",level:2},{value:"Navigation",id:"navigation",level:3},{value:"Selection",id:"selection",level:3},{value:"Operation",id:"operation",level:3},{value:"Tabs",id:"tabs",level:3},{value:"Tasks",id:"tasks",level:3},{value:"Help",id:"help",level:3},{value:"[tasks]",id:"tasks-1",level:2},{value:"[select]",id:"select",level:2},{value:"[input]",id:"input",level:2},{value:"Normal mode",id:"normal-mode",level:3},{value:"Insert mode",id:"insert-mode",level:3},{value:"[completion]",id:"completion",level:2},{value:"[help]",id:"help-1",level:2}];function o(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,l.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"keymaptoml",children:"keymap.toml"}),"\n",(0,s.jsx)(n.admonition,{type:"note",children:(0,s.jsxs)(n.p,{children:["If you haven't created and used your own configuration file yet, please see ",(0,s.jsx)(n.a,{href:"/docs/configuration/overview",children:"Configuration"}),"."]})}),"\n",(0,s.jsx)(n.h2,{id:"manager",children:"[manager]"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"escape: Cancel find, exit visual mode, clear selected, cancel filter, or cancel search."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--all"}),": Do all of the above."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--find"}),": Cancel find."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--visual"}),": Exit visual mode."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--select"}),": Clear selected."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--filter"}),": Cancel filter."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--search"}),": Cancel search."]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Automatically determine the operation by default, and it will only execute the selected operation after specifying the option; multiple options can be stacked."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"quit: Exit the process."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--no-cwd-file"}),": Don't write the current directory to the ",(0,s.jsx)(n.code,{children:"cwd-file"}),"."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"close: Close the current tab; if it's the last tab, exit the process instead."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"navigation",children:"Navigation"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"arrow"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"n"})," / ",(0,s.jsx)(n.code,{children:"n%"}),": Move the cursor up or down by ",(0,s.jsx)(n.code,{children:"n"})," or ",(0,s.jsx)(n.code,{children:"n%"})," lines. Use negative values to move up and positive values to move down."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"leave: Go back to the parent directory."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"enter: Enter the child directory."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"back: Go back to the previous directory."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"forward: Go forward to the next directory."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"peek"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"n"}),": Peek up or down at file contents in the preview. Use negative values to peek up and positive values to peek down."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"cd: Change the current directory."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"path"}),": the path to change to."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--interactive"}),": Use an interactive UI to input the path."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"reveal: Change the current directory to the parent of specified file, and hover on it."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"path"}),": the path to reveal."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"selection",children:"Selection"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"select"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--state=true"}),": Select the current file."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--state=false"}),": Deselect the current file."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--state=none"}),": Default, toggle the selection state of the current file."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"select_all"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--state=true"}),": Select all files."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--state=false"}),": Deselect all files."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--state=none"}),": Default, toggle the selection state of all files."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"visual_mode: Enter visual mode (selection mode)."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--unset"}),": Enter visual mode (unset mode)."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"operation",children:"Operation"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"open: Open the selected files."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--interactive"}),": Open the selected files with an interactive UI to choose the opening method."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"yank: Yank the selected files."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--cut"}),": Cut the selected files."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"paste: Paste the yanked files."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--force"}),": Overwrite the destination file if it exists."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--follow"}),": Copy the file pointed to by a symbolic link, rather than the link itself. Only can be used during copying."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"link: Create a symbolic link to the yanked files. (This is a privileged action in Windows and must be run as an administrator.)"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--relative"}),": Use a relative path for the symbolic link."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--force"}),": Overwrite the destination file if it exists."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["remove: Move the files to the trash/recycle bin on macOS/Windows. For Linux, it will follow ",(0,s.jsx)(n.a,{href:"https://specifications.freedesktop.org/trash-spec/trashspec-1.0.html",children:"The FreeDesktop.org Trash specification"}),"."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--force"}),": Don't show the confirmation dialog, and trash/delete files directly."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--permanently"}),": Permanently delete the files."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["create: Create a file or directory. Ends with ",(0,s.jsx)(n.code,{children:"/"})," (Unix) or ",(0,s.jsx)(n.code,{children:"\\"})," (Windows) for directories."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--force"}),": Overwrite the destination file directly if it exists, without showing the confirmation dialog."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"rename: Rename a file or directory."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--force"}),": Overwrite the destination file directly if it exists, without showing the confirmation dialog."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"copy: Copy the path of files or directories that are selected or hovered on."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"path"}),": Copy the absolute path."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"dirname"}),": Copy the path of the parent directory."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"filename"}),": Copy the name of the file."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"name_without_ext"}),": Copy the name of the file without the extension."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"shell: Run a shell command."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"exec"}),": Optional, command template to be run."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--block"}),": Open in a blocking manner. After setting this, Yazi will hide into a secondary screen and display the program on the main screen until it exits. During this time, it can receive I/O signals, which is useful for interactive programs."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--confirm"}),": When the template is provided, run it directly, no input UI was shown."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"hidden: Set the visibility of hidden files."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"show"}),": Show hidden files."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"hide"}),": Hide hidden files."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"toggle"}),": Default, toggle the hidden state."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"linemode: Set the line mode."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"none"}),": No line mode."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"size"}),": Display the size of the file."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"permissions"}),": Display the permissions of the file."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"mtime"}),": Display the last modified time of the file."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["In addition, you can also specify any 1 to 20 characters, and extend it within a UI plugin.\nWhich means you can implement your own linemode through the plugin by simply overriding the ",(0,s.jsxs)(n.a,{href:"https://github.com/sxyazi/yazi/blob/main/yazi-plugin/preset/components/folder.lua",children:[(0,s.jsx)(n.code,{children:"Folder:linemode"})," method"]}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"search"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"rg"}),": Search files by content using ripgrep."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"fd"}),": Search files by name using fd."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"none"}),": Default, cancel the ongoing search."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"jump"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"fzf"}),": Jump to a directory, or reveal a file using fzf."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"zoxide"}),": Jump to a directory using zoxide."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"find"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"query"}),": Optional, the query to find for. If not provided, an interactive UI will be used to input with."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--previous"}),": Find for the previous occurrence."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--smart"}),": Use smart-case when finding, i.e. case-sensitive if the query contains uppercase characters, otherwise case-insensitive."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--insensitive"}),": Use case-insensitive find."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"find_arrow: Move the cursor to the next or previous occurrence."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--previous"}),": Move to the previous occurrence."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"filter"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"query"}),": Optional, the query to filter for. If not provided, an interactive UI will be used to input with."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--smart"}),": Use smart-case when filtering, i.e. case-sensitive if the query contains uppercase characters, otherwise case-insensitive."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--insensitive"}),": Use case-insensitive filter."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"sort"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"by"}),": Optional, if not provided, the sort method will be kept unchanged.","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"none"'}),": Don't sort."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"alphabetical"'}),": Sort alphabetically, e.g. ",(0,s.jsx)(n.code,{children:"1.md"})," < ",(0,s.jsx)(n.code,{children:"10.md"})," < ",(0,s.jsx)(n.code,{children:"2.md"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"created"'}),": Sort by creation time."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"modified"'}),": Sort by last modified time."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"natural"'}),": Sort naturally, e.g. ",(0,s.jsx)(n.code,{children:"1.md"})," < ",(0,s.jsx)(n.code,{children:"2.md"})," < ",(0,s.jsx)(n.code,{children:"10.md"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"size"'}),": Sort by file size."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--reverse"}),": Display files in reverse order."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--dir_first"}),": Display directories first."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"tabs",children:"Tabs"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"tab_create"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"path"}),": Create a new tab using the specified path."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--current"}),": Create a new tab using the current path."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"tab_close"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"n"}),": Close the tab at position n, starting from 0."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"tab_switch"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"n"}),": Switch to the tab at position n, starting from 0."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--relative"}),": Switch to the tab at a position relative to the current tab. The value of n can be negative when using this parameter."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"tab_swap"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"n"}),": Swap the current tab with the tab at position n, where negative values move the tab forward, and positive values move it backward."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"tasks",children:"Tasks"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"tasks_show: Show the task manager."}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"help",children:"Help"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"help: Open the help menu."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"tasks-1",children:"[tasks]"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"close: Hide the task manager."}),"\n",(0,s.jsxs)(n.li,{children:["arrow:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"-1"}),": Move the cursor up 1 line."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"1"}),": Move the cursor down 1 line."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["inspect: Inspect the task (press ",(0,s.jsx)(n.code,{children:"q"})," to exit the inspect view)."]}),"\n",(0,s.jsx)(n.li,{children:"cancel: Cancel the task."}),"\n",(0,s.jsx)(n.li,{children:"help: Open the help menu."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"select",children:"[select]"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"close: Cancel selection."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--submit"}),": Submit the selection."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"arrow"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"n"}),": Move the cursor up or down n lines. Negative value for up, positive value for down."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"help: Open the help menu."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"input",children:"[input]"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"close: Cancel input."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--submit"}),": Submit the input."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"escape: Go back the normal mode, or cancel input."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"move: Move the cursor left or right."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"n"}),": Move the cursor n characters left or right. Negative value for left, positive value for right."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--in-operating"}),": Move the cursor only if its currently waiting for an operation."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"backward: Move back to the start of the current or previous word."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"forward: Move forward to the start of the next word."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--end-of-word"}),": Move forward to the end of the current or next word."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"normal-mode",children:"Normal mode"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"insert: Enter insert mode."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--append"}),": Insert after the cursor."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"visual: Enter visual mode."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"delete: Delete the selected characters."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--cut"}),": Cut the selected characters into clipboard, instead of only deleting them."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--insert"}),": Delete and enter insert mode."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"yank: Copy the selected characters."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"paste: Paste the copied characters after the cursor."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--before"}),": Paste the copied characters before the cursor."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"undo: Undo the last operation."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"redo: Redo the last operation."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"help: Open the help menu."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"insert-mode",children:"Insert mode"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"backspace: Delete the character before the cursor."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--under"}),": Delete the character under the cursor."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"kill: Kill the specified range of characters."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"bol"}),": Kill backwards to the BOL."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"eol"}),": Kill forwards to the EOL."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"backward"}),": Kill backwards to the start of the current word."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"forward"}),": Kill forwards to the end of the current word."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"completion",children:"[completion]"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"close: Hide the completion menu."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"--submit"}),": Submit the completion."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"arrow"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"n"}),": Move the cursor up or down n lines. Negative value for up, positive value for down."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"help: Open the help menu."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"help-1",children:"[help]"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"close: Hide the help menu."}),"\n",(0,s.jsx)(n.li,{children:"escape: Clear the filter, or hide the help menu."}),"\n",(0,s.jsxs)(n.li,{children:["arrow","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"n"}),": Move the cursor up or down n lines. Negative value for up, positive value for down."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"filter: Apply a filter for the help items."}),"\n"]})]})}function a(e={}){const{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},6225:(e,n,i)=>{i.d(n,{Z:()=>d,a:()=>c});var s=i(959);const l={},r=s.createContext(l);function c(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:c(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9e4087bc.44e6eec8.js b/assets/js/9e4087bc.44e6eec8.js new file mode 100644 index 000000000..96781881c --- /dev/null +++ b/assets/js/9e4087bc.44e6eec8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[608],{3763:(e,r,s)=>{s.r(r),s.d(r,{default:()=>o});s(959);var t=s(6626),a=s(9111),i=s(726),n=s(7792),c=s(1878),l=s(1527);function h(e){let{year:r,posts:s}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.Z,{as:"h3",id:r,children:r}),(0,l.jsx)("ul",{children:s.map((e=>(0,l.jsx)("li",{children:(0,l.jsxs)(t.Z,{to:e.metadata.permalink,children:[e.metadata.formattedDate," - ",e.metadata.title]})},e.metadata.date)))})]})}function d(e){let{years:r}=e;return(0,l.jsx)("section",{className:"margin-vert--lg",children:(0,l.jsx)("div",{className:"container",children:(0,l.jsx)("div",{className:"row",children:r.map(((e,r)=>(0,l.jsx)("div",{className:"col col--4 margin-vert--lg",children:(0,l.jsx)(h,{...e})},r)))})})})}function o(e){let{archive:r}=e;const s=(0,a.I)({id:"theme.blog.archive.title",message:"Archive",description:"The page & hero title of the blog archive page"}),t=(0,a.I)({id:"theme.blog.archive.description",message:"Archive",description:"The page & hero description of the blog archive page"}),h=function(e){const r=e.reduce(((e,r)=>{const s=r.metadata.date.split("-")[0],t=e.get(s)??[];return e.set(s,[r,...t])}),new Map);return Array.from(r,(e=>{let[r,s]=e;return{year:r,posts:s}}))}(r.blogPosts);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i.d,{title:s,description:t}),(0,l.jsxs)(n.Z,{children:[(0,l.jsx)("header",{className:"hero hero--primary",children:(0,l.jsxs)("div",{className:"container",children:[(0,l.jsx)(c.Z,{as:"h1",className:"hero__title",children:s}),(0,l.jsx)("p",{className:"hero__subtitle",children:t})]})}),(0,l.jsx)("main",{children:h.length>0&&(0,l.jsx)(d,{years:h})})]})]})}}}]); \ No newline at end of file diff --git a/assets/js/a6aa9e1f.5d197dc7.js b/assets/js/a6aa9e1f.5d197dc7.js new file mode 100644 index 000000000..2f2dfb3c4 --- /dev/null +++ b/assets/js/a6aa9e1f.5d197dc7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[89],{6851:(e,t,a)=>{a.r(t),a.d(t,{default:()=>j});a(959);var n=a(5341),i=a(2599),s=a(726),r=a(7839),l=a(9643),o=a(9111),g=a(6151),p=a(1527);function d(e){const{metadata:t}=e,{previousPage:a,nextPage:n}=t;return(0,p.jsxs)("nav",{className:"pagination-nav","aria-label":(0,o.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[a&&(0,p.jsx)(g.Z,{permalink:a,title:(0,p.jsx)(o.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer Entries"})}),n&&(0,p.jsx)(g.Z,{permalink:n,title:(0,p.jsx)(o.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older Entries"}),isNext:!0})]})}var c=a(2960),m=a(2936),h=a(8777);function x(e){let{items:t,component:a=h.Z}=e;return(0,p.jsx)(p.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,p.jsx)(m.n,{content:t,children:(0,p.jsx)(a,{children:(0,p.jsx)(t,{})})},t.metadata.permalink)}))})}function b(e){const{metadata:t}=e,{siteConfig:{title:a}}=(0,i.Z)(),{blogDescription:n,blogTitle:r,permalink:l}=t,o="/"===l?a:r;return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(s.d,{title:o,description:n}),(0,p.jsx)(c.Z,{tag:"blog_posts_list"})]})}function u(e){const{metadata:t,items:a,sidebar:n}=e;return(0,p.jsxs)(l.Z,{sidebar:n,children:[(0,p.jsx)(x,{items:a}),(0,p.jsx)(d,{metadata:t})]})}function j(e){return(0,p.jsxs)(s.FG,{className:(0,n.Z)(r.k.wrapper.blogPages,r.k.page.blogListPage),children:[(0,p.jsx)(b,{...e}),(0,p.jsx)(u,{...e})]})}}}]); \ No newline at end of file diff --git a/assets/js/a7bd4aaa.06ccabb0.js b/assets/js/a7bd4aaa.06ccabb0.js new file mode 100644 index 000000000..332281b61 --- /dev/null +++ b/assets/js/a7bd4aaa.06ccabb0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[518],{9933:(n,e,s)=>{s.r(e),s.d(e,{default:()=>d});s(959);var r=s(726),o=s(5625),t=s(8987),i=s(3797),c=s(2960),u=s(1527);function a(n){const{version:e}=n;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(c.Z,{version:e.version,tag:(0,o.os)(e.pluginId,e.version)}),(0,u.jsx)(r.d,{children:e.noIndex&&(0,u.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function l(n){const{version:e,route:s}=n;return(0,u.jsx)(r.FG,{className:e.className,children:(0,u.jsx)(t.q,{version:e,children:(0,i.H)(s.routes)})})}function d(n){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(a,{...n}),(0,u.jsx)(l,{...n})]})}}}]); \ No newline at end of file diff --git a/assets/js/a94703ab.10943036.js b/assets/js/a94703ab.10943036.js new file mode 100644 index 000000000..0b8af92ee --- /dev/null +++ b/assets/js/a94703ab.10943036.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[368],{76:(e,t,n)=>{n.r(t),n.d(t,{default:()=>be});var a=n(959),o=n(5341),i=n(726),s=n(7839),l=n(1632),r=n(646),c=n(9111),d=n(7186),u=n(3598);const m={backToTopButton:"backToTopButton_gYZi",backToTopButtonShow:"backToTopButtonShow_PbAn"};var b=n(1527);function h(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.Ct)();return(0,d.RF)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,u.S)((e=>{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,c.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.Z)("clean-btn",s.k.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(6664),x=n(8903),f=n(1339),j=n(842),_=n(4752);function k(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const g={collapseSidebarButton:"collapseSidebarButton__riI",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_SXr8"};function v(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,c.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.Z)("button button--secondary button--outline",g.collapseSidebarButton),onClick:t,children:(0,b.jsx)(k,{className:g.collapseSidebarButtonIcon})})}var C=n(4494),S=n(4194);const I=Symbol("EmptyContext"),N=a.createContext(I);function T(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),i=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,b.jsx)(N.Provider,{value:i,children:t})}var Z=n(730),B=n(853),A=n(6626),y=n(9027);function L(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,c.I)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.I)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),type:"button",className:"clean-btn menu__caret",onClick:a})}function w(e){let{item:t,onItemClick:n,activePath:i,level:r,index:c,...d}=e;const{items:u,label:m,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.L)(),_=function(e){const t=(0,y.Z)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.LM)(e):void 0),[e,t])}(t),k=(0,l._F)(t,i),g=(0,B.Mg)(x,i),{collapsed:v,setCollapsed:C}=(0,Z.u)({initialState:()=>!!h&&(!k&&t.collapsed)}),{expandedItem:T,setExpandedItem:w}=function(){const e=(0,a.useContext)(N);if(e===I)throw new S.i6("DocSidebarItemsExpandedStateProvider");return e}(),E=function(e){void 0===e&&(e=!v),w(e?null:c),C(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,S.D9)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:k,collapsed:v,updateCollapsed:E}),(0,a.useEffect)((()=>{h&&null!=T&&T!==c&&f&&C(!0)}),[h,T,c,C,f]),(0,b.jsxs)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemCategory,s.k.docs.docSidebarItemCategoryLevel(r),"menu__list-item",{"menu__list-item--collapsed":v},p),children:[(0,b.jsxs)("div",{className:(0,o.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":g}),children:[(0,b.jsx)(A.Z,{className:(0,o.Z)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":k}),onClick:h?e=>{n?.(t),x?E(!1):(e.preventDefault(),E())}:()=>{n?.(t)},"aria-current":g?"page":void 0,"aria-expanded":h?!v:void 0,href:h?_??"#":_,...d,children:m}),x&&h&&(0,b.jsx)(L,{collapsed:v,categoryLabel:m,onClick:e=>{e.preventDefault(),E()}})]}),(0,b.jsx)(Z.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:v,children:(0,b.jsx)(V,{items:u,tabIndex:v?-1:0,onItemClick:n,activePath:i,level:r+1})})]})}var E=n(6932),H=n(6764);const M={menuExternalLink:"menuExternalLink_jXp3"};function R(e){let{item:t,onItemClick:n,activePath:a,level:i,index:r,...c}=e;const{href:d,label:u,className:m,autoAddBaseUrl:h}=t,p=(0,l._F)(t,a),x=(0,E.Z)(d);return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(A.Z,{className:(0,o.Z)("menu__link",!x&&M.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...c,children:[u,!x&&(0,b.jsx)(H.Z,{})]})},u)}const F={menuHtmlItem:"menuHtmlItem_eAey"};function W(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:r}=t;return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(n),l&&[F.menuHtmlItem,"menu__list-item"],r),dangerouslySetInnerHTML:{__html:i}},a)}function P(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(w,{item:t,...n});case"html":return(0,b.jsx)(W,{item:t,...n});default:return(0,b.jsx)(R,{item:t,...n})}}function D(e){let{items:t,...n}=e;const a=(0,l.f)(t,n.activePath);return(0,b.jsx)(T,{children:a.map(((e,t)=>(0,b.jsx)(P,{item:e,index:t,...n},t)))})}const V=(0,a.memo)(D),U={menu:"menu_mIeD",menuWithAnnouncementBar:"menuWithAnnouncementBar_sEQp"};function z(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,C.nT)(),[t,n]=(0,a.useState)(e);return(0,d.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,c.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.Z)("menu thin-scrollbar",U.menu,l&&U.menuWithAnnouncementBar,i),children:(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:n,activePath:t,level:1})})})}const Y="sidebar_NaZc",X="sidebarWithHideableNavbar_ilKF",G="sidebarHidden_ccbI",K="sidebarLogo_JeWg";function Q(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.L)();return(0,b.jsxs)("div",{className:(0,o.Z)(Y,s&&X,i&&G),children:[s&&(0,b.jsx)(_.Z,{tabIndex:-1,className:K}),(0,b.jsx)(z,{path:t,sidebar:n}),l&&(0,b.jsx)(v,{onClick:a})]})}const J=a.memo(Q);var O=n(35),q=n(5513);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,q.e)();return(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ee(e){return(0,b.jsx)(O.Zo,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,f.i)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(J,{...e}),a&&(0,b.jsx)(te,{...e})]})}const ae={expandButton:"expandButton_otNl",expandButtonIcon:"expandButtonIcon_F41r"};function oe(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:ae.expandButton,title:(0,c.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(k,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_Xt9D",docSidebarContainerHidden:"docSidebarContainerHidden_IBg7",sidebarViewport:"sidebarViewport_m5le"};function se(e){let{children:t}=e;const n=(0,r.V)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function le(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.TH)(),[r,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{r&&c(!1),!r&&(0,p.n)()&&c(!0),i((e=>!e))}),[i,r]);return(0,b.jsx)("aside",{className:(0,o.Z)(s.k.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&c(!0)},children:(0,b.jsx)(se,{children:(0,b.jsxs)("div",{className:(0,o.Z)(ie.sidebarViewport,r&&ie.sidebarViewportHidden),children:[(0,b.jsx)(ne,{sidebar:t,path:l,onCollapse:d,isHidden:r}),r&&(0,b.jsx)(oe,{toggleSidebar:d})]})})})}const re={docMainContainer:"docMainContainer__6QZ",docMainContainerEnhanced:"docMainContainerEnhanced_xMdb",docItemWrapperEnhanced:"docItemWrapperEnhanced_xr_G"};function ce(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,r.V)();return(0,b.jsx)("main",{className:(0,o.Z)(re.docMainContainer,(t||!a)&&re.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.Z)("container padding-top--md padding-bottom--lg",re.docItemWrapper,t&&re.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_iSU5",docsWrapper:"docsWrapper_RBU1"};function ue(e){let{children:t}=e;const n=(0,r.V)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:de.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:de.docRoot,children:[n&&(0,b.jsx)(le,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(ce,{hiddenSidebarContainer:o,children:t})]})]})}var me=n(7479);function be(e){const t=(0,l.SN)(e);if(!t)return(0,b.jsx)(me.Z,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,b.jsx)(i.FG,{className:(0,o.Z)(s.k.page.docsDocPage),children:(0,b.jsx)(r.b,{name:a,items:c,children:(0,b.jsx)(ue,{children:n})})})}},7479:(e,t,n)=>{n.d(t,{Z:()=>l});n(959);var a=n(5341),o=n(9111),i=n(1878),s=n(1527);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.Z)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.Z,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/assets/js/b2b675dd.c31c0298.js b/assets/js/b2b675dd.c31c0298.js new file mode 100644 index 000000000..be10f5050 --- /dev/null +++ b/assets/js/b2b675dd.c31c0298.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[533],{8017:e=>{e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/b2f554cd.8398208d.js b/assets/js/b2f554cd.8398208d.js new file mode 100644 index 000000000..0725df565 --- /dev/null +++ b/assets/js/b2f554cd.8398208d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[477],{10:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"why-is-yazi-fast","metadata":{"permalink":"/blog/why-is-yazi-fast","editUrl":"https://github.com/yazi-rs/yazi-rs.github.io/edit/main/blog/2023-10-29-why-is-yazi-fast.md","source":"@site/blog/2023-10-29-why-is-yazi-fast.md","title":"Why is Yazi fast?","description":"This article assumes that you have already used Yazi and are familiar with most of its features.","date":"2023-10-29T00:00:00.000Z","formattedDate":"October 29, 2023","tags":[],"readingTime":4.88,"hasTruncateMarker":false,"authors":[{"name":"\u4e09\u54b2\u96c5 \xb7 Misaki Masa","title":"Creator of Yazi","url":"https://github.com/sxyazi","imageURL":"https://github.com/sxyazi.png","key":"sxyazi"}],"frontMatter":{"slug":"why-is-yazi-fast","title":"Why is Yazi fast?","authors":["sxyazi"]},"unlisted":false},"content":"This article assumes that you have already used Yazi and are familiar with most of its features.\\n\\nYazi has undergone significant optimizations to enhance user experience. It is designed entirely as an async program, handling all time-consuming tasks (I/O and CPU) as async tasks in a non-blocking, event-driven manner.\\n\\n## Tokio\\n\\nInternally, Yazi uses Tokio as its async runtime: hold on! Tokio\'s async may not be \\"truly async\\" as you might perceive it!\\n\\nUh, okay. From an application-layer perspective, it indeed is async; however, from a system-level view, there are possibly better solutions.\\n\\nBut! This is not the current performance bottleneck for Yazi. Considering Yazi is a TUI app, unlike CLI programs like `ls` and `exa` that need to output all files immediately, Yazi has more optimization opportunities at the application-layer:\\n\\n- For large directories (e.g., 100,000 files), Yazi uses [chunked loading](https://github.com/sxyazi/yazi/pull/117), which is unmatched by `ls` and `exa` since they must load everything at once.\\n- Yazi also preloads directory file lists in the background, an optimization that `ls` and `exa` do not possess.\\n\\nI must express my gratitude to Tokio for providing an excellent and convenient way to realize these application-layer optimizations.\\n\\nI believe that the benefits brought by these application-level optimizations are more noticeable compared to switching to solutions like `io_uring`. But I remain open to this and welcome constructive PR.\\n\\nHere is a relevant discussion on Reddit: [reddit.com/r/rust/comments/16fxr58/comment/k066gmh](https://www.reddit.com/r/rust/comments/16fxr58/comment/k066gmh/)\\n\\n## Pre-Caching\\n\\nYazi provides pre-caching mechanisms for the following data:\\n\\n- Mimetype: The baseline. Yazi uses the file\'s mimetype as a reference for tasks such as opening, previewing, and style rendering, and internally utilizes `file(1)` to obtain the file\'s mimetype.\\n- Image: To accelerate image previews, Yazi employs a 2-pass process for image files. The first pass is preprocessing, which downscales the image based on user-set max_width/max_height and generates a compressed lossy image as a cache file, significantly reducing file size. The second pass occurs when the user actually switches to the file and downscales it again to fit the terminal size.\\n- Video: To speed up video previews, Yazi pre-converts them into images and goes through the first pass of image processing. When the user needs to display the video, it undergoes the same second pass.\\n- PDF: Similar to video.\\n- Directory size: Yazi lazily calculates the directory size only when the user sets sorting by file size, as it is a time-consuming operation.\\n\\nNote: Except for size, all of these are scoped, meaning that when you are on the first page, only the first few files will be pre-cached.\\n\\nFor example, if your directory has 1000 files, your terminal height is 10, and you are on the second page, only files 11 to 20 will be processed. This greatly saves resources.\\n\\n## Discardable Tasks\\n\\nEvery preview task is discardable. When you navigate quickly between files and the previous file\'s triggered preview task is still not finished, it will be discarded directly, initiating a new task.\\n\\nThis promotes resource utilization. For I/O tasks like loading directory lists, Tokio\'s `abort` is used; for CPU tasks like code highlighting, an `Atomic` is used to record a `ticket`, and it checks if the value changes on each line code highlight. If it changes, it indicates that the current context has changed, and the entire highlighting task is discarded.\\n\\n## Code Highlighting\\n\\nYazi has built-in code highlighting and keeps it to a minimum for all text files: if your terminal height is 10, only the first 10 lines of the file are read and highlighted.\\n\\nOther file managers that rely on external programs like `bat` need to wait for `bat` to finish highlighting the _entire file_ before displaying only the first 10 lines.\\n\\nIn cases like JSON that require external program `jq`, Yazi kills `jq` directly after reading the first 10 lines to avoid unnecessary resource consumption.\\n\\nSince code highlighting is a CPU-intensive task, it is distributed among multiple blocking threads, managed through Tokio\'s spawn_blocking, and is also discardable.\\n\\n## Image Preview\\n\\nYazi not only has built-in code highlighting but also includes image encoding and downscaling - there is likely nothing faster than having it directly built-in. It is also distributed among multiple threads and is discardable.\\n\\nBesides being fast, Yazi\'s built-in Terminal graphics protocol, Inline images protocol, and Sixel graphics format allow Yazi to finely control when to display or hide images.\\n\\nThis ensures that in Yazi, there won\'t be issues, like images stacking on top of each other, or image escape code breaking the entire screen, when quickly navigating through images, as `stdout` is locked while outputting these escape codes. This locking happens after all image data is prepared, so it has no impact on performance.\\n\\n## Async Task Scheduling\\n\\nIn Yazi, tasks are automatically prioritized based on their severity. Yazi categorizes tasks into two types:\\n\\n- Macro tasks: Large and heavy tasks, such as copying large files, typically taking a long time to complete.\\n- Micro tasks: Small and urgent tasks, such as fetching file mimetype, pre-caching images, calculating directory size, and so on.\\n\\nThis is similar to having big and small cores in a CPU; when the big cores are idle, they help with the micro tasks. Yazi defaults to starting 5 micro workers and 10 macro workers, and these numbers can be configured by the user!\\n\\nFor complex tasks like file copying, a combination of micro and macro approaches is employed. Micro is used to recursively gather a list of all files to be copied, allowing users to see the number of tasks and their sizes in advance. Macro, on the other hand, handles the actual copying process.\\n\\nThe advantage of task scheduling extends beyond providing ample concurrency for I/O and CPU resources; it also indirectly mitigates the depletion of system resources (such as file handles and CPU) due to sudden task surges.\\n\\n## TODO\\n\\nI\'ll find time to continue writing."}]}')}}]); \ No newline at end of file diff --git a/assets/js/c8b3d7d6.fb4dfb2f.js b/assets/js/c8b3d7d6.fb4dfb2f.js new file mode 100644 index 000000000..6e55de752 --- /dev/null +++ b/assets/js/c8b3d7d6.fb4dfb2f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[307],{6911:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var i=t(1527),r=t(6225),s=t(9759);const a={sidebar_position:5,description:"A few helpful tips for using Yazi."},o="Tips",l={id:"tips",title:"Tips",description:"A few helpful tips for using Yazi.",source:"@site/docs/tips.md",sourceDirName:".",slug:"/tips",permalink:"/docs/tips",draft:!1,unlisted:!1,editUrl:"https://github.com/yazi-rs/yazi-rs.github.io/edit/main/docs/tips.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5,description:"A few helpful tips for using Yazi."},sidebar:"docsSidebar",previous:{title:"API (Work in progress)",permalink:"/docs/plugin/api"},next:{title:"Frequently Asked Questions",permalink:"/docs/faq"}},d={},c=[{value:"Full border",id:"full-border",level:2},{value:"Dropping to the shell",id:"dropping-to-the-shell",level:2},{value:"Close input by once <code><Esc></code> press",id:"close-input-by-once-esc-press",level:2},{value:"Smart enter: <code>enter</code> for directory, <code>open</code> for file",id:"smart-enter-enter-for-directory-open-for-file",level:2},{value:"Drag and drop via <code>dragon</code>",id:"drag-and-drop-via-dragon",level:2},{value:"No status bar",id:"no-status-bar",level:2},{value:"Show symlink in status bar",id:"show-symlink-in-status-bar",level:2},{value:"Show user/group of files in status bar",id:"show-usergroup-of-files-in-status-bar",level:2}];function h(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"tips",children:"Tips"}),"\n",(0,i.jsx)(n.h2,{id:"full-border",children:"Full border"}),"\n",(0,i.jsx)(n.p,{children:"You can implement a full border for Yazi via the UI plugin."}),"\n",(0,i.jsx)("img",{src:(0,s.Z)("/img/full-border.png"),width:"600"}),"\n",(0,i.jsxs)(n.p,{children:["Copy the preset ",(0,i.jsxs)(n.a,{href:"https://github.com/sxyazi/yazi/blob/main/yazi-plugin/preset/components/manager.lua",children:[(0,i.jsx)(n.code,{children:"Manager:render"})," function"]})," to any place, for example ",(0,i.jsx)(n.code,{children:"~/.config/yazi/ui.lua"}),", then apply the following patch:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-diff",children:'@@ -10,16 +10,28 @@ function Manager:render(area)\n \t\t})\n \t\t:split(area)\n\n+\tlocal bar = function(c, x, y)\n+\t\treturn ui.Bar(\n+\t\t\tui.Rect { x = math.max(0, x), y = math.max(0, y), w = math.min(1, area.w), h = math.min(1, area.h) },\n+\t\t\tui.Position.TOP\n+\t\t):symbol(c)\n+\tend\n+\n \treturn utils.flat {\n-\t\t-- Borders\n-\t\tui.Bar(chunks[1], ui.Position.RIGHT):symbol(THEME.manager.border_symbol):style(THEME.manager.border_style),\n-\t\tui.Bar(chunks[3], ui.Position.LEFT):symbol(THEME.manager.border_symbol):style(THEME.manager.border_style),\n+\t\tui.Border(area, ui.Position.ALL):type(ui.Border.ROUNDED),\n+\t\tui.Bar(chunks[1], ui.Position.RIGHT),\n+\t\tui.Bar(chunks[3], ui.Position.LEFT),\n+\n+\t\tbar("\u252c", chunks[1].right - 1, chunks[1].y),\n+\t\tbar("\u2534", chunks[1].right - 1, chunks[1].bottom - 1),\n+\t\tbar("\u252c", chunks[2].right, chunks[2].y),\n+\t\tbar("\u2534", chunks[2].right, chunks[1].bottom - 1),\n\n \t\t-- Parent\n-\t\tFolder:render(chunks[1]:padding(ui.Padding.x(1)), { kind = Folder.PARENT }),\n+\t\tFolder:render(chunks[1]:padding(ui.Padding.xy(1)), { kind = Folder.PARENT }),\n \t\t-- Current\n-\t\tFolder:render(chunks[2], { kind = Folder.CURRENT }),\n+\t\tFolder:render(chunks[2]:padding(ui.Padding.y(1)), { kind = Folder.CURRENT }),\n \t\t-- Preview\n-\t\tui.Base(chunks[3]:padding(ui.Padding.x(1)), ui.Base.PREVIEW),\n+\t\tui.Base(chunks[3]:padding(ui.Padding.xy(1)), ui.Base.PREVIEW),\n \t}\n end\n'})}),"\n",(0,i.jsxs)(n.p,{children:["If you prefer sharp corners for the border, you can remove ",(0,i.jsx)(n.code,{children:":type(ui.Border.ROUNDED)"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"Finally include it and adjust the manager layout offset:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-toml",children:'# yazi.toml\n[plugins]\npreload = [\n\t"~/.config/yazi/ui.lua"\n]\n\n# theme.toml\n[manager]\nfolder_offset = [ 2, 0, 2, 0 ]\npreview_offset = [ 2, 1, 2, 1 ]\n'})}),"\n",(0,i.jsx)(n.h2,{id:"dropping-to-the-shell",children:"Dropping to the shell"}),"\n",(0,i.jsxs)(n.p,{children:["Add the keybindings to the ",(0,i.jsx)(n.code,{children:"[manager]"})," of ",(0,i.jsx)(n.code,{children:"keymap.toml"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-toml",children:"{ on = [ \"<C-s>\" ], exec = '''shell \"$SHELL\" --block --confirm''', desc = \"Open shell here\" }\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Please make sure that ",(0,i.jsx)(n.code,{children:"<C-s>"})," does not conflict with your other keys."]}),"\n",(0,i.jsxs)(n.h2,{id:"close-input-by-once-esc-press",children:["Close input by once ",(0,i.jsx)(n.code,{children:"<Esc>"})," press"]}),"\n",(0,i.jsxs)(n.p,{children:["You can change the ",(0,i.jsx)(n.code,{children:"<Esc>"})," of input component from the default ",(0,i.jsx)(n.code,{children:"escape"})," to ",(0,i.jsx)(n.code,{children:"close"})," command:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-toml",children:'{ on = [ "<Esc>" ], exec = "close", desc = "Cancel input" }\n'})}),"\n",(0,i.jsx)(n.p,{children:"To exiting input directly, without entering Vi mode, making it behave like a regular input box."}),"\n",(0,i.jsxs)(n.h2,{id:"smart-enter-enter-for-directory-open-for-file",children:["Smart enter: ",(0,i.jsx)(n.code,{children:"enter"})," for directory, ",(0,i.jsx)(n.code,{children:"open"})," for file"]}),"\n",(0,i.jsxs)(n.p,{children:["Save those lines as ",(0,i.jsx)(n.code,{children:"~/.config/yazi/plugins/smart-enter.yazi/init.lua"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-lua",children:'return {\n\tentry = function()\n\t\tlocal h = cx.active.current.hovered\n\t\tya.manager_emit(h and h.cha.is_dir and "enter" or "open", {})\n\tend,\n}\n'})}),"\n",(0,i.jsxs)(n.p,{children:["Then bind it for ",(0,i.jsx)(n.code,{children:"l"})," key, in your ",(0,i.jsx)(n.code,{children:"keymap.toml"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-toml",children:'{ on = [ "l" ], exec = "plugin --sync smart-enter", desc = "Enter the child directory, or open the file" },\n'})}),"\n",(0,i.jsxs)(n.h2,{id:"drag-and-drop-via-dragon",children:["Drag and drop via ",(0,i.jsx)(n.a,{href:"https://github.com/mwh/dragon",children:(0,i.jsx)(n.code,{children:"dragon"})})]}),"\n",(0,i.jsxs)(n.p,{children:["Original post: ",(0,i.jsx)(n.a,{href:"https://github.com/sxyazi/yazi/discussions/327",children:"https://github.com/sxyazi/yazi/discussions/327"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-toml",children:"{ on = [ \"<C-n>\" ], exec = '''\n shell 'dragon -x -i -T \"$1\"' --confirm\n''' }\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Please make sure that ",(0,i.jsx)(n.code,{children:"<C-n>"})," does not conflict with your other keys."]}),"\n",(0,i.jsx)(n.h2,{id:"no-status-bar",children:"No status bar"}),"\n",(0,i.jsx)("img",{src:(0,s.Z)("/img/no-status-bar.jpg"),width:"600"}),"\n",(0,i.jsxs)(n.p,{children:["Save those lines as a file, for example ",(0,i.jsx)(n.code,{children:"~/.config/yazi/ui.lua"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-lua",children:"function Status:render() return {} end\n\nlocal old_manager_render = Manager.render\nfunction Manager:render(area)\n\treturn old_manager_render(self, ui.Rect { x = area.x, y = area.y, w = area.w, h = area.h + 1 })\nend\n"})}),"\n",(0,i.jsx)(n.p,{children:"Finally include it and adjust the manager layout offset:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-toml",children:'# yazi.toml\n[plugins]\npreload = [\n\t"~/.config/yazi/ui.lua"\n]\n\n# theme.toml\n[manager]\nfolder_offset = [ 1, 0, 0, 0 ]\npreview_offset = [ 1, 1, 0, 1 ]\n'})}),"\n",(0,i.jsx)(n.h2,{id:"show-symlink-in-status-bar",children:"Show symlink in status bar"}),"\n",(0,i.jsx)("img",{src:(0,s.Z)("/img/symlink-in-status.png"),width:"600"}),"\n",(0,i.jsxs)(n.p,{children:["You only need to rewrite the ",(0,i.jsxs)(n.a,{href:"https://github.com/sxyazi/yazi/blob/main/yazi-plugin/preset/components/status.lua#L39-L46",children:[(0,i.jsx)(n.code,{children:"Status:name()"})," method"]})," to achieve this feature,\nsave this method as a file, and apply the following patch to it:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-diff",children:'@@ -42,7 +42,11 @@ function Status:name()\n \t\treturn ui.Span("")\n \tend\n\n-\treturn ui.Span(" " .. h.name)\n+\tlocal linked = ""\n+\tif h.link_to ~= nil then\n+\t\tlinked = " -> " .. tostring(h.link_to)\n+\tend\n+\treturn ui.Span(" " .. h.name .. linked)\n end\n'})}),"\n",(0,i.jsx)(n.p,{children:"Finally just include it:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-toml",children:'# yazi.toml\n[plugins]\npreload = [\n\t"/path/to/your/status-name-function.lua"\n]\n'})}),"\n",(0,i.jsx)(n.h2,{id:"show-usergroup-of-files-in-status-bar",children:"Show user/group of files in status bar"}),"\n",(0,i.jsx)("img",{src:(0,s.Z)("/img/owner.png"),width:"600"}),"\n",(0,i.jsxs)(n.p,{children:["You only need to rewrite the ",(0,i.jsxs)(n.a,{href:"https://github.com/sxyazi/yazi/blob/main/yazi-plugin/preset/components/status.lua#L143-L154",children:[(0,i.jsx)(n.code,{children:"Status:render()"})," method"]})," to achieve this feature,\ncopy this method to your ",(0,i.jsx)(n.code,{children:"~/.config/yazi/init.lua"}),", and apply the following patch:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-diff",children:'@@ -1,8 +1,22 @@\n+function Status:owner()\n+\tlocal h = cx.active.current.hovered\n+\tif h == nil or ya.target_family() ~= "unix" then\n+\t\treturn ui.Line {}\n+\tend\n+\n+\treturn ui.Line {\n+\t\tui.Span(ya.user_name(h.cha.uid) or tostring(h.cha.uid)):fg("magenta"),\n+\t\tui.Span(":"),\n+\t\tui.Span(ya.group_name(h.cha.gid) or tostring(h.cha.gid)):fg("magenta"),\n+\t\tui.Span(" "),\n+\t}\n+end\n+\n function Status:render(area)\n \tself.area = area\n\n \tlocal left = ui.Line { self:mode(), self:size(), self:name() }\n-\tlocal right = ui.Line { self:permissions(), self:percentage(), self:position() }\n+\tlocal right = ui.Line { self:owner(), self:permissions(), self:percentage(), self:position() }\n \tlocal progress = self:progress(area, right:width())\n \treturn {\n \t\tui.Paragraph(area, { left }),\n'})})]})}function u(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},6225:(e,n,t)=>{t.d(n,{Z:()=>o,a:()=>a});var i=t(959);const r={},s=i.createContext(r);function a(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ccc49370.23d0b85b.js b/assets/js/ccc49370.23d0b85b.js new file mode 100644 index 000000000..687e6279a --- /dev/null +++ b/assets/js/ccc49370.23d0b85b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[103],{2565:(e,n,t)=>{t.r(n),t.d(n,{default:()=>p});t(959);var a=t(5341),i=t(726),s=t(7839),o=t(2936),l=t(9643),r=t(8777),c=t(9111),d=t(6151),u=t(1527);function m(e){const{nextItem:n,prevItem:t}=e;return(0,u.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,c.I)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog posts pagination"}),children:[t&&(0,u.jsx)(d.Z,{...t,subLabel:(0,u.jsx)(c.Z,{id:"theme.blog.post.paginator.newerPost",description:"The blog post button label to navigate to the newer/previous post",children:"Newer Post"})}),n&&(0,u.jsx)(d.Z,{...n,subLabel:(0,u.jsx)(c.Z,{id:"theme.blog.post.paginator.olderPost",description:"The blog post button label to navigate to the older/next post",children:"Older Post"}),isNext:!0})]})}function g(){const{assets:e,metadata:n}=(0,o.C)(),{title:t,description:a,date:s,tags:l,authors:r,frontMatter:c}=n,{keywords:d}=c,m=e.image??c.image;return(0,u.jsxs)(i.d,{title:t,description:a,keywords:d,image:m,children:[(0,u.jsx)("meta",{property:"og:type",content:"article"}),(0,u.jsx)("meta",{property:"article:published_time",content:s}),r.some((e=>e.url))&&(0,u.jsx)("meta",{property:"article:author",content:r.map((e=>e.url)).filter(Boolean).join(",")}),l.length>0&&(0,u.jsx)("meta",{property:"article:tag",content:l.map((e=>e.label)).join(",")})]})}var h=t(3123),f=t(5283);function v(e){let{sidebar:n,children:t}=e;const{metadata:a,toc:i}=(0,o.C)(),{nextItem:s,prevItem:c,frontMatter:d,unlisted:g}=a,{hide_table_of_contents:v,toc_min_heading_level:p,toc_max_heading_level:x}=d;return(0,u.jsxs)(l.Z,{sidebar:n,toc:!v&&i.length>0?(0,u.jsx)(h.Z,{toc:i,minHeadingLevel:p,maxHeadingLevel:x}):void 0,children:[g&&(0,u.jsx)(f.Z,{}),(0,u.jsx)(r.Z,{children:t}),(s||c)&&(0,u.jsx)(m,{nextItem:s,prevItem:c})]})}function p(e){const n=e.content;return(0,u.jsx)(o.n,{content:e.content,isBlogPostPage:!0,children:(0,u.jsxs)(i.FG,{className:(0,a.Z)(s.k.wrapper.blogPages,s.k.page.blogPostPage),children:[(0,u.jsx)(g,{}),(0,u.jsx)(v,{sidebar:e.sidebar,children:(0,u.jsx)(n,{})})]})})}},3123:(e,n,t)=>{t.d(n,{Z:()=>c});t(959);var a=t(5341),i=t(7951);const s={tableOfContents:"tableOfContents_SjQa",docItemContainer:"docItemContainer_EKWy"};var o=t(1527);const l="table-of-contents__link toc-highlight",r="table-of-contents__link--active";function c(e){let{className:n,...t}=e;return(0,o.jsx)("div",{className:(0,a.Z)(s.tableOfContents,"thin-scrollbar",n),children:(0,o.jsx)(i.Z,{...t,linkClassName:l,linkActiveClassName:r})})}},7951:(e,n,t)=>{t.d(n,{Z:()=>f});var a=t(959),i=t(842);function s(e){const n=e.map((e=>({...e,parentIndex:-1,children:[]}))),t=Array(7).fill(-1);n.forEach(((e,n)=>{const a=t.slice(2,e.level);e.parentIndex=Math.max(...a),t[e.level]=n}));const a=[];return n.forEach((e=>{const{parentIndex:t,...i}=e;t>=0?n[t].children.push(i):a.push(i)})),a}function o(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:a}=e;return n.flatMap((e=>{const n=o({toc:e.children,minHeadingLevel:t,maxHeadingLevel:a});return function(e){return e.level>=t&&e.level<=a}(e)?[{...e,children:n}]:n}))}function l(e){const n=e.getBoundingClientRect();return n.top===n.bottom?l(e.parentNode):n}function r(e,n){let{anchorTopOffset:t}=n;const a=e.find((e=>l(e).top>=t));if(a){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(l(a))?a:e[e.indexOf(a)-1]??null}return e[e.length-1]??null}function c(){const e=(0,a.useRef)(0),{navbar:{hideOnScroll:n}}=(0,i.L)();return(0,a.useEffect)((()=>{e.current=n?0:document.querySelector(".navbar").clientHeight}),[n]),e}function d(e){const n=(0,a.useRef)(void 0),t=c();(0,a.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:i,minHeadingLevel:s,maxHeadingLevel:o}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),l=function(e){let{minHeadingLevel:n,maxHeadingLevel:t}=e;const a=[];for(let i=n;i<=t;i+=1)a.push(`h${i}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:s,maxHeadingLevel:o}),c=r(l,{anchorTopOffset:t.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,t){t?(n.current&&n.current!==e&&n.current.classList.remove(i),e.classList.add(i),n.current=e):e.classList.remove(i)}(e,e===d)}))}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}}),[e,t])}var u=t(6626),m=t(1527);function g(e){let{toc:n,className:t,linkClassName:a,isChild:i}=e;return n.length?(0,m.jsx)("ul",{className:i?void 0:t,children:n.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.Z,{to:`#${e.id}`,className:a??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(g,{isChild:!0,toc:e.children,className:t,linkClassName:a})]},e.id)))}):null}const h=a.memo(g);function f(e){let{toc:n,className:t="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:c,maxHeadingLevel:u,...g}=e;const f=(0,i.L)(),v=c??f.tableOfContents.minHeadingLevel,p=u??f.tableOfContents.maxHeadingLevel,x=function(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:i}=e;return(0,a.useMemo)((()=>o({toc:s(n),minHeadingLevel:t,maxHeadingLevel:i})),[n,t,i])}({toc:n,minHeadingLevel:v,maxHeadingLevel:p});return d((0,a.useMemo)((()=>{if(l&&r)return{linkClassName:l,linkActiveClassName:r,minHeadingLevel:v,maxHeadingLevel:p}}),[l,r,v,p])),(0,m.jsx)(h,{toc:x,className:t,linkClassName:l,...g})}},5283:(e,n,t)=>{t.d(n,{Z:()=>g});t(959);var a=t(5341),i=t(9111),s=t(5655),o=t(1527);function l(){return(0,o.jsx)(i.Z,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function r(){return(0,o.jsx)(i.Z,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,o.jsx)(s.Z,{children:(0,o.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=t(7839),u=t(9302);function m(e){let{className:n}=e;return(0,o.jsx)(u.Z,{type:"caution",title:(0,o.jsx)(l,{}),className:(0,a.Z)(n,d.k.common.unlistedBanner),children:(0,o.jsx)(r,{})})}function g(e){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(c,{}),(0,o.jsx)(m,{...e})]})}}}]); \ No newline at end of file diff --git a/assets/js/d7fbbe43.4e4d4cf2.js b/assets/js/d7fbbe43.4e4d4cf2.js new file mode 100644 index 000000000..adf4b3fa6 --- /dev/null +++ b/assets/js/d7fbbe43.4e4d4cf2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[269],{3574:(e,i,t)=>{t.r(i),t.d(i,{default:()=>p});var s=t(7792),a=t(1878),n=(t(959),t(6626)),r=t(5924);const l={cards:"cards_fs6L",space:"space_jwe0"};var o=t(1527);function c(e){let{heading:i,description:t,link:s}=e;return(0,o.jsxs)("section",{className:"margin-top--lg margin-bottom--lg text--center",children:[(0,o.jsx)(a.Z,{as:"h1",children:i}),t&&(0,o.jsx)("p",{children:t}),(0,o.jsxs)(n.Z,{className:(0,r.Z)("button button--primary",l.space),to:s.to,children:[(0,o.jsx)("span",{"aria-hidden":"true",children:s.emoji}),(0,o.jsx)("span",{children:s.text})]})]})}function d(e){let{from:i}=e;return(0,o.jsx)("section",{className:"margin-top--lg margin-bottom--xl",children:(0,o.jsx)("div",{className:"container",children:(0,o.jsx)("ul",{className:(0,r.Z)("container","clean-list",l.cards),children:i.map((e=>{return i=e,(0,o.jsxs)("li",{className:"card shadow--md",children:[(0,o.jsx)("div",{className:(0,r.Z)("card__image"),children:(0,o.jsx)("video",{src:i.video,width:"100%",autoPlay:!0,controls:!0,loop:!0,muted:!0})}),(0,o.jsxs)("div",{className:"card__body",children:[(0,o.jsx)(a.Z,{as:"h4",children:i.title}),(0,o.jsx)("p",{children:i.description})]}),(0,o.jsx)("ul",{className:(0,r.Z)("card__footer")})]},i.title);var i}))})})})}const m=[{title:"Scrollable Preview",video:"/videos/scrollable-preview.mp4",description:"Preview various types of files, and scroll while previewing."},{title:"Visual Mode & Batch Rename",video:"/videos/visual-mode_batch-rename.mp4",description:"Batch select files in visual mode, and rename them."},{title:"Vim-like Input & Select Component",video:"/videos/input_select.mp4",description:"Quickly edit filename in the Input, and choose how to open it in the Select."},{title:"Multi-Tab & fzf, zoxide",video:"/videos/multi-tab_zoxide.mp4",description:"Collaborate across multiple tabs, and use fzf, zoxide for quick jumps."},{title:"Multi-Select & Task Management",video:"/videos/multi-select_task-management.mp4",description:"Select multiple files individually, perform copy, cut, etc. Which are scheduled by the task system, providing real-time progress reports and task cancellation."},{title:"Incremental Find",video:"/videos/incremental-find.mp4",description:"Find files incrementally in real-time, with the current position and number of all matches displayed."},{title:"Search",video:"/videos/search.mp4",description:"Search by name using fd, by content using rg, and perform arbitrary operations on the results."}];function p(){return(0,o.jsx)(s.Z,{title:"Features",description:"List of Yazi's features.",children:(0,o.jsxs)("main",{className:"margin-vert--lg",children:[(0,o.jsx)(c,{heading:"Features",description:"List of features shipped with Yazi.",link:{emoji:"\u2728",text:"Suggest a feature!",to:"https://github.com/sxyazi/yazi/issues/new?template=feature.yml"}}),(0,o.jsx)(d,{from:m})]})})}},5924:(e,i,t)=>{function s(e){var i,t,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(i=0;i<e.length;i++)e[i]&&(t=s(e[i]))&&(a&&(a+=" "),a+=t);else for(i in e)e[i]&&(a&&(a+=" "),a+=i);return a}t.d(i,{Z:()=>a});const a=function(){for(var e,i,t=0,a="";t<arguments.length;)(e=arguments[t++])&&(i=s(e))&&(a&&(a+=" "),a+=i);return a}}}]); \ No newline at end of file diff --git a/assets/js/e8af14dd.834bce6d.js b/assets/js/e8af14dd.834bce6d.js new file mode 100644 index 000000000..ca8ae6677 --- /dev/null +++ b/assets/js/e8af14dd.834bce6d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[644],{5745:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/f117dc86.eedf4f01.js b/assets/js/f117dc86.eedf4f01.js new file mode 100644 index 000000000..18b01dfbc --- /dev/null +++ b/assets/js/f117dc86.eedf4f01.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[722],{3454:(e,i,s)=>{s.r(i),s.d(i,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>n,metadata:()=>o,toc:()=>c});var t=s(1527),a=s(6225);const n={slug:"why-is-yazi-fast",title:"Why is Yazi fast?",authors:["sxyazi"]},r=void 0,o={permalink:"/blog/why-is-yazi-fast",editUrl:"https://github.com/yazi-rs/yazi-rs.github.io/edit/main/blog/2023-10-29-why-is-yazi-fast.md",source:"@site/blog/2023-10-29-why-is-yazi-fast.md",title:"Why is Yazi fast?",description:"This article assumes that you have already used Yazi and are familiar with most of its features.",date:"2023-10-29T00:00:00.000Z",formattedDate:"October 29, 2023",tags:[],readingTime:4.88,hasTruncateMarker:!1,authors:[{name:"\u4e09\u54b2\u96c5 \xb7 Misaki Masa",title:"Creator of Yazi",url:"https://github.com/sxyazi",imageURL:"https://github.com/sxyazi.png",key:"sxyazi"}],frontMatter:{slug:"why-is-yazi-fast",title:"Why is Yazi fast?",authors:["sxyazi"]},unlisted:!1},l={authorsImageUrls:[void 0]},c=[{value:"Tokio",id:"tokio",level:2},{value:"Pre-Caching",id:"pre-caching",level:2},{value:"Discardable Tasks",id:"discardable-tasks",level:2},{value:"Code Highlighting",id:"code-highlighting",level:2},{value:"Image Preview",id:"image-preview",level:2},{value:"Async Task Scheduling",id:"async-task-scheduling",level:2},{value:"TODO",id:"todo",level:2}];function h(e){const i={a:"a",code:"code",em:"em",h2:"h2",li:"li",p:"p",ul:"ul",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.p,{children:"This article assumes that you have already used Yazi and are familiar with most of its features."}),"\n",(0,t.jsx)(i.p,{children:"Yazi has undergone significant optimizations to enhance user experience. It is designed entirely as an async program, handling all time-consuming tasks (I/O and CPU) as async tasks in a non-blocking, event-driven manner."}),"\n",(0,t.jsx)(i.h2,{id:"tokio",children:"Tokio"}),"\n",(0,t.jsx)(i.p,{children:'Internally, Yazi uses Tokio as its async runtime: hold on! Tokio\'s async may not be "truly async" as you might perceive it!'}),"\n",(0,t.jsx)(i.p,{children:"Uh, okay. From an application-layer perspective, it indeed is async; however, from a system-level view, there are possibly better solutions."}),"\n",(0,t.jsxs)(i.p,{children:["But! This is not the current performance bottleneck for Yazi. Considering Yazi is a TUI app, unlike CLI programs like ",(0,t.jsx)(i.code,{children:"ls"})," and ",(0,t.jsx)(i.code,{children:"exa"})," that need to output all files immediately, Yazi has more optimization opportunities at the application-layer:"]}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["For large directories (e.g., 100,000 files), Yazi uses ",(0,t.jsx)(i.a,{href:"https://github.com/sxyazi/yazi/pull/117",children:"chunked loading"}),", which is unmatched by ",(0,t.jsx)(i.code,{children:"ls"})," and ",(0,t.jsx)(i.code,{children:"exa"})," since they must load everything at once."]}),"\n",(0,t.jsxs)(i.li,{children:["Yazi also preloads directory file lists in the background, an optimization that ",(0,t.jsx)(i.code,{children:"ls"})," and ",(0,t.jsx)(i.code,{children:"exa"})," do not possess."]}),"\n"]}),"\n",(0,t.jsx)(i.p,{children:"I must express my gratitude to Tokio for providing an excellent and convenient way to realize these application-layer optimizations."}),"\n",(0,t.jsxs)(i.p,{children:["I believe that the benefits brought by these application-level optimizations are more noticeable compared to switching to solutions like ",(0,t.jsx)(i.code,{children:"io_uring"}),". But I remain open to this and welcome constructive PR."]}),"\n",(0,t.jsxs)(i.p,{children:["Here is a relevant discussion on Reddit: ",(0,t.jsx)(i.a,{href:"https://www.reddit.com/r/rust/comments/16fxr58/comment/k066gmh/",children:"reddit.com/r/rust/comments/16fxr58/comment/k066gmh"})]}),"\n",(0,t.jsx)(i.h2,{id:"pre-caching",children:"Pre-Caching"}),"\n",(0,t.jsx)(i.p,{children:"Yazi provides pre-caching mechanisms for the following data:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:["Mimetype: The baseline. Yazi uses the file's mimetype as a reference for tasks such as opening, previewing, and style rendering, and internally utilizes ",(0,t.jsx)(i.code,{children:"file(1)"})," to obtain the file's mimetype."]}),"\n",(0,t.jsx)(i.li,{children:"Image: To accelerate image previews, Yazi employs a 2-pass process for image files. The first pass is preprocessing, which downscales the image based on user-set max_width/max_height and generates a compressed lossy image as a cache file, significantly reducing file size. The second pass occurs when the user actually switches to the file and downscales it again to fit the terminal size."}),"\n",(0,t.jsx)(i.li,{children:"Video: To speed up video previews, Yazi pre-converts them into images and goes through the first pass of image processing. When the user needs to display the video, it undergoes the same second pass."}),"\n",(0,t.jsx)(i.li,{children:"PDF: Similar to video."}),"\n",(0,t.jsx)(i.li,{children:"Directory size: Yazi lazily calculates the directory size only when the user sets sorting by file size, as it is a time-consuming operation."}),"\n"]}),"\n",(0,t.jsx)(i.p,{children:"Note: Except for size, all of these are scoped, meaning that when you are on the first page, only the first few files will be pre-cached."}),"\n",(0,t.jsx)(i.p,{children:"For example, if your directory has 1000 files, your terminal height is 10, and you are on the second page, only files 11 to 20 will be processed. This greatly saves resources."}),"\n",(0,t.jsx)(i.h2,{id:"discardable-tasks",children:"Discardable Tasks"}),"\n",(0,t.jsx)(i.p,{children:"Every preview task is discardable. When you navigate quickly between files and the previous file's triggered preview task is still not finished, it will be discarded directly, initiating a new task."}),"\n",(0,t.jsxs)(i.p,{children:["This promotes resource utilization. For I/O tasks like loading directory lists, Tokio's ",(0,t.jsx)(i.code,{children:"abort"})," is used; for CPU tasks like code highlighting, an ",(0,t.jsx)(i.code,{children:"Atomic"})," is used to record a ",(0,t.jsx)(i.code,{children:"ticket"}),", and it checks if the value changes on each line code highlight. If it changes, it indicates that the current context has changed, and the entire highlighting task is discarded."]}),"\n",(0,t.jsx)(i.h2,{id:"code-highlighting",children:"Code Highlighting"}),"\n",(0,t.jsx)(i.p,{children:"Yazi has built-in code highlighting and keeps it to a minimum for all text files: if your terminal height is 10, only the first 10 lines of the file are read and highlighted."}),"\n",(0,t.jsxs)(i.p,{children:["Other file managers that rely on external programs like ",(0,t.jsx)(i.code,{children:"bat"})," need to wait for ",(0,t.jsx)(i.code,{children:"bat"})," to finish highlighting the ",(0,t.jsx)(i.em,{children:"entire file"})," before displaying only the first 10 lines."]}),"\n",(0,t.jsxs)(i.p,{children:["In cases like JSON that require external program ",(0,t.jsx)(i.code,{children:"jq"}),", Yazi kills ",(0,t.jsx)(i.code,{children:"jq"})," directly after reading the first 10 lines to avoid unnecessary resource consumption."]}),"\n",(0,t.jsx)(i.p,{children:"Since code highlighting is a CPU-intensive task, it is distributed among multiple blocking threads, managed through Tokio's spawn_blocking, and is also discardable."}),"\n",(0,t.jsx)(i.h2,{id:"image-preview",children:"Image Preview"}),"\n",(0,t.jsx)(i.p,{children:"Yazi not only has built-in code highlighting but also includes image encoding and downscaling - there is likely nothing faster than having it directly built-in. It is also distributed among multiple threads and is discardable."}),"\n",(0,t.jsx)(i.p,{children:"Besides being fast, Yazi's built-in Terminal graphics protocol, Inline images protocol, and Sixel graphics format allow Yazi to finely control when to display or hide images."}),"\n",(0,t.jsxs)(i.p,{children:["This ensures that in Yazi, there won't be issues, like images stacking on top of each other, or image escape code breaking the entire screen, when quickly navigating through images, as ",(0,t.jsx)(i.code,{children:"stdout"})," is locked while outputting these escape codes. This locking happens after all image data is prepared, so it has no impact on performance."]}),"\n",(0,t.jsx)(i.h2,{id:"async-task-scheduling",children:"Async Task Scheduling"}),"\n",(0,t.jsx)(i.p,{children:"In Yazi, tasks are automatically prioritized based on their severity. Yazi categorizes tasks into two types:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Macro tasks: Large and heavy tasks, such as copying large files, typically taking a long time to complete."}),"\n",(0,t.jsx)(i.li,{children:"Micro tasks: Small and urgent tasks, such as fetching file mimetype, pre-caching images, calculating directory size, and so on."}),"\n"]}),"\n",(0,t.jsx)(i.p,{children:"This is similar to having big and small cores in a CPU; when the big cores are idle, they help with the micro tasks. Yazi defaults to starting 5 micro workers and 10 macro workers, and these numbers can be configured by the user!"}),"\n",(0,t.jsx)(i.p,{children:"For complex tasks like file copying, a combination of micro and macro approaches is employed. Micro is used to recursively gather a list of all files to be copied, allowing users to see the number of tasks and their sizes in advance. Macro, on the other hand, handles the actual copying process."}),"\n",(0,t.jsx)(i.p,{children:"The advantage of task scheduling extends beyond providing ample concurrency for I/O and CPU resources; it also indirectly mitigates the depletion of system resources (such as file handles and CPU) due to sudden task surges."}),"\n",(0,t.jsx)(i.h2,{id:"todo",children:"TODO"}),"\n",(0,t.jsx)(i.p,{children:"I'll find time to continue writing."})]})}function d(e={}){const{wrapper:i}={...(0,a.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},6225:(e,i,s)=>{s.d(i,{Z:()=>o,a:()=>r});var t=s(959);const a={},n=t.createContext(a);function r(e){const i=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),t.createElement(n.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f18375c2.8c51e2ce.js b/assets/js/f18375c2.8c51e2ce.js new file mode 100644 index 000000000..e7d0b3440 --- /dev/null +++ b/assets/js/f18375c2.8c51e2ce.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[131],{6766:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>r,metadata:()=>o,toc:()=>t});var s=i(1527),l=i(6225);const r={sidebar_position:1,description:"Learn how to configure Yazi's basic functionality."},c="yazi.toml",o={id:"configuration/yazi",title:"yazi.toml",description:"Learn how to configure Yazi's basic functionality.",source:"@site/docs/configuration/yazi.md",sourceDirName:"configuration",slug:"/configuration/yazi",permalink:"/docs/configuration/yazi",draft:!1,unlisted:!1,editUrl:"https://github.com/yazi-rs/yazi-rs.github.io/edit/main/docs/configuration/yazi.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,description:"Learn how to configure Yazi's basic functionality."},sidebar:"docsSidebar",previous:{title:"Configuration",permalink:"/docs/configuration/overview"},next:{title:"keymap.toml",permalink:"/docs/configuration/keymap"}},d={},t=[{value:"[manager]",id:"manager",level:2},{value:"[preview]",id:"preview",level:2},{value:"Ueberzug-specific",id:"ueberzug-specific",level:3},{value:"[opener]",id:"opener",level:2},{value:"[open]",id:"open",level:2},{value:"[tasks]",id:"tasks",level:2},{value:"Image decoding",id:"image-decoding",level:3},{value:"[input]",id:"input",level:2},{value:"Origin",id:"origin",level:3},{value:"Offset",id:"offset",level:3},{value:"Placeholder",id:"placeholder",level:3},{value:"[select]",id:"select",level:2}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,l.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"yazitoml",children:"yazi.toml"}),"\n",(0,s.jsx)(n.admonition,{type:"note",children:(0,s.jsxs)(n.p,{children:["If you haven't created and used your own configuration file yet, please see ",(0,s.jsx)(n.a,{href:"/docs/configuration/overview",children:"Configuration"}),"."]})}),"\n",(0,s.jsx)(n.h2,{id:"manager",children:"[manager]"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"layout: Manager layout by ratio, 3-element array"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"[1, 4, 3]"}),": 1/8 width for parent, 4/8 width for current, 3/8 width for preview"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"sort_by: File sorting method"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"none"'}),": Don't sort"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"alphabetical"'}),": Sort alphabetically, e.g. ",(0,s.jsx)(n.code,{children:"1.md"})," < ",(0,s.jsx)(n.code,{children:"10.md"})," < ",(0,s.jsx)(n.code,{children:"2.md"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"created"'}),": Sort by creation time"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"modified"'}),": Sort by last modified time"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"natural"'}),": Sort naturally, e.g. ",(0,s.jsx)(n.code,{children:"1.md"})," < ",(0,s.jsx)(n.code,{children:"2.md"})," < ",(0,s.jsx)(n.code,{children:"10.md"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"size"'}),": Sort by file size"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"sort_sensitive: Sort case-sensitively"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"true"}),": Case-sensitive"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"false"}),": Case-insensitive"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"sort_reverse: Display files in reverse order"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"true"}),": Reverse order"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"false"}),": Normal order"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"sort_dir_first: Display directories first"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"true"}),": Directories first"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"false"}),": Respects ",(0,s.jsx)(n.code,{children:"sort_by"})," and ",(0,s.jsx)(n.code,{children:"sort_reverse"})," only"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"linemode: Line mode"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"none"'}),": No line mode."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"size"'}),": Display the size of the file."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"permissions"'}),": Display the permissions of the file."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:'"mtime"'}),": Display the last modified time of the file."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["In addition, you can also specify any 1 to 20 characters, and extend it within a UI plugin.\nWhich means you can implement your own linemode through the plugin by simply overriding the ",(0,s.jsxs)(n.a,{href:"https://github.com/sxyazi/yazi/blob/main/yazi-plugin/preset/components/folder.lua",children:[(0,s.jsx)(n.code,{children:"Folder:linemode"})," method"]}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"show_hidden: Show hidden files"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"true"}),": Show"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"false"}),": Do not show"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"show_symlink: Show the path of the symlink file point to, after the filename"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"true"}),": Show"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"false"}),": Do not show"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"preview",children:"[preview]"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"tab_size: Tab width"}),"\n",(0,s.jsxs)(n.li,{children:["max_width: Maximum preview width for images. Do a ",(0,s.jsx)(n.code,{children:"yazi --clear-cache"})," to take effect after changing this."]}),"\n",(0,s.jsxs)(n.li,{children:["max_height: Maximum preview height for images. Do a ",(0,s.jsx)(n.code,{children:"yazi --clear-cache"})," to take effect after changing this."]}),"\n",(0,s.jsx)(n.li,{children:"cache_dir: The system cache directory is used by default, and the cached files will go away on a reboot automatically. If you want to make it more persistent, you can specify the cache directory manually as an absolute path."}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"ueberzug-specific",children:"Ueberzug-specific"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ueberzug_scale (Float): Ueberzug image scaling ratio, ",(0,s.jsx)(n.code,{children:"scale>1"})," for enlargement, ",(0,s.jsx)(n.code,{children:"scale<1"})," for reduction. For example, ",(0,s.jsx)(n.code,{children:"0.5"})," indicates a reduction to half."]}),"\n",(0,s.jsxs)(n.li,{children:["ueberzug_offset (",(0,s.jsx)(n.code,{children:"[x, y, width, height]"}),"): Ueberzug image offset, in cell units. For example, ",(0,s.jsx)(n.code,{children:"[0.5, 0.5, -0.5, -0.5]"})," indicates that the image is offset by half a cell in both directions, and the width and height are reduced by half a cell."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["This is useful for solving ",(0,s.jsx)(n.a,{href:"https://github.com/jstkdng/ueberzugpp/issues/122",children:"the bug of Ueberzug image size calculation"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["If your monitor has a ",(0,s.jsx)(n.code,{children:"2.0"})," scale factor, and is running on Wayland under Hyprland, you may need to set ",(0,s.jsx)(n.code,{children:"ueberzug_scale: 0.5"}),", and adjust the value of ",(0,s.jsx)(n.code,{children:"ueberzug_offset"})," according to your case, to offset this issue."]}),"\n",(0,s.jsx)(n.h2,{id:"opener",children:"[opener]"}),"\n",(0,s.jsx)(n.p,{children:"Configure available openers, for example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-toml",children:'[opener]\narchive = [\n\t{ exec = \'unar "$1"\', desc = "Extract here" },\n]\ntext = [\n\t{ exec = \'nvim "$@"\', block = true },\n]\n# ...\n'})}),"\n",(0,s.jsx)(n.p,{children:"Available parameters are as follows:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["exec: The command to open the selected files, with the following variables available:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"$n"})," (Unix) / ",(0,s.jsx)(n.code,{children:"%n"})," (Windows): The N-th selected file, starting from 1"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"$@"})," (Unix) / ",(0,s.jsx)(n.code,{children:"%*"})," (Windows): All selected files"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"foo"}),": Literal string to be passed"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"block (Boolean): Open in a blocking manner. After setting this, Yazi will hide into a secondary screen and display the program on the main screen until it exits. During this time, it can receive I/O signals, which is useful for interactive programs."}),"\n",(0,s.jsx)(n.li,{children:"orphan (Boolean): Keep the process running even if Yazi has exited."}),"\n",(0,s.jsx)(n.li,{children:"desc: Description of the opener, displayed in the selection menu."}),"\n",(0,s.jsxs)(n.li,{children:["for: Optional. This opener is only available on this system; when not specified, it's available on all systems. Available values:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"unix"}),": Linux and macOS"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"windows"}),": Windows"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"linux"}),": Linux"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"macos"}),": macOS"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"open",children:"[open]"}),"\n",(0,s.jsx)(n.p,{children:"Set rules for opening specific files, for example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-toml",children:'[open]\nrules = [\n\t{ mime = "text/*", use = "text" },\n\t{ mime = "image/*", use = "image" },\n\n\t# { mime = "application/json", use = "text" },\n\t{ name = "*.json", use = "text" },\n\n\t# Multiple openers for a single rule\n\t{ name = "*.html", use = [ "browser", "text" ] },\n]\n'})}),"\n",(0,s.jsx)(n.p,{children:"Available rule parameters are as follows:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["name (String): Glob expression for matching the file name. Case insensitive by default, add ",(0,s.jsx)(n.code,{children:"\\s"})," to the beginning to make it sensitive."]}),"\n",(0,s.jsxs)(n.li,{children:["mime (String): Glob expression for matching the MIME type. Case insensitive by default, add ",(0,s.jsx)(n.code,{children:"\\s"})," to the beginning to make it sensitive."]}),"\n",(0,s.jsxs)(n.li,{children:["use (String): Opener name corresponding to the names in the ",(0,s.jsxs)(n.a,{href:"#opener",children:[(0,s.jsx)(n.code,{children:"[opener]"})," section"]}),"."]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"tasks",children:"[tasks]"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"micro_workers: Maximum number of concurrent micro-tasks"}),"\n",(0,s.jsx)(n.li,{children:"macro_workers: Maximum number of concurrent macro-tasks"}),"\n",(0,s.jsx)(n.li,{children:"bizarre_retry: Maximum number of retries when a bizarre failure occurs"}),"\n",(0,s.jsx)(n.li,{children:"suppress_preload: Exclude the preload tasks created by the system from the task list, do not report their progress, and do not consider them on app exit confirming."}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"image-decoding",children:"Image decoding"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["image_alloc: Maximum memory allocation limit (in bytes) for decoding a single image, ",(0,s.jsx)(n.code,{children:"0"})," for unlimited."]}),"\n",(0,s.jsxs)(n.li,{children:["image_bound(",(0,s.jsx)(n.code,{children:"[width, height]"}),"): Maximum image size (in pixels) for decoding a single image, ",(0,s.jsx)(n.code,{children:"0"})," for unlimited."]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"input",children:"[input]"}),"\n",(0,s.jsxs)(n.p,{children:["You can customize the title and position of each ",(0,s.jsx)(n.code,{children:"Input"}),". As for position, it consists of two parts: ",(0,s.jsx)(n.a,{href:"#origin",children:"Origin"})," and ",(0,s.jsx)(n.a,{href:"#offset",children:"Offset"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["The origin is the top-left corner of the ",(0,s.jsx)(n.code,{children:"Input"}),", and the offset is the increment from this origin. Together, they determine the area of the ",(0,s.jsx)(n.code,{children:"Input"})," on the screen."]}),"\n",(0,s.jsx)(n.h3,{id:"origin",children:"Origin"}),"\n",(0,s.jsx)(n.p,{children:"For the origin, the following values are available:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"top-left"}),"\n",(0,s.jsx)(n.li,{children:"top-center"}),"\n",(0,s.jsx)(n.li,{children:"top-right"}),"\n",(0,s.jsx)(n.li,{children:"bottom-left"}),"\n",(0,s.jsx)(n.li,{children:"bottom-center"}),"\n",(0,s.jsx)(n.li,{children:"bottom-right"}),"\n",(0,s.jsx)(n.li,{children:"center"}),"\n",(0,s.jsx)(n.li,{children:"hovered (the cursor position of hovered file)"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"offset",children:"Offset"}),"\n",(0,s.jsxs)(n.p,{children:["As for the offset, it's a 4-element tuple: ",(0,s.jsx)(n.code,{children:"(x, y, width, height)"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"placeholder",children:"Placeholder"}),"\n",(0,s.jsxs)(n.p,{children:["Some ",(0,s.jsx)(n.code,{children:"Input"}),"s have special placeholders that will be replaced with actual content upon display:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"trash_title: String"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"{n}"}),": Number of files to be trashed"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"{s}"}),": ",(0,s.jsx)(n.code,{children:'"s"'})," if ",(0,s.jsx)(n.code,{children:"n > 1"}),", otherwise ",(0,s.jsx)(n.code,{children:'""'})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"delete_title: String"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"{n}"}),": Number of files to be deleted"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"{s}"}),": ",(0,s.jsx)(n.code,{children:'"s"'})," if ",(0,s.jsx)(n.code,{children:"n > 1"}),", otherwise ",(0,s.jsx)(n.code,{children:'""'})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:'find_title: [String, String]\nIt\'s a tuple of 2-element: first for "Find next", second for "Find previous".'}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:'shell_title: [String, String]\nIt\'s a tuple of 2-element: first for "Non-blocking shell", second for "Blocking shell".'}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"quit_title"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"{n}"}),": Number of tasks are running"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"{s}"}),": ",(0,s.jsx)(n.code,{children:'"s"'})," if ",(0,s.jsx)(n.code,{children:"n > 1"}),", otherwise ",(0,s.jsx)(n.code,{children:'""'})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"select",children:"[select]"}),"\n",(0,s.jsxs)(n.p,{children:["Same as ",(0,s.jsx)(n.a,{href:"#input",children:"the input"}),"."]})]})}function a(e={}){const{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},6225:(e,n,i)=>{i.d(n,{Z:()=>o,a:()=>c});var s=i(959);const l={},r=s.createContext(l);function c(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:c(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.fbda64af.js b/assets/js/main.fbda64af.js new file mode 100644 index 000000000..afb2c2b32 --- /dev/null +++ b/assets/js/main.fbda64af.js @@ -0,0 +1,2 @@ +/*! For license information please see main.fbda64af.js.LICENSE.txt */ +(self.webpackChunk=self.webpackChunk||[]).push([[179],{3104:(e,t,n)=>{var r={"./prism-bash":3209,"./prism-diff":3931,"./prism-lua":505,"./prism-powershell":6777,"./prism-toml":4265};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=3104},6605:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});n(959);var r=n(9010),a=n.n(r),o=n(6887);const i={"0480b142":[()=>n.e(836).then(n.bind(n,4594)),"@site/docs/faq.md",4594],"0f425520":[()=>n.e(240).then(n.bind(n,2138)),"@site/docs/configuration/overview.md",2138],17896441:[()=>Promise.all([n.e(532),n.e(629),n.e(918)]).then(n.bind(n,3554)),"@theme/DocItem",3554],"1df93b7f":[()=>Promise.all([n.e(532),n.e(237)]).then(n.bind(n,6077)),"@site/src/pages/index.tsx",6077],"226e5b6e":[()=>n.e(197).then(n.t.bind(n,4469,19)),"/home/runner/work/yazi-rs.github.io/yazi-rs.github.io/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469],"3b25d5a1":[()=>n.e(826).then(n.bind(n,3835)),"@site/blog/2023-10-29-why-is-yazi-fast.md",3835],"3b8c55ea":[()=>n.e(217).then(n.bind(n,5203)),"@site/docs/installation.md",5203],"468e7028":[()=>n.e(871).then(n.bind(n,7124)),"@site/docs/configuration/theme.md",7124],"4a2fc4aa":[()=>n.e(124).then(n.t.bind(n,3769,19)),"/home/runner/work/yazi-rs.github.io/yazi-rs.github.io/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],"5e95c892":[()=>n.e(661).then(n.bind(n,395)),"@theme/DocsRoot",395],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"72e14192":[()=>Promise.all([n.e(532),n.e(239)]).then(n.bind(n,3650)),"@site/docs/quick-start.md",3650],"814f3328":[()=>n.e(535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"90e6250d":[()=>n.e(54).then(n.bind(n,2979)),"@site/docs/plugin/api.md",2979],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9bff038b":[()=>n.e(699).then(n.bind(n,3850)),"@site/docs/plugin/overview.md",3850],"9e2c8087":[()=>n.e(857).then(n.bind(n,3665)),"@site/docs/configuration/keymap.md",3665],"9e4087bc":[()=>n.e(608).then(n.bind(n,3763)),"@theme/BlogArchivePage",3763],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(629),n.e(23),n.e(89)]).then(n.bind(n,6851)),"@theme/BlogListPage",6851],a7bd4aaa:[()=>n.e(518).then(n.bind(n,9933)),"@theme/DocVersionRoot",9933],a94703ab:[()=>Promise.all([n.e(532),n.e(368)]).then(n.bind(n,76)),"@theme/DocRoot",76],b2b675dd:[()=>n.e(533).then(n.t.bind(n,8017,19)),"~blog/default/blog-c06.json",8017],b2f554cd:[()=>n.e(477).then(n.t.bind(n,10,19)),"~blog/default/blog-archive-80c.json",10],c8b3d7d6:[()=>n.e(307).then(n.bind(n,6911)),"@site/docs/tips.md",6911],ccc49370:[()=>Promise.all([n.e(532),n.e(629),n.e(23),n.e(103)]).then(n.bind(n,2565)),"@theme/BlogPostPage",2565],d7fbbe43:[()=>Promise.all([n.e(532),n.e(269)]).then(n.bind(n,3574)),"@site/src/pages/features/index.tsx",3574],e8af14dd:[()=>n.e(644).then(n.t.bind(n,5745,19)),"/home/runner/work/yazi-rs.github.io/yazi-rs.github.io/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],f117dc86:[()=>n.e(722).then(n.bind(n,3454)),"@site/blog/2023-10-29-why-is-yazi-fast.md?truncated=true",3454],f18375c2:[()=>n.e(131).then(n.bind(n,6766)),"@site/docs/configuration/yazi.md",6766]};var l=n(1527);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(3266),c=n(14);function d(e,t){if("*"===e)return a()({loading:s,loader:()=>n.e(678).then(n.bind(n,6678)),modules:["@theme/NotFound"],webpack:()=>[6678],render(e,t){const n=e.default;return(0,l.jsx)(c.z,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},f=[],p=[],g=(0,u.Z)(r);return Object.entries(g).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],f.push(r[1]),p.push(r[2]))})),a().Map({loading:s,loader:d,modules:f,webpack:()=>p,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;return delete a.__context,(0,l.jsx)(c.z,{value:i,children:(0,l.jsx)(o,{...a,...n})})}})}const f=[{path:"/blog",component:d("/blog","dd7"),exact:!0},{path:"/blog/archive",component:d("/blog/archive","df7"),exact:!0},{path:"/blog/why-is-yazi-fast",component:d("/blog/why-is-yazi-fast","bfb"),exact:!0},{path:"/features/",component:d("/features/","fd8"),exact:!0},{path:"/docs",component:d("/docs","c87"),routes:[{path:"/docs",component:d("/docs","8f4"),routes:[{path:"/docs",component:d("/docs","acf"),routes:[{path:"/docs/configuration/keymap",component:d("/docs/configuration/keymap","490"),exact:!0,sidebar:"docsSidebar"},{path:"/docs/configuration/overview",component:d("/docs/configuration/overview","295"),exact:!0,sidebar:"docsSidebar"},{path:"/docs/configuration/theme",component:d("/docs/configuration/theme","8bb"),exact:!0,sidebar:"docsSidebar"},{path:"/docs/configuration/yazi",component:d("/docs/configuration/yazi","f31"),exact:!0,sidebar:"docsSidebar"},{path:"/docs/faq",component:d("/docs/faq","76c"),exact:!0,sidebar:"docsSidebar"},{path:"/docs/installation",component:d("/docs/installation","015"),exact:!0,sidebar:"docsSidebar"},{path:"/docs/plugin/api",component:d("/docs/plugin/api","95a"),exact:!0,sidebar:"docsSidebar"},{path:"/docs/plugin/overview",component:d("/docs/plugin/overview","c4c"),exact:!0,sidebar:"docsSidebar"},{path:"/docs/quick-start",component:d("/docs/quick-start","001"),exact:!0,sidebar:"docsSidebar"},{path:"/docs/tips",component:d("/docs/tips","b6f"),exact:!0,sidebar:"docsSidebar"}]}]}]},{path:"/",component:d("/","f76"),exact:!0},{path:"*",component:d("*")}]},9584:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,t:()=>i});var r=n(959),a=n(1527);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},1218:(e,t,n)=>{"use strict";var r=n(959),a=n(4478),o=n(9500),i=n(387),l=n(6654);const s=[n(8792),n(1804),n(1848),n(8068)];var u=n(6605),c=n(8903),d=n(3797),f=n(1527);function p(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var g=n(5655),m=n(2599),h=n(9759),y=n(842),b=n(726),v=n(3881),w=n(8073),k=n(5625),x=n(5378),S=n(2960);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,m.Z)(),r=(0,v.l)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,f.jsxs)(g.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function _(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,m.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,m.Z)(),{pathname:r}=(0,c.TH)();return e+(0,x.applyTrailingSlash)((0,h.Z)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,f.jsxs)(g.Z,{children:[(0,f.jsx)("meta",{property:"og:url",content:a}),(0,f.jsx)("link",{rel:"canonical",href:a})]})}function C(){const{i18n:{currentLocale:e}}=(0,m.Z)(),{metadata:t,image:n}=(0,y.L)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(g.Z,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:w.h})]}),n&&(0,f.jsx)(b.d,{image:n}),(0,f.jsx)(_,{}),(0,f.jsx)(E,{}),(0,f.jsx)(S.Z,{tag:k.HX,locale:e}),(0,f.jsx)(g.Z,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const T=new Map;function N(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var A=n(9584),L=n(9448),O=n(7065);function P(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const a=s.map((t=>{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const R=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,O.Z)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),P("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function j(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class I extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?P("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=P("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),j(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(R,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(c.AW,{location:t,render:()=>e})})}}const D=I,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="${M}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${z}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${z}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function $(){const{siteConfig:{baseUrl:e}}=(0,m.Z)();return(0,f.jsx)(f.Fragment,{children:!l.Z.canUseDOM&&(0,f.jsx)(g.Z,{children:(0,f.jsx)("script",{children:B(e)})})})}function U(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,m.Z)(),{pathname:n}=(0,c.TH)();return t&&n===e?(0,f.jsx)($,{}):null}function H(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:r,localeConfigs:a}}=(0,m.Z)(),o=(0,h.Z)(e),{htmlLang:i,direction:l}=a[r];return(0,f.jsxs)(g.Z,{children:[(0,f.jsx)("html",{lang:i,dir:l}),(0,f.jsx)("title",{children:t}),(0,f.jsx)("meta",{property:"og:title",content:t}),(0,f.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,f.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,f.jsx)("link",{rel:"icon",href:o})]})}var Z=n(8116),V=n(9027);function W(){const e=(0,V.Z)();return(0,f.jsx)(g.Z,{children:(0,f.jsx)("html",{"data-has-hydrated":e})})}function q(){const e=(0,d.H)(u.Z),t=(0,c.TH)();return(0,f.jsx)(Z.Z,{children:(0,f.jsx)(L.M,{children:(0,f.jsxs)(A.t,{children:[(0,f.jsxs)(p,{children:[(0,f.jsx)(H,{}),(0,f.jsx)(C,{}),(0,f.jsx)(U,{}),(0,f.jsx)(D,{location:N(t),children:e})]}),(0,f.jsx)(W,{})]})})})}var G=n(6887);const Y=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var K=n(3266);const Q=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!Q.has(e))(e))return!1;Q.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(G).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,K.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Y(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),j(e))},te=Object.freeze(ee),ne=Boolean(!0);if(l.Z.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(i.B6,{children:(0,f.jsx)(o.VK,{children:(0,f.jsx)(q,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},l=()=>{if(ne)r.startTransition((()=>{a.hydrateRoot(e,t,{onRecoverableError:n})}));else{const o=a.createRoot(e,{onRecoverableError:n});r.startTransition((()=>{o.render(t)}))}};j(window.location.pathname).then(l)}},9448:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>f});var r=n(959),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"installation","docs":[{"id":"configuration/keymap","path":"/docs/configuration/keymap","sidebar":"docsSidebar"},{"id":"configuration/overview","path":"/docs/configuration/overview","sidebar":"docsSidebar"},{"id":"configuration/theme","path":"/docs/configuration/theme","sidebar":"docsSidebar"},{"id":"configuration/yazi","path":"/docs/configuration/yazi","sidebar":"docsSidebar"},{"id":"faq","path":"/docs/faq","sidebar":"docsSidebar"},{"id":"installation","path":"/docs/installation","sidebar":"docsSidebar"},{"id":"plugin/api","path":"/docs/plugin/api","sidebar":"docsSidebar"},{"id":"plugin/overview","path":"/docs/plugin/overview","sidebar":"docsSidebar"},{"id":"quick-start","path":"/docs/quick-start","sidebar":"docsSidebar"},{"id":"tips","path":"/docs/tips","sidebar":"docsSidebar"}],"draftIds":[],"sidebars":{"docsSidebar":{"link":{"path":"/docs/installation","label":"installation"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(7529);const s=JSON.parse('{"docusaurusVersion":"3.1.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.1.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.1.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.1.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.1.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.1.0"}}}');var u=n(1527);const c={siteConfig:a.default,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},d=r.createContext(c);function f(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},8116:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(959),a=n(6654),o=n(5655),i=n(5378),l=n(7792),s=n(1527);function u(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,s.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,s.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,s.jsx)(c,{error:t})]})}function c(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)(p,{fallback:()=>(0,s.jsx)(u,{error:t,tryAgain:n}),children:[(0,s.jsx)(o.Z,{children:(0,s.jsx)("title",{children:"Page Error"})}),(0,s.jsx)(l.Z,{children:(0,s.jsx)(u,{error:t,tryAgain:n})})]})}const f=e=>(0,s.jsx)(d,{...e});class p extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??f)(e)}return e??null}}},6654:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5655:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(959);var r=n(387),a=n(1527);function o(e){return(0,a.jsx)(r.ql,{...e})}},6626:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(959),a=n(9500),o=n(5378),i=n(2599),l=n(6932),s=n(6654),u=n(6690),c=n(9759),d=n(1527);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:g,isActive:m,"data-noBrokenLinkCheck":h,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,i.Z)(),{withBaseUrl:k}=(0,c.C)(),x=(0,u.Z)(),S=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>S.current));const E=f||p;const _=(0,l.Z)(E),C=E?.replace("pathname://","");let T=void 0!==C?(N=C,y&&(e=>e.startsWith("/"))(N)?k(N):N):void 0;var N;T&&_&&(T=(0,o.applyTrailingSlash)(T,{trailingSlash:v,baseUrl:w}));const A=(0,r.useRef)(!1),L=n?a.OL:a.rU,O=s.Z.canUseIntersectionObserver,P=(0,r.useRef)(),R=()=>{A.current||null==T||(window.docusaurus.preload(T),A.current=!0)};(0,r.useEffect)((()=>(!O&&_&&null!=T&&window.docusaurus.prefetch(T),()=>{O&&P.current&&P.current.disconnect()})),[P,T,O,_]);const j=T?.startsWith("#")??!1,I=!T||!_||j;return I||h||x.collectLink(T),I?(0,d.jsx)("a",{ref:S,href:T,...E&&!_&&{target:"_blank",rel:"noopener noreferrer"},...b}):(0,d.jsx)(L,{...b,onMouseEnter:R,onTouchStart:R,innerRef:e=>{S.current=e,O&&e&&_&&(P.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(P.current.unobserve(e),P.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),P.current.observe(e))},to:T,...n&&{isActive:m,activeClassName:g}})}const p=r.forwardRef(f)},8129:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r=()=>null},9111:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u,I:()=>s});var r=n(959),a=n(1527);function o(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(7529);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return o(l({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const i=l({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},6319:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},6932:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},9759:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>l});var r=n(959),a=n(2599),o=n(6932);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},6690:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(959);n(1527);const a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),o=()=>(0,r.useContext)(a);function i(){return o()}},2599:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(959),a=n(9448);function o(){return(0,r.useContext)(a._)}},9027:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(959),a=n(9584);function o(){return(0,r.useContext)(a._)}},7065:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(959);const a=n(6654).Z.canUseDOM?r.useLayoutEffect:r.useEffect},3266:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const l=a?`${a}.${o}`:o;r(i)?e(i,l):t[l]=i}))}(e),t}},14:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,z:()=>i});var r=n(959),a=n(1527);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,a.jsx)(o.Provider,{value:l,children:t})}},745:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>m,gA:()=>f,_r:()=>c,Jo:()=>h,zh:()=>d,yW:()=>g,gB:()=>p});var r=n(8903),a=n(2599),o=n(6319);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=function(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},c=()=>i("docusaurus-plugin-content-docs")??u,d=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function f(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function p(e){return d(e).versions}function g(e){const t=d(e);return l(t)}function m(e){const t=d(e),{pathname:n}=(0,r.TH)();return s(t,n)}function h(e){const t=d(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},9010:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}var l=n(959),s=n(507),u=[],c=[];function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function f(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var a=d(e[r]);a.loading?t.loading=!0:(t.loaded[r]=a.loaded,t.error=a.error),n.push(a.promise),a.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function p(e,t){return l.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function g(e,t){var d,f;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var g=i({loader:null,loading:null,delay:200,timeout:null,render:p,webpack:null,modules:null},t),m=null;function h(){return m||(m=e(g.loader)),m.promise}return u.push(h),"function"==typeof g.webpack&&c.push((function(){if((0,g.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return h()})),f=d=function(t){function n(n){var r;return o(a(a(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),m=e(g.loader),r._loadModule()})),h(),r.state={error:m.error,pastDelay:!1,timedOut:!1,loading:m.loading,loaded:m.loaded},r}r(n,t),n.preload=function(){return h()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context.loadable&&Array.isArray(g.modules)&&g.modules.forEach((function(t){e.context.loadable.report(t)})),m.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof g.delay&&(0===g.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),g.delay)),"number"==typeof g.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),g.timeout));var n=function(){t({error:m.error,loaded:m.loaded,loading:m.loading}),e._clearTimeouts()};m.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?l.createElement(g.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?g.render(this.state.loaded,this.props):null},n}(l.Component),o(d,"contextTypes",{loadable:s.shape({report:s.func.isRequired})}),f}function m(e){return g(d,e)}m.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return g(f,e)};var h=function(e){function t(){return e.apply(this,arguments)||this}r(t,e);var n=t.prototype;return n.getChildContext=function(){return{loadable:{report:this.props.report}}},n.render=function(){return l.Children.only(this.props.children)},t}(l.Component);function y(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return y(e)}))}o(h,"propTypes",{report:s.func.isRequired}),o(h,"childContextTypes",{loadable:s.shape({report:s.func.isRequired}).isRequired}),m.Capture=h,m.preloadAll=function(){return new Promise((function(e,t){y(u).then(e,t)}))},m.preloadReady=function(){return new Promise((function(e,t){y(c).then(e,e)}))},e.exports=m},1848:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(9981),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},1804:(e,t,n)=>{"use strict";n.r(t);var r=n(2281),a=n(6809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(1559),n(3104)(`./prism-${e}`)})),delete globalThis.Prism}(r.p1)},1878:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(959);var r=n(5341),a=n(9111),o=n(842),i=n(6626),l=n(6690);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_kntu",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_MdN_"};var u=n(1527);function c(e){let{as:t,id:n,...c}=e;const d=(0,l.Z)(),{navbar:{hideOnScroll:f}}=(0,o.L)();if("h1"===t||!n)return(0,u.jsx)(t,{...c,id:void 0});d.collectAnchor(n);const p=(0,a.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof c.children?c.children:n});return(0,u.jsxs)(t,{...c,className:(0,r.Z)("anchor",f?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,c.className),id:n,children:[c.children,(0,u.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":p,title:p,children:"\u200b"})]})}},6764:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(959);const r={iconExternalLink:"iconExternalLink_FzVt"};var a=n(1527);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},7792:(e,t,n)=>{"use strict";n.d(t,{Z:()=>pt});var r=n(959),a=n(5341),o=n(8116),i=n(726),l=n(8903),s=n(9111),u=n(3598),c=n(1527);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,u.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const g=(0,s.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function m(e){const t=e.children??g,{containerRef:n,onClick:r}=p();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":g,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var h=n(7839),y=n(8073);const b={skipToContent:"skipToContent_tLSW"};function v(){return(0,c.jsx)(m,{className:b.skipToContent})}var w=n(842),k=n(4494);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...i}=e;return(0,c.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,c.jsx)("g",{stroke:r,strokeWidth:a,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_RV5_"};function E(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.Z)("clean-btn close",S.closeButton,e.className),children:(0,c.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const _={content:"content_mxxS"};function C(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,a.Z)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_xLqx",announcementBarPlaceholder:"announcementBarPlaceholder_lipj",announcementBarClose:"announcementBarClose_q_bn",announcementBarContent:"announcementBarContent_y8Vv"};function N(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,c.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,c.jsx)("div",{className:T.announcementBarPlaceholder}),(0,c.jsx)(C,{className:T.announcementBarContent}),o&&(0,c.jsx)(E,{onClick:n,className:T.announcementBarClose})]})}var A=n(5513),L=n(7186);var O=n(4194),P=n(35);const R=r.createContext(null);function j(e){let{children:t}=e;const n=function(){const e=(0,A.e)(),t=(0,P.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,O.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,c.jsx)(R.Provider,{value:n,children:t})}function I(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function D(){const e=(0,r.useContext)(R);if(!e)throw new O.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,P.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:I(o)})),[a,o,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=D();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(1059),z=n(9027);function B(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_zKwc",toggleButton:"toggleButton_Sh1C",darkToggleIcon:"darkToggleIcon_saFG",lightToggleIcon:"lightToggleIcon_KeeV",toggleButtonDisabled:"toggleButtonDisabled_SE6i"};function H(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.Z)(),l=(0,s.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,c.jsx)("div",{className:(0,a.Z)(U.toggle,t),children:(0,c.jsxs)("button",{className:(0,a.Z)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,c.jsx)(B,{className:(0,a.Z)(U.toggleIcon,U.lightToggleIcon)}),(0,c.jsx)($,{className:(0,a.Z)(U.toggleIcon,U.darkToggleIcon)})]})})}const Z=r.memo(H),V={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_MLl_"};function W(e){let{className:t}=e;const n=(0,w.L)().navbar.style,r=(0,w.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,M.I)();return r?null:(0,c.jsx)(Z,{className:t,buttonClassName:"dark"===n?V.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var q=n(4752);function G(){return(0,c.jsx)(q.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Y(){const e=(0,A.e)();return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,c.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function K(){return(0,c.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,c.jsx)(G,{}),(0,c.jsx)(W,{className:"margin-right--md"}),(0,c.jsx)(Y,{})]})}var Q=n(6626),X=n(9759),J=n(6932);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(6764);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...u}=e;const d=(0,X.Z)(r),f=(0,X.Z)(t),p=(0,X.Z)(a,{forcePrependBaseUrl:!0}),g=o&&a&&!(0,J.Z)(a),m=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[o,g&&(0,c.jsx)(te.Z,{...l&&{width:12,height:12}})]})};return a?(0,c.jsx)(Q.Z,{href:s?p:a,...u,...m}):(0,c.jsx)(Q.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(f)},...u,...m})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,c.jsx)(ne,{className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,a.Z)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,c.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(730),le=n(853),se=n(2599);const ue={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_Je6P"};function ce(e,t){return e.some((e=>function(e,t){return!!(0,le.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const s=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,c.jsxs)("div",{ref:s,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u}),children:[(0,c.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,a.Z)("navbar__link",o),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:l.children??l.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(_e,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function fe(e){let{items:t,className:n,position:o,onClick:i,...s}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,se.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:f,toggleCollapsed:p,setCollapsed:g}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&g(!d)}),[u,d,g]),(0,c.jsxs)("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,c.jsx)(ne,{role:"button",className:(0,a.Z)(ue.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),p()},children:s.children??s.label}),(0,c.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:t.map(((e,t)=>(0,r.createElement)(_e,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function pe(e){let{mobile:t=!1,...n}=e;const r=t?fe:de;return(0,c.jsx)(r,{...n})}var ge=n(3881);function me(e){let{width:t=20,height:n=20,...r}=e;return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const he="iconLanguage_MfbH";var ye=n(8129);const be={navbarSearchContainer:"navbarSearchContainer_tJmq"};function ve(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,a.Z)(n,be.navbarSearchContainer),children:t})}var we=n(745),ke=n(1632);var xe=n(7310);const Se=e=>e.docs.find((t=>t.id===e.mainDocId));const Ee={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,se.Z)(),f=(0,ge.l)(),{search:p,hash:g}=(0,l.TH)(),m=[...n,...u.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${g}${a}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],h=t?(0,s.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,c.jsx)(pe,{...o,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(me,{className:he}),h]}),items:m})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(ve,{className:n,children:(0,c.jsx)(ye.Z,{})})},dropdown:pe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,c.jsx)(i,{className:(0,a.Z)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.Iw)(r),i=(0,ke.vY)(t,r),l=o?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>l||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.Iw)(r),i=(0,ke.oz)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,ke.lO)(r)[0],i=t??o.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,c.jsx)(oe,{...a,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:u,hash:d}=(0,l.TH)(),f=(0,we.Iw)(n),p=(0,we.gB)(n),{savePreferredVersionName:g}=(0,xe.J)(n),m=[...a,...p.map((e=>{const t=f.alternateDocVersions[e.name]??Se(e);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===f.activeVersion,onClick:()=>g(e.name)}})),...o],h=(0,ke.lO)(n)[0],y=t&&m.length>1?(0,s.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,b=t&&m.length>1?void 0:Se(h).path;return m.length<=1?(0,c.jsx)(oe,{...i,mobile:t,label:y,to:b,isActive:r?()=>!1:void 0}):(0,c.jsx)(pe,{...i,mobile:t,label:y,to:b,items:m,isActive:r?()=>!1:void 0})}};function _e(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=Ee[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(a,{...n})}function Ce(){const e=(0,A.e)(),t=(0,w.L)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(_e,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Te(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(s.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Ne(){const e=0===(0,w.L)().navbar.items.length,t=D();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(Te,{onClick:()=>t.hide()}),t.content]})}function Ae(){const e=(0,A.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,c.jsx)(F,{header:(0,c.jsx)(K,{}),primaryMenu:(0,c.jsx)(Ce,{}),secondaryMenu:(0,c.jsx)(Ne,{})}):null}const Le={navbarHideable:"navbarHideable_PRDR",navbarHidden:"navbarHidden_UOa3"};function Oe(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,a.Z)("navbar-sidebar__backdrop",e.className)})}function Pe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,A.e)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,L.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i<o.current)return void n(!0);if(a.current)return void(a.current=!1);const l=r?.scrollY,s=document.documentElement.scrollHeight-o.current,u=window.innerHeight;l&&i>=l?n(!1):i+u<s&&n(!0)})),(0,u.S)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:l,"aria-label":(0,s.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[Le.navbarHideable,!d&&Le.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(Oe,{onClick:i.toggle}),(0,c.jsx)(Ae,{})]})}var Re=n(5378);const je={errorBoundaryError:"errorBoundaryError_lDGA",errorBoundaryFallback:"errorBoundaryFallback_Fu9f"};function Ie(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(s.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function De(e){let{error:t}=e;const n=(0,Re.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:je.errorBoundaryError,children:n})}class Fe extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Me="right";function ze(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Be(){const{toggle:e,shown:t}=(0,A.e)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,s.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,c.jsx)(ze,{})})}const $e={colorModeToggle:"colorModeToggle_euGD"};function Ue(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(Fe,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,c.jsx)(_e,{...e})},t)))})}function He(e){let{left:t,right:n}=e;return(0,c.jsxs)("div",{className:"navbar__inner",children:[(0,c.jsx)("div",{className:"navbar__items",children:t}),(0,c.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function Ze(){const e=(0,A.e)(),t=(0,w.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Me)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,c.jsx)(He,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(Be,{}),(0,c.jsx)(G,{}),(0,c.jsx)(Ue,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Ue,{items:r}),(0,c.jsx)(W,{className:$e.colorModeToggle}),!a&&(0,c.jsx)(ve,{children:(0,c.jsx)(ye.Z,{})})]})})}function Ve(){return(0,c.jsx)(Pe,{children:(0,c.jsx)(Ze,{})})}function We(e){let{item:t}=e;const{to:n,href:r,label:a,prependBaseUrlToHref:o,...i}=t,l=(0,X.Z)(n),s=(0,X.Z)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(Q.Z,{className:"footer__link-item",...r?{href:o?s:r}:{to:l},...i,children:[a,r&&!(0,J.Z)(r)&&(0,c.jsx)(te.Z,{})]})}function qe(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(We,{item:t})},t.href??t.to)}function Ge(e){let{column:t}=e;return(0,c.jsxs)("div",{className:"col footer__col",children:[(0,c.jsx)("div",{className:"footer__title",children:t.title}),(0,c.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,c.jsx)(qe,{item:e},t)))})]})}function Ye(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(Ge,{column:e},t)))})}function Ke(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Qe(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(We,{item:t})}function Xe(e){let{links:t}=e;return(0,c.jsx)("div",{className:"footer__links text--center",children:(0,c.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(Qe,{item:e}),t.length!==n+1&&(0,c.jsx)(Ke,{})]},n)))})})}function Je(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(Ye,{columns:t}):(0,c.jsx)(Xe,{links:t})}var et=n(1656);const tt={footerLogoLink:"footerLogoLink_hiOB"};function nt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)(et.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function rt(e){let{logo:t}=e;return t.href?(0,c.jsx)(Q.Z,{href:t.href,className:tt.footerLogoLink,target:t.target,children:(0,c.jsx)(nt,{logo:t})}):(0,c.jsx)(nt,{logo:t})}function at(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function ot(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,c.jsx)("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function it(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,c.jsx)(ot,{style:a,links:n&&n.length>0&&(0,c.jsx)(Je,{links:n}),logo:r&&(0,c.jsx)(rt,{logo:r}),copyright:t&&(0,c.jsx)(at,{copyright:t})})}const lt=r.memo(it),st=(0,O.Qc)([M.S,k.pl,L.OC,xe.L5,i.VC,function(e){let{children:t}=e;return(0,c.jsx)(P.n2,{children:(0,c.jsx)(A.M,{children:(0,c.jsx)(j,{children:t})})})}]);function ut(e){let{children:t}=e;return(0,c.jsx)(st,{children:t})}var ct=n(1878);function dt(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)("main",{className:"container margin-vert--xl",children:(0,c.jsx)("div",{className:"row",children:(0,c.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,c.jsx)(ct.Z,{as:"h1",className:"hero__title",children:(0,c.jsx)(s.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,c.jsx)("div",{className:"margin-vert--lg",children:(0,c.jsx)(Ie,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(De,{error:t})})]})})})}const ft={mainWrapper:"mainWrapper_MTkO"};function pt(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,y.t)(),(0,c.jsxs)(ut,{children:[(0,c.jsx)(i.d,{title:l,description:s}),(0,c.jsx)(v,{}),(0,c.jsx)(N,{}),(0,c.jsx)(Ve,{}),(0,c.jsx)("div",{id:d,className:(0,a.Z)(h.k.wrapper.main,ft.mainWrapper,r),children:(0,c.jsx)(o.Z,{fallback:e=>(0,c.jsx)(dt,{...e}),children:t})}),!n&&(0,c.jsx)(lt,{})]})}},4752:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(959);var r=n(6626),a=n(9759),o=n(2599),i=n(842),l=n(1656),s=n(1527);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.Z)(t.src),dark:(0,a.Z)(t.srcDark||t.src)},i=(0,s.jsx)(l.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,o.Z)(),{navbar:{title:n,logo:l}}=(0,i.L)(),{imageClassName:c,titleClassName:d,...f}=e,p=(0,a.Z)(l?.href||"/"),g=n?"":t,m=l?.alt??g;return(0,s.jsxs)(r.Z,{to:p,...f,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(u,{logo:l,alt:m,imageClassName:c}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},2960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(959);var r=n(5655),a=n(1527);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.Z,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},1656:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(959),a=n(5341),o=n(9027),i=n(1059);const l={themedComponent:"themedComponent_T9Uj","themedComponent--light":"themedComponent--light_LnQX","themedComponent--dark":"themedComponent--dark_LeW_"};var s=n(1527);function u(e){let{className:t,children:n}=e;const u=(0,o.Z)(),{colorMode:c}=(0,i.I)();return(0,s.jsx)(s.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.Z)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:o},e)}))})}function c(e){const{sources:t,className:n,alt:r,...a}=e;return(0,s.jsx)(u,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},730:(e,t,n)=>{"use strict";n.d(t,{u:()=>u,z:()=>y});var r=n(959),a=n(6654),o=n(7065),i=n(6664),l=n(1527);const s="ease-in-out";function u(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}const c={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function f(e,t){const n=t?c:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function p(e){let{collapsibleRef:t,collapsed:n,animation:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return f(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function g(e){if(!a.Z.canUseDOM)return e?c:d}function m(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:u}=e;const c=(0,r.useRef)(null);return p({collapsibleRef:c,collapsed:n,animation:o}),(0,l.jsx)(t,{ref:c,style:u?void 0:g(n),onTransitionEnd:e=>{"height"===e.propertyName&&(f(c.current,n),i?.(n))},className:s,children:a})}function h(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[s,u]=(0,r.useState)(t);return(0,o.Z)((()=>{t||i(!0)}),[t]),(0,o.Z)((()=>{a&&u(t)}),[a,t]),a?(0,l.jsx)(m,{...n,collapsed:s}):null}function y(e){let{lazy:t,...n}=e;const r=t?h:m;return(0,l.jsx)(r,{...n})}},4494:(e,t,n)=>{"use strict";n.d(t,{nT:()=>m,pl:()=>g});var r=n(959),a=n(9027),o=n(9199),i=n(4194),l=n(842),s=n(1527);const u=(0,o.WA)("docusaurus.announcement.dismiss"),c=(0,o.WA)("docusaurus.announcement.id"),d=()=>"true"===u.get(),f=e=>u.set(String(e)),p=r.createContext(null);function g(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{f(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&f(!1),!r&&d()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(p.Provider,{value:n,children:t})}function m(){const e=(0,r.useContext)(p);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},1059:(e,t,n)=>{"use strict";n.d(t,{I:()=>y,S:()=>h});var r=n(959),a=n(6654),o=n(4194),i=n(9199),l=n(842),s=n(1527);const u=r.createContext(void 0),c="theme",d=(0,i.WA)(c),f={light:"light",dark:"dark"},p=e=>e===f.dark?f.dark:f.light,g=e=>a.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),m=e=>{d.set(p(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[a,o]=(0,r.useState)(g(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&m(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?f.dark:f.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=d.get();null!==t&&i(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===f.dark},setLightTheme(){i(f.light)},setDarkTheme(){i(f.dark)}})),[a,i])}();return(0,s.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},7310:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>y});var r=n(959),a=n(745),o=n(6319),i=n(842),l=n(1632),s=n(4194),u=n(9199),c=n(1527);const d=e=>`docs-preferred-version-${e}`,f={save:(e,t,n)=>{(0,u.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.WA)(d(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const g=r.createContext(null);function m(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,l]=(0,r.useState)((()=>p(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=f.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(f.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){f.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return(0,c.jsx)(g.Provider,{value:n,children:t})}function y(e){let{children:t}=e;return l.cE?(0,c.jsx)(h,{children:t}):(0,c.jsx)(c.Fragment,{children:t})}function b(){const e=(0,r.useContext)(g);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=b(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},646:(e,t,n)=>{"use strict";n.d(t,{V:()=>u,b:()=>s});var r=n(959),a=n(4194),o=n(1527);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(l.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(l);if(e===i)throw new a.i6("DocsSidebarProvider");return e}},8987:(e,t,n)=>{"use strict";n.d(t,{E:()=>s,q:()=>l});var r=n(959),a=n(4194),o=n(1527);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new a.i6("DocsVersionProvider");return e}},5513:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>p});var r=n(959),a=n(35),o=n(1339),i=n(4183),l=n(842),s=n(4194),u=n(1527);const c=r.createContext(void 0);function d(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,l.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[s,u]=(0,r.useState)(!1);(0,i.Rb)((()=>{if(s)return u(!1),!1}));const c=(0,r.useCallback)((()=>{u((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&u(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:s})),[e,n,c,s])}function f(e){let{children:t}=e;const n=d();return(0,u.jsx)(c.Provider,{value:n,children:t})}function p(){const e=r.useContext(c);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},35:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>u,n2:()=>l});var r=n(959),a=n(4194),o=n(1527);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,l]=o,s=(0,a.Ql)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},8073:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(959);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},1339:(e,t,n)=>{"use strict";n.d(t,{i:()=>l});var r=n(959),a=n(6654);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,l]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){l(function(e){if(!a.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?o.desktop:o.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},7839:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},6664:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},1632:(e,t,n)=>{"use strict";n.d(t,{LM:()=>p,SN:()=>E,_F:()=>h,cE:()=>f,f:()=>b,lO:()=>k,oz:()=>x,s1:()=>w,vY:()=>S});var r=n(959),a=n(8903),o=n(3797),i=n(745),l=n(7310),s=n(8987),u=n(646),c=n(1877),d=n(853);const f=!!i._r;function p(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=p(t);if(e)return e}}(e):void 0:e.href}const g=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),m=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||m(e.items,t))}function y(e,t){switch(e.type){case"category":return h(e,t)||e.items.some((e=>y(e,t)));case"link":return!e.unlisted||h(e,t);default:return!0}}function b(e,t){return(0,r.useMemo)((()=>e.filter((e=>y(e,t)))),[e,t])}function v(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,d.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function w(){const e=(0,u.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?v({sidebarItems:e.items,pathname:t}):null}function k(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,l.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>(0,c.j)([t,n,a].filter(Boolean))),[t,n,a])}function x(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function S(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,c.j)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function E(e){let{route:t}=e;const n=(0,a.TH)(),r=(0,s.E)(),i=t.routes,l=i.find((e=>(0,a.LX)(n.pathname,e)));if(!l)return null;const u=l.sidebar,c=u?r.docsSidebars[u]:void 0;return{docElement:(0,o.H)(i),sidebarName:u,sidebarItems:c}}},4183:(e,t,n)=>{"use strict";n.d(t,{Rb:()=>i,_X:()=>l});var r=n(959),a=n(8903),o=n(4194);function i(e){!function(e){const t=(0,a.k6)(),n=(0,o.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function l(e){return function(e){const t=(0,a.k6)();return(0,r.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}},1877:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function a(e){return Array.from(new Set(e))}n.d(t,{j:()=>a,l:()=>r})},726:(e,t,n)=>{"use strict";n.d(t,{FG:()=>p,d:()=>d,VC:()=>g});var r=n(959),a=n(5341),o=n(5655),i=n(14);function l(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(9759),u=n(2599);var c=n(1527);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const l=function(e){const{siteConfig:t}=(0,u.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.C)(),f=a?d(a,{absolute:!0}):void 0;return(0,c.jsxs)(o.Z,{children:[t&&(0,c.jsx)("title",{children:l}),t&&(0,c.jsx)("meta",{property:"og:title",content:l}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),f&&(0,c.jsx)("meta",{property:"og:image",content:f}),f&&(0,c.jsx)("meta",{name:"twitter:image",content:f}),i]})}const f=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(f),l=(0,a.Z)(i,t);return(0,c.jsxs)(f.Provider,{value:l,children:[(0,c.jsx)(o.Z,{children:(0,c.jsx)("html",{className:l})}),n]})}function g(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(p,{className:(0,a.Z)(r,o),children:t})}},4194:(e,t,n)=>{"use strict";n.d(t,{D9:()=>l,Qc:()=>c,Ql:()=>u,i6:()=>s,zX:()=>i});var r=n(959),a=n(7065),o=n(1527);function i(e){const t=(0,r.useRef)(e);return(0,a.Z)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,a.Z)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return(0,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},853:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>l});var r=n(959),a=n(6605),o=n(2599);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},7186:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>m,OC:()=>c,RF:()=>p,o5:()=>g});var r=n(959),a=n(6654),o=n(9027),i=n(7065),l=n(4194),s=n(1527);const u=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,s.jsx)(u.Provider,{value:n,children:t})}function d(){const e=(0,r.useContext)(u);if(null==e)throw new l.i6("ScrollControllerProvider");return e}const f=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=d(),a=(0,r.useRef)(f()),o=(0,l.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=f();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function g(){const e=d(),t=function(){const e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const r=t.getBoundingClientRect().top-n;return r&&window.scrollBy({left:0,top:r}),e.current={elem:null,top:0},{restored:0!==r}}),[]);return(0,r.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,r.useRef)(void 0),a=(0,r.useCallback)((r=>{t.save(r),e.disableScrollEvents(),n.current=()=>{const{restored:r}=t.restore();if(n.current=void 0,r){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,i.Z)((()=>{queueMicrotask((()=>n.current?.()))})),{blockElementScrollPositionUntilNextRender:a}}function m(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&a<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(a-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},5625:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>a});n(2599);const r="default";function a(e,t){return`docs-${e}-${t}`}},9199:(e,t,n)=>{"use strict";n.d(t,{Nk:()=>c,WA:()=>u});var r=n(959);const a="localStorage";function o(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function i(e){if(void 0===e&&(e=a),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,l||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),l=!0),null}var t}let l=!1;const s={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function u(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=i(t?.persistence);return null===n?s:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),o({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),o({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}function c(e,t){const n=(0,r.useRef)((()=>null===e?s:u(e,t))).current(),a=(0,r.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,r.useSyncExternalStore)(a,(()=>"undefined"==typeof window?null:n.get()),(()=>null)),n]}},3881:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(2599),a=n(8903),o=n(5378);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.Z)(),{pathname:s}=(0,a.TH)(),u=(0,o.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),c=l===i?e:e.replace(`/${l}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${c}`:`${c}${e}/`}(n)}${d}`}}}},3598:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(959),a=n(8903),o=n(4194);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},842:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2599);function a(){return(0,r.Z)().siteConfig.themeConfig}},6548:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},7158:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},5378:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(6548);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(7158);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},4047:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>C,ob:()=>p,PP:()=>N,Ep:()=>f});var r=n(7605);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r<a;n+=1,r+=1)e[n]=e[r];e.pop()}const i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],l=e&&a(e),s=t&&a(t),u=l||s;if(e&&a(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var c=i[i.length-1];n="."===c||".."===c||""===c}else n=!1;for(var d=0,f=i.length;f>=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var g=i.join("/");return n&&"/"!==g.substr(-1)&&(g+="/"),g};var l=n(8624);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var m=!("undefined"==typeof window||!window.document||!window.document.createElement);function h(e,t){t(window.confirm(e))}var y="popstate",b="hashchange";function v(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),m||(0,l.Z)(!1);var t,n=window.history,a=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,o=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,u=i.forceRefresh,w=void 0!==u&&u,k=i.getUserConfirmation,x=void 0===k?h:k,S=i.keyLength,E=void 0===S?6:S,_=e.basename?d(s(e.basename)):"";function C(e){var t=e||{},n=t.key,r=t.state,a=window.location,o=a.pathname+a.search+a.hash;return _&&(o=c(o,_)),p(o,r,n)}function T(){return Math.random().toString(36).substr(2,E)}var N=g();function A(e){(0,r.Z)($,e),$.length=n.length,N.notifyListeners($.location,$.action)}function L(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||R(C(e.state))}function O(){R(C(v()))}var P=!1;function R(e){if(P)P=!1,A();else{N.confirmTransitionTo(e,"POP",x,(function(t){t?A({action:"POP",location:e}):function(e){var t=$.location,n=I.indexOf(t.key);-1===n&&(n=0);var r=I.indexOf(e.key);-1===r&&(r=0);var a=n-r;a&&(P=!0,F(a))}(e)}))}}var j=C(v()),I=[j.key];function D(e){return _+f(e)}function F(e){n.go(e)}var M=0;function z(e){1===(M+=e)&&1===e?(window.addEventListener(y,L),o&&window.addEventListener(b,O)):0===M&&(window.removeEventListener(y,L),o&&window.removeEventListener(b,O))}var B=!1;var $={length:n.length,action:"POP",location:j,createHref:D,push:function(e,t){var r="PUSH",o=p(e,t,T(),$.location);N.confirmTransitionTo(o,r,x,(function(e){if(e){var t=D(o),i=o.key,l=o.state;if(a)if(n.pushState({key:i,state:l},null,t),w)window.location.href=t;else{var s=I.indexOf($.location.key),u=I.slice(0,s+1);u.push(o.key),I=u,A({action:r,location:o})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",o=p(e,t,T(),$.location);N.confirmTransitionTo(o,r,x,(function(e){if(e){var t=D(o),i=o.key,l=o.state;if(a)if(n.replaceState({key:i,state:l},null,t),w)window.location.replace(t);else{var s=I.indexOf($.location.key);-1!==s&&(I[s]=o.key),A({action:r,location:o})}else window.location.replace(t)}}))},go:F,goBack:function(){F(-1)},goForward:function(){F(1)},block:function(e){void 0===e&&(e=!1);var t=N.setPrompt(e);return B||(z(1),B=!0),function(){return B&&(B=!1,z(-1)),t()}},listen:function(e){var t=N.appendListener(e);return z(1),function(){z(-1),t()}}};return $}var k="hashchange",x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+u(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:u,decodePath:s},slash:{encodePath:s,decodePath:s}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function E(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function _(e){window.location.replace(S(window.location.href)+"#"+e)}function C(e){void 0===e&&(e={}),m||(0,l.Z)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),a=n.getUserConfirmation,o=void 0===a?h:a,i=n.hashType,u=void 0===i?"slash":i,y=e.basename?d(s(e.basename)):"",b=x[u],v=b.encodePath,w=b.decodePath;function C(){var e=w(E());return y&&(e=c(e,y)),p(e)}var T=g();function N(e){(0,r.Z)(B,e),B.length=t.length,T.notifyListeners(B.location,B.action)}var A=!1,L=null;function O(){var e,t,n=E(),r=v(n);if(n!==r)_(r);else{var a=C(),i=B.location;if(!A&&(t=a,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(L===f(a))return;L=null,function(e){if(A)A=!1,N();else{var t="POP";T.confirmTransitionTo(e,t,o,(function(n){n?N({action:t,location:e}):function(e){var t=B.location,n=I.lastIndexOf(f(t));-1===n&&(n=0);var r=I.lastIndexOf(f(e));-1===r&&(r=0);var a=n-r;a&&(A=!0,D(a))}(e)}))}}(a)}}var P=E(),R=v(P);P!==R&&_(R);var j=C(),I=[f(j)];function D(e){t.go(e)}var F=0;function M(e){1===(F+=e)&&1===e?window.addEventListener(k,O):0===F&&window.removeEventListener(k,O)}var z=!1;var B={length:t.length,action:"POP",location:j,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+v(y+f(e))},push:function(e,t){var n="PUSH",r=p(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=f(r),a=v(y+t);if(E()!==a){L=t,function(e){window.location.hash=e}(a);var o=I.lastIndexOf(f(B.location)),i=I.slice(0,o+1);i.push(t),I=i,N({action:n,location:r})}else N()}}))},replace:function(e,t){var n="REPLACE",r=p(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=f(r),a=v(y+t);E()!==a&&(L=t,_(a));var o=I.indexOf(f(B.location));-1!==o&&(I[o]=t),N({action:n,location:r})}}))},go:D,goBack:function(){D(-1)},goForward:function(){D(1)},block:function(e){void 0===e&&(e=!1);var t=T.setPrompt(e);return z||(M(1),z=!0),function(){return z&&(z=!1,M(-1)),t()}},listen:function(e){var t=T.appendListener(e);return M(1),function(){M(-1),t()}}};return B}function T(e,t,n){return Math.min(Math.max(e,t),n)}function N(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,a=t.initialEntries,o=void 0===a?["/"]:a,i=t.initialIndex,l=void 0===i?0:i,s=t.keyLength,u=void 0===s?6:s,c=g();function d(e){(0,r.Z)(w,e),w.length=w.entries.length,c.notifyListeners(w.location,w.action)}function m(){return Math.random().toString(36).substr(2,u)}var h=T(l,0,o.length-1),y=o.map((function(e){return p(e,void 0,"string"==typeof e?m():e.key||m())})),b=f;function v(e){var t=T(w.index+e,0,w.entries.length-1),r=w.entries[t];c.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var w={length:y.length,action:"POP",location:y[h],index:h,entries:y,createHref:b,push:function(e,t){var r="PUSH",a=p(e,t,m(),w.location);c.confirmTransitionTo(a,r,n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,m(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),c.setPrompt(e)},listen:function(e){return c.appendListener(e)}};return w}},2535:(e,t,n)=>{"use strict";var r=n(6237),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,g=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(g){var a=p(n);a&&a!==g&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),m=s(n),h=0;h<i.length;++h){var y=i[h];if(!(o[y]||r&&r[y]||m&&m[y]||l&&l[y])){var b=f(n,y);try{u(t,y,b)}catch(v){}}}}return t}},3670:e=>{"use strict";e.exports=function(e,t,n,r,a,o,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},901:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},8792:(e,t,n)=>{"use strict";n.r(t)},8068:(e,t,n)=>{"use strict";n.r(t)},9981:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function a(e,t,n){return e<t?t:e>n?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){s(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),l=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},7720:(e,t,n)=>{var r=n(901);e.exports=p,e.exports.parse=o,e.exports.compile=function(e,t){return l(o(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=f;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,l="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],f=n[1],p=n.index;if(l+=e.slice(i,p),i=p+d.length,f)l+=f[1];else{var g=e[i],m=n[2],h=n[3],y=n[4],b=n[5],v=n[6],w=n[7];l&&(r.push(l),l="");var k=null!=m&&null!=g&&g!==m,x="+"===v||"*"===v,S="?"===v||"*"===v,E=n[2]||c,_=y||b;r.push({name:h||o++,prefix:m||"",delimiter:E,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:_?u(_):w?".*":"[^"+s(E)+"]+?"})}}return i<e.length&&(l+=e.substr(i)),l&&r.push(l),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function l(e,t){for(var n=new Array(e.length),a=0;a<e.length;a++)"object"==typeof e[a]&&(n[a]=new RegExp("^(?:"+e[a].pattern+")$",d(t)));return function(t,a){for(var o="",l=t||{},s=(a||{}).pretty?i:encodeURIComponent,u=0;u<e.length;u++){var c=e[u];if("string"!=typeof c){var d,f=l[c.name];if(null==f){if(c.optional){c.partial&&(o+=c.prefix);continue}throw new TypeError('Expected "'+c.name+'" to be defined')}if(r(f)){if(!c.repeat)throw new TypeError('Expected "'+c.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(c.optional)continue;throw new TypeError('Expected "'+c.name+'" to not be empty')}for(var p=0;p<f.length;p++){if(d=s(f[p]),!n[u].test(d))throw new TypeError('Expected all "'+c.name+'" to match "'+c.pattern+'", but received `'+JSON.stringify(d)+"`");o+=(0===p?c.prefix:c.delimiter)+d}}else{if(d=c.asterisk?encodeURI(f).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):s(f),!n[u].test(d))throw new TypeError('Expected "'+c.name+'" to match "'+c.pattern+'", but received "'+d+'"');o+=c.prefix+d}}else o+=c}return o}}function s(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function u(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function c(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function f(e,t,n){r(t)||(n=t||n,t=[]);for(var a=(n=n||{}).strict,o=!1!==n.end,i="",l=0;l<e.length;l++){var u=e[l];if("string"==typeof u)i+=s(u);else{var f=s(u.prefix),p="(?:"+u.pattern+")";t.push(u),u.repeat&&(p+="(?:"+f+p+")*"),i+=p=u.optional?u.partial?f+"("+p+")?":"(?:"+f+"("+p+"))?":f+"("+p+")"}}var g=s(n.delimiter||"/"),m=i.slice(-g.length)===g;return a||(i=(m?i.slice(0,-g.length):i)+"(?:"+g+"(?=$))?"),i+=o?"$":a&&m?"":"(?="+g+"|$)",c(new RegExp("^"+i,d(n)),t)}function p(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return c(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],a=0;a<e.length;a++)r.push(p(e[a],t,n).source);return c(new RegExp("(?:"+r.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return f(o(e,n),t,n)}(e,t,n)}},3209:()=>{!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i<a.length;i++)o[a[i]]=e.languages.bash[a[i]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash}(Prism)},3931:()=>{!function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(Prism)},505:()=>{Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}},1559:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var s=0;s<l.length&&!(a>=o.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),g=f.indexOf(p);if(g>-1){++a;var m=f.substring(0,g),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=f.substring(g+p.length),b=[];m&&b.push.apply(b,i([m])),b.push(h),y&&b.push.apply(b,i([y])),"string"==typeof u?l.splice.apply(l,[s,1].concat(b)):u.content=b}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(Prism)},6777:()=>{!function(e){var t=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};t.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:t},boolean:t.boolean,variable:t.variable}}(Prism)},4265:()=>{!function(e){var t=/(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*")/.source;function n(e){return e.replace(/__/g,(function(){return t}))}e.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(n(/(^[\t ]*\[\s*(?:\[\s*)?)__(?:\s*\.\s*__)*(?=\s*\])/.source),"m"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp(n(/(^[\t ]*|[{,]\s*)__(?:\s*\.\s*__)*(?=\s*=)/.source),"m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},date:[{pattern:/\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i,alias:"number"},{pattern:/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/,alias:"number"}],number:/(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/,boolean:/\b(?:false|true)\b/,punctuation:/[.,=[\]{}]/}}(Prism)},4049:(e,t,n)=>{"use strict";var r=n(6257);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},507:(e,t,n)=>{e.exports=n(4049)()},6257:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},3746:(e,t,n)=>{"use strict";var r=n(959),a=n(2962);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,l={};function s(e,t){u(e,t),u(e+"Capture",t)}function u(e,t){for(l[e]=t,e=0;e<t.length;e++)i.add(t[e])}var c=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,f=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},g={};function m(e,t,n,r,a,o,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var h={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){h[e]=new m(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];h[t]=new m(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){h[e]=new m(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){h[e]=new m(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){h[e]=new m(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){h[e]=new m(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){h[e]=new m(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){h[e]=new m(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){h[e]=new m(e,5,!1,e.toLowerCase(),null,!1,!1)}));var y=/[\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}function v(e,t,n,r){var a=h.hasOwnProperty(t)?h[t]:null;(null!==a?0!==a.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!d.call(g,e)||!d.call(p,e)&&(f.test(e)?g[e]=!0:(p[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(y,b);h[t]=new m(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(y,b);h[t]=new m(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(y,b);h[t]=new m(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){h[e]=new m(e,1,!1,e.toLowerCase(),null,!1,!1)})),h.xlinkHref=new m("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){h[e]=new m(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=Symbol.for("react.element"),x=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),_=Symbol.for("react.profiler"),C=Symbol.for("react.provider"),T=Symbol.for("react.context"),N=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),L=Symbol.for("react.suspense_list"),O=Symbol.for("react.memo"),P=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var R=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var j=Symbol.iterator;function I(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=j&&e[j]||e["@@iterator"])?e:null}var D,F=Object.assign;function M(e){if(void 0===D)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);D=t&&t[1]||""}return"\n"+D+e}var z=!1;function B(e,t){if(!e||z)return"";z=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&"string"==typeof u.stack){for(var a=u.stack.split("\n"),o=r.stack.split("\n"),i=a.length-1,l=o.length-1;1<=i&&0<=l&&a[i]!==o[l];)l--;for(;1<=i&&0<=l;i--,l--)if(a[i]!==o[l]){if(1!==i||1!==l)do{if(i--,0>--l||a[i]!==o[l]){var s="\n"+a[i].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}}while(1<=i&&0<=l);break}}}finally{z=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?M(e):""}function $(e){switch(e.tag){case 5:return M(e.type);case 16:return M("Lazy");case 13:return M("Suspense");case 19:return M("SuspenseList");case 0:case 2:case 15:return e=B(e.type,!1);case 11:return e=B(e.type.render,!1);case 1:return e=B(e.type,!0);default:return""}}function U(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case S:return"Fragment";case x:return"Portal";case _:return"Profiler";case E:return"StrictMode";case A:return"Suspense";case L:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case T:return(e.displayName||"Context")+".Consumer";case C:return(e._context.displayName||"Context")+".Provider";case N:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case O:return null!==(t=e.displayName||null)?t:U(e.type)||"Memo";case P:t=e._payload,e=e._init;try{return U(e(t))}catch(n){}}return null}function H(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(t);case 8:return t===E?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function Z(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function V(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function W(e){e._valueTracker||(e._valueTracker=function(e){var t=V(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var a=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=V(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function G(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Y(e,t){var n=t.checked;return F({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function K(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=Z(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Q(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function X(e,t){Q(e,t);var n=Z(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,Z(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&G(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Z(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return F({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ae(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(o(92));if(te(n)){if(1<n.length)throw Error(o(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:Z(n)}}function oe(e,t){var n=Z(t.value),r=Z(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function le(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function se(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?le(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ue,ce,de=(ce=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ue=ue||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ue.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ce(e,t)}))}:ce);function fe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var pe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ge=["Webkit","ms","Moz","O"];function me(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||pe.hasOwnProperty(e)&&pe[e]?(""+t).trim():t+"px"}function he(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=me(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(pe).forEach((function(e){ge.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),pe[t]=pe[e]}))}));var ye=F({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function be(e,t){if(t){if(ye[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(o(62))}}function ve(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var we=null;function ke(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var xe=null,Se=null,Ee=null;function _e(e){if(e=va(e)){if("function"!=typeof xe)throw Error(o(280));var t=e.stateNode;t&&(t=ka(t),xe(e.stateNode,e.type,t))}}function Ce(e){Se?Ee?Ee.push(e):Ee=[e]:Se=e}function Te(){if(Se){var e=Se,t=Ee;if(Ee=Se=null,_e(e),t)for(e=0;e<t.length;e++)_e(t[e])}}function Ne(e,t){return e(t)}function Ae(){}var Le=!1;function Oe(e,t,n){if(Le)return e(t,n);Le=!0;try{return Ne(e,t,n)}finally{Le=!1,(null!==Se||null!==Ee)&&(Ae(),Te())}}function Pe(e,t){var n=e.stateNode;if(null===n)return null;var r=ka(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(o(231,t,typeof n));return n}var Re=!1;if(c)try{var je={};Object.defineProperty(je,"passive",{get:function(){Re=!0}}),window.addEventListener("test",je,je),window.removeEventListener("test",je,je)}catch(ce){Re=!1}function Ie(e,t,n,r,a,o,i,l,s){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(c){this.onError(c)}}var De=!1,Fe=null,Me=!1,ze=null,Be={onError:function(e){De=!0,Fe=e}};function $e(e,t,n,r,a,o,i,l,s){De=!1,Fe=null,Ie.apply(Be,arguments)}function Ue(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function He(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Ze(e){if(Ue(e)!==e)throw Error(o(188))}function Ve(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ue(e)))throw Error(o(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var i=a.alternate;if(null===i){if(null!==(r=a.return)){n=r;continue}break}if(a.child===i.child){for(i=a.child;i;){if(i===n)return Ze(a),e;if(i===r)return Ze(a),t;i=i.sibling}throw Error(o(188))}if(n.return!==r.return)n=a,r=i;else{for(var l=!1,s=a.child;s;){if(s===n){l=!0,n=a,r=i;break}if(s===r){l=!0,r=a,n=i;break}s=s.sibling}if(!l){for(s=i.child;s;){if(s===n){l=!0,n=i,r=a;break}if(s===r){l=!0,r=i,n=a;break}s=s.sibling}if(!l)throw Error(o(189))}}if(n.alternate!==r)throw Error(o(190))}if(3!==n.tag)throw Error(o(188));return n.stateNode.current===n?e:t}(e))?We(e):null}function We(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=We(e);if(null!==t)return t;e=e.sibling}return null}var qe=a.unstable_scheduleCallback,Ge=a.unstable_cancelCallback,Ye=a.unstable_shouldYield,Ke=a.unstable_requestPaint,Qe=a.unstable_now,Xe=a.unstable_getCurrentPriorityLevel,Je=a.unstable_ImmediatePriority,et=a.unstable_UserBlockingPriority,tt=a.unstable_NormalPriority,nt=a.unstable_LowPriority,rt=a.unstable_IdlePriority,at=null,ot=null;var it=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(lt(e)/st|0)|0},lt=Math.log,st=Math.LN2;var ut=64,ct=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ft(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,a=e.suspendedLanes,o=e.pingedLanes,i=268435455&n;if(0!==i){var l=i&~a;0!==l?r=dt(l):0!==(o&=i)&&(r=dt(o))}else 0!==(i=n&~a)?r=dt(i):0!==o&&(r=dt(o));if(0===r)return 0;if(0!==t&&t!==r&&0==(t&a)&&((a=r&-r)>=(o=t&-t)||16===a&&0!=(4194240&o)))return t;if(0!=(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-it(t)),r|=e[n],t&=~a;return r}function pt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function gt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function mt(){var e=ut;return 0==(4194240&(ut<<=1))&&(ut=64),e}function ht(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function yt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function bt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-it(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var vt=0;function wt(e){return 1<(e&=-e)?4<e?0!=(268435455&e)?16:536870912:4:1}var kt,xt,St,Et,_t,Ct=!1,Tt=[],Nt=null,At=null,Lt=null,Ot=new Map,Pt=new Map,Rt=[],jt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function It(e,t){switch(e){case"focusin":case"focusout":Nt=null;break;case"dragenter":case"dragleave":At=null;break;case"mouseover":case"mouseout":Lt=null;break;case"pointerover":case"pointerout":Ot.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Pt.delete(t.pointerId)}}function Dt(e,t,n,r,a,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:o,targetContainers:[a]},null!==t&&(null!==(t=va(t))&&xt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function Ft(e){var t=ba(e.target);if(null!==t){var n=Ue(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=He(n)))return e.blockedOn=t,void _t(e.priority,(function(){St(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Mt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Yt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=va(n))&&xt(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);we=r,n.target.dispatchEvent(r),we=null,t.shift()}return!0}function zt(e,t,n){Mt(e)&&n.delete(t)}function Bt(){Ct=!1,null!==Nt&&Mt(Nt)&&(Nt=null),null!==At&&Mt(At)&&(At=null),null!==Lt&&Mt(Lt)&&(Lt=null),Ot.forEach(zt),Pt.forEach(zt)}function $t(e,t){e.blockedOn===t&&(e.blockedOn=null,Ct||(Ct=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,Bt)))}function Ut(e){function t(t){return $t(t,e)}if(0<Tt.length){$t(Tt[0],e);for(var n=1;n<Tt.length;n++){var r=Tt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Nt&&$t(Nt,e),null!==At&&$t(At,e),null!==Lt&&$t(Lt,e),Ot.forEach(t),Pt.forEach(t),n=0;n<Rt.length;n++)(r=Rt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Rt.length&&null===(n=Rt[0]).blockedOn;)Ft(n),null===n.blockedOn&&Rt.shift()}var Ht=w.ReactCurrentBatchConfig,Zt=!0;function Vt(e,t,n,r){var a=vt,o=Ht.transition;Ht.transition=null;try{vt=1,qt(e,t,n,r)}finally{vt=a,Ht.transition=o}}function Wt(e,t,n,r){var a=vt,o=Ht.transition;Ht.transition=null;try{vt=4,qt(e,t,n,r)}finally{vt=a,Ht.transition=o}}function qt(e,t,n,r){if(Zt){var a=Yt(e,t,n,r);if(null===a)Zr(e,t,r,Gt,n),It(e,r);else if(function(e,t,n,r,a){switch(t){case"focusin":return Nt=Dt(Nt,e,t,n,r,a),!0;case"dragenter":return At=Dt(At,e,t,n,r,a),!0;case"mouseover":return Lt=Dt(Lt,e,t,n,r,a),!0;case"pointerover":var o=a.pointerId;return Ot.set(o,Dt(Ot.get(o)||null,e,t,n,r,a)),!0;case"gotpointercapture":return o=a.pointerId,Pt.set(o,Dt(Pt.get(o)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(It(e,r),4&t&&-1<jt.indexOf(e)){for(;null!==a;){var o=va(a);if(null!==o&&kt(o),null===(o=Yt(e,t,n,r))&&Zr(e,t,r,Gt,n),o===a)break;a=o}null!==a&&r.stopPropagation()}else Zr(e,t,r,null,n)}}var Gt=null;function Yt(e,t,n,r){if(Gt=null,null!==(e=ba(e=ke(r))))if(null===(t=Ue(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=He(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Gt=e,null}function Kt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Qt=null,Xt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Xt,r=n.length,a="value"in Qt?Qt.value:Qt.textContent,o=a.length;for(e=0;e<r&&n[e]===a[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===a[o-t];t++);return Jt=a.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function an(e){function t(t,n,r,a,o){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(a):a[i]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return F(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var on,ln,sn,un={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},cn=an(un),dn=F({},un,{view:0,detail:0}),fn=an(dn),pn=F({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:_n,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==sn&&(sn&&"mousemove"===e.type?(on=e.screenX-sn.screenX,ln=e.screenY-sn.screenY):ln=on=0,sn=e),on)},movementY:function(e){return"movementY"in e?e.movementY:ln}}),gn=an(pn),mn=an(F({},pn,{dataTransfer:0})),hn=an(F({},dn,{relatedTarget:0})),yn=an(F({},un,{animationName:0,elapsedTime:0,pseudoElement:0})),bn=F({},un,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),vn=an(bn),wn=an(F({},un,{data:0})),kn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function En(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function _n(){return En}var Cn=F({},dn,{key:function(e){if(e.key){var t=kn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?xn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:_n,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Tn=an(Cn),Nn=an(F({},pn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),An=an(F({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:_n})),Ln=an(F({},un,{propertyName:0,elapsedTime:0,pseudoElement:0})),On=F({},pn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Pn=an(On),Rn=[9,13,27,32],jn=c&&"CompositionEvent"in window,In=null;c&&"documentMode"in document&&(In=document.documentMode);var Dn=c&&"TextEvent"in window&&!In,Fn=c&&(!jn||In&&8<In&&11>=In),Mn=String.fromCharCode(32),zn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Rn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $n(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Un=!1;var Hn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Zn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Hn[e.type]:"textarea"===t}function Vn(e,t,n,r){Ce(r),0<(t=Wr(t,"onChange")).length&&(n=new cn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Wn=null,qn=null;function Gn(e){Mr(e,0)}function Yn(e){if(q(wa(e)))return e}function Kn(e,t){if("change"===e)return t}var Qn=!1;if(c){var Xn;if(c){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"==typeof er.oninput}Xn=Jn}else Xn=!1;Qn=Xn&&(!document.documentMode||9<document.documentMode)}function tr(){Wn&&(Wn.detachEvent("onpropertychange",nr),qn=Wn=null)}function nr(e){if("value"===e.propertyName&&Yn(qn)){var t=[];Vn(t,qn,e,ke(e)),Oe(Gn,t)}}function rr(e,t,n){"focusin"===e?(tr(),qn=n,(Wn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function ar(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Yn(qn)}function or(e,t){if("click"===e)return Yn(t)}function ir(e,t){if("input"===e||"change"===e)return Yn(t)}var lr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function sr(e,t){if(lr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!d.call(t,a)||!lr(e[a],t[a]))return!1}return!0}function ur(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function cr(e,t){var n,r=ur(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=ur(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function fr(){for(var e=window,t=G();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=G((e=t.contentWindow).document)}return t}function pr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function gr(e){var t=fr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&pr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var a=n.textContent.length,o=Math.min(r.start,a);r=void 0===r.end?o:Math.min(r.end,a),!e.extend&&o>r&&(a=r,r=o,o=a),a=cr(n,o);var i=cr(n,r);a&&i&&(1!==e.rangeCount||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(a.node,a.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var mr=c&&"documentMode"in document&&11>=document.documentMode,hr=null,yr=null,br=null,vr=!1;function wr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;vr||null==hr||hr!==G(r)||("selectionStart"in(r=hr)&&pr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},br&&sr(br,r)||(br=r,0<(r=Wr(yr,"onSelect")).length&&(t=new cn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=hr)))}function kr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xr={animationend:kr("Animation","AnimationEnd"),animationiteration:kr("Animation","AnimationIteration"),animationstart:kr("Animation","AnimationStart"),transitionend:kr("Transition","TransitionEnd")},Sr={},Er={};function _r(e){if(Sr[e])return Sr[e];if(!xr[e])return e;var t,n=xr[e];for(t in n)if(n.hasOwnProperty(t)&&t in Er)return Sr[e]=n[t];return e}c&&(Er=document.createElement("div").style,"AnimationEvent"in window||(delete xr.animationend.animation,delete xr.animationiteration.animation,delete xr.animationstart.animation),"TransitionEvent"in window||delete xr.transitionend.transition);var Cr=_r("animationend"),Tr=_r("animationiteration"),Nr=_r("animationstart"),Ar=_r("transitionend"),Lr=new Map,Or="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Pr(e,t){Lr.set(e,t),s(t,[e])}for(var Rr=0;Rr<Or.length;Rr++){var jr=Or[Rr];Pr(jr.toLowerCase(),"on"+(jr[0].toUpperCase()+jr.slice(1)))}Pr(Cr,"onAnimationEnd"),Pr(Tr,"onAnimationIteration"),Pr(Nr,"onAnimationStart"),Pr("dblclick","onDoubleClick"),Pr("focusin","onFocus"),Pr("focusout","onBlur"),Pr(Ar,"onTransitionEnd"),u("onMouseEnter",["mouseout","mouseover"]),u("onMouseLeave",["mouseout","mouseover"]),u("onPointerEnter",["pointerout","pointerover"]),u("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ir="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Dr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Ir));function Fr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,i,l,s,u){if($e.apply(this,arguments),De){if(!De)throw Error(o(198));var c=Fe;De=!1,Fe=null,Me||(Me=!0,ze=c)}}(r,t,void 0,e),e.currentTarget=null}function Mr(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var i=r.length-1;0<=i;i--){var l=r[i],s=l.instance,u=l.currentTarget;if(l=l.listener,s!==o&&a.isPropagationStopped())break e;Fr(a,l,u),o=s}else for(i=0;i<r.length;i++){if(s=(l=r[i]).instance,u=l.currentTarget,l=l.listener,s!==o&&a.isPropagationStopped())break e;Fr(a,l,u),o=s}}}if(Me)throw e=ze,Me=!1,ze=null,e}function zr(e,t){var n=t[ma];void 0===n&&(n=t[ma]=new Set);var r=e+"__bubble";n.has(r)||(Hr(t,e,2,!1),n.add(r))}function Br(e,t,n){var r=0;t&&(r|=4),Hr(n,e,r,t)}var $r="_reactListening"+Math.random().toString(36).slice(2);function Ur(e){if(!e[$r]){e[$r]=!0,i.forEach((function(t){"selectionchange"!==t&&(Dr.has(t)||Br(t,!1,e),Br(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[$r]||(t[$r]=!0,Br("selectionchange",!1,t))}}function Hr(e,t,n,r){switch(Kt(t)){case 1:var a=Vt;break;case 4:a=Wt;break;default:a=qt}n=a.bind(null,t,n,e),a=void 0,!Re||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function Zr(e,t,n,r,a){var o=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var l=r.stateNode.containerInfo;if(l===a||8===l.nodeType&&l.parentNode===a)break;if(4===i)for(i=r.return;null!==i;){var s=i.tag;if((3===s||4===s)&&((s=i.stateNode.containerInfo)===a||8===s.nodeType&&s.parentNode===a))return;i=i.return}for(;null!==l;){if(null===(i=ba(l)))return;if(5===(s=i.tag)||6===s){r=o=i;continue e}l=l.parentNode}}r=r.return}Oe((function(){var r=o,a=ke(n),i=[];e:{var l=Lr.get(e);if(void 0!==l){var s=cn,u=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":s=Tn;break;case"focusin":u="focus",s=hn;break;case"focusout":u="blur",s=hn;break;case"beforeblur":case"afterblur":s=hn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":s=gn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":s=mn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":s=An;break;case Cr:case Tr:case Nr:s=yn;break;case Ar:s=Ln;break;case"scroll":s=fn;break;case"wheel":s=Pn;break;case"copy":case"cut":case"paste":s=vn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":s=Nn}var c=0!=(4&t),d=!c&&"scroll"===e,f=c?null!==l?l+"Capture":null:l;c=[];for(var p,g=r;null!==g;){var m=(p=g).stateNode;if(5===p.tag&&null!==m&&(p=m,null!==f&&(null!=(m=Pe(g,f))&&c.push(Vr(g,m,p)))),d)break;g=g.return}0<c.length&&(l=new s(l,u,null,n,a),i.push({event:l,listeners:c}))}}if(0==(7&t)){if(s="mouseout"===e||"pointerout"===e,(!(l="mouseover"===e||"pointerover"===e)||n===we||!(u=n.relatedTarget||n.fromElement)||!ba(u)&&!u[ga])&&(s||l)&&(l=a.window===a?a:(l=a.ownerDocument)?l.defaultView||l.parentWindow:window,s?(s=r,null!==(u=(u=n.relatedTarget||n.toElement)?ba(u):null)&&(u!==(d=Ue(u))||5!==u.tag&&6!==u.tag)&&(u=null)):(s=null,u=r),s!==u)){if(c=gn,m="onMouseLeave",f="onMouseEnter",g="mouse","pointerout"!==e&&"pointerover"!==e||(c=Nn,m="onPointerLeave",f="onPointerEnter",g="pointer"),d=null==s?l:wa(s),p=null==u?l:wa(u),(l=new c(m,g+"leave",s,n,a)).target=d,l.relatedTarget=p,m=null,ba(a)===r&&((c=new c(f,g+"enter",u,n,a)).target=p,c.relatedTarget=d,m=c),d=m,s&&u)e:{for(f=u,g=0,p=c=s;p;p=qr(p))g++;for(p=0,m=f;m;m=qr(m))p++;for(;0<g-p;)c=qr(c),g--;for(;0<p-g;)f=qr(f),p--;for(;g--;){if(c===f||null!==f&&c===f.alternate)break e;c=qr(c),f=qr(f)}c=null}else c=null;null!==s&&Gr(i,l,s,c,!1),null!==u&&null!==d&&Gr(i,d,u,c,!0)}if("select"===(s=(l=r?wa(r):window).nodeName&&l.nodeName.toLowerCase())||"input"===s&&"file"===l.type)var h=Kn;else if(Zn(l))if(Qn)h=ir;else{h=ar;var y=rr}else(s=l.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===l.type||"radio"===l.type)&&(h=or);switch(h&&(h=h(e,r))?Vn(i,h,n,a):(y&&y(e,l,r),"focusout"===e&&(y=l._wrapperState)&&y.controlled&&"number"===l.type&&ee(l,"number",l.value)),y=r?wa(r):window,e){case"focusin":(Zn(y)||"true"===y.contentEditable)&&(hr=y,yr=r,br=null);break;case"focusout":br=yr=hr=null;break;case"mousedown":vr=!0;break;case"contextmenu":case"mouseup":case"dragend":vr=!1,wr(i,n,a);break;case"selectionchange":if(mr)break;case"keydown":case"keyup":wr(i,n,a)}var b;if(jn)e:{switch(e){case"compositionstart":var v="onCompositionStart";break e;case"compositionend":v="onCompositionEnd";break e;case"compositionupdate":v="onCompositionUpdate";break e}v=void 0}else Un?Bn(e,n)&&(v="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(v="onCompositionStart");v&&(Fn&&"ko"!==n.locale&&(Un||"onCompositionStart"!==v?"onCompositionEnd"===v&&Un&&(b=en()):(Xt="value"in(Qt=a)?Qt.value:Qt.textContent,Un=!0)),0<(y=Wr(r,v)).length&&(v=new wn(v,e,null,n,a),i.push({event:v,listeners:y}),b?v.data=b:null!==(b=$n(n))&&(v.data=b))),(b=Dn?function(e,t){switch(e){case"compositionend":return $n(t);case"keypress":return 32!==t.which?null:(zn=!0,Mn);case"textInput":return(e=t.data)===Mn&&zn?null:e;default:return null}}(e,n):function(e,t){if(Un)return"compositionend"===e||!jn&&Bn(e,t)?(e=en(),Jt=Xt=Qt=null,Un=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Fn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Wr(r,"onBeforeInput")).length&&(a=new wn("onBeforeInput","beforeinput",null,n,a),i.push({event:a,listeners:r}),a.data=b))}Mr(i,t)}))}function Vr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Wr(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,o=a.stateNode;5===a.tag&&null!==o&&(a=o,null!=(o=Pe(e,n))&&r.unshift(Vr(e,o,a)),null!=(o=Pe(e,t))&&r.push(Vr(e,o,a))),e=e.return}return r}function qr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Gr(e,t,n,r,a){for(var o=t._reactName,i=[];null!==n&&n!==r;){var l=n,s=l.alternate,u=l.stateNode;if(null!==s&&s===r)break;5===l.tag&&null!==u&&(l=u,a?null!=(s=Pe(n,o))&&i.unshift(Vr(n,s,l)):a||null!=(s=Pe(n,o))&&i.push(Vr(n,s,l))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Yr=/\r\n?/g,Kr=/\u0000|\uFFFD/g;function Qr(e){return("string"==typeof e?e:""+e).replace(Yr,"\n").replace(Kr,"")}function Xr(e,t,n){if(t=Qr(t),Qr(e)!==t&&n)throw Error(o(425))}function Jr(){}var ea=null,ta=null;function na(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ra="function"==typeof setTimeout?setTimeout:void 0,aa="function"==typeof clearTimeout?clearTimeout:void 0,oa="function"==typeof Promise?Promise:void 0,ia="function"==typeof queueMicrotask?queueMicrotask:void 0!==oa?function(e){return oa.resolve(null).then(e).catch(la)}:ra;function la(e){setTimeout((function(){throw e}))}function sa(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)){if(0===r)return e.removeChild(a),void Ut(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=a}while(n);Ut(t)}function ua(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ca(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var da=Math.random().toString(36).slice(2),fa="__reactFiber$"+da,pa="__reactProps$"+da,ga="__reactContainer$"+da,ma="__reactEvents$"+da,ha="__reactListeners$"+da,ya="__reactHandles$"+da;function ba(e){var t=e[fa];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ga]||n[fa]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ca(e);null!==e;){if(n=e[fa])return n;e=ca(e)}return t}n=(e=n).parentNode}return null}function va(e){return!(e=e[fa]||e[ga])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wa(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function ka(e){return e[pa]||null}var xa=[],Sa=-1;function Ea(e){return{current:e}}function _a(e){0>Sa||(e.current=xa[Sa],xa[Sa]=null,Sa--)}function Ca(e,t){Sa++,xa[Sa]=e.current,e.current=t}var Ta={},Na=Ea(Ta),Aa=Ea(!1),La=Ta;function Oa(e,t){var n=e.type.contextTypes;if(!n)return Ta;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,o={};for(a in n)o[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Pa(e){return null!=(e=e.childContextTypes)}function Ra(){_a(Aa),_a(Na)}function ja(e,t,n){if(Na.current!==Ta)throw Error(o(168));Ca(Na,t),Ca(Aa,n)}function Ia(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in t))throw Error(o(108,H(e)||"Unknown",a));return F({},n,r)}function Da(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ta,La=Na.current,Ca(Na,e),Ca(Aa,Aa.current),!0}function Fa(e,t,n){var r=e.stateNode;if(!r)throw Error(o(169));n?(e=Ia(e,t,La),r.__reactInternalMemoizedMergedChildContext=e,_a(Aa),_a(Na),Ca(Na,e)):_a(Aa),Ca(Aa,n)}var Ma=null,za=!1,Ba=!1;function $a(e){null===Ma?Ma=[e]:Ma.push(e)}function Ua(){if(!Ba&&null!==Ma){Ba=!0;var e=0,t=vt;try{var n=Ma;for(vt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}Ma=null,za=!1}catch(a){throw null!==Ma&&(Ma=Ma.slice(e+1)),qe(Je,Ua),a}finally{vt=t,Ba=!1}}return null}var Ha=[],Za=0,Va=null,Wa=0,qa=[],Ga=0,Ya=null,Ka=1,Qa="";function Xa(e,t){Ha[Za++]=Wa,Ha[Za++]=Va,Va=e,Wa=t}function Ja(e,t,n){qa[Ga++]=Ka,qa[Ga++]=Qa,qa[Ga++]=Ya,Ya=e;var r=Ka;e=Qa;var a=32-it(r)-1;r&=~(1<<a),n+=1;var o=32-it(t)+a;if(30<o){var i=a-a%5;o=(r&(1<<i)-1).toString(32),r>>=i,a-=i,Ka=1<<32-it(t)+a|n<<a|r,Qa=o+e}else Ka=1<<o|n<<a|r,Qa=e}function eo(e){null!==e.return&&(Xa(e,1),Ja(e,1,0))}function to(e){for(;e===Va;)Va=Ha[--Za],Ha[Za]=null,Wa=Ha[--Za],Ha[Za]=null;for(;e===Ya;)Ya=qa[--Ga],qa[Ga]=null,Qa=qa[--Ga],qa[Ga]=null,Ka=qa[--Ga],qa[Ga]=null}var no=null,ro=null,ao=!1,oo=null;function io(e,t){var n=Pu(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function lo(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,no=e,ro=ua(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,no=e,ro=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Ya?{id:Ka,overflow:Qa}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Pu(18,null,null,0)).stateNode=t,n.return=e,e.child=n,no=e,ro=null,!0);default:return!1}}function so(e){return 0!=(1&e.mode)&&0==(128&e.flags)}function uo(e){if(ao){var t=ro;if(t){var n=t;if(!lo(e,t)){if(so(e))throw Error(o(418));t=ua(n.nextSibling);var r=no;t&&lo(e,t)?io(r,n):(e.flags=-4097&e.flags|2,ao=!1,no=e)}}else{if(so(e))throw Error(o(418));e.flags=-4097&e.flags|2,ao=!1,no=e}}}function co(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;no=e}function fo(e){if(e!==no)return!1;if(!ao)return co(e),ao=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!na(e.type,e.memoizedProps)),t&&(t=ro)){if(so(e))throw po(),Error(o(418));for(;t;)io(e,t),t=ua(t.nextSibling)}if(co(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ro=ua(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ro=null}}else ro=no?ua(e.stateNode.nextSibling):null;return!0}function po(){for(var e=ro;e;)e=ua(e.nextSibling)}function go(){ro=no=null,ao=!1}function mo(e){null===oo?oo=[e]:oo.push(e)}var ho=w.ReactCurrentBatchConfig;function yo(e,t){if(e&&e.defaultProps){for(var n in t=F({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var bo=Ea(null),vo=null,wo=null,ko=null;function xo(){ko=wo=vo=null}function So(e){var t=bo.current;_a(bo),e._currentValue=t}function Eo(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function _o(e,t){vo=e,ko=wo=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(wl=!0),e.firstContext=null)}function Co(e){var t=e._currentValue;if(ko!==e)if(e={context:e,memoizedValue:t,next:null},null===wo){if(null===vo)throw Error(o(308));wo=e,vo.dependencies={lanes:0,firstContext:e}}else wo=wo.next=e;return t}var To=null;function No(e){null===To?To=[e]:To.push(e)}function Ao(e,t,n,r){var a=t.interleaved;return null===a?(n.next=n,No(t)):(n.next=a.next,a.next=n),t.interleaved=n,Lo(e,r)}function Lo(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Oo=!1;function Po(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ro(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function jo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Io(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&As)){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,Lo(e,n)}return null===(a=r.interleaved)?(t.next=t,No(r)):(t.next=a.next,a.next=t),r.interleaved=t,Lo(e,n)}function Do(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,bt(e,n)}}function Fo(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?a=o=i:o=o.next=i,n=n.next}while(null!==n);null===o?a=o=t:o=o.next=t}else a=o=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Mo(e,t,n,r){var a=e.updateQueue;Oo=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,l=a.shared.pending;if(null!==l){a.shared.pending=null;var s=l,u=s.next;s.next=null,null===i?o=u:i.next=u,i=s;var c=e.alternate;null!==c&&((l=(c=c.updateQueue).lastBaseUpdate)!==i&&(null===l?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(null!==o){var d=a.baseState;for(i=0,c=u=s=null,l=o;;){var f=l.lane,p=l.eventTime;if((r&f)===f){null!==c&&(c=c.next={eventTime:p,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var g=e,m=l;switch(f=t,p=n,m.tag){case 1:if("function"==typeof(g=m.payload)){d=g.call(p,d,f);break e}d=g;break e;case 3:g.flags=-65537&g.flags|128;case 0:if(null==(f="function"==typeof(g=m.payload)?g.call(p,d,f):g))break e;d=F({},d,f);break e;case 2:Oo=!0}}null!==l.callback&&0!==l.lane&&(e.flags|=64,null===(f=a.effects)?a.effects=[l]:f.push(l))}else p={eventTime:p,lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},null===c?(u=c=p,s=d):c=c.next=p,i|=f;if(null===(l=l.next)){if(null===(l=a.shared.pending))break;l=(f=l).next,f.next=null,a.lastBaseUpdate=f,a.shared.pending=null}}if(null===c&&(s=d),a.baseState=s,a.firstBaseUpdate=u,a.lastBaseUpdate=c,null!==(t=a.shared.interleaved)){a=t;do{i|=a.lane,a=a.next}while(a!==t)}else null===o&&(a.shared.lanes=0);Fs|=i,e.lanes=i,e.memoizedState=d}}function zo(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!=typeof a)throw Error(o(191,a));a.call(r)}}}var Bo=(new r.Component).refs;function $o(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:F({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var Uo={isMounted:function(e){return!!(e=e._reactInternals)&&Ue(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=tu(),a=nu(e),o=jo(r,a);o.payload=t,null!=n&&(o.callback=n),null!==(t=Io(e,o,a))&&(ru(t,e,a,r),Do(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=tu(),a=nu(e),o=jo(r,a);o.tag=1,o.payload=t,null!=n&&(o.callback=n),null!==(t=Io(e,o,a))&&(ru(t,e,a,r),Do(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=tu(),r=nu(e),a=jo(n,r);a.tag=2,null!=t&&(a.callback=t),null!==(t=Io(e,a,r))&&(ru(t,e,r,n),Do(t,e,r))}};function Ho(e,t,n,r,a,o,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,i):!t.prototype||!t.prototype.isPureReactComponent||(!sr(n,r)||!sr(a,o))}function Zo(e,t,n){var r=!1,a=Ta,o=t.contextType;return"object"==typeof o&&null!==o?o=Co(o):(a=Pa(t)?La:Na.current,o=(r=null!=(r=t.contextTypes))?Oa(e,a):Ta),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Uo,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=o),t}function Vo(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Uo.enqueueReplaceState(t,t.state,null)}function Wo(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=Bo,Po(e);var o=t.contextType;"object"==typeof o&&null!==o?a.context=Co(o):(o=Pa(t)?La:Na.current,a.context=Oa(e,o)),a.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&($o(e,t,o,n),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&Uo.enqueueReplaceState(a,a.state,null),Mo(e,n,a,r),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4194308)}function qo(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(o(309));var r=n.stateNode}if(!r)throw Error(o(147,e));var a=r,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=a.refs;t===Bo&&(t=a.refs={}),null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(o(284));if(!n._owner)throw Error(o(290,e))}return e}function Go(e,t){throw e=Object.prototype.toString.call(t),Error(o(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Yo(e){return(0,e._init)(e._payload)}function Ko(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=ju(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function l(t){return e&&null===t.alternate&&(t.flags|=2),t}function s(e,t,n,r){return null===t||6!==t.tag?((t=Mu(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function u(e,t,n,r){var o=n.type;return o===S?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===o||"object"==typeof o&&null!==o&&o.$$typeof===P&&Yo(o)===t.type)?((r=a(t,n.props)).ref=qo(e,t,n),r.return=e,r):((r=Iu(n.type,n.key,n.props,null,e.mode,r)).ref=qo(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=zu(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function d(e,t,n,r,o){return null===t||7!==t.tag?((t=Du(n,e.mode,r,o)).return=e,t):((t=a(t,n)).return=e,t)}function f(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Mu(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case k:return(n=Iu(t.type,t.key,t.props,null,e.mode,n)).ref=qo(e,null,t),n.return=e,n;case x:return(t=zu(t,e.mode,n)).return=e,t;case P:return f(e,(0,t._init)(t._payload),n)}if(te(t)||I(t))return(t=Du(t,e.mode,n,null)).return=e,t;Go(e,t)}return null}function p(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==a?null:s(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case k:return n.key===a?u(e,t,n,r):null;case x:return n.key===a?c(e,t,n,r):null;case P:return p(e,t,(a=n._init)(n._payload),r)}if(te(n)||I(n))return null!==a?null:d(e,t,n,r,null);Go(e,n)}return null}function g(e,t,n,r,a){if("string"==typeof r&&""!==r||"number"==typeof r)return s(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case k:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a);case x:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a);case P:return g(e,t,n,(0,r._init)(r._payload),a)}if(te(r)||I(r))return d(t,e=e.get(n)||null,r,a,null);Go(t,r)}return null}function m(a,o,l,s){for(var u=null,c=null,d=o,m=o=0,h=null;null!==d&&m<l.length;m++){d.index>m?(h=d,d=null):h=d.sibling;var y=p(a,d,l[m],s);if(null===y){null===d&&(d=h);break}e&&d&&null===y.alternate&&t(a,d),o=i(y,o,m),null===c?u=y:c.sibling=y,c=y,d=h}if(m===l.length)return n(a,d),ao&&Xa(a,m),u;if(null===d){for(;m<l.length;m++)null!==(d=f(a,l[m],s))&&(o=i(d,o,m),null===c?u=d:c.sibling=d,c=d);return ao&&Xa(a,m),u}for(d=r(a,d);m<l.length;m++)null!==(h=g(d,a,m,l[m],s))&&(e&&null!==h.alternate&&d.delete(null===h.key?m:h.key),o=i(h,o,m),null===c?u=h:c.sibling=h,c=h);return e&&d.forEach((function(e){return t(a,e)})),ao&&Xa(a,m),u}function h(a,l,s,u){var c=I(s);if("function"!=typeof c)throw Error(o(150));if(null==(s=c.call(s)))throw Error(o(151));for(var d=c=null,m=l,h=l=0,y=null,b=s.next();null!==m&&!b.done;h++,b=s.next()){m.index>h?(y=m,m=null):y=m.sibling;var v=p(a,m,b.value,u);if(null===v){null===m&&(m=y);break}e&&m&&null===v.alternate&&t(a,m),l=i(v,l,h),null===d?c=v:d.sibling=v,d=v,m=y}if(b.done)return n(a,m),ao&&Xa(a,h),c;if(null===m){for(;!b.done;h++,b=s.next())null!==(b=f(a,b.value,u))&&(l=i(b,l,h),null===d?c=b:d.sibling=b,d=b);return ao&&Xa(a,h),c}for(m=r(a,m);!b.done;h++,b=s.next())null!==(b=g(m,a,h,b.value,u))&&(e&&null!==b.alternate&&m.delete(null===b.key?h:b.key),l=i(b,l,h),null===d?c=b:d.sibling=b,d=b);return e&&m.forEach((function(e){return t(a,e)})),ao&&Xa(a,h),c}return function e(r,o,i,s){if("object"==typeof i&&null!==i&&i.type===S&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case k:e:{for(var u=i.key,c=o;null!==c;){if(c.key===u){if((u=i.type)===S){if(7===c.tag){n(r,c.sibling),(o=a(c,i.props.children)).return=r,r=o;break e}}else if(c.elementType===u||"object"==typeof u&&null!==u&&u.$$typeof===P&&Yo(u)===c.type){n(r,c.sibling),(o=a(c,i.props)).ref=qo(r,c,i),o.return=r,r=o;break e}n(r,c);break}t(r,c),c=c.sibling}i.type===S?((o=Du(i.props.children,r.mode,s,i.key)).return=r,r=o):((s=Iu(i.type,i.key,i.props,null,r.mode,s)).ref=qo(r,o,i),s.return=r,r=s)}return l(r);case x:e:{for(c=i.key;null!==o;){if(o.key===c){if(4===o.tag&&o.stateNode.containerInfo===i.containerInfo&&o.stateNode.implementation===i.implementation){n(r,o.sibling),(o=a(o,i.children||[])).return=r,r=o;break e}n(r,o);break}t(r,o),o=o.sibling}(o=zu(i,r.mode,s)).return=r,r=o}return l(r);case P:return e(r,o,(c=i._init)(i._payload),s)}if(te(i))return m(r,o,i,s);if(I(i))return h(r,o,i,s);Go(r,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==o&&6===o.tag?(n(r,o.sibling),(o=a(o,i)).return=r,r=o):(n(r,o),(o=Mu(i,r.mode,s)).return=r,r=o),l(r)):n(r,o)}}var Qo=Ko(!0),Xo=Ko(!1),Jo={},ei=Ea(Jo),ti=Ea(Jo),ni=Ea(Jo);function ri(e){if(e===Jo)throw Error(o(174));return e}function ai(e,t){switch(Ca(ni,t),Ca(ti,e),Ca(ei,Jo),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:se(null,"");break;default:t=se(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}_a(ei),Ca(ei,t)}function oi(){_a(ei),_a(ti),_a(ni)}function ii(e){ri(ni.current);var t=ri(ei.current),n=se(t,e.type);t!==n&&(Ca(ti,e),Ca(ei,n))}function li(e){ti.current===e&&(_a(ei),_a(ti))}var si=Ea(0);function ui(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ci=[];function di(){for(var e=0;e<ci.length;e++)ci[e]._workInProgressVersionPrimary=null;ci.length=0}var fi=w.ReactCurrentDispatcher,pi=w.ReactCurrentBatchConfig,gi=0,mi=null,hi=null,yi=null,bi=!1,vi=!1,wi=0,ki=0;function xi(){throw Error(o(321))}function Si(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!lr(e[n],t[n]))return!1;return!0}function Ei(e,t,n,r,a,i){if(gi=i,mi=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,fi.current=null===e||null===e.memoizedState?ll:sl,e=n(r,a),vi){i=0;do{if(vi=!1,wi=0,25<=i)throw Error(o(301));i+=1,yi=hi=null,t.updateQueue=null,fi.current=ul,e=n(r,a)}while(vi)}if(fi.current=il,t=null!==hi&&null!==hi.next,gi=0,yi=hi=mi=null,bi=!1,t)throw Error(o(300));return e}function _i(){var e=0!==wi;return wi=0,e}function Ci(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===yi?mi.memoizedState=yi=e:yi=yi.next=e,yi}function Ti(){if(null===hi){var e=mi.alternate;e=null!==e?e.memoizedState:null}else e=hi.next;var t=null===yi?mi.memoizedState:yi.next;if(null!==t)yi=t,hi=e;else{if(null===e)throw Error(o(310));e={memoizedState:(hi=e).memoizedState,baseState:hi.baseState,baseQueue:hi.baseQueue,queue:hi.queue,next:null},null===yi?mi.memoizedState=yi=e:yi=yi.next=e}return yi}function Ni(e,t){return"function"==typeof t?t(e):t}function Ai(e){var t=Ti(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=hi,a=r.baseQueue,i=n.pending;if(null!==i){if(null!==a){var l=a.next;a.next=i.next,i.next=l}r.baseQueue=a=i,n.pending=null}if(null!==a){i=a.next,r=r.baseState;var s=l=null,u=null,c=i;do{var d=c.lane;if((gi&d)===d)null!==u&&(u=u.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),r=c.hasEagerState?c.eagerState:e(r,c.action);else{var f={lane:d,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};null===u?(s=u=f,l=r):u=u.next=f,mi.lanes|=d,Fs|=d}c=c.next}while(null!==c&&c!==i);null===u?l=r:u.next=s,lr(r,t.memoizedState)||(wl=!0),t.memoizedState=r,t.baseState=l,t.baseQueue=u,n.lastRenderedState=r}if(null!==(e=n.interleaved)){a=e;do{i=a.lane,mi.lanes|=i,Fs|=i,a=a.next}while(a!==e)}else null===a&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Li(e){var t=Ti(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,i=t.memoizedState;if(null!==a){n.pending=null;var l=a=a.next;do{i=e(i,l.action),l=l.next}while(l!==a);lr(i,t.memoizedState)||(wl=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function Oi(){}function Pi(e,t){var n=mi,r=Ti(),a=t(),i=!lr(r.memoizedState,a);if(i&&(r.memoizedState=a,wl=!0),r=r.queue,Zi(Ii.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||null!==yi&&1&yi.memoizedState.tag){if(n.flags|=2048,zi(9,ji.bind(null,n,r,a,t),void 0,null),null===Ls)throw Error(o(349));0!=(30&gi)||Ri(n,t,a)}return a}function Ri(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=mi.updateQueue)?(t={lastEffect:null,stores:null},mi.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function ji(e,t,n,r){t.value=n,t.getSnapshot=r,Di(t)&&Fi(e)}function Ii(e,t,n){return n((function(){Di(t)&&Fi(e)}))}function Di(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!lr(e,n)}catch(r){return!0}}function Fi(e){var t=Lo(e,1);null!==t&&ru(t,e,1,-1)}function Mi(e){var t=Ci();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Ni,lastRenderedState:e},t.queue=e,e=e.dispatch=nl.bind(null,mi,e),[t.memoizedState,e]}function zi(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=mi.updateQueue)?(t={lastEffect:null,stores:null},mi.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Bi(){return Ti().memoizedState}function $i(e,t,n,r){var a=Ci();mi.flags|=e,a.memoizedState=zi(1|t,n,void 0,void 0===r?null:r)}function Ui(e,t,n,r){var a=Ti();r=void 0===r?null:r;var o=void 0;if(null!==hi){var i=hi.memoizedState;if(o=i.destroy,null!==r&&Si(r,i.deps))return void(a.memoizedState=zi(t,n,o,r))}mi.flags|=e,a.memoizedState=zi(1|t,n,o,r)}function Hi(e,t){return $i(8390656,8,e,t)}function Zi(e,t){return Ui(2048,8,e,t)}function Vi(e,t){return Ui(4,2,e,t)}function Wi(e,t){return Ui(4,4,e,t)}function qi(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Gi(e,t,n){return n=null!=n?n.concat([e]):null,Ui(4,4,qi.bind(null,t,e),n)}function Yi(){}function Ki(e,t){var n=Ti();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Si(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Qi(e,t){var n=Ti();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Si(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Xi(e,t,n){return 0==(21&gi)?(e.baseState&&(e.baseState=!1,wl=!0),e.memoizedState=n):(lr(n,t)||(n=mt(),mi.lanes|=n,Fs|=n,e.baseState=!0),t)}function Ji(e,t){var n=vt;vt=0!==n&&4>n?n:4,e(!0);var r=pi.transition;pi.transition={};try{e(!1),t()}finally{vt=n,pi.transition=r}}function el(){return Ti().memoizedState}function tl(e,t,n){var r=nu(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},rl(e))al(t,n);else if(null!==(n=Ao(e,t,n,r))){ru(n,e,r,tu()),ol(n,t,r)}}function nl(e,t,n){var r=nu(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(rl(e))al(t,a);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var i=t.lastRenderedState,l=o(i,n);if(a.hasEagerState=!0,a.eagerState=l,lr(l,i)){var s=t.interleaved;return null===s?(a.next=a,No(t)):(a.next=s.next,s.next=a),void(t.interleaved=a)}}catch(u){}null!==(n=Ao(e,t,a,r))&&(ru(n,e,r,a=tu()),ol(n,t,r))}}function rl(e){var t=e.alternate;return e===mi||null!==t&&t===mi}function al(e,t){vi=bi=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ol(e,t,n){if(0!=(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,bt(e,n)}}var il={readContext:Co,useCallback:xi,useContext:xi,useEffect:xi,useImperativeHandle:xi,useInsertionEffect:xi,useLayoutEffect:xi,useMemo:xi,useReducer:xi,useRef:xi,useState:xi,useDebugValue:xi,useDeferredValue:xi,useTransition:xi,useMutableSource:xi,useSyncExternalStore:xi,useId:xi,unstable_isNewReconciler:!1},ll={readContext:Co,useCallback:function(e,t){return Ci().memoizedState=[e,void 0===t?null:t],e},useContext:Co,useEffect:Hi,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,$i(4194308,4,qi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return $i(4194308,4,e,t)},useInsertionEffect:function(e,t){return $i(4,2,e,t)},useMemo:function(e,t){var n=Ci();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ci();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=tl.bind(null,mi,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Ci().memoizedState=e},useState:Mi,useDebugValue:Yi,useDeferredValue:function(e){return Ci().memoizedState=e},useTransition:function(){var e=Mi(!1),t=e[0];return e=Ji.bind(null,e[1]),Ci().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=mi,a=Ci();if(ao){if(void 0===n)throw Error(o(407));n=n()}else{if(n=t(),null===Ls)throw Error(o(349));0!=(30&gi)||Ri(r,t,n)}a.memoizedState=n;var i={value:n,getSnapshot:t};return a.queue=i,Hi(Ii.bind(null,r,i,e),[e]),r.flags|=2048,zi(9,ji.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Ci(),t=Ls.identifierPrefix;if(ao){var n=Qa;t=":"+t+"R"+(n=(Ka&~(1<<32-it(Ka)-1)).toString(32)+n),0<(n=wi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=ki++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},sl={readContext:Co,useCallback:Ki,useContext:Co,useEffect:Zi,useImperativeHandle:Gi,useInsertionEffect:Vi,useLayoutEffect:Wi,useMemo:Qi,useReducer:Ai,useRef:Bi,useState:function(){return Ai(Ni)},useDebugValue:Yi,useDeferredValue:function(e){return Xi(Ti(),hi.memoizedState,e)},useTransition:function(){return[Ai(Ni)[0],Ti().memoizedState]},useMutableSource:Oi,useSyncExternalStore:Pi,useId:el,unstable_isNewReconciler:!1},ul={readContext:Co,useCallback:Ki,useContext:Co,useEffect:Zi,useImperativeHandle:Gi,useInsertionEffect:Vi,useLayoutEffect:Wi,useMemo:Qi,useReducer:Li,useRef:Bi,useState:function(){return Li(Ni)},useDebugValue:Yi,useDeferredValue:function(e){var t=Ti();return null===hi?t.memoizedState=e:Xi(t,hi.memoizedState,e)},useTransition:function(){return[Li(Ni)[0],Ti().memoizedState]},useMutableSource:Oi,useSyncExternalStore:Pi,useId:el,unstable_isNewReconciler:!1};function cl(e,t){try{var n="",r=t;do{n+=$(r),r=r.return}while(r);var a=n}catch(o){a="\nError generating stack: "+o.message+"\n"+o.stack}return{value:e,source:t,stack:a,digest:null}}function dl(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function fl(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var pl="function"==typeof WeakMap?WeakMap:Map;function gl(e,t,n){(n=jo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Vs||(Vs=!0,Ws=r),fl(0,t)},n}function ml(e,t,n){(n=jo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){fl(0,t)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){fl(0,t),"function"!=typeof r&&(null===qs?qs=new Set([this]):qs.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function hl(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new pl;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=Cu.bind(null,e,t,n),t.then(e,e))}function yl(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function bl(e,t,n,r,a){return 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=jo(-1,1)).tag=2,Io(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=a,e)}var vl=w.ReactCurrentOwner,wl=!1;function kl(e,t,n,r){t.child=null===e?Xo(t,null,n,r):Qo(t,e.child,n,r)}function xl(e,t,n,r,a){n=n.render;var o=t.ref;return _o(t,a),r=Ei(e,t,n,r,o,a),n=_i(),null===e||wl?(ao&&n&&eo(t),t.flags|=1,kl(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Vl(e,t,a))}function Sl(e,t,n,r,a){if(null===e){var o=n.type;return"function"!=typeof o||Ru(o)||void 0!==o.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Iu(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,El(e,t,o,r,a))}if(o=e.child,0==(e.lanes&a)){var i=o.memoizedProps;if((n=null!==(n=n.compare)?n:sr)(i,r)&&e.ref===t.ref)return Vl(e,t,a)}return t.flags|=1,(e=ju(o,r)).ref=t.ref,e.return=t,t.child=e}function El(e,t,n,r,a){if(null!==e){var o=e.memoizedProps;if(sr(o,r)&&e.ref===t.ref){if(wl=!1,t.pendingProps=r=o,0==(e.lanes&a))return t.lanes=e.lanes,Vl(e,t,a);0!=(131072&e.flags)&&(wl=!0)}}return Tl(e,t,n,r,a)}function _l(e,t,n){var r=t.pendingProps,a=r.children,o=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ca(js,Rs),Rs|=n;else{if(0==(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ca(js,Rs),Rs|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==o?o.baseLanes:n,Ca(js,Rs),Rs|=r}else null!==o?(r=o.baseLanes|n,t.memoizedState=null):r=n,Ca(js,Rs),Rs|=r;return kl(e,t,a,n),t.child}function Cl(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Tl(e,t,n,r,a){var o=Pa(n)?La:Na.current;return o=Oa(t,o),_o(t,a),n=Ei(e,t,n,r,o,a),r=_i(),null===e||wl?(ao&&r&&eo(t),t.flags|=1,kl(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Vl(e,t,a))}function Nl(e,t,n,r,a){if(Pa(n)){var o=!0;Da(t)}else o=!1;if(_o(t,a),null===t.stateNode)Zl(e,t),Zo(t,n,r),Wo(t,n,r,a),r=!0;else if(null===e){var i=t.stateNode,l=t.memoizedProps;i.props=l;var s=i.context,u=n.contextType;"object"==typeof u&&null!==u?u=Co(u):u=Oa(t,u=Pa(n)?La:Na.current);var c=n.getDerivedStateFromProps,d="function"==typeof c||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(l!==r||s!==u)&&Vo(t,i,r,u),Oo=!1;var f=t.memoizedState;i.state=f,Mo(t,r,i,a),s=t.memoizedState,l!==r||f!==s||Aa.current||Oo?("function"==typeof c&&($o(t,n,c,r),s=t.memoizedState),(l=Oo||Ho(t,n,l,r,f,s,u))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),i.props=r,i.state=s,i.context=u,r=l):("function"==typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Ro(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:yo(t.type,l),i.props=u,d=t.pendingProps,f=i.context,"object"==typeof(s=n.contextType)&&null!==s?s=Co(s):s=Oa(t,s=Pa(n)?La:Na.current);var p=n.getDerivedStateFromProps;(c="function"==typeof p||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(l!==d||f!==s)&&Vo(t,i,r,s),Oo=!1,f=t.memoizedState,i.state=f,Mo(t,r,i,a);var g=t.memoizedState;l!==d||f!==g||Aa.current||Oo?("function"==typeof p&&($o(t,n,p,r),g=t.memoizedState),(u=Oo||Ho(t,n,u,r,f,g,s)||!1)?(c||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,g,s),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,g,s)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=g),i.props=r,i.state=g,i.context=s,r=u):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return Al(e,t,n,r,o,a)}function Al(e,t,n,r,a,o){Cl(e,t);var i=0!=(128&t.flags);if(!r&&!i)return a&&Fa(t,n,!1),Vl(e,t,o);r=t.stateNode,vl.current=t;var l=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=Qo(t,e.child,null,o),t.child=Qo(t,null,l,o)):kl(e,t,l,o),t.memoizedState=r.state,a&&Fa(t,n,!0),t.child}function Ll(e){var t=e.stateNode;t.pendingContext?ja(0,t.pendingContext,t.pendingContext!==t.context):t.context&&ja(0,t.context,!1),ai(e,t.containerInfo)}function Ol(e,t,n,r,a){return go(),mo(a),t.flags|=256,kl(e,t,n,r),t.child}var Pl,Rl,jl,Il,Dl={dehydrated:null,treeContext:null,retryLane:0};function Fl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ml(e,t,n){var r,a=t.pendingProps,i=si.current,l=!1,s=0!=(128&t.flags);if((r=s)||(r=(null===e||null!==e.memoizedState)&&0!=(2&i)),r?(l=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),Ca(si,1&i),null===e)return uo(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(s=a.children,e=a.fallback,l?(a=t.mode,l=t.child,s={mode:"hidden",children:s},0==(1&a)&&null!==l?(l.childLanes=0,l.pendingProps=s):l=Fu(s,a,0,null),e=Du(e,a,n,null),l.return=t,e.return=t,l.sibling=e,t.child=l,t.child.memoizedState=Fl(n),t.memoizedState=Dl,e):zl(t,s));if(null!==(i=e.memoizedState)&&null!==(r=i.dehydrated))return function(e,t,n,r,a,i,l){if(n)return 256&t.flags?(t.flags&=-257,Bl(e,t,l,r=dl(Error(o(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=r.fallback,a=t.mode,r=Fu({mode:"visible",children:r.children},a,0,null),(i=Du(i,a,l,null)).flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,0!=(1&t.mode)&&Qo(t,e.child,null,l),t.child.memoizedState=Fl(l),t.memoizedState=Dl,i);if(0==(1&t.mode))return Bl(e,t,l,null);if("$!"===a.data){if(r=a.nextSibling&&a.nextSibling.dataset)var s=r.dgst;return r=s,Bl(e,t,l,r=dl(i=Error(o(419)),r,void 0))}if(s=0!=(l&e.childLanes),wl||s){if(null!==(r=Ls)){switch(l&-l){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}0!==(a=0!=(a&(r.suspendedLanes|l))?0:a)&&a!==i.retryLane&&(i.retryLane=a,Lo(e,a),ru(r,e,a,-1))}return hu(),Bl(e,t,l,r=dl(Error(o(421))))}return"$?"===a.data?(t.flags|=128,t.child=e.child,t=Nu.bind(null,e),a._reactRetry=t,null):(e=i.treeContext,ro=ua(a.nextSibling),no=t,ao=!0,oo=null,null!==e&&(qa[Ga++]=Ka,qa[Ga++]=Qa,qa[Ga++]=Ya,Ka=e.id,Qa=e.overflow,Ya=t),t=zl(t,r.children),t.flags|=4096,t)}(e,t,s,a,r,i,n);if(l){l=a.fallback,s=t.mode,r=(i=e.child).sibling;var u={mode:"hidden",children:a.children};return 0==(1&s)&&t.child!==i?((a=t.child).childLanes=0,a.pendingProps=u,t.deletions=null):(a=ju(i,u)).subtreeFlags=14680064&i.subtreeFlags,null!==r?l=ju(r,l):(l=Du(l,s,n,null)).flags|=2,l.return=t,a.return=t,a.sibling=l,t.child=a,a=l,l=t.child,s=null===(s=e.child.memoizedState)?Fl(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},l.memoizedState=s,l.childLanes=e.childLanes&~n,t.memoizedState=Dl,a}return e=(l=e.child).sibling,a=ju(l,{mode:"visible",children:a.children}),0==(1&t.mode)&&(a.lanes=n),a.return=t,a.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=a,t.memoizedState=null,a}function zl(e,t){return(t=Fu({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Bl(e,t,n,r){return null!==r&&mo(r),Qo(t,e.child,null,n),(e=zl(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function $l(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),Eo(e.return,t,n)}function Ul(e,t,n,r,a){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=a)}function Hl(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;if(kl(e,t,r.children,n),0!=(2&(r=si.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&$l(e,n,t);else if(19===e.tag)$l(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Ca(si,r),0==(1&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===ui(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),Ul(t,!1,a,n,o);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===ui(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}Ul(t,!0,n,null,o);break;case"together":Ul(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Zl(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Vl(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Fs|=t.lanes,0==(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(n=ju(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=ju(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Wl(e,t){if(!ao)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ql(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=14680064&a.subtreeFlags,r|=14680064&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Gl(e,t,n){var r=t.pendingProps;switch(to(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ql(t),null;case 1:case 17:return Pa(t.type)&&Ra(),ql(t),null;case 3:return r=t.stateNode,oi(),_a(Aa),_a(Na),di(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(fo(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==oo&&(lu(oo),oo=null))),Rl(e,t),ql(t),null;case 5:li(t);var a=ri(ni.current);if(n=t.type,null!==e&&null!=t.stateNode)jl(e,t,n,r,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(o(166));return ql(t),null}if(e=ri(ei.current),fo(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[fa]=t,r[pa]=i,e=0!=(1&t.mode),n){case"dialog":zr("cancel",r),zr("close",r);break;case"iframe":case"object":case"embed":zr("load",r);break;case"video":case"audio":for(a=0;a<Ir.length;a++)zr(Ir[a],r);break;case"source":zr("error",r);break;case"img":case"image":case"link":zr("error",r),zr("load",r);break;case"details":zr("toggle",r);break;case"input":K(r,i),zr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},zr("invalid",r);break;case"textarea":ae(r,i),zr("invalid",r)}for(var s in be(n,i),a=null,i)if(i.hasOwnProperty(s)){var u=i[s];"children"===s?"string"==typeof u?r.textContent!==u&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,u,e),a=["children",u]):"number"==typeof u&&r.textContent!==""+u&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,u,e),a=["children",""+u]):l.hasOwnProperty(s)&&null!=u&&"onScroll"===s&&zr("scroll",r)}switch(n){case"input":W(r),J(r,i,!0);break;case"textarea":W(r),ie(r);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(r.onclick=Jr)}r=a,t.updateQueue=r,null!==r&&(t.flags|=4)}else{s=9===a.nodeType?a:a.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=le(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=s.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),"select"===n&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[fa]=t,e[pa]=r,Pl(e,t,!1,!1),t.stateNode=e;e:{switch(s=ve(n,r),n){case"dialog":zr("cancel",e),zr("close",e),a=r;break;case"iframe":case"object":case"embed":zr("load",e),a=r;break;case"video":case"audio":for(a=0;a<Ir.length;a++)zr(Ir[a],e);a=r;break;case"source":zr("error",e),a=r;break;case"img":case"image":case"link":zr("error",e),zr("load",e),a=r;break;case"details":zr("toggle",e),a=r;break;case"input":K(e,r),a=Y(e,r),zr("invalid",e);break;case"option":default:a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=F({},r,{value:void 0}),zr("invalid",e);break;case"textarea":ae(e,r),a=re(e,r),zr("invalid",e)}for(i in be(n,a),u=a)if(u.hasOwnProperty(i)){var c=u[i];"style"===i?he(e,c):"dangerouslySetInnerHTML"===i?null!=(c=c?c.__html:void 0)&&de(e,c):"children"===i?"string"==typeof c?("textarea"!==n||""!==c)&&fe(e,c):"number"==typeof c&&fe(e,""+c):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(l.hasOwnProperty(i)?null!=c&&"onScroll"===i&&zr("scroll",e):null!=c&&v(e,i,c,s))}switch(n){case"input":W(e),J(e,r,!1);break;case"textarea":W(e),ie(e);break;case"option":null!=r.value&&e.setAttribute("value",""+Z(r.value));break;case"select":e.multiple=!!r.multiple,null!=(i=r.value)?ne(e,!!r.multiple,i,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof a.onClick&&(e.onclick=Jr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return ql(t),null;case 6:if(e&&null!=t.stateNode)Il(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(o(166));if(n=ri(ni.current),ri(ei.current),fo(t)){if(r=t.stateNode,n=t.memoizedProps,r[fa]=t,(i=r.nodeValue!==n)&&null!==(e=no))switch(e.tag){case 3:Xr(r.nodeValue,n,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xr(r.nodeValue,n,0!=(1&e.mode))}i&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[fa]=t,t.stateNode=r}return ql(t),null;case 13:if(_a(si),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ao&&null!==ro&&0!=(1&t.mode)&&0==(128&t.flags))po(),go(),t.flags|=98560,i=!1;else if(i=fo(t),null!==r&&null!==r.dehydrated){if(null===e){if(!i)throw Error(o(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(o(317));i[fa]=t}else go(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;ql(t),i=!1}else null!==oo&&(lu(oo),oo=null),i=!0;if(!i)return 65536&t.flags?t:null}return 0!=(128&t.flags)?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(1&si.current)?0===Is&&(Is=3):hu())),null!==t.updateQueue&&(t.flags|=4),ql(t),null);case 4:return oi(),Rl(e,t),null===e&&Ur(t.stateNode.containerInfo),ql(t),null;case 10:return So(t.type._context),ql(t),null;case 19:if(_a(si),null===(i=t.memoizedState))return ql(t),null;if(r=0!=(128&t.flags),null===(s=i.rendering))if(r)Wl(i,!1);else{if(0!==Is||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(s=ui(e))){for(t.flags|=128,Wl(i,!1),null!==(r=s.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(i=n).flags&=14680066,null===(s=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=s.childLanes,i.lanes=s.lanes,i.child=s.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=s.memoizedProps,i.memoizedState=s.memoizedState,i.updateQueue=s.updateQueue,i.type=s.type,e=s.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Ca(si,1&si.current|2),t.child}e=e.sibling}null!==i.tail&&Qe()>Hs&&(t.flags|=128,r=!0,Wl(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ui(s))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Wl(i,!0),null===i.tail&&"hidden"===i.tailMode&&!s.alternate&&!ao)return ql(t),null}else 2*Qe()-i.renderingStartTime>Hs&&1073741824!==n&&(t.flags|=128,r=!0,Wl(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=i.last)?n.sibling=s:t.child=s,i.last=s)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Qe(),t.sibling=null,n=si.current,Ca(si,r?1&n|2:1&n),t):(ql(t),null);case 22:case 23:return fu(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!=(1&t.mode)?0!=(1073741824&Rs)&&(ql(t),6&t.subtreeFlags&&(t.flags|=8192)):ql(t),null;case 24:case 25:return null}throw Error(o(156,t.tag))}function Yl(e,t){switch(to(t),t.tag){case 1:return Pa(t.type)&&Ra(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return oi(),_a(Aa),_a(Na),di(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return li(t),null;case 13:if(_a(si),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));go()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return _a(si),null;case 4:return oi(),null;case 10:return So(t.type._context),null;case 22:case 23:return fu(),null;default:return null}}Pl=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Rl=function(){},jl=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,ri(ei.current);var o,i=null;switch(n){case"input":a=Y(e,a),r=Y(e,r),i=[];break;case"select":a=F({},a,{value:void 0}),r=F({},r,{value:void 0}),i=[];break;case"textarea":a=re(e,a),r=re(e,r),i=[];break;default:"function"!=typeof a.onClick&&"function"==typeof r.onClick&&(e.onclick=Jr)}for(c in be(n,r),n=null,a)if(!r.hasOwnProperty(c)&&a.hasOwnProperty(c)&&null!=a[c])if("style"===c){var s=a[c];for(o in s)s.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else"dangerouslySetInnerHTML"!==c&&"children"!==c&&"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(l.hasOwnProperty(c)?i||(i=[]):(i=i||[]).push(c,null));for(c in r){var u=r[c];if(s=null!=a?a[c]:void 0,r.hasOwnProperty(c)&&u!==s&&(null!=u||null!=s))if("style"===c)if(s){for(o in s)!s.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in u)u.hasOwnProperty(o)&&s[o]!==u[o]&&(n||(n={}),n[o]=u[o])}else n||(i||(i=[]),i.push(c,n)),n=u;else"dangerouslySetInnerHTML"===c?(u=u?u.__html:void 0,s=s?s.__html:void 0,null!=u&&s!==u&&(i=i||[]).push(c,u)):"children"===c?"string"!=typeof u&&"number"!=typeof u||(i=i||[]).push(c,""+u):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&(l.hasOwnProperty(c)?(null!=u&&"onScroll"===c&&zr("scroll",e),i||s===u||(i=[])):(i=i||[]).push(c,u))}n&&(i=i||[]).push("style",n);var c=i;(t.updateQueue=c)&&(t.flags|=4)}},Il=function(e,t,n,r){n!==r&&(t.flags|=4)};var Kl=!1,Ql=!1,Xl="function"==typeof WeakSet?WeakSet:Set,Jl=null;function es(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){_u(e,t,r)}else n.current=null}function ts(e,t,n){try{n()}catch(r){_u(e,t,r)}}var ns=!1;function rs(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var a=r=r.next;do{if((a.tag&e)===e){var o=a.destroy;a.destroy=void 0,void 0!==o&&ts(t,n,o)}a=a.next}while(a!==r)}}function as(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function os(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function is(e){var t=e.alternate;null!==t&&(e.alternate=null,is(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[fa],delete t[pa],delete t[ma],delete t[ha],delete t[ya])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ls(e){return 5===e.tag||3===e.tag||4===e.tag}function ss(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ls(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function us(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Jr));else if(4!==r&&null!==(e=e.child))for(us(e,t,n),e=e.sibling;null!==e;)us(e,t,n),e=e.sibling}function cs(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cs(e,t,n),e=e.sibling;null!==e;)cs(e,t,n),e=e.sibling}var ds=null,fs=!1;function ps(e,t,n){for(n=n.child;null!==n;)gs(e,t,n),n=n.sibling}function gs(e,t,n){if(ot&&"function"==typeof ot.onCommitFiberUnmount)try{ot.onCommitFiberUnmount(at,n)}catch(l){}switch(n.tag){case 5:Ql||es(n,t);case 6:var r=ds,a=fs;ds=null,ps(e,t,n),fs=a,null!==(ds=r)&&(fs?(e=ds,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ds.removeChild(n.stateNode));break;case 18:null!==ds&&(fs?(e=ds,n=n.stateNode,8===e.nodeType?sa(e.parentNode,n):1===e.nodeType&&sa(e,n),Ut(e)):sa(ds,n.stateNode));break;case 4:r=ds,a=fs,ds=n.stateNode.containerInfo,fs=!0,ps(e,t,n),ds=r,fs=a;break;case 0:case 11:case 14:case 15:if(!Ql&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){a=r=r.next;do{var o=a,i=o.destroy;o=o.tag,void 0!==i&&(0!=(2&o)||0!=(4&o))&&ts(n,t,i),a=a.next}while(a!==r)}ps(e,t,n);break;case 1:if(!Ql&&(es(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){_u(n,t,l)}ps(e,t,n);break;case 21:ps(e,t,n);break;case 22:1&n.mode?(Ql=(r=Ql)||null!==n.memoizedState,ps(e,t,n),Ql=r):ps(e,t,n);break;default:ps(e,t,n)}}function ms(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Xl),t.forEach((function(t){var r=Au.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function hs(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];try{var i=e,l=t,s=l;e:for(;null!==s;){switch(s.tag){case 5:ds=s.stateNode,fs=!1;break e;case 3:case 4:ds=s.stateNode.containerInfo,fs=!0;break e}s=s.return}if(null===ds)throw Error(o(160));gs(i,l,a),ds=null,fs=!1;var u=a.alternate;null!==u&&(u.return=null),a.return=null}catch(c){_u(a,t,c)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)ys(t,e),t=t.sibling}function ys(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(hs(t,e),bs(e),4&r){try{rs(3,e,e.return),as(3,e)}catch(h){_u(e,e.return,h)}try{rs(5,e,e.return)}catch(h){_u(e,e.return,h)}}break;case 1:hs(t,e),bs(e),512&r&&null!==n&&es(n,n.return);break;case 5:if(hs(t,e),bs(e),512&r&&null!==n&&es(n,n.return),32&e.flags){var a=e.stateNode;try{fe(a,"")}catch(h){_u(e,e.return,h)}}if(4&r&&null!=(a=e.stateNode)){var i=e.memoizedProps,l=null!==n?n.memoizedProps:i,s=e.type,u=e.updateQueue;if(e.updateQueue=null,null!==u)try{"input"===s&&"radio"===i.type&&null!=i.name&&Q(a,i),ve(s,l);var c=ve(s,i);for(l=0;l<u.length;l+=2){var d=u[l],f=u[l+1];"style"===d?he(a,f):"dangerouslySetInnerHTML"===d?de(a,f):"children"===d?fe(a,f):v(a,d,f,c)}switch(s){case"input":X(a,i);break;case"textarea":oe(a,i);break;case"select":var p=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!i.multiple;var g=i.value;null!=g?ne(a,!!i.multiple,g,!1):p!==!!i.multiple&&(null!=i.defaultValue?ne(a,!!i.multiple,i.defaultValue,!0):ne(a,!!i.multiple,i.multiple?[]:"",!1))}a[pa]=i}catch(h){_u(e,e.return,h)}}break;case 6:if(hs(t,e),bs(e),4&r){if(null===e.stateNode)throw Error(o(162));a=e.stateNode,i=e.memoizedProps;try{a.nodeValue=i}catch(h){_u(e,e.return,h)}}break;case 3:if(hs(t,e),bs(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Ut(t.containerInfo)}catch(h){_u(e,e.return,h)}break;case 4:default:hs(t,e),bs(e);break;case 13:hs(t,e),bs(e),8192&(a=e.child).flags&&(i=null!==a.memoizedState,a.stateNode.isHidden=i,!i||null!==a.alternate&&null!==a.alternate.memoizedState||(Us=Qe())),4&r&&ms(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Ql=(c=Ql)||d,hs(t,e),Ql=c):hs(t,e),bs(e),8192&r){if(c=null!==e.memoizedState,(e.stateNode.isHidden=c)&&!d&&0!=(1&e.mode))for(Jl=e,d=e.child;null!==d;){for(f=Jl=d;null!==Jl;){switch(g=(p=Jl).child,p.tag){case 0:case 11:case 14:case 15:rs(4,p,p.return);break;case 1:es(p,p.return);var m=p.stateNode;if("function"==typeof m.componentWillUnmount){r=p,n=p.return;try{t=r,m.props=t.memoizedProps,m.state=t.memoizedState,m.componentWillUnmount()}catch(h){_u(r,n,h)}}break;case 5:es(p,p.return);break;case 22:if(null!==p.memoizedState){xs(f);continue}}null!==g?(g.return=p,Jl=g):xs(f)}d=d.sibling}e:for(d=null,f=e;;){if(5===f.tag){if(null===d){d=f;try{a=f.stateNode,c?"function"==typeof(i=a.style).setProperty?i.setProperty("display","none","important"):i.display="none":(s=f.stateNode,l=null!=(u=f.memoizedProps.style)&&u.hasOwnProperty("display")?u.display:null,s.style.display=me("display",l))}catch(h){_u(e,e.return,h)}}}else if(6===f.tag){if(null===d)try{f.stateNode.nodeValue=c?"":f.memoizedProps}catch(h){_u(e,e.return,h)}}else if((22!==f.tag&&23!==f.tag||null===f.memoizedState||f===e)&&null!==f.child){f.child.return=f,f=f.child;continue}if(f===e)break e;for(;null===f.sibling;){if(null===f.return||f.return===e)break e;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:hs(t,e),bs(e),4&r&&ms(e);case 21:}}function bs(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(ls(n)){var r=n;break e}n=n.return}throw Error(o(160))}switch(r.tag){case 5:var a=r.stateNode;32&r.flags&&(fe(a,""),r.flags&=-33),cs(e,ss(e),a);break;case 3:case 4:var i=r.stateNode.containerInfo;us(e,ss(e),i);break;default:throw Error(o(161))}}catch(l){_u(e,e.return,l)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function vs(e,t,n){Jl=e,ws(e,t,n)}function ws(e,t,n){for(var r=0!=(1&e.mode);null!==Jl;){var a=Jl,o=a.child;if(22===a.tag&&r){var i=null!==a.memoizedState||Kl;if(!i){var l=a.alternate,s=null!==l&&null!==l.memoizedState||Ql;l=Kl;var u=Ql;if(Kl=i,(Ql=s)&&!u)for(Jl=a;null!==Jl;)s=(i=Jl).child,22===i.tag&&null!==i.memoizedState?Ss(a):null!==s?(s.return=i,Jl=s):Ss(a);for(;null!==o;)Jl=o,ws(o,t,n),o=o.sibling;Jl=a,Kl=l,Ql=u}ks(e)}else 0!=(8772&a.subtreeFlags)&&null!==o?(o.return=a,Jl=o):ks(e)}}function ks(e){for(;null!==Jl;){var t=Jl;if(0!=(8772&t.flags)){var n=t.alternate;try{if(0!=(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Ql||as(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Ql)if(null===n)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:yo(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&zo(t,i,r);break;case 3:var l=t.updateQueue;if(null!==l){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}zo(t,l,n)}break;case 5:var s=t.stateNode;if(null===n&&4&t.flags){n=s;var u=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":u.autoFocus&&n.focus();break;case"img":u.src&&(n.src=u.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var c=t.alternate;if(null!==c){var d=c.memoizedState;if(null!==d){var f=d.dehydrated;null!==f&&Ut(f)}}}break;default:throw Error(o(163))}Ql||512&t.flags&&os(t)}catch(p){_u(t,t.return,p)}}if(t===e){Jl=null;break}if(null!==(n=t.sibling)){n.return=t.return,Jl=n;break}Jl=t.return}}function xs(e){for(;null!==Jl;){var t=Jl;if(t===e){Jl=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Jl=n;break}Jl=t.return}}function Ss(e){for(;null!==Jl;){var t=Jl;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{as(4,t)}catch(s){_u(t,n,s)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var a=t.return;try{r.componentDidMount()}catch(s){_u(t,a,s)}}var o=t.return;try{os(t)}catch(s){_u(t,o,s)}break;case 5:var i=t.return;try{os(t)}catch(s){_u(t,i,s)}}}catch(s){_u(t,t.return,s)}if(t===e){Jl=null;break}var l=t.sibling;if(null!==l){l.return=t.return,Jl=l;break}Jl=t.return}}var Es,_s=Math.ceil,Cs=w.ReactCurrentDispatcher,Ts=w.ReactCurrentOwner,Ns=w.ReactCurrentBatchConfig,As=0,Ls=null,Os=null,Ps=0,Rs=0,js=Ea(0),Is=0,Ds=null,Fs=0,Ms=0,zs=0,Bs=null,$s=null,Us=0,Hs=1/0,Zs=null,Vs=!1,Ws=null,qs=null,Gs=!1,Ys=null,Ks=0,Qs=0,Xs=null,Js=-1,eu=0;function tu(){return 0!=(6&As)?Qe():-1!==Js?Js:Js=Qe()}function nu(e){return 0==(1&e.mode)?1:0!=(2&As)&&0!==Ps?Ps&-Ps:null!==ho.transition?(0===eu&&(eu=mt()),eu):0!==(e=vt)?e:e=void 0===(e=window.event)?16:Kt(e.type)}function ru(e,t,n,r){if(50<Qs)throw Qs=0,Xs=null,Error(o(185));yt(e,n,r),0!=(2&As)&&e===Ls||(e===Ls&&(0==(2&As)&&(Ms|=n),4===Is&&su(e,Ps)),au(e,r),1===n&&0===As&&0==(1&t.mode)&&(Hs=Qe()+500,za&&Ua()))}function au(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=e.pendingLanes;0<o;){var i=31-it(o),l=1<<i,s=a[i];-1===s?0!=(l&n)&&0==(l&r)||(a[i]=pt(l,t)):s<=t&&(e.expiredLanes|=l),o&=~l}}(e,t);var r=ft(e,e===Ls?Ps:0);if(0===r)null!==n&&Ge(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Ge(n),1===t)0===e.tag?function(e){za=!0,$a(e)}(uu.bind(null,e)):$a(uu.bind(null,e)),ia((function(){0==(6&As)&&Ua()})),n=null;else{switch(wt(r)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Lu(n,ou.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ou(e,t){if(Js=-1,eu=0,0!=(6&As))throw Error(o(327));var n=e.callbackNode;if(Su()&&e.callbackNode!==n)return null;var r=ft(e,e===Ls?Ps:0);if(0===r)return null;if(0!=(30&r)||0!=(r&e.expiredLanes)||t)t=yu(e,r);else{t=r;var a=As;As|=2;var i=mu();for(Ls===e&&Ps===t||(Zs=null,Hs=Qe()+500,pu(e,t));;)try{vu();break}catch(s){gu(e,s)}xo(),Cs.current=i,As=a,null!==Os?t=0:(Ls=null,Ps=0,t=Is)}if(0!==t){if(2===t&&(0!==(a=gt(e))&&(r=a,t=iu(e,a))),1===t)throw n=Ds,pu(e,0),su(e,r),au(e,Qe()),n;if(6===t)su(e,r);else{if(a=e.current.alternate,0==(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],o=a.getSnapshot;a=a.value;try{if(!lr(o(),a))return!1}catch(l){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(a)&&(2===(t=yu(e,r))&&(0!==(i=gt(e))&&(r=i,t=iu(e,i))),1===t))throw n=Ds,pu(e,0),su(e,r),au(e,Qe()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(o(345));case 2:case 5:xu(e,$s,Zs);break;case 3:if(su(e,r),(130023424&r)===r&&10<(t=Us+500-Qe())){if(0!==ft(e,0))break;if(((a=e.suspendedLanes)&r)!==r){tu(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=ra(xu.bind(null,e,$s,Zs),t);break}xu(e,$s,Zs);break;case 4:if(su(e,r),(4194240&r)===r)break;for(t=e.eventTimes,a=-1;0<r;){var l=31-it(r);i=1<<l,(l=t[l])>a&&(a=l),r&=~i}if(r=a,10<(r=(120>(r=Qe()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*_s(r/1960))-r)){e.timeoutHandle=ra(xu.bind(null,e,$s,Zs),r);break}xu(e,$s,Zs);break;default:throw Error(o(329))}}}return au(e,Qe()),e.callbackNode===n?ou.bind(null,e):null}function iu(e,t){var n=Bs;return e.current.memoizedState.isDehydrated&&(pu(e,t).flags|=256),2!==(e=yu(e,t))&&(t=$s,$s=n,null!==t&&lu(t)),e}function lu(e){null===$s?$s=e:$s.push.apply($s,e)}function su(e,t){for(t&=~zs,t&=~Ms,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),r=1<<n;e[n]=-1,t&=~r}}function uu(e){if(0!=(6&As))throw Error(o(327));Su();var t=ft(e,0);if(0==(1&t))return au(e,Qe()),null;var n=yu(e,t);if(0!==e.tag&&2===n){var r=gt(e);0!==r&&(t=r,n=iu(e,r))}if(1===n)throw n=Ds,pu(e,0),su(e,t),au(e,Qe()),n;if(6===n)throw Error(o(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,xu(e,$s,Zs),au(e,Qe()),null}function cu(e,t){var n=As;As|=1;try{return e(t)}finally{0===(As=n)&&(Hs=Qe()+500,za&&Ua())}}function du(e){null!==Ys&&0===Ys.tag&&0==(6&As)&&Su();var t=As;As|=1;var n=Ns.transition,r=vt;try{if(Ns.transition=null,vt=1,e)return e()}finally{vt=r,Ns.transition=n,0==(6&(As=t))&&Ua()}}function fu(){Rs=js.current,_a(js)}function pu(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,aa(n)),null!==Os)for(n=Os.return;null!==n;){var r=n;switch(to(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Ra();break;case 3:oi(),_a(Aa),_a(Na),di();break;case 5:li(r);break;case 4:oi();break;case 13:case 19:_a(si);break;case 10:So(r.type._context);break;case 22:case 23:fu()}n=n.return}if(Ls=e,Os=e=ju(e.current,null),Ps=Rs=t,Is=0,Ds=null,zs=Ms=Fs=0,$s=Bs=null,null!==To){for(t=0;t<To.length;t++)if(null!==(r=(n=To[t]).interleaved)){n.interleaved=null;var a=r.next,o=n.pending;if(null!==o){var i=o.next;o.next=a,r.next=i}n.pending=r}To=null}return e}function gu(e,t){for(;;){var n=Os;try{if(xo(),fi.current=il,bi){for(var r=mi.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}bi=!1}if(gi=0,yi=hi=mi=null,vi=!1,wi=0,Ts.current=null,null===n||null===n.return){Is=1,Ds=t,Os=null;break}e:{var i=e,l=n.return,s=n,u=t;if(t=Ps,s.flags|=32768,null!==u&&"object"==typeof u&&"function"==typeof u.then){var c=u,d=s,f=d.tag;if(0==(1&d.mode)&&(0===f||11===f||15===f)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var g=yl(l);if(null!==g){g.flags&=-257,bl(g,l,s,0,t),1&g.mode&&hl(i,c,t),u=c;var m=(t=g).updateQueue;if(null===m){var h=new Set;h.add(u),t.updateQueue=h}else m.add(u);break e}if(0==(1&t)){hl(i,c,t),hu();break e}u=Error(o(426))}else if(ao&&1&s.mode){var y=yl(l);if(null!==y){0==(65536&y.flags)&&(y.flags|=256),bl(y,l,s,0,t),mo(cl(u,s));break e}}i=u=cl(u,s),4!==Is&&(Is=2),null===Bs?Bs=[i]:Bs.push(i),i=l;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Fo(i,gl(0,u,t));break e;case 1:s=u;var b=i.type,v=i.stateNode;if(0==(128&i.flags)&&("function"==typeof b.getDerivedStateFromError||null!==v&&"function"==typeof v.componentDidCatch&&(null===qs||!qs.has(v)))){i.flags|=65536,t&=-t,i.lanes|=t,Fo(i,ml(i,s,t));break e}}i=i.return}while(null!==i)}ku(n)}catch(w){t=w,Os===n&&null!==n&&(Os=n=n.return);continue}break}}function mu(){var e=Cs.current;return Cs.current=il,null===e?il:e}function hu(){0!==Is&&3!==Is&&2!==Is||(Is=4),null===Ls||0==(268435455&Fs)&&0==(268435455&Ms)||su(Ls,Ps)}function yu(e,t){var n=As;As|=2;var r=mu();for(Ls===e&&Ps===t||(Zs=null,pu(e,t));;)try{bu();break}catch(a){gu(e,a)}if(xo(),As=n,Cs.current=r,null!==Os)throw Error(o(261));return Ls=null,Ps=0,Is}function bu(){for(;null!==Os;)wu(Os)}function vu(){for(;null!==Os&&!Ye();)wu(Os)}function wu(e){var t=Es(e.alternate,e,Rs);e.memoizedProps=e.pendingProps,null===t?ku(e):Os=t,Ts.current=null}function ku(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(32768&t.flags)){if(null!==(n=Gl(n,t,Rs)))return void(Os=n)}else{if(null!==(n=Yl(n,t)))return n.flags&=32767,void(Os=n);if(null===e)return Is=6,void(Os=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Os=t);Os=t=e}while(null!==t);0===Is&&(Is=5)}function xu(e,t,n){var r=vt,a=Ns.transition;try{Ns.transition=null,vt=1,function(e,t,n,r){do{Su()}while(null!==Ys);if(0!=(6&As))throw Error(o(327));n=e.finishedWork;var a=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(o(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-it(n),o=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~o}}(e,i),e===Ls&&(Os=Ls=null,Ps=0),0==(2064&n.subtreeFlags)&&0==(2064&n.flags)||Gs||(Gs=!0,Lu(tt,(function(){return Su(),null}))),i=0!=(15990&n.flags),0!=(15990&n.subtreeFlags)||i){i=Ns.transition,Ns.transition=null;var l=vt;vt=1;var s=As;As|=4,Ts.current=null,function(e,t){if(ea=Zt,pr(e=fr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var a=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch(k){n=null;break e}var l=0,s=-1,u=-1,c=0,d=0,f=e,p=null;t:for(;;){for(var g;f!==n||0!==a&&3!==f.nodeType||(s=l+a),f!==i||0!==r&&3!==f.nodeType||(u=l+r),3===f.nodeType&&(l+=f.nodeValue.length),null!==(g=f.firstChild);)p=f,f=g;for(;;){if(f===e)break t;if(p===n&&++c===a&&(s=l),p===i&&++d===r&&(u=l),null!==(g=f.nextSibling))break;p=(f=p).parentNode}f=g}n=-1===s||-1===u?null:{start:s,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ta={focusedElem:e,selectionRange:n},Zt=!1,Jl=t;null!==Jl;)if(e=(t=Jl).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,Jl=e;else for(;null!==Jl;){t=Jl;try{var m=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==m){var h=m.memoizedProps,y=m.memoizedState,b=t.stateNode,v=b.getSnapshotBeforeUpdate(t.elementType===t.type?h:yo(t.type,h),y);b.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var w=t.stateNode.containerInfo;1===w.nodeType?w.textContent="":9===w.nodeType&&w.documentElement&&w.removeChild(w.documentElement);break;default:throw Error(o(163))}}catch(k){_u(t,t.return,k)}if(null!==(e=t.sibling)){e.return=t.return,Jl=e;break}Jl=t.return}m=ns,ns=!1}(e,n),ys(n,e),gr(ta),Zt=!!ea,ta=ea=null,e.current=n,vs(n,e,a),Ke(),As=s,vt=l,Ns.transition=i}else e.current=n;if(Gs&&(Gs=!1,Ys=e,Ks=a),i=e.pendingLanes,0===i&&(qs=null),function(e){if(ot&&"function"==typeof ot.onCommitFiberRoot)try{ot.onCommitFiberRoot(at,e,void 0,128==(128&e.current.flags))}catch(t){}}(n.stateNode),au(e,Qe()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],r(a.value,{componentStack:a.stack,digest:a.digest});if(Vs)throw Vs=!1,e=Ws,Ws=null,e;0!=(1&Ks)&&0!==e.tag&&Su(),i=e.pendingLanes,0!=(1&i)?e===Xs?Qs++:(Qs=0,Xs=e):Qs=0,Ua()}(e,t,n,r)}finally{Ns.transition=a,vt=r}return null}function Su(){if(null!==Ys){var e=wt(Ks),t=Ns.transition,n=vt;try{if(Ns.transition=null,vt=16>e?16:e,null===Ys)var r=!1;else{if(e=Ys,Ys=null,Ks=0,0!=(6&As))throw Error(o(331));var a=As;for(As|=4,Jl=e.current;null!==Jl;){var i=Jl,l=i.child;if(0!=(16&Jl.flags)){var s=i.deletions;if(null!==s){for(var u=0;u<s.length;u++){var c=s[u];for(Jl=c;null!==Jl;){var d=Jl;switch(d.tag){case 0:case 11:case 15:rs(8,d,i)}var f=d.child;if(null!==f)f.return=d,Jl=f;else for(;null!==Jl;){var p=(d=Jl).sibling,g=d.return;if(is(d),d===c){Jl=null;break}if(null!==p){p.return=g,Jl=p;break}Jl=g}}}var m=i.alternate;if(null!==m){var h=m.child;if(null!==h){m.child=null;do{var y=h.sibling;h.sibling=null,h=y}while(null!==h)}}Jl=i}}if(0!=(2064&i.subtreeFlags)&&null!==l)l.return=i,Jl=l;else e:for(;null!==Jl;){if(0!=(2048&(i=Jl).flags))switch(i.tag){case 0:case 11:case 15:rs(9,i,i.return)}var b=i.sibling;if(null!==b){b.return=i.return,Jl=b;break e}Jl=i.return}}var v=e.current;for(Jl=v;null!==Jl;){var w=(l=Jl).child;if(0!=(2064&l.subtreeFlags)&&null!==w)w.return=l,Jl=w;else e:for(l=v;null!==Jl;){if(0!=(2048&(s=Jl).flags))try{switch(s.tag){case 0:case 11:case 15:as(9,s)}}catch(x){_u(s,s.return,x)}if(s===l){Jl=null;break e}var k=s.sibling;if(null!==k){k.return=s.return,Jl=k;break e}Jl=s.return}}if(As=a,Ua(),ot&&"function"==typeof ot.onPostCommitFiberRoot)try{ot.onPostCommitFiberRoot(at,e)}catch(x){}r=!0}return r}finally{vt=n,Ns.transition=t}}return!1}function Eu(e,t,n){e=Io(e,t=gl(0,t=cl(n,t),1),1),t=tu(),null!==e&&(yt(e,1,t),au(e,t))}function _u(e,t,n){if(3===e.tag)Eu(e,e,n);else for(;null!==t;){if(3===t.tag){Eu(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===qs||!qs.has(r))){t=Io(t,e=ml(t,e=cl(n,e),1),1),e=tu(),null!==t&&(yt(t,1,e),au(t,e));break}}t=t.return}}function Cu(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=tu(),e.pingedLanes|=e.suspendedLanes&n,Ls===e&&(Ps&n)===n&&(4===Is||3===Is&&(130023424&Ps)===Ps&&500>Qe()-Us?pu(e,0):zs|=n),au(e,t)}function Tu(e,t){0===t&&(0==(1&e.mode)?t=1:(t=ct,0==(130023424&(ct<<=1))&&(ct=4194304)));var n=tu();null!==(e=Lo(e,t))&&(yt(e,t,n),au(e,n))}function Nu(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Tu(e,n)}function Au(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(o(314))}null!==r&&r.delete(t),Tu(e,n)}function Lu(e,t){return qe(e,t)}function Ou(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Pu(e,t,n,r){return new Ou(e,t,n,r)}function Ru(e){return!(!(e=e.prototype)||!e.isReactComponent)}function ju(e,t){var n=e.alternate;return null===n?((n=Pu(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Iu(e,t,n,r,a,i){var l=2;if(r=e,"function"==typeof e)Ru(e)&&(l=1);else if("string"==typeof e)l=5;else e:switch(e){case S:return Du(n.children,a,i,t);case E:l=8,a|=8;break;case _:return(e=Pu(12,n,t,2|a)).elementType=_,e.lanes=i,e;case A:return(e=Pu(13,n,t,a)).elementType=A,e.lanes=i,e;case L:return(e=Pu(19,n,t,a)).elementType=L,e.lanes=i,e;case R:return Fu(n,a,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case C:l=10;break e;case T:l=9;break e;case N:l=11;break e;case O:l=14;break e;case P:l=16,r=null;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=Pu(l,n,t,a)).elementType=e,t.type=r,t.lanes=i,t}function Du(e,t,n,r){return(e=Pu(7,e,r,t)).lanes=n,e}function Fu(e,t,n,r){return(e=Pu(22,e,r,t)).elementType=R,e.lanes=n,e.stateNode={isHidden:!1},e}function Mu(e,t,n){return(e=Pu(6,e,null,t)).lanes=n,e}function zu(e,t,n){return(t=Pu(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Bu(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ht(0),this.expirationTimes=ht(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ht(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function $u(e,t,n,r,a,o,i,l,s){return e=new Bu(e,t,n,l,s),1===t?(t=1,!0===o&&(t|=8)):t=0,o=Pu(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Po(o),e}function Uu(e){if(!e)return Ta;e:{if(Ue(e=e._reactInternals)!==e||1!==e.tag)throw Error(o(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Pa(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(o(171))}if(1===e.tag){var n=e.type;if(Pa(n))return Ia(e,n,t)}return t}function Hu(e,t,n,r,a,o,i,l,s){return(e=$u(n,r,!0,e,0,o,0,l,s)).context=Uu(null),n=e.current,(o=jo(r=tu(),a=nu(n))).callback=null!=t?t:null,Io(n,o,a),e.current.lanes=a,yt(e,a,r),au(e,r),e}function Zu(e,t,n,r){var a=t.current,o=tu(),i=nu(a);return n=Uu(n),null===t.context?t.context=n:t.pendingContext=n,(t=jo(o,i)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Io(a,t,i))&&(ru(e,a,i,o),Do(e,a,i)),i}function Vu(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Wu(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function qu(e,t){Wu(e,t),(e=e.alternate)&&Wu(e,t)}Es=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Aa.current)wl=!0;else{if(0==(e.lanes&n)&&0==(128&t.flags))return wl=!1,function(e,t,n){switch(t.tag){case 3:Ll(t),go();break;case 5:ii(t);break;case 1:Pa(t.type)&&Da(t);break;case 4:ai(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;Ca(bo,r._currentValue),r._currentValue=a;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Ca(si,1&si.current),t.flags|=128,null):0!=(n&t.child.childLanes)?Ml(e,t,n):(Ca(si,1&si.current),null!==(e=Vl(e,t,n))?e.sibling:null);Ca(si,1&si.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(128&e.flags)){if(r)return Hl(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),Ca(si,si.current),r)break;return null;case 22:case 23:return t.lanes=0,_l(e,t,n)}return Vl(e,t,n)}(e,t,n);wl=0!=(131072&e.flags)}else wl=!1,ao&&0!=(1048576&t.flags)&&Ja(t,Wa,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Zl(e,t),e=t.pendingProps;var a=Oa(t,Na.current);_o(t,n),a=Ei(null,t,r,e,a,n);var i=_i();return t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Pa(r)?(i=!0,Da(t)):i=!1,t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,Po(t),a.updater=Uo,t.stateNode=a,a._reactInternals=t,Wo(t,r,e,n),t=Al(null,t,r,!0,i,n)):(t.tag=0,ao&&i&&eo(t),kl(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Zl(e,t),e=t.pendingProps,r=(a=r._init)(r._payload),t.type=r,a=t.tag=function(e){if("function"==typeof e)return Ru(e)?1:0;if(null!=e){if((e=e.$$typeof)===N)return 11;if(e===O)return 14}return 2}(r),e=yo(r,e),a){case 0:t=Tl(null,t,r,e,n);break e;case 1:t=Nl(null,t,r,e,n);break e;case 11:t=xl(null,t,r,e,n);break e;case 14:t=Sl(null,t,r,yo(r.type,e),n);break e}throw Error(o(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,Tl(e,t,r,a=t.elementType===r?a:yo(r,a),n);case 1:return r=t.type,a=t.pendingProps,Nl(e,t,r,a=t.elementType===r?a:yo(r,a),n);case 3:e:{if(Ll(t),null===e)throw Error(o(387));r=t.pendingProps,a=(i=t.memoizedState).element,Ro(e,t),Mo(t,r,null,n);var l=t.memoizedState;if(r=l.element,i.isDehydrated){if(i={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=Ol(e,t,r,n,a=cl(Error(o(423)),t));break e}if(r!==a){t=Ol(e,t,r,n,a=cl(Error(o(424)),t));break e}for(ro=ua(t.stateNode.containerInfo.firstChild),no=t,ao=!0,oo=null,n=Xo(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(go(),r===a){t=Vl(e,t,n);break e}kl(e,t,r,n)}t=t.child}return t;case 5:return ii(t),null===e&&uo(t),r=t.type,a=t.pendingProps,i=null!==e?e.memoizedProps:null,l=a.children,na(r,a)?l=null:null!==i&&na(r,i)&&(t.flags|=32),Cl(e,t),kl(e,t,l,n),t.child;case 6:return null===e&&uo(t),null;case 13:return Ml(e,t,n);case 4:return ai(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Qo(t,null,r,n):kl(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,xl(e,t,r,a=t.elementType===r?a:yo(r,a),n);case 7:return kl(e,t,t.pendingProps,n),t.child;case 8:case 12:return kl(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,i=t.memoizedProps,l=a.value,Ca(bo,r._currentValue),r._currentValue=l,null!==i)if(lr(i.value,l)){if(i.children===a.children&&!Aa.current){t=Vl(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var s=i.dependencies;if(null!==s){l=i.child;for(var u=s.firstContext;null!==u;){if(u.context===r){if(1===i.tag){(u=jo(-1,n&-n)).tag=2;var c=i.updateQueue;if(null!==c){var d=(c=c.shared).pending;null===d?u.next=u:(u.next=d.next,d.next=u),c.pending=u}}i.lanes|=n,null!==(u=i.alternate)&&(u.lanes|=n),Eo(i.return,n,t),s.lanes|=n;break}u=u.next}}else if(10===i.tag)l=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(l=i.return))throw Error(o(341));l.lanes|=n,null!==(s=l.alternate)&&(s.lanes|=n),Eo(l,n,t),l=i.sibling}else l=i.child;if(null!==l)l.return=i;else for(l=i;null!==l;){if(l===t){l=null;break}if(null!==(i=l.sibling)){i.return=l.return,l=i;break}l=l.return}i=l}kl(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,_o(t,n),r=r(a=Co(a)),t.flags|=1,kl(e,t,r,n),t.child;case 14:return a=yo(r=t.type,t.pendingProps),Sl(e,t,r,a=yo(r.type,a),n);case 15:return El(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:yo(r,a),Zl(e,t),t.tag=1,Pa(r)?(e=!0,Da(t)):e=!1,_o(t,n),Zo(t,r,a),Wo(t,r,a,n),Al(null,t,r,!0,e,n);case 19:return Hl(e,t,n);case 22:return _l(e,t,n)}throw Error(o(156,t.tag))};var Gu="function"==typeof reportError?reportError:function(e){console.error(e)};function Yu(e){this._internalRoot=e}function Ku(e){this._internalRoot=e}function Qu(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Xu(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Ju(){}function ec(e,t,n,r,a){var o=n._reactRootContainer;if(o){var i=o;if("function"==typeof a){var l=a;a=function(){var e=Vu(i);l.call(e)}}Zu(t,i,e,a)}else i=function(e,t,n,r,a){if(a){if("function"==typeof r){var o=r;r=function(){var e=Vu(i);o.call(e)}}var i=Hu(t,r,e,0,null,!1,0,"",Ju);return e._reactRootContainer=i,e[ga]=i.current,Ur(8===e.nodeType?e.parentNode:e),du(),i}for(;a=e.lastChild;)e.removeChild(a);if("function"==typeof r){var l=r;r=function(){var e=Vu(s);l.call(e)}}var s=$u(e,0,!1,null,0,!1,0,"",Ju);return e._reactRootContainer=s,e[ga]=s.current,Ur(8===e.nodeType?e.parentNode:e),du((function(){Zu(t,s,n,r)})),s}(n,t,e,a,r);return Vu(i)}Ku.prototype.render=Yu.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(o(409));Zu(e,t,null,null)},Ku.prototype.unmount=Yu.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;du((function(){Zu(null,e,null,null)})),t[ga]=null}},Ku.prototype.unstable_scheduleHydration=function(e){if(e){var t=Et();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Rt.length&&0!==t&&t<Rt[n].priority;n++);Rt.splice(n,0,e),0===n&&Ft(e)}},kt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(bt(t,1|n),au(t,Qe()),0==(6&As)&&(Hs=Qe()+500,Ua()))}break;case 13:du((function(){var t=Lo(e,1);if(null!==t){var n=tu();ru(t,e,1,n)}})),qu(e,1)}},xt=function(e){if(13===e.tag){var t=Lo(e,134217728);if(null!==t)ru(t,e,134217728,tu());qu(e,134217728)}},St=function(e){if(13===e.tag){var t=nu(e),n=Lo(e,t);if(null!==n)ru(n,e,t,tu());qu(e,t)}},Et=function(){return vt},_t=function(e,t){var n=vt;try{return vt=e,t()}finally{vt=n}},xe=function(e,t,n){switch(t){case"input":if(X(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=ka(r);if(!a)throw Error(o(90));q(r),X(r,a)}}}break;case"textarea":oe(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Ne=cu,Ae=du;var tc={usingClientEntryPoint:!1,Events:[va,wa,ka,Ce,Te,cu]},nc={findFiberByHostInstance:ba,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},rc={bundleType:nc.bundleType,version:nc.version,rendererPackageName:nc.rendererPackageName,rendererConfig:nc.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ve(e))?null:e.stateNode},findFiberByHostInstance:nc.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ac=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ac.isDisabled&&ac.supportsFiber)try{at=ac.inject(rc),ot=ac}catch(ce){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tc,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Qu(t))throw Error(o(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:x,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Qu(e))throw Error(o(299));var n=!1,r="",a=Gu;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(a=t.onRecoverableError)),t=$u(e,1,!1,null,0,n,0,r,a),e[ga]=t.current,Ur(8===e.nodeType?e.parentNode:e),new Yu(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(o(188));throw e=Object.keys(e).join(","),Error(o(268,e))}return e=null===(e=Ve(t))?null:e.stateNode},t.flushSync=function(e){return du(e)},t.hydrate=function(e,t,n){if(!Xu(t))throw Error(o(200));return ec(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Qu(e))throw Error(o(405));var r=null!=n&&n.hydratedSources||null,a=!1,i="",l=Gu;if(null!=n&&(!0===n.unstable_strictMode&&(a=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(l=n.onRecoverableError)),t=Hu(t,null,e,1,null!=n?n:null,a,0,i,l),e[ga]=t.current,Ur(e),r)for(e=0;e<r.length;e++)a=(a=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new Ku(t)},t.render=function(e,t,n){if(!Xu(t))throw Error(o(200));return ec(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Xu(e))throw Error(o(40));return!!e._reactRootContainer&&(du((function(){ec(null,null,e,!1,(function(){e._reactRootContainer=null,e[ga]=null}))})),!0)},t.unstable_batchedUpdates=cu,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Xu(n))throw Error(o(200));if(null==e||void 0===e._reactInternals)throw Error(o(38));return ec(e,t,n,!1,r)},t.version="18.2.0-next-9e3b772b8-20220608"},4478:(e,t,n)=>{"use strict";var r=n(422);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},422:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(3746)},5154:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var l,s,u,c;if(Array.isArray(e)){if((l=e.length)!=i.length)return!1;for(s=l;0!=s--;)if(!o(e[s],i[s]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(c=e.entries();!(s=c.next()).done;)if(!i.has(s.value[0]))return!1;for(c=e.entries();!(s=c.next()).done;)if(!o(s.value[1],i.get(s.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(c=e.entries();!(s=c.next()).done;)if(!i.has(s.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((l=e.length)!=i.length)return!1;for(s=l;0!=s--;)if(e[s]!==i[s])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((l=(u=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(s=l;0!=s--;)if(!Object.prototype.hasOwnProperty.call(i,u[s]))return!1;if(t&&e instanceof Element)return!1;for(s=l;0!=s--;)if(("_owner"!==u[s]&&"__v"!==u[s]&&"__o"!==u[s]||!e.$$typeof)&&!o(e[u[s]],i[u[s]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return o(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},387:(e,t,n)=>{"use strict";n.d(t,{B6:()=>V,ql:()=>J});var r=n(959),a=n(507),o=n.n(a),i=n(5154),l=n.n(i),s=n(3670),u=n.n(s),c=n(631),d=n.n(c);function f(){return f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f.apply(this,arguments)}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,g(e,t)}function g(e,t){return g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},g(e,t)}function m(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t.indexOf(n=o[r])>=0||(a[n]=e[n]);return a}var h={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},y={rel:["amphtml","canonical","alternate"]},b={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(h).map((function(e){return h[e]})),k={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},x=Object.keys(k).reduce((function(e,t){return e[k[t]]=t,e}),{}),S=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},E=function(e){var t=S(e,h.TITLE),n=S(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=S(e,"defaultTitle");return t||r||void 0},_=function(e){return S(e,"onChangeClientState")||function(){}},C=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return f({},e,t)}),{})},T=function(e,t){return t.filter((function(e){return void 0!==e[h.BASE]})).map((function(e){return e[h.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),a=0;a<r.length;a+=1){var o=r[a].toLowerCase();if(-1!==e.indexOf(o)&&n[o])return t.concat(n)}return t}),[])},N=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var a={};n.filter((function(e){for(var n,o=Object.keys(e),i=0;i<o.length;i+=1){var l=o[i],s=l.toLowerCase();-1===t.indexOf(s)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===s&&"stylesheet"===e[s].toLowerCase()||(n=s),-1===t.indexOf(l)||"innerHTML"!==l&&"cssText"!==l&&"itemprop"!==l||(n=l)}if(!n||!e[n])return!1;var u=e[n].toLowerCase();return r[n]||(r[n]={}),a[n]||(a[n]={}),!r[n][u]&&(a[n][u]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var o=Object.keys(a),i=0;i<o.length;i+=1){var l=o[i],s=f({},r[l],a[l]);r[l]=s}return e}),[]).reverse()},A=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},L=function(e){return Array.isArray(e)?e.join(""):e},O=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},P=function(e,t){var n;return f({},e,((n={})[t]=void 0,n))},R=[h.NOSCRIPT,h.SCRIPT,h.STYLE],j=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},I=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},D=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[k[n]||n]=e[n],t}),t)},F=function(e,t){return t.map((function(t,n){var a,o=((a={key:n})["data-rh"]=!0,a);return Object.keys(t).forEach((function(e){var n=k[e]||e;"innerHTML"===n||"cssText"===n?o.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:o[n]=t[e]})),r.createElement(e,o)}))},M=function(e,t,n){switch(e){case h.TITLE:return{toComponent:function(){return n=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,o=D(n,a),[r.createElement(h.TITLE,o,e)];var e,n,a,o},toString:function(){return function(e,t,n,r){var a=I(n),o=L(t);return a?"<"+e+' data-rh="true" '+a+">"+j(o,r)+"</"+e+">":"<"+e+' data-rh="true">'+j(o,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return D(t)},toString:function(){return I(t)}};default:return{toComponent:function(){return F(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var a=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var a=void 0===r[t]?t:t+'="'+j(r[t],n)+'"';return e?e+" "+a:a}),""),o=r.innerHTML||r.cssText||"",i=-1===R.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(i?"/>":">"+o+"</"+e+">")}),"")}(e,t,n)}}}},z=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,a=e.htmlAttributes,o=e.noscriptTags,i=e.styleTags,l=e.title,s=void 0===l?"":l,u=e.titleAttributes,c=e.linkTags,d=e.metaTags,f=e.scriptTags,p={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var g=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,a=O(e.metaTags,v),o=O(t,y),i=O(n,b);return{priorityMethods:{toComponent:function(){return[].concat(F(h.META,a.priority),F(h.LINK,o.priority),F(h.SCRIPT,i.priority))},toString:function(){return M(h.META,a.priority,r)+" "+M(h.LINK,o.priority,r)+" "+M(h.SCRIPT,i.priority,r)}},metaTags:a.default,linkTags:o.default,scriptTags:i.default}}(e);p=g.priorityMethods,c=g.linkTags,d=g.metaTags,f=g.scriptTags}return{priority:p,base:M(h.BASE,t,r),bodyAttributes:M("bodyAttributes",n,r),htmlAttributes:M("htmlAttributes",a,r),link:M(h.LINK,c,r),meta:M(h.META,d,r),noscript:M(h.NOSCRIPT,o,r),script:M(h.SCRIPT,f,r),style:M(h.STYLE,i,r),title:M(h.TITLE,{title:s,titleAttributes:u},r)}},B=[],$=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?B:n.instances},add:function(e){(n.canUseDOM?B:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?B:n.instances).indexOf(e);(n.canUseDOM?B:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=z({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},U=r.createContext({}),H=o().shape({setHelmet:o().func,helmetInstances:o().shape({get:o().func,add:o().func,remove:o().func})}),Z="undefined"!=typeof document,V=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new $(r.props.context,t.canUseDOM),r}return p(t,e),t.prototype.render=function(){return r.createElement(U.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);V.canUseDOM=Z,V.propTypes={context:o().shape({helmet:o().shape()}),children:o().node.isRequired},V.defaultProps={context:{}},V.displayName="HelmetProvider";var W=function(e,t){var n,r=document.head||document.querySelector(h.HEAD),a=r.querySelectorAll(e+"[data-rh]"),o=[].slice.call(a),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?r.innerHTML=t.innerHTML:"cssText"===a?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(a,void 0===t[a]?"":t[a]));r.setAttribute("data-rh","true"),o.some((function(e,t){return n=t,r.isEqualNode(e)}))?o.splice(n,1):i.push(r)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:o,newTags:i}},q=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),a=r?r.split(","):[],o=[].concat(a),i=Object.keys(t),l=0;l<i.length;l+=1){var s=i[l],u=t[s]||"";n.getAttribute(s)!==u&&n.setAttribute(s,u),-1===a.indexOf(s)&&a.push(s);var c=o.indexOf(s);-1!==c&&o.splice(c,1)}for(var d=o.length-1;d>=0;d-=1)n.removeAttribute(o[d]);a.length===o.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},G=function(e,t){var n=e.baseTag,r=e.htmlAttributes,a=e.linkTags,o=e.metaTags,i=e.noscriptTags,l=e.onChangeClientState,s=e.scriptTags,u=e.styleTags,c=e.title,d=e.titleAttributes;q(h.BODY,e.bodyAttributes),q(h.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=L(e)),q(h.TITLE,t)}(c,d);var f={baseTag:W(h.BASE,n),linkTags:W(h.LINK,a),metaTags:W(h.META,o),noscriptTags:W(h.NOSCRIPT,i),scriptTags:W(h.SCRIPT,s),styleTags:W(h.STYLE,u)},p={},g={};Object.keys(f).forEach((function(e){var t=f[e],n=t.newTags,r=t.oldTags;n.length&&(p[e]=n),r.length&&(g[e]=f[e].oldTags)})),t&&t(),l(e,p,g)},Y=null,K=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,a=null,o=(e=n.helmetInstances.get().map((function(e){var t=f({},e.props);return delete t.context,t})),{baseTag:T(["href"],e),bodyAttributes:C("bodyAttributes",e),defer:S(e,"defer"),encode:S(e,"encodeSpecialCharacters"),htmlAttributes:C("htmlAttributes",e),linkTags:N(h.LINK,["rel","href"],e),metaTags:N(h.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:N(h.NOSCRIPT,["innerHTML"],e),onChangeClientState:_(e),scriptTags:N(h.SCRIPT,["src","innerHTML"],e),styleTags:N(h.STYLE,["cssText"],e),title:E(e),titleAttributes:C("titleAttributes",e),prioritizeSeoTags:A(e,"prioritizeSeoTags")});V.canUseDOM?(t=o,Y&&cancelAnimationFrame(Y),t.defer?Y=requestAnimationFrame((function(){G(t,(function(){Y=null}))})):(G(t),Y=null)):z&&(a=z(o)),r(a)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);K.propTypes={context:H.isRequired},K.displayName="HelmetDispatcher";var Q=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!l()(P(this.props,"helmetData"),P(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case h.SCRIPT:case h.NOSCRIPT:return{innerHTML:t};case h.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return f({},r,((t={})[n.type]=[].concat(r[n.type]||[],[f({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,a=e.newProps,o=e.newChildProps,i=e.nestedChildren;switch(r.type){case h.TITLE:return f({},a,((t={})[r.type]=i,t.titleAttributes=f({},o),t));case h.BODY:return f({},a,{bodyAttributes:f({},o)});case h.HTML:return f({},a,{htmlAttributes:f({},o)});default:return f({},a,((n={})[r.type]=f({},o),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=f({},t);return Object.keys(e).forEach((function(t){var r;n=f({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return u()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),u()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,a={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,o=r.children,i=m(r,Q),l=Object.keys(i).reduce((function(e,t){return e[x[t]||t]=i[t],e}),{}),s=e.type;switch("symbol"==typeof s?s=s.toString():n.warnOnInvalidChildren(e,o),s){case h.FRAGMENT:t=n.mapChildrenToProps(o,t);break;case h.LINK:case h.META:case h.NOSCRIPT:case h.SCRIPT:case h.STYLE:a=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:l,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:l,nestedChildren:o})}}})),this.mapArrayTypeChildrenToProps(a,t)},n.render=function(){var e=this.props,t=e.children,n=m(e,X),a=f({},n),o=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!o||o instanceof $||(o=new $(o.context,o.instances)),o?r.createElement(K,f({},a,{context:o.value,helmetData:void 0})):r.createElement(U.Consumer,null,(function(e){return r.createElement(K,f({},a,{context:e}))}))},t}(r.Component);J.propTypes={base:o().object,bodyAttributes:o().object,children:o().oneOfType([o().arrayOf(o().node),o().node]),defaultTitle:o().string,defer:o().bool,encodeSpecialCharacters:o().bool,htmlAttributes:o().object,link:o().arrayOf(o().object),meta:o().arrayOf(o().object),noscript:o().arrayOf(o().object),onChangeClientState:o().func,script:o().arrayOf(o().object),style:o().arrayOf(o().object),title:o().string,titleAttributes:o().object,titleTemplate:o().string,prioritizeSeoTags:o().bool,helmetData:o().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},198:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,l=n?Symbol.for("react.profiler"):60114,s=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,c=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,g=n?Symbol.for("react.suspense_list"):60120,m=n?Symbol.for("react.memo"):60115,h=n?Symbol.for("react.lazy"):60116,y=n?Symbol.for("react.block"):60121,b=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case c:case d:case o:case l:case i:case p:return e;default:switch(e=e&&e.$$typeof){case u:case f:case h:case m:case s:return e;default:return t}}case a:return t}}}function x(e){return k(e)===d}t.AsyncMode=c,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=s,t.Element=r,t.ForwardRef=f,t.Fragment=o,t.Lazy=h,t.Memo=m,t.Portal=a,t.Profiler=l,t.StrictMode=i,t.Suspense=p,t.isAsyncMode=function(e){return x(e)||k(e)===c},t.isConcurrentMode=x,t.isContextConsumer=function(e){return k(e)===u},t.isContextProvider=function(e){return k(e)===s},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return k(e)===f},t.isFragment=function(e){return k(e)===o},t.isLazy=function(e){return k(e)===h},t.isMemo=function(e){return k(e)===m},t.isPortal=function(e){return k(e)===a},t.isProfiler=function(e){return k(e)===l},t.isStrictMode=function(e){return k(e)===i},t.isSuspense=function(e){return k(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===d||e===l||e===i||e===p||e===g||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===m||e.$$typeof===s||e.$$typeof===u||e.$$typeof===f||e.$$typeof===b||e.$$typeof===v||e.$$typeof===w||e.$$typeof===y)},t.typeOf=k},6237:(e,t,n)=>{"use strict";e.exports=n(198)},3797:(e,t,n)=>{"use strict";n.d(t,{H:()=>l,f:()=>i});var r=n(8903),a=n(7605),o=n(959);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var a=e.path?(0,r.LX)(t,e):n.length?n[n.length-1].match:r.F0.computeRootMatch(t);return a&&(n.push({route:e,match:a}),e.routes&&i(e.routes,t,n)),a})),n}function l(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?o.createElement(r.rs,n,e.map((function(e,n){return o.createElement(r.AW,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,a.Z)({},n,{},t,{route:e})):o.createElement(e.component,(0,a.Z)({},n,t,{route:e}))}})}))):null}},9500:(e,t,n)=>{"use strict";n.d(t,{OL:()=>v,VK:()=>c,rU:()=>h});var r=n(8903),a=n(2840),o=n(959),i=n(4047),l=n(7605),s=n(3727),u=n(8624),c=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.lX)(t.props),t}return(0,a.Z)(t,e),t.prototype.render=function(){return o.createElement(r.F0,{history:this.history,children:this.props.children})},t}(o.Component);o.Component;var d=function(e,t){return"function"==typeof e?e(t):e},f=function(e,t){return"string"==typeof e?(0,i.ob)(e,null,null,t):e},p=function(e){return e},g=o.forwardRef;void 0===g&&(g=p);var m=g((function(e,t){var n=e.innerRef,r=e.navigate,a=e.onClick,i=(0,s.Z)(e,["innerRef","navigate","onClick"]),u=i.target,c=(0,l.Z)({},i,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||u&&"_self"!==u||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return c.ref=p!==g&&t||n,o.createElement("a",c)}));var h=g((function(e,t){var n=e.component,a=void 0===n?m:n,c=e.replace,h=e.to,y=e.innerRef,b=(0,s.Z)(e,["component","replace","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,u.Z)(!1);var n=e.history,r=f(d(h,e.location),e.location),s=r?n.createHref(r):"",m=(0,l.Z)({},b,{href:s,navigate:function(){var t=d(h,e.location),r=(0,i.Ep)(e.location)===(0,i.Ep)(f(t));(c||r?n.replace:n.push)(t)}});return p!==g?m.ref=t||y:m.innerRef=y,o.createElement(a,m)}))})),y=function(e){return e},b=o.forwardRef;void 0===b&&(b=y);var v=b((function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,i=e.activeClassName,c=void 0===i?"active":i,p=e.activeStyle,g=e.className,m=e.exact,v=e.isActive,w=e.location,k=e.sensitive,x=e.strict,S=e.style,E=e.to,_=e.innerRef,C=(0,s.Z)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,u.Z)(!1);var n=w||e.location,i=f(d(E,n),n),s=i.pathname,T=s&&s.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),N=T?(0,r.LX)(n.pathname,{path:T,exact:m,sensitive:k,strict:x}):null,A=!!(v?v(N,n):N),L="function"==typeof g?g(A):g,O="function"==typeof S?S(A):S;A&&(L=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(L,c),O=(0,l.Z)({},O,p));var P=(0,l.Z)({"aria-current":A&&a||null,className:L,style:O,to:i},C);return y!==b?P.ref=t||_:P.innerRef=_,o.createElement(h,P)}))}))},8903:(e,t,n)=>{"use strict";n.d(t,{AW:()=>E,F0:()=>v,LX:()=>S,TH:()=>R,k6:()=>P,rs:()=>L,s6:()=>b});var r=n(2840),a=n(959),o=n(507),i=n.n(o),l=n(4047),s=n(8624),u=n(7605),c=n(7720),d=n.n(c),f=(n(6237),n(3727)),p=(n(2535),1073741823),g="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var m=a.createContext||function(e,t){var n,o,l="__create-react-context-"+function(){var e="__global_unique_id__";return g[e]=(g[e]||0)+1}()+"__",s=function(e){function n(){for(var t,n,r,a=arguments.length,o=new Array(a),i=0;i<a;i++)o[i]=arguments[i];return(t=e.call.apply(e,[this].concat(o))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}(0,r.Z)(n,e);var a=n.prototype;return a.getChildContext=function(){var e;return(e={})[l]=this.emitter,e},a.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,a=e.value;((o=r)===(i=a)?0!==o||1/o==1/i:o!=o&&i!=i)?n=0:(n="function"==typeof t?t(r,a):p,0!==(n|=0)&&this.emitter.set(e.value,n))}var o,i},a.render=function(){return this.props.children},n}(a.Component);s.childContextTypes=((n={})[l]=i().object.isRequired,n);var u=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}(0,r.Z)(n,t);var a=n.prototype;return a.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?p:t},a.componentDidMount=function(){this.context[l]&&this.context[l].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?p:e},a.componentWillUnmount=function(){this.context[l]&&this.context[l].off(this.onUpdate)},a.getValue=function(){return this.context[l]?this.context[l].get():e},a.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(a.Component);return u.contextTypes=((o={})[l]=i().object,o),{Provider:s,Consumer:u}},h=function(e){var t=m();return t.displayName=e,t},y=h("Router-History"),b=h("Router"),v=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.Z)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return a.createElement(b.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},a.createElement(y.Provider,{children:this.props.children||null,value:this.props.history}))},t}(a.Component);a.Component;a.Component;var w={},k=1e4,x=0;function S(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,o=void 0!==a&&a,i=n.strict,l=void 0!==i&&i,s=n.sensitive,u=void 0!==s&&s;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=w[n]||(w[n]={});if(r[e])return r[e];var a=[],o={regexp:d()(e,a,t),keys:a};return x<k&&(r[e]=o,x++),o}(n,{end:o,strict:l,sensitive:u}),a=r.regexp,i=r.keys,s=a.exec(e);if(!s)return null;var c=s[0],f=s.slice(1),p=e===c;return o&&!p?null:{path:n,url:"/"===n&&""===c?"/":c,isExact:p,params:i.reduce((function(e,t,n){return e[t.name]=f[n],e}),{})}}),null)}var E=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(b.Consumer,null,(function(t){t||(0,s.Z)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?S(n.pathname,e.props):t.match,o=(0,u.Z)({},t,{location:n,match:r}),i=e.props,l=i.children,c=i.component,d=i.render;return Array.isArray(l)&&function(e){return 0===a.Children.count(e)}(l)&&(l=null),a.createElement(b.Provider,{value:o},o.match?l?"function"==typeof l?l(o):l:c?a.createElement(c,o):d?d(o):null:"function"==typeof l?l(o):null)}))},t}(a.Component);function _(e){return"/"===e.charAt(0)?e:"/"+e}function C(e,t){if(!e)return t;var n=_(e);return 0!==t.pathname.indexOf(n)?t:(0,u.Z)({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:(0,l.Ep)(e)}function N(e){return function(){(0,s.Z)(!1)}}function A(){}a.Component;var L=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(b.Consumer,null,(function(t){t||(0,s.Z)(!1);var n,r,o=e.props.location||t.location;return a.Children.forEach(e.props.children,(function(e){if(null==r&&a.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?S(o.pathname,(0,u.Z)({},e.props,{path:i})):t.match}})),r?a.cloneElement(n,{location:o,computedMatch:r}):null}))},t}(a.Component);var O=a.useContext;function P(){return O(y)}function R(){return O(b).location}},3354:(e,t,n)=>{"use strict";var r=n(959),a=Symbol.for("react.element"),o=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,l=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function u(e,t,n){var r,o={},u=null,c=null;for(r in void 0!==n&&(u=""+n),void 0!==t.key&&(u=""+t.key),void 0!==t.ref&&(c=t.ref),t)i.call(t,r)&&!s.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:a,type:e,key:u,ref:c,props:o,_owner:l.current}}t.Fragment=o,t.jsx=u,t.jsxs=u},5257:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),s=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.iterator;var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,h={};function y(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||g}function b(){}function v(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||g}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=y.prototype;var w=v.prototype=new b;w.constructor=v,m(w,y.prototype),w.isPureReactComponent=!0;var k=Array.isArray,x=Object.prototype.hasOwnProperty,S={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function _(e,t,r){var a,o={},i=null,l=null;if(null!=t)for(a in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(i=""+t.key),t)x.call(t,a)&&!E.hasOwnProperty(a)&&(o[a]=t[a]);var s=arguments.length-2;if(1===s)o.children=r;else if(1<s){for(var u=Array(s),c=0;c<s;c++)u[c]=arguments[c+2];o.children=u}if(e&&e.defaultProps)for(a in s=e.defaultProps)void 0===o[a]&&(o[a]=s[a]);return{$$typeof:n,type:e,key:i,ref:l,props:o,_owner:S.current}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var T=/\/+/g;function N(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function A(e,t,a,o,i){var l=typeof e;"undefined"!==l&&"boolean"!==l||(e=null);var s=!1;if(null===e)s=!0;else switch(l){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case n:case r:s=!0}}if(s)return i=i(s=e),e=""===o?"."+N(s,0):o,k(i)?(a="",null!=e&&(a=e.replace(T,"$&/")+"/"),A(i,t,a,"",(function(e){return e}))):null!=i&&(C(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,a+(!i.key||s&&s.key===i.key?"":(""+i.key).replace(T,"$&/")+"/")+e)),t.push(i)),1;if(s=0,o=""===o?".":o+":",k(e))for(var u=0;u<e.length;u++){var c=o+N(l=e[u],u);s+=A(l,t,a,c,i)}else if(c=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=p&&e[p]||e["@@iterator"])?e:null}(e),"function"==typeof c)for(e=c.call(e),u=0;!(l=e.next()).done;)s+=A(l=l.value,t,a,c=o+N(l,u++),i);else if("object"===l)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return s}function L(e,t,n){if(null==e)return e;var r=[],a=0;return A(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function O(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var P={current:null},R={transition:null},j={ReactCurrentDispatcher:P,ReactCurrentBatchConfig:R,ReactCurrentOwner:S};t.Children={map:L,forEach:function(e,t,n){L(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return L(e,(function(){t++})),t},toArray:function(e){return L(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=y,t.Fragment=a,t.Profiler=i,t.PureComponent=v,t.StrictMode=o,t.Suspense=c,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=j,t.cloneElement=function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var a=m({},e.props),o=e.key,i=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,l=S.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(u in t)x.call(t,u)&&!E.hasOwnProperty(u)&&(a[u]=void 0===t[u]&&void 0!==s?s[u]:t[u])}var u=arguments.length-2;if(1===u)a.children=r;else if(1<u){s=Array(u);for(var c=0;c<u;c++)s[c]=arguments[c+2];a.children=s}return{$$typeof:n,type:e.type,key:o,ref:i,props:a,_owner:l}},t.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:l,_context:e},e.Consumer=e},t.createElement=_,t.createFactory=function(e){var t=_.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:u,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:f,_payload:{_status:-1,_result:e},_init:O}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=R.transition;R.transition={};try{e()}finally{R.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return P.current.useCallback(e,t)},t.useContext=function(e){return P.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return P.current.useDeferredValue(e)},t.useEffect=function(e,t){return P.current.useEffect(e,t)},t.useId=function(){return P.current.useId()},t.useImperativeHandle=function(e,t,n){return P.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return P.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return P.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return P.current.useMemo(e,t)},t.useReducer=function(e,t,n){return P.current.useReducer(e,t,n)},t.useRef=function(e){return P.current.useRef(e)},t.useState=function(e){return P.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return P.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return P.current.useTransition()},t.version="18.2.0"},959:(e,t,n)=>{"use strict";e.exports=n(5257)},1527:(e,t,n)=>{"use strict";e.exports=n(3354)},5568:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,a=e[r];if(!(0<o(a,t)))break e;e[r]=t,e[n]=a,n=r}}function r(e){return 0===e.length?null:e[0]}function a(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length,i=a>>>1;r<i;){var l=2*(r+1)-1,s=e[l],u=l+1,c=e[u];if(0>o(s,n))u<a&&0>o(c,s)?(e[r]=c,e[u]=n,r=u):(e[r]=s,e[l]=n,r=l);else{if(!(u<a&&0>o(c,n)))break e;e[r]=c,e[u]=n,r=u}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var l=Date,s=l.now();t.unstable_now=function(){return l.now()-s}}var u=[],c=[],d=1,f=null,p=3,g=!1,m=!1,h=!1,y="function"==typeof setTimeout?setTimeout:null,b="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=r(c);null!==t;){if(null===t.callback)a(c);else{if(!(t.startTime<=e))break;a(c),t.sortIndex=t.expirationTime,n(u,t)}t=r(c)}}function k(e){if(h=!1,w(e),!m)if(null!==r(u))m=!0,R(x);else{var t=r(c);null!==t&&j(k,t.startTime-e)}}function x(e,n){m=!1,h&&(h=!1,b(C),C=-1),g=!0;var o=p;try{for(w(n),f=r(u);null!==f&&(!(f.expirationTime>n)||e&&!A());){var i=f.callback;if("function"==typeof i){f.callback=null,p=f.priorityLevel;var l=i(f.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?f.callback=l:f===r(u)&&a(u),w(n)}else a(u);f=r(u)}if(null!==f)var s=!0;else{var d=r(c);null!==d&&j(k,d.startTime-n),s=!1}return s}finally{f=null,p=o,g=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,E=!1,_=null,C=-1,T=5,N=-1;function A(){return!(t.unstable_now()-N<T)}function L(){if(null!==_){var e=t.unstable_now();N=e;var n=!0;try{n=_(!0,e)}finally{n?S():(E=!1,_=null)}}else E=!1}if("function"==typeof v)S=function(){v(L)};else if("undefined"!=typeof MessageChannel){var O=new MessageChannel,P=O.port2;O.port1.onmessage=L,S=function(){P.postMessage(null)}}else S=function(){y(L,0)};function R(e){_=e,E||(E=!0,S())}function j(e,n){C=y((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){m||g||(m=!0,R(x))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):T=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return p},t.unstable_getFirstCallbackNode=function(){return r(u)},t.unstable_next=function(e){switch(p){case 1:case 2:case 3:var t=3;break;default:t=p}var n=p;p=t;try{return e()}finally{p=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=p;p=e;try{return t()}finally{p=n}},t.unstable_scheduleCallback=function(e,a,o){var i=t.unstable_now();switch("object"==typeof o&&null!==o?o="number"==typeof(o=o.delay)&&0<o?i+o:i:o=i,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:d++,callback:a,priorityLevel:e,startTime:o,expirationTime:l=o+l,sortIndex:-1},o>i?(e.sortIndex=o,n(c,e),null===r(u)&&e===r(c)&&(h?(b(C),C=-1):h=!0,j(k,o-i))):(e.sortIndex=l,n(u,e),m||g||(m=!0,R(x))),e},t.unstable_shouldYield=A,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},2962:(e,t,n)=>{"use strict";e.exports=n(5568)},631:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(t),s=0;s<o.length;s++){var u=o[s];if(!l(u))return!1;var c=e[u],d=t[u];if(!1===(a=n?n.call(r,c,d,u):void 0)||void 0===a&&c!==d)return!1}return!0}},6809:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"Yazi",tagline:"\u26a1\ufe0f Blazing fast terminal file manager written in Rust, based on async I/O.",favicon:"img/logo.png",url:"https://yazi-rs.github.io",baseUrl:"/",organizationName:"yazi-rs",projectName:"yazi-rs.github.io",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},presets:[["classic",{docs:{path:"docs",routeBasePath:"docs",sidebarPath:"./sidebars.ts",editUrl:"https://github.com/yazi-rs/yazi-rs.github.io/edit/main/"},blog:{showReadingTime:!0,editUrl:"https://github.com/yazi-rs/yazi-rs.github.io/edit/main/"},theme:{customCss:"./src/css/custom.css"}}]],themeConfig:{image:"img/docusaurus-social-card.jpg",navbar:{title:"Yazi",logo:{alt:"Yazi file manager",src:"img/logo.png"},items:[{type:"docSidebar",sidebarId:"docsSidebar",position:"left",label:"Docs"},{to:"/features",label:"Features",position:"left"},{to:"/blog",label:"Blog",position:"left"},{href:"https://github.com/sxyazi/yazi",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"dark",links:[{title:"Resources",items:[{label:"Docs",to:"/docs/installation"},{label:"Features",to:"/features"},{label:"Blog",to:"/blog"}]},{title:"Community",items:[{label:"Discord (English mainly)",href:"https://discord.gg/qfADduSdJu"},{label:"Telegram (Chinese mainly)",href:"https://t.me/yazi_rs"}]},{title:"More",items:[{label:"GitHub",href:"https://github.com/sxyazi/yazi"}]}],copyright:"Copyright \xa9 2024 Yazi. Built with \u2764\ufe0f\ufe0f."},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:["lua","toml","diff","bash","powershell"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0}},baseUrlIssueBanner:!0,onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},plugins:[],themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1}},7605:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{Z:()=>r})},2840:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{Z:()=>a})},3727:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}n.d(t,{Z:()=>r})},5341:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=r(e[t]))&&(a&&(a+=" "),a+=n);else for(t in e)e[t]&&(a&&(a+=" "),a+=t);return a}n.d(t,{Z:()=>a});const a=function(){for(var e,t,n=0,a="";n<arguments.length;)(e=arguments[n++])&&(t=r(e))&&(a&&(a+=" "),a+=t);return a}},2281:(e,t,n)=>{"use strict";n.d(t,{p1:()=>T,y$:()=>ee});var r,a,o,i,l,s,u,c=n(959),d=n(5341),f=Object.create,p=Object.defineProperty,g=Object.defineProperties,m=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertyNames,b=Object.getOwnPropertySymbols,v=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,x=(e,t,n)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t)=>{for(var n in t||(t={}))w.call(t,n)&&x(e,n,t[n]);if(b)for(var n of b(t))k.call(t,n)&&x(e,n,t[n]);return e},E=(e,t)=>g(e,h(t)),_=(e,t)=>{var n={};for(var r in e)w.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&b)for(var r of b(e))t.indexOf(r)<0&&k.call(e,r)&&(n[r]=e[r]);return n},C=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var a,o;switch(n=n||{},r.util.type(t)){case"Object":if(o=r.util.objId(t),n[o])return n[o];for(var i in a={},n[o]=a,t)t.hasOwnProperty(i)&&(a[i]=e(t[i],n));return a;case"Array":return o=r.util.objId(t),n[o]?n[o]:(a=[],n[o]=a,t.forEach((function(t,r){a[r]=e(t,n)})),a);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var a=e.classList;if(a.contains(t))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var a in t)n[a]=t[a];return n},insertBefore:function(e,t,n,a){var o=(a=a||r.languages)[e],i={};for(var l in o)if(o.hasOwnProperty(l)){if(l==t)for(var s in n)n.hasOwnProperty(s)&&(i[s]=n[s]);n.hasOwnProperty(l)||(i[l]=o[l])}var u=a[e];return a[e]=i,r.languages.DFS(r.languages,(function(t,n){n===u&&t!=e&&(this[t]=i)})),i},DFS:function e(t,n,a,o){o=o||{};var i=r.util.objId;for(var l in t)if(t.hasOwnProperty(l)){n.call(t,l,t[l],a||l);var s=t[l],u=r.util.type(s);"Object"!==u||o[i(s)]?"Array"!==u||o[i(s)]||(o[i(s)]=!0,e(s,n,l,o)):(o[i(s)]=!0,e(s,n,null,o))}}},plugins:{},highlight:function(e,t,n){var o={code:e,grammar:t,language:n};if(r.hooks.run("before-tokenize",o),!o.grammar)throw new Error('The language "'+o.language+'" has no grammar.');return o.tokens=r.tokenize(o.code,o.grammar),r.hooks.run("after-tokenize",o),a.stringify(r.util.encode(o.tokens),o.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var a=new l;return s(a,a.head,e),i(e,a,t,a.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(a)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var a,o=0;a=n[o++];)a(t)}},Token:a};function a(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function o(e,t,n,r){e.lastIndex=t;var a=e.exec(n);if(a&&r&&a[1]){var o=a[1].length;a.index+=o,a[0]=a[0].slice(o)}return a}function i(e,t,n,l,c,d){for(var f in n)if(n.hasOwnProperty(f)&&n[f]){var p=n[f];p=Array.isArray(p)?p:[p];for(var g=0;g<p.length;++g){if(d&&d.cause==f+","+g)return;var m=p[g],h=m.inside,y=!!m.lookbehind,b=!!m.greedy,v=m.alias;if(b&&!m.pattern.global){var w=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,w+"g")}for(var k=m.pattern||m,x=l.next,S=c;x!==t.tail&&!(d&&S>=d.reach);S+=x.value.length,x=x.next){var E=x.value;if(t.length>e.length)return;if(!(E instanceof a)){var _,C=1;if(b){if(!(_=o(k,S,e,y))||_.index>=e.length)break;var T=_.index,N=_.index+_[0].length,A=S;for(A+=x.value.length;T>=A;)A+=(x=x.next).value.length;if(S=A-=x.value.length,x.value instanceof a)continue;for(var L=x;L!==t.tail&&(A<N||"string"==typeof L.value);L=L.next)C++,A+=L.value.length;C--,E=e.slice(S,A),_.index-=S}else if(!(_=o(k,0,E,y)))continue;T=_.index;var O=_[0],P=E.slice(0,T),R=E.slice(T+O.length),j=S+E.length;d&&j>d.reach&&(d.reach=j);var I=x.prev;if(P&&(I=s(t,I,P),S+=P.length),u(t,I,C),x=s(t,I,new a(f,h?r.tokenize(O,h):O,v,O)),R&&s(t,x,R),C>1){var D={cause:f+","+g,reach:j};i(e,t,n,x.prev,S,D),d&&D.reach>d.reach&&(d.reach=D.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function s(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function u(e,t,n){for(var r=t.next,a=0;a<n&&r!==e.tail;a++)r=r.next;t.next=r,r.prev=t,e.length-=a}return a.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var a="";return t.forEach((function(t){a+=e(t,n)})),a}var o={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(o.classes,i):o.classes.push(i)),r.hooks.run("wrap",o);var l="";for(var s in o.attributes)l+=" "+s+'="'+(o.attributes[s]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+l+">"+o.content+"</"+o.tag+">"},r}();t.exports=n,n.default=n}},function(){return a||(0,r[y(r)[0]])((a={exports:{}}).exports,a),a.exports}),T=((e,t,n)=>(n=null!=e?f(v(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of y(t))w.call(e,a)||a===n||p(e,a,{get:()=>t[a],enumerable:!(r=m(t,a))||r.enumerable});return e})(!t&&e&&e.__esModule?n:p(n,"default",{value:e,enumerable:!0}),e)))(C());T.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},T.languages.markup.tag.inside["attr-value"].inside.entity=T.languages.markup.entity,T.languages.markup.doctype.inside["internal-subset"].inside=T.languages.markup,T.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(T.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:T.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:T.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},T.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(T.languages.markup.tag,"addAttribute",{value:function(e,t){T.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:T.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),T.languages.html=T.languages.markup,T.languages.mathml=T.languages.markup,T.languages.svg=T.languages.markup,T.languages.xml=T.languages.extend("markup",{}),T.languages.ssml=T.languages.xml,T.languages.atom=T.languages.xml,T.languages.rss=T.languages.xml,o=T,i={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},s="(?:[^\\\\-]|"+(l=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",s=RegExp(s+"-"+s),u={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},o.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:s,inside:{escape:l,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":i,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:l}},"special-escape":i,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":u}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:l,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":u}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},T.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},T.languages.javascript=T.languages.extend("clike",{"class-name":[T.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),T.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,T.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:T.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:T.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:T.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:T.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:T.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),T.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:T.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),T.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),T.languages.markup&&(T.languages.markup.tag.addInlined("script","javascript"),T.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),T.languages.js=T.languages.javascript,T.languages.actionscript=T.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),T.languages.actionscript["class-name"].alias="function",delete T.languages.actionscript.parameter,delete T.languages.actionscript["literal-property"],T.languages.markup&&T.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:T.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(T),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var r=function(e){e.inside||(e.inside={}),e.inside.rest=n},a="doc-comment";if(o=e.languages[t]){var o,i=o[a];if((i=i||(o=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[a])instanceof RegExp&&(i=o[a]={pattern:i}),Array.isArray(i))for(var l=0,s=i.length;l<s;l++)i[l]instanceof RegExp&&(i[l]={pattern:i[l]}),r(i[l]);else r(i)}}))}}),t.addSupport(["java","javascript","php"],t)}(T),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(T),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(T),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(T),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var a,o=t[n];"code"!==o.type?e(o.content):(a=o.content[1],o=o.content[3],a&&o&&"code-language"===a.type&&"code-block"===o.type&&"string"==typeof a.content&&(a=a.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),a="language-"+(a=(/[a-z][\w-]*/i.exec(a)||[""])[0].toLowerCase()),o.alias?"string"==typeof o.alias?o.alias=[o.alias,a]:o.alias.push(a):o.alias=[a]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,a=t.classes.length;r<a;r++){var o=t.classes[r];if(o=/language-(.+)/.exec(o)){n=o[1];break}}var u,c=e.languages[n];c?t.content=e.highlight(t.content.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;return"#"===(t=t.toLowerCase())[0]?(n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),s(n)):l[t]||e})),c,n):n&&"none"!==n&&e.plugins.autoloader&&(u="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=u,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(u);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),l={amp:"&",lt:"<",gt:">",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(T),T.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:T.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},T.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var a=[];if(d(["definition-mutation","punctuation"])&&"("===c(1).content){n+=2;var o=f(/^\($/,/^\)$/);if(-1===o)continue;for(;n<o;n++){var i=c(0);"variable"===i.type&&(p(i,"variable-input"),a.push(i.content))}n=o+1}if(d(["punctuation","property-query"])&&"{"===c(0).content&&(n++,p(c(0),"property-mutation"),0<a.length)){var l=f(/^\{$/,/^\}$/);if(-1!==l)for(var s=n;s<l;s++){var u=t[s];"variable"===u.type&&0<=a.indexOf(u.content)&&p(u,"variable-input")}}}}function c(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=c(n+t);if(!r||r.type!==e[n])return}return 1}function f(e,r){for(var a=1,o=n;o<t.length;o++){var i=t[o],l=i.content;if("punctuation"===i.type&&"string"==typeof l)if(e.test(l))a++;else if(r.test(l)&&0==--a)return o}return-1}function p(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),T.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function s(t,n,i){var s=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),u=0,c={},d=(s=l(s.map((function(e){if("string"==typeof e)return e;var n,r;for(e=e.content;-1!==t.indexOf((r=u++,n="___"+i.toUpperCase()+"_"+r+"___")););return c[n]=e,n})).join(""),n,i),Object.keys(c));return u=0,function t(n){for(var o=0;o<n.length;o++){if(u>=d.length)return;var i,s,f,p,g,m,h,y=n[o];"string"==typeof y||"string"==typeof y.content?(i=d[u],-1!==(h=(m="string"==typeof y?y:y.content).indexOf(i))&&(++u,s=m.substring(0,h),g=c[i],f=void 0,(p={})["interpolation-punctuation"]=a,3===(p=e.tokenize(g,p)).length&&((f=[1,1]).push.apply(f,l(p[1],e.languages.javascript,"javascript")),p.splice.apply(p,f)),f=new e.Token("interpolation",p,r.alias,g),p=m.substring(h+i.length),g=[],s&&g.push(s),g.push(f),p&&(t(m=[p]),g.push.apply(g,m)),"string"==typeof y?(n.splice.apply(n,[o,1].concat(g)),o+=g.length-1):y.content=g)):(h=y.content,Array.isArray(h)?t(h):t([h]))}}(s),new e.Token(i,s,"language-"+i,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var u={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function c(e){return"string"==typeof e?e:Array.isArray(e)?e.map(c).join(""):c(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in u&&function t(n){for(var r=0,a=n.length;r<a;r++){var o,i,l,u=n[r];"string"!=typeof u&&(o=u.content,Array.isArray(o)?"template-string"===u.type?(u=o[1],3===o.length&&"string"!=typeof u&&"embedded-code"===u.type&&(i=c(u),u=u.alias,u=Array.isArray(u)?u[0]:u,l=e.languages[u])&&(o[1]=s(i,l,u))):t(o):"string"!=typeof o&&t([o]))}}(t.tokens)}))}(T),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(T),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(T),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(T),T.languages.n4js=T.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),T.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),T.languages.n4jsd=T.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var a=n[r],o=e.languages.javascript[a];a=(o="RegExp"===e.util.type(o)?e.languages.javascript[a]={pattern:o}:o).inside||{};(o.inside=a)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(T),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return a})),RegExp(e,t)}function i(t){for(var n=[],r=0;r<t.length;r++){var a=t[r],o=!1;"string"!=typeof a&&("tag"===a.type&&a.content[0]&&"tag"===a.content[0].type?"</"===a.content[0].content[0].content?0<n.length&&n[n.length-1].tagName===l(a.content[0].content[1])&&n.pop():"/>"!==a.content[a.content.length-1].content&&n.push({tagName:l(a.content[0].content[1]),openedBraces:0}):0<n.length&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&0<n.length&&0===n[n.length-1].openedBraces&&(o=l(a),r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(o+=l(t[r+1]),t.splice(r+1,1)),0<r&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(o=l(t[r-1])+o,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",o,null,o)),a.content&&"string"!=typeof a.content&&i(a.content)}}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var l=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(l).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(T),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(T),T.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},T.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=T.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(T),T.languages.c=T.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),T.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),T.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},T.languages.c.string],char:T.languages.c.char,comment:T.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:T.languages.c}}}}),T.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete T.languages.c.boolean,T.languages.objectivec=T.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete T.languages.objectivec["class-name"],T.languages.objc=T.languages.objectivec,T.languages.reason=T.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),T.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete T.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(T),T.languages.go=T.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),T.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete T.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(T),T.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},T.languages.python["string-interpolation"].inside.interpolation.inside.rest=T.languages.python,T.languages.py=T.languages.python;((e,t)=>{for(var n in t)p(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>N,duotoneDark:()=>A,duotoneLight:()=>L,github:()=>O,jettwaveDark:()=>Z,jettwaveLight:()=>V,nightOwl:()=>P,nightOwlLight:()=>R,oceanicNext:()=>D,okaidia:()=>F,oneDark:()=>W,oneLight:()=>q,palenight:()=>M,shadesOfPurple:()=>z,synthwave84:()=>B,ultramin:()=>$,vsDark:()=>U,vsLight:()=>H});var N={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},A={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},L={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},O={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},P={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},R={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},j="#c5a5c5",I="#8dc891",D={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:j}},{types:["attr-value"],style:{color:I}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:I}},{types:["punctuation"],style:{color:I}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:j}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},F={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},M={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},z={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},B={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},$={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},U={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},H={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},Z={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},V={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},W={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},q={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},G=(e,t)=>{const{plain:n}=e,r=e.styles.reduce(((e,n)=>{const{languages:r,style:a}=n;return r&&!r.includes(t)||n.types.forEach((t=>{const n=S(S({},e[t]),a);e[t]=n})),e}),{});return r.root=n,r.plain=E(S({},n),{backgroundColor:void 0}),r},Y=/\r\n|\r|\n/,K=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},Q=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},X=e=>{const t=[[]],n=[e],r=[0],a=[e.length];let o=0,i=0,l=[];const s=[l];for(;i>-1;){for(;(o=r[i]++)<a[i];){let e,u=t[i];const c=n[i][o];if("string"==typeof c?(u=i>0?u:["plain"],e=c):(u=Q(u,c.type),c.alias&&(u=Q(u,c.alias)),e=c.content),"string"!=typeof e){i++,t.push(u),n.push(e),r.push(0),a.push(e.length);continue}const d=e.split(Y),f=d.length;l.push({types:u,content:d[0]});for(let t=1;t<f;t++)K(l),s.push(l=[]),l.push({types:u,content:d[t]})}i--,t.pop(),n.pop(),r.pop(),a.pop()}return K(l),s},J=({children:e,language:t,code:n,theme:r,prism:a})=>{const o=t.toLowerCase(),i=((e,t)=>{const[n,r]=(0,c.useState)(G(t,e)),a=(0,c.useRef)(),o=(0,c.useRef)();return(0,c.useEffect)((()=>{t===a.current&&e===o.current||(a.current=t,o.current=e,r(G(t,e)))}),[e,t]),n})(o,r),l=(e=>(0,c.useCallback)((t=>{var n=t,{className:r,style:a,line:o}=n,i=_(n,["className","style","line"]);const l=E(S({},i),{className:(0,d.Z)("token-line",r)});return"object"==typeof e&&"plain"in e&&(l.style=e.plain),"object"==typeof a&&(l.style=S(S({},l.style||{}),a)),l}),[e]))(i),s=(e=>{const t=(0,c.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,c.useCallback)((e=>{var n=e,{token:r,className:a,style:o}=n,i=_(n,["token","className","style"]);const l=E(S({},i),{className:(0,d.Z)("token",...r.types,a),children:r.content,style:t(r)});return null!=o&&(l.style=S(S({},l.style||{}),o)),l}),[t])})(i),u=(({prism:e,code:t,grammar:n,language:r})=>{const a=(0,c.useRef)(e);return(0,c.useMemo)((()=>{if(null==n)return X([t]);const e={code:t,grammar:n,language:r,tokens:[]};return a.current.hooks.run("before-tokenize",e),e.tokens=a.current.tokenize(t,n),a.current.hooks.run("after-tokenize",e),X(e.tokens)}),[t,n,r])})({prism:a,language:o,code:n,grammar:a.languages[o]});return e({tokens:u,className:`prism-code language-${o}`,style:null!=i?i.root:{},getLineProps:l,getTokenProps:s})},ee=e=>(0,c.createElement)(J,E(S({},e),{prism:e.prism||T,theme:e.theme||U,code:e.code,language:e.language}))},8624:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=!0,a="Invariant failed";function o(e,t){if(!e){if(r)throw new Error(a);var n="function"==typeof t?t():t,o=n?"".concat(a,": ").concat(n):a;throw new Error(o)}}},7529:e=>{"use strict";e.exports={}},6887:e=>{"use strict";e.exports=JSON.parse('{"/blog-dd7":{"__comp":"a6aa9e1f","__context":{"plugin":"226e5b6e"},"sidebar":"814f3328","items":[{"content":"f117dc86"}],"metadata":"b2b675dd"},"/blog/archive-df7":{"__comp":"9e4087bc","__context":{"plugin":"226e5b6e"},"archive":"b2f554cd"},"/blog/why-is-yazi-fast-bfb":{"__comp":"ccc49370","__context":{"plugin":"226e5b6e"},"sidebar":"814f3328","content":"3b25d5a1"},"/features/-fd8":{"__comp":"d7fbbe43","__context":{"plugin":"e8af14dd"},"config":"5e9f5e1a"},"/docs-c87":{"__comp":"5e95c892","__context":{"plugin":"4a2fc4aa"}},"/docs-8f4":{"__comp":"a7bd4aaa","version":"935f2afb"},"/docs-acf":{"__comp":"a94703ab"},"/docs/configuration/keymap-490":{"__comp":"17896441","content":"9e2c8087"},"/docs/configuration/overview-295":{"__comp":"17896441","content":"0f425520"},"/docs/configuration/theme-8bb":{"__comp":"17896441","content":"468e7028"},"/docs/configuration/yazi-f31":{"__comp":"17896441","content":"f18375c2"},"/docs/faq-76c":{"__comp":"17896441","content":"0480b142"},"/docs/installation-015":{"__comp":"17896441","content":"3b8c55ea"},"/docs/plugin/api-95a":{"__comp":"17896441","content":"90e6250d"},"/docs/plugin/overview-c4c":{"__comp":"17896441","content":"9bff038b"},"/docs/quick-start-001":{"__comp":"17896441","content":"72e14192"},"/docs/tips-b6f":{"__comp":"17896441","content":"c8b3d7d6"},"/-f76":{"__comp":"1df93b7f","__context":{"plugin":"e8af14dd"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[532],(()=>{return t=1218,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.fbda64af.js.LICENSE.txt b/assets/js/main.fbda64af.js.LICENSE.txt new file mode 100644 index 000000000..91dc89499 --- /dev/null +++ b/assets/js/main.fbda64af.js.LICENSE.txt @@ -0,0 +1,64 @@ +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */ + +/*! Bundled license information: + +prismjs/prism.js: + (** + * Prism: Lightweight, robust, elegant syntax highlighting + * + * @license MIT <https://opensource.org/licenses/MIT> + * @author Lea Verou <https://lea.verou.me> + * @namespace + * @public + *) +*/ + +/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * react-jsx-runtime.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ diff --git a/assets/js/runtime~main.5014906d.js b/assets/js/runtime~main.5014906d.js new file mode 100644 index 000000000..0c2bccab4 --- /dev/null +++ b/assets/js/runtime~main.5014906d.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,r,t,a,f={},o={};function c(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return f[e].call(t.exports,t,t.exports,c),t.exports}c.m=f,e=[],c.O=(r,t,a,f)=>{if(!t){var o=1/0;for(i=0;i<e.length;i++){t=e[i][0],a=e[i][1],f=e[i][2];for(var n=!0,d=0;d<t.length;d++)(!1&f||o>=f)&&Object.keys(c.O).every((e=>c.O[e](t[d])))?t.splice(d--,1):(n=!1,f<o&&(o=f));if(n){e.splice(i--,1);var b=a();void 0!==b&&(r=b)}}return r}f=f||0;for(var i=e.length;i>0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[t,a,f]},c.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return c.d(r,{a:r}),r},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var f=Object.create(null);c.r(f);var o={};r=r||[null,t({}),t([]),t(t)];for(var n=2&a&&e;"object"==typeof n&&!~r.indexOf(n);n=t(n))Object.getOwnPropertyNames(n).forEach((r=>o[r]=()=>e[r]));return o.default=()=>e,c.d(f,o),f},c.d=(e,r)=>{for(var t in r)c.o(r,t)&&!c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce(((r,t)=>(c.f[t](e,r),r)),[])),c.u=e=>"assets/js/"+({53:"935f2afb",54:"90e6250d",89:"a6aa9e1f",103:"ccc49370",124:"4a2fc4aa",131:"f18375c2",197:"226e5b6e",217:"3b8c55ea",237:"1df93b7f",239:"72e14192",240:"0f425520",269:"d7fbbe43",307:"c8b3d7d6",368:"a94703ab",477:"b2f554cd",518:"a7bd4aaa",533:"b2b675dd",535:"814f3328",608:"9e4087bc",644:"e8af14dd",661:"5e95c892",699:"9bff038b",722:"f117dc86",826:"3b25d5a1",836:"0480b142",857:"9e2c8087",871:"468e7028",918:"17896441"}[e]||e)+"."+{23:"2c563a0b",53:"df301b76",54:"51696a33",89:"5d197dc7",103:"23d0b85b",124:"416a51ae",131:"8c51e2ce",197:"d0e57376",217:"b2fa27ec",237:"05ff8937",239:"0b767e9a",240:"afb6f393",269:"4e4d4cf2",307:"fb4dfb2f",368:"10943036",477:"8398208d",518:"06ccabb0",533:"c31c0298",535:"fa917596",608:"44e6eec8",629:"32e568ff",644:"834bce6d",661:"8118ed08",678:"cb56a71e",699:"d4c76ebe",722:"eedf4f01",826:"852da53a",836:"d5fb6362",857:"f8f7080a",871:"0b264781",918:"7fa23498"}[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),a={},c.l=(e,r,t,f)=>{if(a[e])a[e].push(r);else{var o,n;if(void 0!==t)for(var d=document.getElementsByTagName("script"),b=0;b<d.length;b++){var i=d[b];if(i.getAttribute("src")==e){o=i;break}}o||(n=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,c.nc&&o.setAttribute("nonce",c.nc),o.src=e),a[e]=[r];var u=(r,t)=>{o.onerror=o.onload=null,clearTimeout(l);var f=a[e];if(delete a[e],o.parentNode&&o.parentNode.removeChild(o),f&&f.forEach((e=>e(t))),r)return r(t)},l=setTimeout(u.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=u.bind(null,o.onerror),o.onload=u.bind(null,o.onload),n&&document.head.appendChild(o)}},c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/",c.gca=function(e){return e={17896441:"918","935f2afb":"53","90e6250d":"54",a6aa9e1f:"89",ccc49370:"103","4a2fc4aa":"124",f18375c2:"131","226e5b6e":"197","3b8c55ea":"217","1df93b7f":"237","72e14192":"239","0f425520":"240",d7fbbe43:"269",c8b3d7d6:"307",a94703ab:"368",b2f554cd:"477",a7bd4aaa:"518",b2b675dd:"533","814f3328":"535","9e4087bc":"608",e8af14dd:"644","5e95c892":"661","9bff038b":"699",f117dc86:"722","3b25d5a1":"826","0480b142":"836","9e2c8087":"857","468e7028":"871"}[e]||e,c.p+c.u(e)},(()=>{var e={303:0,532:0};c.f.j=(r,t)=>{var a=c.o(e,r)?e[r]:void 0;if(0!==a)if(a)t.push(a[2]);else if(/^(303|532)$/.test(r))e[r]=0;else{var f=new Promise(((t,f)=>a=e[r]=[t,f]));t.push(a[2]=f);var o=c.p+c.u(r),n=new Error;c.l(o,(t=>{if(c.o(e,r)&&(0!==(a=e[r])&&(e[r]=void 0),a)){var f=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;n.message="Loading chunk "+r+" failed.\n("+f+": "+o+")",n.name="ChunkLoadError",n.type=f,n.request=o,a[1](n)}}),"chunk-"+r,r)}},c.O.j=r=>0===e[r];var r=(r,t)=>{var a,f,o=t[0],n=t[1],d=t[2],b=0;if(o.some((r=>0!==e[r]))){for(a in n)c.o(n,a)&&(c.m[a]=n[a]);if(d)var i=d(c)}for(r&&r(t);b<o.length;b++)f=o[b],c.o(e,f)&&e[f]&&e[f][0](),e[f]=0;return c.O(i)},t=self.webpackChunk=self.webpackChunk||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})()})(); \ No newline at end of file diff --git a/blog/archive/index.html b/blog/archive/index.html new file mode 100644 index 000000000..79b1eb4d1 --- /dev/null +++ b/blog/archive/index.html @@ -0,0 +1,14 @@ +<!doctype html> +<html lang="en" dir="ltr" class="plugin-blog plugin-id-default" data-has-hydrated="false"> +<head> +<meta charset="UTF-8"> +<meta name="generator" content="Docusaurus v3.1.0"> +<title data-rh="true">Archive | Yazi + + + + + + + + \ No newline at end of file diff --git a/blog/atom.xml b/blog/atom.xml new file mode 100644 index 000000000..918fd0390 --- /dev/null +++ b/blog/atom.xml @@ -0,0 +1,68 @@ + + + https://yazi-rs.github.io/blog + Yazi Blog + 2023-10-29T00:00:00.000Z + https://github.com/jpmonette/feed + + Yazi Blog + https://yazi-rs.github.io/img/logo.png + + <![CDATA[Why is Yazi fast?]]> + https://yazi-rs.github.io/blog/why-is-yazi-fast + + 2023-10-29T00:00:00.000Z + + This article assumes that you have already used Yazi and are familiar with most of its features.

+

Yazi has undergone significant optimizations to enhance user experience. It is designed entirely as an async program, handling all time-consuming tasks (I/O and CPU) as async tasks in a non-blocking, event-driven manner.

+

Tokio

+

Internally, Yazi uses Tokio as its async runtime: hold on! Tokio's async may not be "truly async" as you might perceive it!

+

Uh, okay. From an application-layer perspective, it indeed is async; however, from a system-level view, there are possibly better solutions.

+

But! This is not the current performance bottleneck for Yazi. Considering Yazi is a TUI app, unlike CLI programs like ls and exa that need to output all files immediately, Yazi has more optimization opportunities at the application-layer:

+
    +
  • For large directories (e.g., 100,000 files), Yazi uses chunked loading, which is unmatched by ls and exa since they must load everything at once.
  • +
  • Yazi also preloads directory file lists in the background, an optimization that ls and exa do not possess.
  • +
+

I must express my gratitude to Tokio for providing an excellent and convenient way to realize these application-layer optimizations.

+

I believe that the benefits brought by these application-level optimizations are more noticeable compared to switching to solutions like io_uring. But I remain open to this and welcome constructive PR.

+

Here is a relevant discussion on Reddit: reddit.com/r/rust/comments/16fxr58/comment/k066gmh

+

Pre-Caching

+

Yazi provides pre-caching mechanisms for the following data:

+
    +
  • Mimetype: The baseline. Yazi uses the file's mimetype as a reference for tasks such as opening, previewing, and style rendering, and internally utilizes file(1) to obtain the file's mimetype.
  • +
  • Image: To accelerate image previews, Yazi employs a 2-pass process for image files. The first pass is preprocessing, which downscales the image based on user-set max_width/max_height and generates a compressed lossy image as a cache file, significantly reducing file size. The second pass occurs when the user actually switches to the file and downscales it again to fit the terminal size.
  • +
  • Video: To speed up video previews, Yazi pre-converts them into images and goes through the first pass of image processing. When the user needs to display the video, it undergoes the same second pass.
  • +
  • PDF: Similar to video.
  • +
  • Directory size: Yazi lazily calculates the directory size only when the user sets sorting by file size, as it is a time-consuming operation.
  • +
+

Note: Except for size, all of these are scoped, meaning that when you are on the first page, only the first few files will be pre-cached.

+

For example, if your directory has 1000 files, your terminal height is 10, and you are on the second page, only files 11 to 20 will be processed. This greatly saves resources.

+

Discardable Tasks

+

Every preview task is discardable. When you navigate quickly between files and the previous file's triggered preview task is still not finished, it will be discarded directly, initiating a new task.

+

This promotes resource utilization. For I/O tasks like loading directory lists, Tokio's abort is used; for CPU tasks like code highlighting, an Atomic is used to record a ticket, and it checks if the value changes on each line code highlight. If it changes, it indicates that the current context has changed, and the entire highlighting task is discarded.

+

Code Highlighting

+

Yazi has built-in code highlighting and keeps it to a minimum for all text files: if your terminal height is 10, only the first 10 lines of the file are read and highlighted.

+

Other file managers that rely on external programs like bat need to wait for bat to finish highlighting the entire file before displaying only the first 10 lines.

+

In cases like JSON that require external program jq, Yazi kills jq directly after reading the first 10 lines to avoid unnecessary resource consumption.

+

Since code highlighting is a CPU-intensive task, it is distributed among multiple blocking threads, managed through Tokio's spawn_blocking, and is also discardable.

+

Image Preview

+

Yazi not only has built-in code highlighting but also includes image encoding and downscaling - there is likely nothing faster than having it directly built-in. It is also distributed among multiple threads and is discardable.

+

Besides being fast, Yazi's built-in Terminal graphics protocol, Inline images protocol, and Sixel graphics format allow Yazi to finely control when to display or hide images.

+

This ensures that in Yazi, there won't be issues, like images stacking on top of each other, or image escape code breaking the entire screen, when quickly navigating through images, as stdout is locked while outputting these escape codes. This locking happens after all image data is prepared, so it has no impact on performance.

+

Async Task Scheduling

+

In Yazi, tasks are automatically prioritized based on their severity. Yazi categorizes tasks into two types:

+
    +
  • Macro tasks: Large and heavy tasks, such as copying large files, typically taking a long time to complete.
  • +
  • Micro tasks: Small and urgent tasks, such as fetching file mimetype, pre-caching images, calculating directory size, and so on.
  • +
+

This is similar to having big and small cores in a CPU; when the big cores are idle, they help with the micro tasks. Yazi defaults to starting 5 micro workers and 10 macro workers, and these numbers can be configured by the user!

+

For complex tasks like file copying, a combination of micro and macro approaches is employed. Micro is used to recursively gather a list of all files to be copied, allowing users to see the number of tasks and their sizes in advance. Macro, on the other hand, handles the actual copying process.

+

The advantage of task scheduling extends beyond providing ample concurrency for I/O and CPU resources; it also indirectly mitigates the depletion of system resources (such as file handles and CPU) due to sudden task surges.

+

TODO

+

I'll find time to continue writing.

]]>
+ + 三咲雅 · Misaki Masa + https://github.com/sxyazi + +
+
\ No newline at end of file diff --git a/blog/index.html b/blog/index.html new file mode 100644 index 000000000..6695ce33d --- /dev/null +++ b/blog/index.html @@ -0,0 +1,60 @@ + + + + + +Blog | Yazi + + + + + +

· 5 min read

This article assumes that you have already used Yazi and are familiar with most of its features.

+

Yazi has undergone significant optimizations to enhance user experience. It is designed entirely as an async program, handling all time-consuming tasks (I/O and CPU) as async tasks in a non-blocking, event-driven manner.

+

Tokio

+

Internally, Yazi uses Tokio as its async runtime: hold on! Tokio's async may not be "truly async" as you might perceive it!

+

Uh, okay. From an application-layer perspective, it indeed is async; however, from a system-level view, there are possibly better solutions.

+

But! This is not the current performance bottleneck for Yazi. Considering Yazi is a TUI app, unlike CLI programs like ls and exa that need to output all files immediately, Yazi has more optimization opportunities at the application-layer:

+
    +
  • For large directories (e.g., 100,000 files), Yazi uses chunked loading, which is unmatched by ls and exa since they must load everything at once.
  • +
  • Yazi also preloads directory file lists in the background, an optimization that ls and exa do not possess.
  • +
+

I must express my gratitude to Tokio for providing an excellent and convenient way to realize these application-layer optimizations.

+

I believe that the benefits brought by these application-level optimizations are more noticeable compared to switching to solutions like io_uring. But I remain open to this and welcome constructive PR.

+

Here is a relevant discussion on Reddit: reddit.com/r/rust/comments/16fxr58/comment/k066gmh

+

Pre-Caching

+

Yazi provides pre-caching mechanisms for the following data:

+
    +
  • Mimetype: The baseline. Yazi uses the file's mimetype as a reference for tasks such as opening, previewing, and style rendering, and internally utilizes file(1) to obtain the file's mimetype.
  • +
  • Image: To accelerate image previews, Yazi employs a 2-pass process for image files. The first pass is preprocessing, which downscales the image based on user-set max_width/max_height and generates a compressed lossy image as a cache file, significantly reducing file size. The second pass occurs when the user actually switches to the file and downscales it again to fit the terminal size.
  • +
  • Video: To speed up video previews, Yazi pre-converts them into images and goes through the first pass of image processing. When the user needs to display the video, it undergoes the same second pass.
  • +
  • PDF: Similar to video.
  • +
  • Directory size: Yazi lazily calculates the directory size only when the user sets sorting by file size, as it is a time-consuming operation.
  • +
+

Note: Except for size, all of these are scoped, meaning that when you are on the first page, only the first few files will be pre-cached.

+

For example, if your directory has 1000 files, your terminal height is 10, and you are on the second page, only files 11 to 20 will be processed. This greatly saves resources.

+

Discardable Tasks

+

Every preview task is discardable. When you navigate quickly between files and the previous file's triggered preview task is still not finished, it will be discarded directly, initiating a new task.

+

This promotes resource utilization. For I/O tasks like loading directory lists, Tokio's abort is used; for CPU tasks like code highlighting, an Atomic is used to record a ticket, and it checks if the value changes on each line code highlight. If it changes, it indicates that the current context has changed, and the entire highlighting task is discarded.

+

Code Highlighting

+

Yazi has built-in code highlighting and keeps it to a minimum for all text files: if your terminal height is 10, only the first 10 lines of the file are read and highlighted.

+

Other file managers that rely on external programs like bat need to wait for bat to finish highlighting the entire file before displaying only the first 10 lines.

+

In cases like JSON that require external program jq, Yazi kills jq directly after reading the first 10 lines to avoid unnecessary resource consumption.

+

Since code highlighting is a CPU-intensive task, it is distributed among multiple blocking threads, managed through Tokio's spawn_blocking, and is also discardable.

+

Image Preview

+

Yazi not only has built-in code highlighting but also includes image encoding and downscaling - there is likely nothing faster than having it directly built-in. It is also distributed among multiple threads and is discardable.

+

Besides being fast, Yazi's built-in Terminal graphics protocol, Inline images protocol, and Sixel graphics format allow Yazi to finely control when to display or hide images.

+

This ensures that in Yazi, there won't be issues, like images stacking on top of each other, or image escape code breaking the entire screen, when quickly navigating through images, as stdout is locked while outputting these escape codes. This locking happens after all image data is prepared, so it has no impact on performance.

+

Async Task Scheduling

+

In Yazi, tasks are automatically prioritized based on their severity. Yazi categorizes tasks into two types:

+
    +
  • Macro tasks: Large and heavy tasks, such as copying large files, typically taking a long time to complete.
  • +
  • Micro tasks: Small and urgent tasks, such as fetching file mimetype, pre-caching images, calculating directory size, and so on.
  • +
+

This is similar to having big and small cores in a CPU; when the big cores are idle, they help with the micro tasks. Yazi defaults to starting 5 micro workers and 10 macro workers, and these numbers can be configured by the user!

+

For complex tasks like file copying, a combination of micro and macro approaches is employed. Micro is used to recursively gather a list of all files to be copied, allowing users to see the number of tasks and their sizes in advance. Macro, on the other hand, handles the actual copying process.

+

The advantage of task scheduling extends beyond providing ample concurrency for I/O and CPU resources; it also indirectly mitigates the depletion of system resources (such as file handles and CPU) due to sudden task surges.

+

TODO

+

I'll find time to continue writing.

+ + \ No newline at end of file diff --git a/blog/rss.xml b/blog/rss.xml new file mode 100644 index 000000000..2ab30df25 --- /dev/null +++ b/blog/rss.xml @@ -0,0 +1,66 @@ + + + + Yazi Blog + https://yazi-rs.github.io/blog + Yazi Blog + Sun, 29 Oct 2023 00:00:00 GMT + https://validator.w3.org/feed/docs/rss2.html + https://github.com/jpmonette/feed + en + + <![CDATA[Why is Yazi fast?]]> + https://yazi-rs.github.io/blog/why-is-yazi-fast + https://yazi-rs.github.io/blog/why-is-yazi-fast + Sun, 29 Oct 2023 00:00:00 GMT + + This article assumes that you have already used Yazi and are familiar with most of its features.

+

Yazi has undergone significant optimizations to enhance user experience. It is designed entirely as an async program, handling all time-consuming tasks (I/O and CPU) as async tasks in a non-blocking, event-driven manner.

+

Tokio

+

Internally, Yazi uses Tokio as its async runtime: hold on! Tokio's async may not be "truly async" as you might perceive it!

+

Uh, okay. From an application-layer perspective, it indeed is async; however, from a system-level view, there are possibly better solutions.

+

But! This is not the current performance bottleneck for Yazi. Considering Yazi is a TUI app, unlike CLI programs like ls and exa that need to output all files immediately, Yazi has more optimization opportunities at the application-layer:

+
    +
  • For large directories (e.g., 100,000 files), Yazi uses chunked loading, which is unmatched by ls and exa since they must load everything at once.
  • +
  • Yazi also preloads directory file lists in the background, an optimization that ls and exa do not possess.
  • +
+

I must express my gratitude to Tokio for providing an excellent and convenient way to realize these application-layer optimizations.

+

I believe that the benefits brought by these application-level optimizations are more noticeable compared to switching to solutions like io_uring. But I remain open to this and welcome constructive PR.

+

Here is a relevant discussion on Reddit: reddit.com/r/rust/comments/16fxr58/comment/k066gmh

+

Pre-Caching

+

Yazi provides pre-caching mechanisms for the following data:

+
    +
  • Mimetype: The baseline. Yazi uses the file's mimetype as a reference for tasks such as opening, previewing, and style rendering, and internally utilizes file(1) to obtain the file's mimetype.
  • +
  • Image: To accelerate image previews, Yazi employs a 2-pass process for image files. The first pass is preprocessing, which downscales the image based on user-set max_width/max_height and generates a compressed lossy image as a cache file, significantly reducing file size. The second pass occurs when the user actually switches to the file and downscales it again to fit the terminal size.
  • +
  • Video: To speed up video previews, Yazi pre-converts them into images and goes through the first pass of image processing. When the user needs to display the video, it undergoes the same second pass.
  • +
  • PDF: Similar to video.
  • +
  • Directory size: Yazi lazily calculates the directory size only when the user sets sorting by file size, as it is a time-consuming operation.
  • +
+

Note: Except for size, all of these are scoped, meaning that when you are on the first page, only the first few files will be pre-cached.

+

For example, if your directory has 1000 files, your terminal height is 10, and you are on the second page, only files 11 to 20 will be processed. This greatly saves resources.

+

Discardable Tasks

+

Every preview task is discardable. When you navigate quickly between files and the previous file's triggered preview task is still not finished, it will be discarded directly, initiating a new task.

+

This promotes resource utilization. For I/O tasks like loading directory lists, Tokio's abort is used; for CPU tasks like code highlighting, an Atomic is used to record a ticket, and it checks if the value changes on each line code highlight. If it changes, it indicates that the current context has changed, and the entire highlighting task is discarded.

+

Code Highlighting

+

Yazi has built-in code highlighting and keeps it to a minimum for all text files: if your terminal height is 10, only the first 10 lines of the file are read and highlighted.

+

Other file managers that rely on external programs like bat need to wait for bat to finish highlighting the entire file before displaying only the first 10 lines.

+

In cases like JSON that require external program jq, Yazi kills jq directly after reading the first 10 lines to avoid unnecessary resource consumption.

+

Since code highlighting is a CPU-intensive task, it is distributed among multiple blocking threads, managed through Tokio's spawn_blocking, and is also discardable.

+

Image Preview

+

Yazi not only has built-in code highlighting but also includes image encoding and downscaling - there is likely nothing faster than having it directly built-in. It is also distributed among multiple threads and is discardable.

+

Besides being fast, Yazi's built-in Terminal graphics protocol, Inline images protocol, and Sixel graphics format allow Yazi to finely control when to display or hide images.

+

This ensures that in Yazi, there won't be issues, like images stacking on top of each other, or image escape code breaking the entire screen, when quickly navigating through images, as stdout is locked while outputting these escape codes. This locking happens after all image data is prepared, so it has no impact on performance.

+

Async Task Scheduling

+

In Yazi, tasks are automatically prioritized based on their severity. Yazi categorizes tasks into two types:

+
    +
  • Macro tasks: Large and heavy tasks, such as copying large files, typically taking a long time to complete.
  • +
  • Micro tasks: Small and urgent tasks, such as fetching file mimetype, pre-caching images, calculating directory size, and so on.
  • +
+

This is similar to having big and small cores in a CPU; when the big cores are idle, they help with the micro tasks. Yazi defaults to starting 5 micro workers and 10 macro workers, and these numbers can be configured by the user!

+

For complex tasks like file copying, a combination of micro and macro approaches is employed. Micro is used to recursively gather a list of all files to be copied, allowing users to see the number of tasks and their sizes in advance. Macro, on the other hand, handles the actual copying process.

+

The advantage of task scheduling extends beyond providing ample concurrency for I/O and CPU resources; it also indirectly mitigates the depletion of system resources (such as file handles and CPU) due to sudden task surges.

+

TODO

+

I'll find time to continue writing.

]]>
+
+
+
\ No newline at end of file diff --git a/blog/why-is-yazi-fast/index.html b/blog/why-is-yazi-fast/index.html new file mode 100644 index 000000000..4b7754135 --- /dev/null +++ b/blog/why-is-yazi-fast/index.html @@ -0,0 +1,60 @@ + + + + + +Why is Yazi fast? | Yazi + + + + + +

Why is Yazi fast?

· 5 min read

This article assumes that you have already used Yazi and are familiar with most of its features.

+

Yazi has undergone significant optimizations to enhance user experience. It is designed entirely as an async program, handling all time-consuming tasks (I/O and CPU) as async tasks in a non-blocking, event-driven manner.

+

Tokio

+

Internally, Yazi uses Tokio as its async runtime: hold on! Tokio's async may not be "truly async" as you might perceive it!

+

Uh, okay. From an application-layer perspective, it indeed is async; however, from a system-level view, there are possibly better solutions.

+

But! This is not the current performance bottleneck for Yazi. Considering Yazi is a TUI app, unlike CLI programs like ls and exa that need to output all files immediately, Yazi has more optimization opportunities at the application-layer:

+
    +
  • For large directories (e.g., 100,000 files), Yazi uses chunked loading, which is unmatched by ls and exa since they must load everything at once.
  • +
  • Yazi also preloads directory file lists in the background, an optimization that ls and exa do not possess.
  • +
+

I must express my gratitude to Tokio for providing an excellent and convenient way to realize these application-layer optimizations.

+

I believe that the benefits brought by these application-level optimizations are more noticeable compared to switching to solutions like io_uring. But I remain open to this and welcome constructive PR.

+

Here is a relevant discussion on Reddit: reddit.com/r/rust/comments/16fxr58/comment/k066gmh

+

Pre-Caching

+

Yazi provides pre-caching mechanisms for the following data:

+
    +
  • Mimetype: The baseline. Yazi uses the file's mimetype as a reference for tasks such as opening, previewing, and style rendering, and internally utilizes file(1) to obtain the file's mimetype.
  • +
  • Image: To accelerate image previews, Yazi employs a 2-pass process for image files. The first pass is preprocessing, which downscales the image based on user-set max_width/max_height and generates a compressed lossy image as a cache file, significantly reducing file size. The second pass occurs when the user actually switches to the file and downscales it again to fit the terminal size.
  • +
  • Video: To speed up video previews, Yazi pre-converts them into images and goes through the first pass of image processing. When the user needs to display the video, it undergoes the same second pass.
  • +
  • PDF: Similar to video.
  • +
  • Directory size: Yazi lazily calculates the directory size only when the user sets sorting by file size, as it is a time-consuming operation.
  • +
+

Note: Except for size, all of these are scoped, meaning that when you are on the first page, only the first few files will be pre-cached.

+

For example, if your directory has 1000 files, your terminal height is 10, and you are on the second page, only files 11 to 20 will be processed. This greatly saves resources.

+

Discardable Tasks

+

Every preview task is discardable. When you navigate quickly between files and the previous file's triggered preview task is still not finished, it will be discarded directly, initiating a new task.

+

This promotes resource utilization. For I/O tasks like loading directory lists, Tokio's abort is used; for CPU tasks like code highlighting, an Atomic is used to record a ticket, and it checks if the value changes on each line code highlight. If it changes, it indicates that the current context has changed, and the entire highlighting task is discarded.

+

Code Highlighting

+

Yazi has built-in code highlighting and keeps it to a minimum for all text files: if your terminal height is 10, only the first 10 lines of the file are read and highlighted.

+

Other file managers that rely on external programs like bat need to wait for bat to finish highlighting the entire file before displaying only the first 10 lines.

+

In cases like JSON that require external program jq, Yazi kills jq directly after reading the first 10 lines to avoid unnecessary resource consumption.

+

Since code highlighting is a CPU-intensive task, it is distributed among multiple blocking threads, managed through Tokio's spawn_blocking, and is also discardable.

+

Image Preview

+

Yazi not only has built-in code highlighting but also includes image encoding and downscaling - there is likely nothing faster than having it directly built-in. It is also distributed among multiple threads and is discardable.

+

Besides being fast, Yazi's built-in Terminal graphics protocol, Inline images protocol, and Sixel graphics format allow Yazi to finely control when to display or hide images.

+

This ensures that in Yazi, there won't be issues, like images stacking on top of each other, or image escape code breaking the entire screen, when quickly navigating through images, as stdout is locked while outputting these escape codes. This locking happens after all image data is prepared, so it has no impact on performance.

+

Async Task Scheduling

+

In Yazi, tasks are automatically prioritized based on their severity. Yazi categorizes tasks into two types:

+
    +
  • Macro tasks: Large and heavy tasks, such as copying large files, typically taking a long time to complete.
  • +
  • Micro tasks: Small and urgent tasks, such as fetching file mimetype, pre-caching images, calculating directory size, and so on.
  • +
+

This is similar to having big and small cores in a CPU; when the big cores are idle, they help with the micro tasks. Yazi defaults to starting 5 micro workers and 10 macro workers, and these numbers can be configured by the user!

+

For complex tasks like file copying, a combination of micro and macro approaches is employed. Micro is used to recursively gather a list of all files to be copied, allowing users to see the number of tasks and their sizes in advance. Macro, on the other hand, handles the actual copying process.

+

The advantage of task scheduling extends beyond providing ample concurrency for I/O and CPU resources; it also indirectly mitigates the depletion of system resources (such as file handles and CPU) due to sudden task surges.

+

TODO

+

I'll find time to continue writing.

+ + \ No newline at end of file diff --git a/docs/configuration/keymap/index.html b/docs/configuration/keymap/index.html new file mode 100644 index 000000000..7a6263472 --- /dev/null +++ b/docs/configuration/keymap/index.html @@ -0,0 +1,423 @@ + + + + + +keymap.toml | Yazi + + + + + +

keymap.toml

+
note

If you haven't created and used your own configuration file yet, please see Configuration.

+

[manager]

+
    +
  • +

    escape: Cancel find, exit visual mode, clear selected, cancel filter, or cancel search.

    +
      +
    • --all: Do all of the above.
    • +
    • --find: Cancel find.
    • +
    • --visual: Exit visual mode.
    • +
    • --select: Clear selected.
    • +
    • --filter: Cancel filter.
    • +
    • --search: Cancel search.
    • +
    +

    Automatically determine the operation by default, and it will only execute the selected operation after specifying the option; multiple options can be stacked.

    +
  • +
  • +

    quit: Exit the process.

    +
      +
    • --no-cwd-file: Don't write the current directory to the cwd-file.
    • +
    +
  • +
  • +

    close: Close the current tab; if it's the last tab, exit the process instead.

    +
  • +
+ +
    +
  • +

    arrow

    +
      +
    • n / n%: Move the cursor up or down by n or n% lines. Use negative values to move up and positive values to move down.
    • +
    +
  • +
  • +

    leave: Go back to the parent directory.

    +
  • +
  • +

    enter: Enter the child directory.

    +
  • +
  • +

    back: Go back to the previous directory.

    +
  • +
  • +

    forward: Go forward to the next directory.

    +
  • +
  • +

    peek

    +
      +
    • n: Peek up or down at file contents in the preview. Use negative values to peek up and positive values to peek down.
    • +
    +
  • +
  • +

    cd: Change the current directory.

    +
      +
    • path: the path to change to.
    • +
    • --interactive: Use an interactive UI to input the path.
    • +
    +
  • +
  • +

    reveal: Change the current directory to the parent of specified file, and hover on it.

    +
      +
    • path: the path to reveal.
    • +
    +
  • +
+

Selection

+
    +
  • +

    select

    +
      +
    • --state=true: Select the current file.
    • +
    • --state=false: Deselect the current file.
    • +
    • --state=none: Default, toggle the selection state of the current file.
    • +
    +
  • +
  • +

    select_all

    +
      +
    • --state=true: Select all files.
    • +
    • --state=false: Deselect all files.
    • +
    • --state=none: Default, toggle the selection state of all files.
    • +
    +
  • +
  • +

    visual_mode: Enter visual mode (selection mode).

    +
      +
    • --unset: Enter visual mode (unset mode).
    • +
    +
  • +
+

Operation

+
    +
  • +

    open: Open the selected files.

    +
      +
    • --interactive: Open the selected files with an interactive UI to choose the opening method.
    • +
    +
  • +
  • +

    yank: Yank the selected files.

    +
      +
    • --cut: Cut the selected files.
    • +
    +
  • +
  • +

    paste: Paste the yanked files.

    +
      +
    • --force: Overwrite the destination file if it exists.
    • +
    • --follow: Copy the file pointed to by a symbolic link, rather than the link itself. Only can be used during copying.
    • +
    +
  • +
  • +

    link: Create a symbolic link to the yanked files. (This is a privileged action in Windows and must be run as an administrator.)

    +
      +
    • --relative: Use a relative path for the symbolic link.
    • +
    • --force: Overwrite the destination file if it exists.
    • +
    +
  • +
  • +

    remove: Move the files to the trash/recycle bin on macOS/Windows. For Linux, it will follow The FreeDesktop.org Trash specification.

    +
      +
    • --force: Don't show the confirmation dialog, and trash/delete files directly.
    • +
    • --permanently: Permanently delete the files.
    • +
    +
  • +
  • +

    create: Create a file or directory. Ends with / (Unix) or \ (Windows) for directories.

    +
      +
    • --force: Overwrite the destination file directly if it exists, without showing the confirmation dialog.
    • +
    +
  • +
  • +

    rename: Rename a file or directory.

    +
      +
    • --force: Overwrite the destination file directly if it exists, without showing the confirmation dialog.
    • +
    +
  • +
  • +

    copy: Copy the path of files or directories that are selected or hovered on.

    +
      +
    • path: Copy the absolute path.
    • +
    • dirname: Copy the path of the parent directory.
    • +
    • filename: Copy the name of the file.
    • +
    • name_without_ext: Copy the name of the file without the extension.
    • +
    +
  • +
  • +

    shell: Run a shell command.

    +
      +
    • exec: Optional, command template to be run.
    • +
    • --block: Open in a blocking manner. After setting this, Yazi will hide into a secondary screen and display the program on the main screen until it exits. During this time, it can receive I/O signals, which is useful for interactive programs.
    • +
    • --confirm: When the template is provided, run it directly, no input UI was shown.
    • +
    +
  • +
  • +

    hidden: Set the visibility of hidden files.

    +
      +
    • show: Show hidden files.
    • +
    • hide: Hide hidden files.
    • +
    • toggle: Default, toggle the hidden state.
    • +
    +
  • +
  • +

    linemode: Set the line mode.

    +
      +
    • none: No line mode.
    • +
    • size: Display the size of the file.
    • +
    • permissions: Display the permissions of the file.
    • +
    • mtime: Display the last modified time of the file.
    • +
    +

    In addition, you can also specify any 1 to 20 characters, and extend it within a UI plugin. +Which means you can implement your own linemode through the plugin by simply overriding the Folder:linemode method.

    +
  • +
  • +

    search

    +
      +
    • rg: Search files by content using ripgrep.
    • +
    • fd: Search files by name using fd.
    • +
    • none: Default, cancel the ongoing search.
    • +
    +
  • +
  • +

    jump

    +
      +
    • fzf: Jump to a directory, or reveal a file using fzf.
    • +
    • zoxide: Jump to a directory using zoxide.
    • +
    +
  • +
  • +

    find

    +
      +
    • query: Optional, the query to find for. If not provided, an interactive UI will be used to input with.
    • +
    • --previous: Find for the previous occurrence.
    • +
    • --smart: Use smart-case when finding, i.e. case-sensitive if the query contains uppercase characters, otherwise case-insensitive.
    • +
    • --insensitive: Use case-insensitive find.
    • +
    +
  • +
  • +

    find_arrow: Move the cursor to the next or previous occurrence.

    +
      +
    • --previous: Move to the previous occurrence.
    • +
    +
  • +
  • +

    filter

    +
      +
    • query: Optional, the query to filter for. If not provided, an interactive UI will be used to input with.
    • +
    • --smart: Use smart-case when filtering, i.e. case-sensitive if the query contains uppercase characters, otherwise case-insensitive.
    • +
    • --insensitive: Use case-insensitive filter.
    • +
    +
  • +
  • +

    sort

    +
      +
    • by: Optional, if not provided, the sort method will be kept unchanged. +
        +
      • "none": Don't sort.
      • +
      • "alphabetical": Sort alphabetically, e.g. 1.md < 10.md < 2.md
      • +
      • "created": Sort by creation time.
      • +
      • "modified": Sort by last modified time.
      • +
      • "natural": Sort naturally, e.g. 1.md < 2.md < 10.md
      • +
      • "size": Sort by file size.
      • +
      +
    • +
    • --reverse: Display files in reverse order.
    • +
    • --dir_first: Display directories first.
    • +
    +
  • +
+

Tabs

+
    +
  • +

    tab_create

    +
      +
    • path: Create a new tab using the specified path.
    • +
    • --current: Create a new tab using the current path.
    • +
    +
  • +
  • +

    tab_close

    +
      +
    • n: Close the tab at position n, starting from 0.
    • +
    +
  • +
  • +

    tab_switch

    +
      +
    • n: Switch to the tab at position n, starting from 0.
    • +
    • --relative: Switch to the tab at a position relative to the current tab. The value of n can be negative when using this parameter.
    • +
    +
  • +
  • +

    tab_swap

    +
      +
    • n: Swap the current tab with the tab at position n, where negative values move the tab forward, and positive values move it backward.
    • +
    +
  • +
+

Tasks

+
    +
  • tasks_show: Show the task manager.
  • +
+

Help

+
    +
  • help: Open the help menu.
  • +
+

[tasks]

+
    +
  • close: Hide the task manager.
  • +
  • arrow: +
      +
    • -1: Move the cursor up 1 line.
    • +
    • 1: Move the cursor down 1 line.
    • +
    +
  • +
  • inspect: Inspect the task (press q to exit the inspect view).
  • +
  • cancel: Cancel the task.
  • +
  • help: Open the help menu.
  • +
+

[select]

+
    +
  • +

    close: Cancel selection.

    +
      +
    • --submit: Submit the selection.
    • +
    +
  • +
  • +

    arrow

    +
      +
    • n: Move the cursor up or down n lines. Negative value for up, positive value for down.
    • +
    +
  • +
  • +

    help: Open the help menu.

    +
  • +
+

[input]

+
    +
  • +

    close: Cancel input.

    +
      +
    • --submit: Submit the input.
    • +
    +
  • +
  • +

    escape: Go back the normal mode, or cancel input.

    +
  • +
  • +

    move: Move the cursor left or right.

    +
      +
    • n: Move the cursor n characters left or right. Negative value for left, positive value for right.
    • +
    • --in-operating: Move the cursor only if its currently waiting for an operation.
    • +
    +
  • +
  • +

    backward: Move back to the start of the current or previous word.

    +
  • +
  • +

    forward: Move forward to the start of the next word.

    +
      +
    • --end-of-word: Move forward to the end of the current or next word.
    • +
    +
  • +
+

Normal mode

+
    +
  • +

    insert: Enter insert mode.

    +
      +
    • --append: Insert after the cursor.
    • +
    +
  • +
  • +

    visual: Enter visual mode.

    +
  • +
  • +

    delete: Delete the selected characters.

    +
      +
    • --cut: Cut the selected characters into clipboard, instead of only deleting them.
    • +
    • --insert: Delete and enter insert mode.
    • +
    +
  • +
  • +

    yank: Copy the selected characters.

    +
  • +
  • +

    paste: Paste the copied characters after the cursor.

    +
      +
    • --before: Paste the copied characters before the cursor.
    • +
    +
  • +
  • +

    undo: Undo the last operation.

    +
  • +
  • +

    redo: Redo the last operation.

    +
  • +
  • +

    help: Open the help menu.

    +
  • +
+

Insert mode

+
    +
  • +

    backspace: Delete the character before the cursor.

    +
      +
    • --under: Delete the character under the cursor.
    • +
    +
  • +
  • +

    kill: Kill the specified range of characters.

    +
      +
    • bol: Kill backwards to the BOL.
    • +
    • eol: Kill forwards to the EOL.
    • +
    • backward: Kill backwards to the start of the current word.
    • +
    • forward: Kill forwards to the end of the current word.
    • +
    +
  • +
+

[completion]

+
    +
  • +

    close: Hide the completion menu.

    +
      +
    • --submit: Submit the completion.
    • +
    +
  • +
  • +

    arrow

    +
      +
    • n: Move the cursor up or down n lines. Negative value for up, positive value for down.
    • +
    +
  • +
  • +

    help: Open the help menu.

    +
  • +
+

[help]

+
    +
  • close: Hide the help menu.
  • +
  • escape: Clear the filter, or hide the help menu.
  • +
  • arrow +
      +
    • n: Move the cursor up or down n lines. Negative value for up, positive value for down.
    • +
    +
  • +
  • filter: Apply a filter for the help items.
  • +
+ + \ No newline at end of file diff --git a/docs/configuration/overview/index.html b/docs/configuration/overview/index.html new file mode 100644 index 000000000..35dc2ddd8 --- /dev/null +++ b/docs/configuration/overview/index.html @@ -0,0 +1,33 @@ + + + + + +Configuration | Yazi + + + + + +

Configuration

+

There are three configuration files for Yazi:

+ +

You can find the default configurations at: https://github.com/sxyazi/yazi/tree/main/yazi-config/preset.

+

To override any of the defaults, begin by copying the appropriate file to following location:

+
    +
  • Unix: ~/.config/yazi/
  • +
  • Windows: C:\Users\USERNAME\AppData\Roaming\yazi\config\
  • +
+

For example, to edit the keymaps, start by copying keymap.toml file (found here) to:

+
    +
  • Unix: ~/.config/yazi/keymap.toml
  • +
  • Windows: C:\Users\USERNAME\AppData\Roaming\yazi\config\keymap.toml
  • +
+

Custom config directory

+

You can change the Yazi configuration directory by exporting the YAZI_CONFIG_HOME environment variable.

+ + \ No newline at end of file diff --git a/docs/configuration/theme/index.html b/docs/configuration/theme/index.html new file mode 100644 index 000000000..3af6296c4 --- /dev/null +++ b/docs/configuration/theme/index.html @@ -0,0 +1,178 @@ + + + + + +theme.toml | Yazi + + + + + +

theme.toml

+
tip

If you're looking for ready-made themes and don't want to create one yourself, check out yazi-rs/themes repo.

+

Types

+
    +
  • +

    Color: A color. It can be in Hex format with RGB values, such as #484D66. Or can be one of the following 17 values:

    +
      +
    • reset
    • +
    • black
    • +
    • white
    • +
    • red
    • +
    • lightred
    • +
    • green
    • +
    • lightgreen
    • +
    • yellow
    • +
    • lightyellow
    • +
    • blue
    • +
    • lightblue
    • +
    • magenta
    • +
    • lightmagenta
    • +
    • cyan
    • +
    • lightcyan
    • +
    • gray
    • +
    • darkgray
    • +
    +
  • +
  • +

    Style: Appears in a format similar to { fg = "#e4e4e4", bg = "black", ... }, and supports the following properties:

    +
      +
    • fg (Color): Foreground color
    • +
    • bg (Color): Background color
    • +
    • bold (Boolean): Bold
    • +
    • dim (Boolean): Dim (not supported by all terminals)
    • +
    • italic (Boolean): Italic
    • +
    • underline (Boolean): Underline
    • +
    • blink (Boolean): Blink
    • +
    • blink_rapid (Boolean): Rapid blink
    • +
    • reversed (Boolean): Reversed foreground and background colors
    • +
    • hidden (Boolean): Hidden
    • +
    • crossed (Boolean): Crossed out
    • +
    +
  • +
+

[manager]

+
    +
  • cwd (Style): CWD text style.
  • +
+

Hovered:

+
    +
  • hovered (Style): Hovered file style.
  • +
  • preview_hovered (Style): Hovered file style, in the preview pane.
  • +
+

Find: The find feature

+
    +
  • find_keyword (Style): Style of the highlighted portion in the filename.
  • +
  • find_position (Style): Style of current file location in all found files to the right of the filename.
  • +
+

Marker: Color block on the left side separator line in the filename.

+
    +
  • marker_selected (Style): Selected file marker style.
  • +
  • marker_copied (Style): Copied file marker style.
  • +
  • marker_cut (Style): Cut file marker style.
  • +
+

Tab: Tab bar

+
    +
  • tab_active (Style): Active tab style.
  • +
  • tab_inactive (Style): Inactive tab style.
  • +
  • tab_width (Style): Tab maximum width. When set to a value greater than 2, the remaining space will be filled with the tab name, which is current directory name.
  • +
+

Border:

+
    +
  • border_symbol (String): Border symbol. e.g. "│".
  • +
  • border_style (Style): Border style.
  • +
+

Highlighting: The built-in syntax highlighting feature

+
    +
  • syntect_theme (String): Theme file path. Since Yazi and bat use the same highlighter, so you can directly use bat's theme files, such as ~/.config/bat/themes/Catppuccino-mocha.tmTheme.
  • +
+

[status]

+
    +
  • separator_open (String): Opening separator symbol. e.g. "[".
  • +
  • separator_close (String): Closing separator symbol. e.g. "]".
  • +
  • separator_style (Style): Separator style.
  • +
+

Mode

+
    +
  • mode_normal (Style): Normal mode style.
  • +
  • mode_select (Style): Select mode style.
  • +
  • mode_unset (Style): Unset mode style.
  • +
+

Progress

+
    +
  • progress_label (Style): Progress label style.
  • +
  • progress_normal (Style): Style of the progress bar when it is not in an error state.
  • +
  • progress_error (Style): Style of the progress bar when an error occurs.
  • +
+

Permissions

+
    +
  • permissions_t (Style): File type.
  • +
  • permissions_r (Style): Read permission.
  • +
  • permissions_w (Style): Write permission.
  • +
  • permissions_x (Style): Execute permission.
  • +
  • permissions_s (Style): - separator.
  • +
+

[select]

+
    +
  • border (Style): Border style.
  • +
  • active (Style): Selected item style.
  • +
  • inactive (Style): Unselected item style.
  • +
+

[input]

+
    +
  • border (Style): Border style.
  • +
  • title (Style): Title style.
  • +
  • value (Style): Value style.
  • +
  • selected (Style): Selected value style.
  • +
+

[completion]

+
    +
  • border (Style): Border style.
  • +
  • active (Style): Selected item style.
  • +
  • inactive (Style): Unselected item style.
  • +
+

Icons

+
    +
  • icon_file (String): File icon.
  • +
  • icon_folder (String): Folder icon.
  • +
  • icon_command (String): Command icon.
  • +
+

[tasks]

+
    +
  • border (Style): Border style.
  • +
  • title (Style): Title style.
  • +
  • hovered (Style): Hovered item style.
  • +
+

[which]

+
    +
  • mask (Style): Mask style.
  • +
  • cand (Style): Candidate key style.
  • +
  • rest (Style): Rest key style.
  • +
  • desc (Style): Description style.
  • +
  • separator (String): Separator symbol. e.g. " -> ".
  • +
  • separator_style (Style): Separator style.
  • +
+

[help]

+
    +
  • on (Style): Key column style.
  • +
  • exec (Style): Command column style.
  • +
  • desc (Style): Description column style.
  • +
  • hovered (Style): Hovered item style.
  • +
  • footer (Style): Footer style.
  • +
+

[filetype]

+

Set file list item display styles for specific file types, supporting matching by name and mime-type:

+
[filetype]
rules = [
# Images
{ mime = "image/*", fg = "cyan" },

# Videos
{ mime = "video/*", fg = "yellow" },
{ mime = "audio/*", fg = "yellow" },

# ...

# Fallback
# { name = "*", fg = "white" },
{ name = "*/", fg = "blue" }
]
+

Each rule supports complete Style properties. There are two special rule:

+
    +
  • name = "*" matches all files.
  • +
  • name = "*/" matches all directories.
  • +
+

[icons]

+

Display different icons based on file name rules, noting that the / after the name signifies that it must be a directory.

+
[icons]
"Desktop/" = ""
"*.rs" = ""
# ...

# Default
"*" = ""
"*/" = ""
+

Similarly, * and */ can be used for fallback matching all files and all directories.

+

The above rules use icons from Nerd Fonts, and they will not display properly if you don't have a Nerd Font installed.

+ + \ No newline at end of file diff --git a/docs/configuration/yazi/index.html b/docs/configuration/yazi/index.html new file mode 100644 index 000000000..1047dc2ea --- /dev/null +++ b/docs/configuration/yazi/index.html @@ -0,0 +1,192 @@ + + + + + +yazi.toml | Yazi + + + + + +

yazi.toml

+
note

If you haven't created and used your own configuration file yet, please see Configuration.

+

[manager]

+
    +
  • +

    layout: Manager layout by ratio, 3-element array

    +
      +
    • [1, 4, 3]: 1/8 width for parent, 4/8 width for current, 3/8 width for preview
    • +
    +
  • +
  • +

    sort_by: File sorting method

    +
      +
    • "none": Don't sort
    • +
    • "alphabetical": Sort alphabetically, e.g. 1.md < 10.md < 2.md
    • +
    • "created": Sort by creation time
    • +
    • "modified": Sort by last modified time
    • +
    • "natural": Sort naturally, e.g. 1.md < 2.md < 10.md
    • +
    • "size": Sort by file size
    • +
    +
  • +
  • +

    sort_sensitive: Sort case-sensitively

    +
      +
    • true: Case-sensitive
    • +
    • false: Case-insensitive
    • +
    +
  • +
  • +

    sort_reverse: Display files in reverse order

    +
      +
    • true: Reverse order
    • +
    • false: Normal order
    • +
    +
  • +
  • +

    sort_dir_first: Display directories first

    +
      +
    • true: Directories first
    • +
    • false: Respects sort_by and sort_reverse only
    • +
    +
  • +
  • +

    linemode: Line mode

    +
      +
    • "none": No line mode.
    • +
    • "size": Display the size of the file.
    • +
    • "permissions": Display the permissions of the file.
    • +
    • "mtime": Display the last modified time of the file.
    • +
    +

    In addition, you can also specify any 1 to 20 characters, and extend it within a UI plugin. +Which means you can implement your own linemode through the plugin by simply overriding the Folder:linemode method.

    +
  • +
  • +

    show_hidden: Show hidden files

    +
      +
    • true: Show
    • +
    • false: Do not show
    • +
    +
  • +
  • +

    show_symlink: Show the path of the symlink file point to, after the filename

    +
      +
    • true: Show
    • +
    • false: Do not show
    • +
    +
  • +
+

[preview]

+
    +
  • tab_size: Tab width
  • +
  • max_width: Maximum preview width for images. Do a yazi --clear-cache to take effect after changing this.
  • +
  • max_height: Maximum preview height for images. Do a yazi --clear-cache to take effect after changing this.
  • +
  • cache_dir: The system cache directory is used by default, and the cached files will go away on a reboot automatically. If you want to make it more persistent, you can specify the cache directory manually as an absolute path.
  • +
+

Ueberzug-specific

+
    +
  • ueberzug_scale (Float): Ueberzug image scaling ratio, scale>1 for enlargement, scale<1 for reduction. For example, 0.5 indicates a reduction to half.
  • +
  • ueberzug_offset ([x, y, width, height]): Ueberzug image offset, in cell units. For example, [0.5, 0.5, -0.5, -0.5] indicates that the image is offset by half a cell in both directions, and the width and height are reduced by half a cell.
  • +
+

This is useful for solving the bug of Ueberzug image size calculation.

+

If your monitor has a 2.0 scale factor, and is running on Wayland under Hyprland, you may need to set ueberzug_scale: 0.5, and adjust the value of ueberzug_offset according to your case, to offset this issue.

+

[opener]

+

Configure available openers, for example:

+
[opener]
archive = [
{ exec = 'unar "$1"', desc = "Extract here" },
]
text = [
{ exec = 'nvim "$@"', block = true },
]
# ...
+

Available parameters are as follows:

+
    +
  • exec: The command to open the selected files, with the following variables available: +
      +
    • $n (Unix) / %n (Windows): The N-th selected file, starting from 1
    • +
    • $@ (Unix) / %* (Windows): All selected files
    • +
    • foo: Literal string to be passed
    • +
    +
  • +
  • block (Boolean): Open in a blocking manner. After setting this, Yazi will hide into a secondary screen and display the program on the main screen until it exits. During this time, it can receive I/O signals, which is useful for interactive programs.
  • +
  • orphan (Boolean): Keep the process running even if Yazi has exited.
  • +
  • desc: Description of the opener, displayed in the selection menu.
  • +
  • for: Optional. This opener is only available on this system; when not specified, it's available on all systems. Available values: +
      +
    • unix: Linux and macOS
    • +
    • windows: Windows
    • +
    • linux: Linux
    • +
    • macos: macOS
    • +
    +
  • +
+

[open]

+

Set rules for opening specific files, for example:

+
[open]
rules = [
{ mime = "text/*", use = "text" },
{ mime = "image/*", use = "image" },

# { mime = "application/json", use = "text" },
{ name = "*.json", use = "text" },

# Multiple openers for a single rule
{ name = "*.html", use = [ "browser", "text" ] },
]
+

Available rule parameters are as follows:

+
    +
  • name (String): Glob expression for matching the file name. Case insensitive by default, add \s to the beginning to make it sensitive.
  • +
  • mime (String): Glob expression for matching the MIME type. Case insensitive by default, add \s to the beginning to make it sensitive.
  • +
  • use (String): Opener name corresponding to the names in the [opener] section.
  • +
+

[tasks]

+
    +
  • micro_workers: Maximum number of concurrent micro-tasks
  • +
  • macro_workers: Maximum number of concurrent macro-tasks
  • +
  • bizarre_retry: Maximum number of retries when a bizarre failure occurs
  • +
  • suppress_preload: Exclude the preload tasks created by the system from the task list, do not report their progress, and do not consider them on app exit confirming.
  • +
+

Image decoding

+
    +
  • image_alloc: Maximum memory allocation limit (in bytes) for decoding a single image, 0 for unlimited.
  • +
  • image_bound([width, height]): Maximum image size (in pixels) for decoding a single image, 0 for unlimited.
  • +
+

[input]

+

You can customize the title and position of each Input. As for position, it consists of two parts: Origin and Offset.

+

The origin is the top-left corner of the Input, and the offset is the increment from this origin. Together, they determine the area of the Input on the screen.

+

Origin

+

For the origin, the following values are available:

+
    +
  • top-left
  • +
  • top-center
  • +
  • top-right
  • +
  • bottom-left
  • +
  • bottom-center
  • +
  • bottom-right
  • +
  • center
  • +
  • hovered (the cursor position of hovered file)
  • +
+

Offset

+

As for the offset, it's a 4-element tuple: (x, y, width, height).

+

Placeholder

+

Some Inputs have special placeholders that will be replaced with actual content upon display:

+
    +
  • +

    trash_title: String

    +
      +
    • {n}: Number of files to be trashed
    • +
    • {s}: "s" if n > 1, otherwise ""
    • +
    +
  • +
  • +

    delete_title: String

    +
      +
    • {n}: Number of files to be deleted
    • +
    • {s}: "s" if n > 1, otherwise ""
    • +
    +
  • +
  • +

    find_title: [String, String] +It's a tuple of 2-element: first for "Find next", second for "Find previous".

    +
  • +
  • +

    shell_title: [String, String] +It's a tuple of 2-element: first for "Non-blocking shell", second for "Blocking shell".

    +
  • +
  • +

    quit_title

    +
      +
    • {n}: Number of tasks are running
    • +
    • {s}: "s" if n > 1, otherwise ""
    • +
    +
  • +
+

[select]

+

Same as the input.

+ + \ No newline at end of file diff --git a/docs/faq/index.html b/docs/faq/index.html new file mode 100644 index 000000000..b8884d535 --- /dev/null +++ b/docs/faq/index.html @@ -0,0 +1,59 @@ + + + + + +Frequently Asked Questions | Yazi + + + + + +

Frequently Asked Questions

+

Why is Yazi fast?

+

See Why is Yazi fast?.

+

Why am I getting a "Permission denied" when editing files in Linux/macOS?

+

Yazi defaults to using $EDITOR as the default editor, which is suitable for most cases.

+

When you encounter this error, it means that $EDITOR is not set properly. You can add something like export EDITOR=vim to your Bash/Zsh/Fish configuration. +Alternatively, you can change Yazi's default edit opener from $EDITOR to vim/nvim/nano.

+

Why can't I preview files on Windows?

+
Yazi Windows Edition

Have you added Git to the PATH according to the Windows Installation Guide?

Please make sure the file command is available in your terminal, you can do a file -v to verify it.

+
Yazi Linux Edition running on WSL

Limited by ConPTY, the Windows version of Yazi has had to implement many workarounds, which are not perfect.

However, if you run Yazi in WSL, you can experience perfect image previews using wezterm ssh.
+WezTerm is an excellent terminal that can bypass the limitations of ConPTY through its SSH feature, and it's currently the only terminal that supports this approach.

You need to install sshd in WSL and start it:

sudo apt install openssh-server
sudo service ssh restart

Then, on the host machine, connect to WSL via SSH:

wezterm ssh 127.0.0.1

That's it! you can now get Yazi's image preview working properly.

+

Before Add CSI 14 t sequence support is merged, it is not possible to obtain the actual width and height of the terminal.

+

Therefore, the Windows version of Yazi currently uses preview.max_width and preview.max_height specified by the user in the yazi.toml as the image size.

+

Why do my icons shrink in kitty, and enlarge when scrolling?

+

TL;DR: Use a theme for Yazi, https://github.com/yazi-rs/themes

+

This might be a bug in kitty (or feature? I don't know). In kitty, you have to add a style to file list items (like foreground color) to make the icons match the text size. However, Yazi's default theme can't add that color, because it can't predict whether the user's terminal has a white background with black text, or a black background with white text.

+

So it inherits the default terminal font color. This causes the icon size issue, and I've only found this problem in kitty - other terminals don't have it. Therefore, please use a Yazi theme for the kitty terminal.

+

Why can't "Open" and "Enter" be a single command?

+

The decision to separate enter and open commands was intentional.

+

Yazi will be adding the ability to treat an archive as a directory in the future, allowing direct operations on the files inside.

+

An archive is a file, so it's "openable", but it's also "enterable" as a directory; so the user can choose the action they want to do.

+

This is true for a actual directory as well - a directory can be entered (in Yazi), or opened (in programs like VSCode or desktop file managers).

+

If you truly don't need to distinguish between them, use this smart-enter tip.

+

Why is "orphan" set to false by default?

+

orphan=true is an emergency exit; once specified, your task will not be managed by Yazi.

+

For instance, if you realize that you've used unzip on the wrong files, and you need to cancel it, with orphan=false, you can easily do that by pressing x in Yazi's task manager. +However, with orphan=true, you can only return to the shell to terminate it.

+

On the other hand, tasks with orphan=false are scheduled through the Yazi task system. It can limit the number of concurrent tasks (configurable by the user), to prevent system resource depletion, such as when you're extracting 100 files.

+

I don't like nerd‐fonts!

+

Yazi has nerd-fonts enabled by default, it looks really cool!

+

If you don't want to use it and want things to be calm, sure, you can modify these icons as much as you want in theme.toml:

+
[status]
separator_open = ""
separator_close = ""
+

and

+
[icons]
"Desktop/" = ""
"Documents/" = ""
"Downloads/" = ""
# ...
+

The above code changed all icons to "", and the whole world went quiet, nice!

+

Why doesn't the XXX feature exist?

+

Yazi is a new project, with less than 3 months (as of Sep 20, 2023) since its first commit, and some features are still heavily being developed.

+

If you find that the XXX feature is missing, please check if it has already been mentioned in the Feature Requests and search for related issues. If not, you can create a new request.

+

Our time slices are limited, and they are allocated to what we consider critical issues, such as bug fixes and making Yazi stable, which includes addressing proposals that could potentially lead to broken changes in the future.

+

Most maintainers have their full-time jobs, so please understand if your request isn't implemented promptly. Of course, we welcome any constructive PR to help expedite the implementation of your desired feature!

+

Why do I need to copy the entire keybindings?

+

Quoted from sxyazi/yazi#158 - comment:

+
+

Since Yazi is still in the alpha stage and is not yet stable, default keybindings may undergo adjustments, potentially disrupting user expectations.

+

Therefore, I encourage users to copy the complete keybinding list, which will not be affected by default configurations. Considering a merge after Yazi stabilizes seems to make more sense.

+
+ + \ No newline at end of file diff --git a/docs/installation/index.html b/docs/installation/index.html new file mode 100644 index 000000000..0d887201b --- /dev/null +++ b/docs/installation/index.html @@ -0,0 +1,67 @@ + + + + + +Installation | Yazi + + + + + +

Installation

+

Prerequisites:

+
    +
  • file (required, for file type detection)
  • +
  • nerd-fonts (optional)
  • +
  • ffmpegthumbnailer (optional, for video thumbnails)
  • +
  • unar (optional, for archive preview)
  • +
  • jq (optional, for JSON preview)
  • +
  • poppler (optional, for PDF preview)
  • +
  • fd (optional, for file searching)
  • +
  • rg (optional, for file content searching)
  • +
  • fzf (optional, for quick file subtree navigation)
  • +
  • zoxide (optional, for historical directories navigation)
  • +
+

Arch Linux

+
sudo pacman -S yazi ffmpegthumbnailer unarchiver jq poppler fd ripgrep fzf zoxide
+

If you want to use the latest git version, you can install it from AUR or Arch Linux CN:

+
paru -S yazi-git ffmpegthumbnailer unarchiver jq poppler fd ripgrep fzf zoxide
+

macOS

+

Install Yazi and its dependencies with Homebrew:

+
brew update
brew install yazi ffmpegthumbnailer unar jq poppler fd ripgrep fzf zoxide
brew tap homebrew/cask-fonts && brew install --cask font-symbols-only-nerd-font
+

If you prefer to use the most recent code, use --HEAD flag:

+
brew install yazi --HEAD
+

Nix

+

The Nix package of Yazi is available. Nix users can install Yazi via:

+
# On NixOS:
nix-env -iA nixos.yazi

# On Non NixOS:
nix-env -iA nixpkgs.yazi
+

Or add the following to your configuration:

+
# configuration.nix
environment.systemPackages = with pkgs; [
yazi
];
+

You can also manage Yazi's configuration using the +home-manager.

+

NetBSD

+
pkgin install yazi
+

Windows

+

See Windows Installation Guide.

+

AOSC OS

+
sudo oma install yazi
+

Official binaries

+

You can download the latest official binaries from GitHub Releases.

+

Cargo

+

Setup the latest stable Rust toolchain:

+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
+

Now you can install yazi-fm from crates.io:

+
cargo install --locked yazi-fm
+

Or install the latest git version:

+
cargo install --locked --git https://github.com/sxyazi/yazi.git
+

If it fails to build, please check if make and gcc is installed on your system.

+

Build from source

+

Setup the latest stable Rust toolchain:

+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
+

Clone the repository and build Yazi:

+
git clone https://github.com/sxyazi/yazi.git
cd yazi
cargo build --release
+

Then, you can run:

+
./target/release/yazi
+

If it fails to build, please check if make and gcc is installed on your system.

+ + \ No newline at end of file diff --git a/docs/plugin/api/index.html b/docs/plugin/api/index.html new file mode 100644 index 000000000..1771fe07f --- /dev/null +++ b/docs/plugin/api/index.html @@ -0,0 +1,515 @@ + + + + + +API (Work in progress) | Yazi + + + + + +

API (Work in progress)

+

Layout

+

Paragraph, List, Bar, Border, and Gauge are renderable widgets; others need to be placed within any of them.

+

ui.Bar

+

Create a bar:

+
ui.Bar(rect, direction)
+

The first attribute is a Rect, representing the position of this bar. +The second denotes the direction of the bar and accepts the following constants:

+
    +
  • ui.Bar.NONE
  • +
  • ui.Bar.TOP
  • +
  • ui.Bar.RIGHT
  • +
  • ui.Bar.BOTTOM
  • +
  • ui.Bar.LEFT
  • +
  • ui.Bar.ALL
  • +
+

Methods (all methods return self):

+
    +
  • ui.Bar:symbol(symbol) - accepts a string, specifying the symbol for the bar
  • +
  • ui.Bar:style(style) - accepts a Style, specifying the style of the bar
  • +
+

ui.Border

+

Create a border:

+
ui.Border(rect, position)
+

The first attribute is a Rect, representing the position of this border. +The second denotes the position of the border and accepts the following constants:

+
    +
  • ui.Border.NONE
  • +
  • ui.Border.TOP
  • +
  • ui.Border.RIGHT
  • +
  • ui.Border.BOTTOM
  • +
  • ui.Border.LEFT
  • +
  • ui.Border.ALL
  • +
+

You can also use ui.Border:type(type) to specify different types for the border. It accepts the following type constants:

+
    +
  • ui.Border.PLAIN
  • +
  • ui.Border.ROUNDED
  • +
  • ui.Border.DOUBLE
  • +
  • ui.Border.THICK
  • +
  • ui.Border.QUADRANT_INSIDE
  • +
  • ui.Border.QUADRANT_OUTSIDE
  • +
+

Methods (all methods return self):

+
    +
  • ui.Border:style(style) - accepts a Style, specifying the style of the border
  • +
+

ui.Constraint

+

Constraints are used to define the size of a layout.

+

They can be used to define a fixed size, a percentage of the available space, a ratio of the available space, or a minimum or maximum size:

+
ui.Constraint.Percentage(50) -- Apply a percentage to a given amount
ui.Constraint.Ratio(1, 3) -- Apply a ratio
ui.Constraint.Length(10) -- Apply no more than the given amount (currently roughly equal to `ui.Constraint.Max`)
ui.Constraint.Max(5) -- Apply at most the given amount
ui.Constraint.Min(3) -- Apply at least the given amount
+

ui.Gauge

+

Create a gauge:

+
ui.Gauge(rect)
+
    +
  • ui.Gauge:percent(percent) - Set the percentage of the gauge
  • +
  • ui.Gauge:ratio(ratio) - Set the ratio of the gauge
  • +
  • ui.Gauge:label(label) - Set the label of the gauge
  • +
  • ui.Gauge:style(style) - Set the style of everything except the bar itself, which accepts a Style
  • +
  • ui.Gauge:gauge_style(style) - Set the style of the bar, which accepts a Style
  • +
+

ui.Layout

+

Create a layout:

+
ui.Layout()
+
    +
  • ui.Layout:direction(direction) - Set the direction of the layout. It accepts the following constants: +
      +
    • ui.Layout.HORIZONTAL
    • +
    • ui.Layout.VERTICAL
    • +
    +
  • +
  • ui.Layout:margin(margin) - Set the margin of the layout
  • +
  • ui.Layout:margin_h(margin) - Set the horizontal margin of the layout
  • +
  • ui.Layout:margin_v(margin) - Set the vertical margin of the layout
  • +
  • ui.Layout:constraints({ constraint, ... }) - Set the constraints of the layout, which accepts a list of Constraint
  • +
  • ui.Layout:split(rect) - Accepts a Rect and split it into multiple Rect according to the constraints
  • +
+

ui.Line

+

Create a line, which accepts a list of Span and Line:

+
ui.Line { span, line, span, ... }
+
    +
  • ui.Line:width() - Get the width of the line
  • +
  • ui.Line:style(style) - Set the style of the line, which accepts a Style
  • +
  • ui.Line:align(alignment) - Set the alignment of the line. It accepts the following constants: +
      +
    • ui.Line.LEFT
    • +
    • ui.Line.CENTER
    • +
    • ui.Line.RIGHT
    • +
    +
  • +
+

ui.List

+

Create a list:

+
ui.List(rect, items)
+

The first attribute is a Rect, representing the position of this list. +The second denotes the items of the list and accepts a list of ListItem.

+

ui.ListItem

+

Create a list item:

+
ui.ListItem(line)
ui.ListItem(span)
ui.ListItem("string")
+

Methods (all methods return self):

+
    +
  • ui.ListItem:style(style) - Set the style of the list item, which accepts a Style
  • +
+

ui.Padding

+

All parameters for padding are integers:

+
ui.Padding(left, right, top, bottom)
+

If you want to specify only one of them, you can:

+
    +
  • ui.Padding.left(left) equal to ui.Padding(left, 0, 0, 0)
  • +
  • ui.Padding.right(right) equal to ui.Padding(0, right, 0, 0)
  • +
  • ui.Padding.top(top) equal to ui.Padding(0, 0, top, 0)
  • +
  • ui.Padding.bottom(bottom) equal to ui.Padding(0, 0, 0, bottom)
  • +
+

Or specify a particular direction for them:

+
    +
  • ui.Padding.x(x) equal to ui.Padding(x, x, 0, 0)
  • +
  • ui.Padding.y(y) equal to ui.Padding(0, 0, y, y)
  • +
  • ui.Padding.xy(x, y) equal to ui.Padding(x, x, y, y)
  • +
+

Properties:

+
    +
  • left - left padding
  • +
  • right - right padding
  • +
  • top - top padding
  • +
  • bottom - bottom padding
  • +
+

ui.Paragraph

+

Create a paragraph:

+
ui.Paragraph(rect, { line, line, ... })
+

The first attribute is a Rect, representing the position of this paragraph. +The second denotes the lines of the paragraph and accepts a list of Line.

+

You can also use ui.Paragraph.parse(string) to parse an ANSI escape sequence string into a paragraph.

+

Methods (all methods return self):

+
    +
  • ui.Paragraph:style(style) - Set the style of the paragraph, which accepts a Style
  • +
  • ui.Paragraph:align(alignment) - Set the alignment of the paragraph. It accepts the following constants: +
      +
    • ui.Paragraph.LEFT
    • +
    • ui.Paragraph.CENTER
    • +
    • ui.Paragraph.RIGHT
    • +
    +
  • +
+

ui.Rect

+

A Rect is represented an area within the terminal by four attributes:

+
ui.Rect {
x = 10, -- x position
y = 10, -- y position
w = 20, -- width
h = 30, -- height
}

ui.Rect.default -- Equal to `ui.Rect { x = 0, y = 0, w = 0, h = 0 }`
+

You can obtain a pre-computed Rect through Yazi's layout system.

+

Note that if you intend to create it yourself, ensure these values are calculated accurately; otherwise, it may cause Yazi to crash!

+

Properties:

+
    +
  • x - x position
  • +
  • y - y position
  • +
  • w - width
  • +
  • h - height
  • +
  • left - left position
  • +
  • right - right position
  • +
  • top - top position
  • +
  • bottom - bottom position
  • +
+

Methods (all methods return self):

+
    +
  • ui.Rect:padding(padding) - Set padding. It accepts a Padding
  • +
+

ui.Span

+

Create a span:

+
ui.Span("string")
+

Methods (all methods return self):

+
    +
  • ui.Span:fg(color) - Set the foreground color of the span, which accepts a Color
  • +
  • ui.Span:bg(color) - Set the background color of the span, which accepts a Color
  • +
  • ui.Span:bold() - Set the span to bold
  • +
  • ui.Span:dim() - Set the span to dim
  • +
  • ui.Span:italic() - Set the span to italic
  • +
  • ui.Span:underline() - Set the span to underline
  • +
  • ui.Span:blink() - Set the span to blink
  • +
  • ui.Span:blink_rapid() - Set the span to blink rapidly
  • +
  • ui.Span:hidden() - Set the span to hidden
  • +
  • ui.Span:crossed() - Set the span to crossed
  • +
  • ui.Span:reset() - Reset the style of the span
  • +
  • ui.Span:style(style) - Set the style of the span, which accepts a Style
  • +
+

ui.Style

+

Create a style:

+
ui.Style()
+
    +
  • ui.Style:fg(string) - Set the foreground color of the style, which accepts a Color
  • +
  • ui.Style:bg(string) - Set the background color of the style, which accepts a Color
  • +
  • ui.Style:bold() - Set the style to bold
  • +
  • ui.Style:dim() - Set the style to dim
  • +
  • ui.Style:italic() - Set the style to italic
  • +
  • ui.Style:underline() - Set the style to underline
  • +
  • ui.Style:blink() - Set the style to blink
  • +
  • ui.Style:blink_rapid() - Set the style to blink rapidly
  • +
  • ui.Style:hidden() - Set the style to hidden
  • +
  • ui.Style:crossed() - Set the style to crossed
  • +
  • ui.Style:reset() - Reset the style
  • +
+

Config

+

TODO

+
    +
  • BOOT
  • +
  • MANAGER
  • +
  • THEME
  • +
  • PREVIEW
  • +
+

ya

+

cache_file(path)

+

Calculate the cached Url corresponding to the given path:

+
    +
  • path - Required, the path of the file, which is a string
  • +
+

If the file is not allowed to be cached, such as it's ignored in the user config, or the file itself is a cache, returns nil.

+

manager_emit(cmd, args, data)

+

Send a command to the manager without waiting for the executor to execute:

+
    +
  • cmd - Required, the command name, which is a string
  • +
  • args - Required, the arguments of the command, which is a table of strings
  • +
  • data - Optional, additional data passed to the command
  • +
+
ya.manager_emit("my-cmd", { "hello", foo = "", bar_baz = "world" })

-- Equivalent to:
-- my-cmd "hello" --foo --bar-baz="world"
+

image_show(url, rect)

+

Display the given image within the specified area, and the image will downscale to fit that area automatically:

+
    +
  • url - Required, the Url of the image
  • +
  • rect - Required, the Rect of the area
  • +
+

image_precache(src, dist)

+

Pre-cache the image to a specified path based on user-configured max_width and max_height:

+
    +
  • src - Required, the source path of the image
  • +
  • dist - Required, the destination path of the image
  • +
+

dbg(msg)

+

Append messages to Yazi's log file at the debug level:

+
    +
  • msg - Required, the message to be logged, which is a string
  • +
+

Note that if you build in release mode, the log level for Yazi is "error" instead of "debug", so you'll need to use ya.err.

+

err(msg)

+

Append messages to Yazi's log file at the error level:

+
    +
  • msg - Required, the message to be logged, which is a string
  • +
+

plugin_retrieve

+

TODO

+

preview_code(opts)

+

Preview the file as code into the specified area:

+
    +
  • opts - Required, the options of the preview, which is a table: +
      +
    • file - The previewed File
    • +
    • area - The area of the preview, which is a Rect
    • +
    • skip - The number of units to skip. It's units largely depend on your previewer, such as lines for code, and percentages for videos
    • +
    • window - The Window of the preview
    • +
    +
  • +
+

preview_archive(opts)

+

Preview the file as an archive into the specified area:

+
    +
  • opts - Required, the options of the preview. It's the same as preview_code
  • +
+

preview_widgets(opts, widgets)

+
    +
  • opts - Required, the options of the preview, which is a table: +
      +
    • file - The previewed File
    • +
    • skip - The number of units to skip. It's units largely depend on your previewer, such as lines for code, and percentages for videos
    • +
    • window - The Window of the preview
    • +
    +
  • +
  • widgets - List of renderable widgets, such as { ui.Paragraph {...}, ui.List {...}, ... }
  • +
+

target_family()

+

Returns the target family of the current platform, "windows", "unix", or "wasm".

+

truncate(text, max)

+

Truncate the text to the specified length and return it:

+
    +
  • text - Required, the text to be truncated, which is a string
  • +
  • max - Required, the maximum length of the text, which is a integer
  • +
+

mime_valid(mime)

+

Check whether the mime-type is valid:

+
    +
  • mime - Required, the mime-type to be checked, which is a string
  • +
+

time()

+

Returns the current timestamp, which is a float, the integer part represents the seconds, and the decimal part represents the milliseconds.

+

uid()

+

Returns the user id of the current user, which is a integer.

+

gid()

+

Returns the group id of the current user, which is a integer.

+

user_name()

+

Returns the name of the current user, which is a string.

+

group_name()

+

Returns the name of the current group, which is a string.

+

Common

+

Cha

+

Cha means one file's characteristics with the following properties:

+
    +
  • is_dir: Whether this file is a directory
  • +
  • is_hidden: Whether this file is hidden (starts with a dot)
  • +
  • is_link: Whether this file is a symlink
  • +
  • is_bad_link: Whether this file is a bad symlink, which points to a non-existent file
  • +
  • length: The length of this file, returns a integer representing the size in bytes. Note that it can't reflect the size of a directory, use size() instead
  • +
  • created: The created time of this file in Unix timestamp, or nil if it doesn't have a valid time
  • +
  • modified: The modified time of this file in Unix timestamp, or nil if it doesn't have a valid time
  • +
  • accessed: The accessed time of this file in Unix timestamp, or nil if it doesn't have a valid time
  • +
  • permissions: Unix permissions of this file in string, e.g. drwxr-xr-x. For Windows, it's always nil
  • +
+

And the Unix only properties:

+
    +
  • is_block_device: Whether this file is a block device
  • +
  • is_char_device: Whether this file is a character device
  • +
  • is_fifo: Whether this file is a fifo
  • +
  • is_socket: Whether this file is a socket
  • +
  • uid: The user id of this file
  • +
  • gid: The group id of this file
  • +
+

File

+

Properties:

+
    +
  • url: The Url of this file
  • +
  • cha: The Cha of this file
  • +
  • link_to: The Url of this file pointing to, if it's a symlink; otherwise, nil
  • +
  • name: The name of this file
  • +
+

Range

+

TODO

+

Url

+

Properties:

+
    +
  • frag: The fragment string of this url. Let's say the url is archive:///root/my-archive.zip#1.jpg, then the fragment is 1.jpg
  • +
  • is_regular: Whether the file represented by this url is a regular file
  • +
  • is_search: Whether the file represented by this url from the search result
  • +
  • is_archive: Whether the file represented by this url from an archive
  • +
+

Meta methods:

+
    +
  • __eq(another_url)
  • +
  • __tostring()
  • +
  • __concat(string)
  • +
+

Window

+

Properties:

+
    +
  • rows: The number of rows of this window
  • +
  • cols: The number of columns of this window
  • +
  • width: The width of this window in pixels
  • +
  • height: The height of this window in pixels
  • +
+

Sync context

+

The sync context accompanies the entire app lifecycle, you can access all app data through the cx within it:

+ +

which is active during UI rendering (UI plugins) and when executing sync functional plugins (plugin --sync command).

+

For better performance, the sync context is created only at the app's start and remains singular throughout. Thus, plugins running within this context share states, +prompting plugin developers to create separate namespaces for their plugins to prevent global space contamination.

+

tab::Mode

+

Visual mode status.

+

Properties:

+
    +
  • is_select: Whether the mode is select
  • +
  • is_unset: Whether the mode is unset
  • +
  • is_visual: Whether the mode is select or unset
  • +
+

Methods:

+
    +
  • pending(idx, state): TODO
  • +
+

Meta methods:

+
    +
  • __tostring()
  • +
+

tab::Config

+

TODO

+

Properties:

+
    +
  • sort_by
  • +
  • sort_sensitive
  • +
  • sort_reverse
  • +
  • sort_dir_first
  • +
  • linemode
  • +
  • show_hidden
  • +
+

tab::Preview

+

TODO

+

Properties:

+
    +
  • skip
  • +
  • folder
  • +
+

folder::Folder

+
    +
  • cwd
  • +
  • offset
  • +
  • cursor
  • +
  • window
  • +
  • files
  • +
  • hovered
  • +
+

folder::Files

+

Meta methods:

+
    +
  • __len()
  • +
  • __pairs()
  • +
+

folder::File

+

Based on File, with the following additional methods:

+
    +
  • size() - The size of this file, returns a integer representing the size in bytes, or nil if its a directory and it has not been scanned
  • +
  • mime() - The mime-type string of this file
  • +
  • prefix() - The prefix of this file relative to CWD, which used in the flat view during search. For instance, if CWD is /foo, and the file is /foo/bar/baz, then the prefix is bar/
  • +
  • icon() - The icon string of this file, [icons] rules are applied
  • +
  • style() - The Style of this file, [filetype] rules are applied
  • +
  • is_hovered() - Whether this file is hovered
  • +
  • is_yanked() - Whether this file is yanked
  • +
  • is_selected() - Whether this file is selected
  • +
  • found() - When users find a file using the find command, the status of the file - returns nil if it doesn't match the user's find keyword; otherwise, returns {idx, all}, where idx is the position of matched file, and all represents the number of all matched files.
  • +
  • highlights() - TODO
  • +
+

manager::Tabs

+

Properties:

+
    +
  • idx: The index of the active tab
  • +
+

Meta methods:

+
    +
  • __len()
  • +
  • __index(idx)
  • +
+

tab::Tab

+

Properties:

+ +

Methods:

+
    +
  • name(): The name of this tab
  • +
+

tasks::Tasks

+

Properties:

+
    +
  • +

    progress: The progress of all tasks, which is a table:

    +
    {
    -- Number of tasks
    total = 0,
    succ = 0,
    fail = 0,

    -- Workload of tasks
    found = 0,
    processed = 0,
    }
    +
  • +
+

Isolate context

+

fs

+

TODO

+

Functions:

+
    +
  • write(url, data)
  • +
  • metadata(url)
  • +
  • symlink_metadata(url)
  • +
+

Child

+

TODO

+

Methods:

+
    +
  • read(len)
  • +
  • read_line()
  • +
  • read_line_with(opts)
  • +
  • wait()
  • +
  • start_kill()
  • +
+

Command

+

TODO

+

Methods:

+
    +
  • arg(arg)
  • +
  • args(args)
  • +
  • env(key, value)
  • +
  • stdin(cfg)
  • +
  • stdout(cfg)
  • +
  • stderr(cfg)
  • +
  • spawn()
  • +
  • output()
  • +
+

Output

+

TODO

+

Properties:

+
    +
  • status
  • +
  • stdout
  • +
  • stderr
  • +
+

Status

+

Methods:

+
    +
  • success()
  • +
  • code()
  • +
+

TODO

+ + \ No newline at end of file diff --git a/docs/plugin/overview/index.html b/docs/plugin/overview/index.html new file mode 100644 index 000000000..d91813174 --- /dev/null +++ b/docs/plugin/overview/index.html @@ -0,0 +1,23 @@ + + + + + +Plugin (Work in progress) | Yazi + + + + + +

Plugin (Work in progress)

+

You can extend Yazi's functionality through Lua plugins, which need to be placed in the plugins subdirectory within Yazi's configuration directory:

+
    +
  • Unix: ~/.config/yazi/plugins/
  • +
  • Windows: C:\Users\USERNAME\AppData\Roaming\yazi\config\plugins\
  • +
+
.
├── init.lua
├── plugins/
│   ├── fzf.yazi/
│   └── zoxide.yazi/
└── yazi.toml
+

Each plugin is a directory ending with .yazi, containing an init.lua file for the plugin's initialization. +For instance, the structure of the zoxide.yazi plugin is as:

+
zoxide.yazi/
└── init.lua
+ + \ No newline at end of file diff --git a/docs/quick-start/index.html b/docs/quick-start/index.html new file mode 100644 index 000000000..16a8c9ccd --- /dev/null +++ b/docs/quick-start/index.html @@ -0,0 +1,46 @@ + + + + + +Quick Start | Yazi + + + + + +

Quick Start

+

After installing, use the following command to run it:

+
yazi
+

Press q to quit and ~ to open the help menu.

+

Themes

+

We have created a repo to collect themes from the community. Pick a theme you like!

+

https://github.com/yazi-rs/themes

+

Keybindings

+
tip

To see all key bindings, check the yazi-config/preset/keymap.toml file.

+ +

To navigate between files and directories you can use the arrow keys , , and or vi(m)-like commands such as h, j, k, l:

+
Key bindingAlternate keyAction
kMove the cursor up
jMove the cursor down
lEnter highlighted directory
hLeave the current directory and into its parent
+

Further navigation commands can be found in the table below.

+
Key bindingAction
KMove the cursor up 5 lines
JMove the cursor down 5 lines
g ⇒ gMove cursor to the top
GMove cursor to the bottom
+

Selection

+

To select files and directories, the following commands are available.

+
Key bindingAction
<Space>Toggle selection of highlighted file/directory
vEnter visual mode (selection mode)
VEnter visual mode (unset mode)
<Ctrl-a>Select all files
<Ctrl-r>Inverse selection of all files
<Esc>Cancel selection
+

File/directory operations

+

To interact with selected files/directories use any of the commands below.

+
Key bindingAction
oOpen the selected files
OOpen the selected files interactively
<Enter>Open the selected files
<Ctrl-Enter>Open the selected files interactively (some terminals don't support it yet)
yYank the selected files (copy)
xYank the selected files (cut)
pPaste the yanked files
PPaste the yanked files (overwrite if the destination exists)
-Create a symbolic link to the yanked files (absolute path)
_Create a symbolic link to the yanked files (relative path)
dMove the files to the trash
DPermanently delete the files
aCreate a file or directory (ends with "/" for directories)
rRename a file or directory
;Run a shell command
:Run a shell command (block the UI until the command finishes)
.Toggle the visibility of hidden files
sSearch files by name using fd
SSearch files by content using ripgrep
<Ctrl-s>Cancel the ongoing search
zJump to a directory using zoxide
ZJump to a directory, or reveal a file using fzf
+

Copying paths

+

To copy paths, use any of the following commands below.

+

Observation: c ⇒ d indicates pressing the c key followed by pressing the d key.

+
Key bindingAction
c ⇒ cCopy absolute path
c ⇒ dCopy the path of the parent directory
c ⇒ fCopy the name of the file
c ⇒ nCopy the name of the file without the extension
+

Finding files/directories

+
Key bindingAction
/Forward find file/directory in CWD
?Backward find file/directory in CWD
nJump to next occurrence
NJump to previous occurrence
+

Sorting

+

To sort files/directories use the following commands.

+

Observation: , ⇒ a indicates pressing the , key followed by pressing the a key.

+
Key bindingAction
, ⇒ aSort alphabetically
, ⇒ ASort alphabetically (reverse)
, ⇒ cSort by creation time
, ⇒ CSort by creation time (reverse)
, ⇒ mSort by modified time
, ⇒ MSort by modified time (reverse)
, ⇒ nSort naturally
, ⇒ NSort naturally (reverse)
, ⇒ sSort by size
, ⇒ SSort by size (reverse)
+

Changing working directory when exiting Yazi

+

You can also use this convenient wrapper that provides the ability to change the current working directory when exiting Yazi.

+
function ya() {
tmp="$(mktemp -t "yazi-cwd.XXXXX")"
yazi "$@" --cwd-file="$tmp"
if cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
cd -- "$cwd"
fi
rm -f -- "$tmp"
}
+ + \ No newline at end of file diff --git a/docs/tips/index.html b/docs/tips/index.html new file mode 100644 index 000000000..32c6160d7 --- /dev/null +++ b/docs/tips/index.html @@ -0,0 +1,57 @@ + + + + + +Tips | Yazi + + + + + +

Tips

+

Full border

+

You can implement a full border for Yazi via the UI plugin.

+ +

Copy the preset Manager:render function to any place, for example ~/.config/yazi/ui.lua, then apply the following patch:

+
@@ -10,16 +10,28 @@ function Manager:render(area)
})
:split(area)

+ local bar = function(c, x, y)
+ return ui.Bar(
+ ui.Rect { x = math.max(0, x), y = math.max(0, y), w = math.min(1, area.w), h = math.min(1, area.h) },
+ ui.Position.TOP
+ ):symbol(c)
+ end
+
return utils.flat {
- -- Borders
- ui.Bar(chunks[1], ui.Position.RIGHT):symbol(THEME.manager.border_symbol):style(THEME.manager.border_style),
- ui.Bar(chunks[3], ui.Position.LEFT):symbol(THEME.manager.border_symbol):style(THEME.manager.border_style),
+ ui.Border(area, ui.Position.ALL):type(ui.Border.ROUNDED),
+ ui.Bar(chunks[1], ui.Position.RIGHT),
+ ui.Bar(chunks[3], ui.Position.LEFT),
+
+ bar("┬", chunks[1].right - 1, chunks[1].y),
+ bar("┴", chunks[1].right - 1, chunks[1].bottom - 1),
+ bar("┬", chunks[2].right, chunks[2].y),
+ bar("┴", chunks[2].right, chunks[1].bottom - 1),

-- Parent
- Folder:render(chunks[1]:padding(ui.Padding.x(1)), { kind = Folder.PARENT }),
+ Folder:render(chunks[1]:padding(ui.Padding.xy(1)), { kind = Folder.PARENT }),
-- Current
- Folder:render(chunks[2], { kind = Folder.CURRENT }),
+ Folder:render(chunks[2]:padding(ui.Padding.y(1)), { kind = Folder.CURRENT }),
-- Preview
- ui.Base(chunks[3]:padding(ui.Padding.x(1)), ui.Base.PREVIEW),
+ ui.Base(chunks[3]:padding(ui.Padding.xy(1)), ui.Base.PREVIEW),
}
end
+

If you prefer sharp corners for the border, you can remove :type(ui.Border.ROUNDED).

+

Finally include it and adjust the manager layout offset:

+
# yazi.toml
[plugins]
preload = [
"~/.config/yazi/ui.lua"
]

# theme.toml
[manager]
folder_offset = [ 2, 0, 2, 0 ]
preview_offset = [ 2, 1, 2, 1 ]
+

Dropping to the shell

+

Add the keybindings to the [manager] of keymap.toml:

+
{ on = [ "<C-s>" ], exec = '''shell "$SHELL" --block --confirm''', desc = "Open shell here" }
+

Please make sure that <C-s> does not conflict with your other keys.

+

Close input by once <Esc> press

+

You can change the <Esc> of input component from the default escape to close command:

+
{ on = [ "<Esc>" ], exec = "close", desc = "Cancel input" }
+

To exiting input directly, without entering Vi mode, making it behave like a regular input box.

+

Smart enter: enter for directory, open for file

+

Save those lines as ~/.config/yazi/plugins/smart-enter.yazi/init.lua:

+
return {
entry = function()
local h = cx.active.current.hovered
ya.manager_emit(h and h.cha.is_dir and "enter" or "open", {})
end,
}
+

Then bind it for l key, in your keymap.toml:

+
{ on = [ "l" ], exec = "plugin --sync smart-enter", desc = "Enter the child directory, or open the file" },
+

Drag and drop via dragon

+

Original post: https://github.com/sxyazi/yazi/discussions/327

+
{ on = [ "<C-n>" ], exec = '''
shell 'dragon -x -i -T "$1"' --confirm
''' }
+

Please make sure that <C-n> does not conflict with your other keys.

+

No status bar

+ +

Save those lines as a file, for example ~/.config/yazi/ui.lua:

+
function Status:render() return {} end

local old_manager_render = Manager.render
function Manager:render(area)
return old_manager_render(self, ui.Rect { x = area.x, y = area.y, w = area.w, h = area.h + 1 })
end
+

Finally include it and adjust the manager layout offset:

+
# yazi.toml
[plugins]
preload = [
"~/.config/yazi/ui.lua"
]

# theme.toml
[manager]
folder_offset = [ 1, 0, 0, 0 ]
preview_offset = [ 1, 1, 0, 1 ]
+ + +

You only need to rewrite the Status:name() method to achieve this feature, +save this method as a file, and apply the following patch to it:

+
@@ -42,7 +42,11 @@ function Status:name()
return ui.Span("")
end

- return ui.Span(" " .. h.name)
+ local linked = ""
+ if h.link_to ~= nil then
+ linked = " -> " .. tostring(h.link_to)
+ end
+ return ui.Span(" " .. h.name .. linked)
end
+

Finally just include it:

+
# yazi.toml
[plugins]
preload = [
"/path/to/your/status-name-function.lua"
]
+

Show user/group of files in status bar

+ +

You only need to rewrite the Status:render() method to achieve this feature, +copy this method to your ~/.config/yazi/init.lua, and apply the following patch:

+
@@ -1,8 +1,22 @@
+function Status:owner()
+ local h = cx.active.current.hovered
+ if h == nil or ya.target_family() ~= "unix" then
+ return ui.Line {}
+ end
+
+ return ui.Line {
+ ui.Span(ya.user_name(h.cha.uid) or tostring(h.cha.uid)):fg("magenta"),
+ ui.Span(":"),
+ ui.Span(ya.group_name(h.cha.gid) or tostring(h.cha.gid)):fg("magenta"),
+ ui.Span(" "),
+ }
+end
+
function Status:render(area)
self.area = area

local left = ui.Line { self:mode(), self:size(), self:name() }
- local right = ui.Line { self:permissions(), self:percentage(), self:position() }
+ local right = ui.Line { self:owner(), self:permissions(), self:percentage(), self:position() }
local progress = self:progress(area, right:width())
return {
ui.Paragraph(area, { left }),
+ + \ No newline at end of file diff --git a/features/index.html b/features/index.html new file mode 100644 index 000000000..5cfb7aef4 --- /dev/null +++ b/features/index.html @@ -0,0 +1,14 @@ + + + + + +Features | Yazi + + + + + +

Features

List of features shipped with Yazi.

Suggest a feature!
  • Scrollable Preview

    Preview various types of files, and scroll while previewing.

  • Visual Mode & Batch Rename

    Batch select files in visual mode, and rename them.

  • Vim-like Input & Select Component

    Quickly edit filename in the Input, and choose how to open it in the Select.

  • Multi-Tab & fzf, zoxide

    Collaborate across multiple tabs, and use fzf, zoxide for quick jumps.

  • Multi-Select & Task Management

    Select multiple files individually, perform copy, cut, etc. Which are scheduled by the task system, providing real-time progress reports and task cancellation.

  • Incremental Find

    Find files incrementally in real-time, with the current position and number of all matches displayed.

  • Search

    Search by name using fd, by content using rg, and perform arbitrary operations on the results.

+ + \ No newline at end of file diff --git a/img/async.svg b/img/async.svg new file mode 100644 index 000000000..7e08ff480 --- /dev/null +++ b/img/async.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/code.svg b/img/code.svg new file mode 100644 index 000000000..e21f25cc7 --- /dev/null +++ b/img/code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/full-border.png b/img/full-border.png new file mode 100644 index 000000000..7a834ace0 Binary files /dev/null and b/img/full-border.png differ diff --git a/img/image.svg b/img/image.svg new file mode 100644 index 000000000..e0e59d4ab --- /dev/null +++ b/img/image.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 000000000..c2aafddf0 Binary files /dev/null and b/img/logo.png differ diff --git a/img/no-status-bar.jpg b/img/no-status-bar.jpg new file mode 100644 index 000000000..6f6af3b23 Binary files /dev/null and b/img/no-status-bar.jpg differ diff --git a/img/owner.png b/img/owner.png new file mode 100644 index 000000000..71af8b546 Binary files /dev/null and b/img/owner.png differ diff --git a/img/symlink-in-status.png b/img/symlink-in-status.png new file mode 100644 index 000000000..87f1aab04 Binary files /dev/null and b/img/symlink-in-status.png differ diff --git a/img/task.svg b/img/task.svg new file mode 100644 index 000000000..dea9613f5 --- /dev/null +++ b/img/task.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 000000000..114f4c586 --- /dev/null +++ b/index.html @@ -0,0 +1,14 @@ + + + + + +Yazi + + + + + +

Yazi

⚡️ Blazing fast terminal file manager written in Rust, based on async I/O.

Full Asynchronous Support

All I/O operations are asynchronous, CPU tasks are spread across multiple threads, making the most of available resources.

Powerful Async Task Scheduling and Management

Provides real-time progress updates, task cancellation, and internal task priority assignment.

Built-in Support for Multiple Image Protocols

Also integrated with Überzug++, covering almost all terminals.

Built-in Code Highlighting and Image Encoding

Combined with the pre-caching mechanism, greatly accelerates image and normal file loading.

+ + \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 000000000..3873e5e3f --- /dev/null +++ b/sitemap.xml @@ -0,0 +1 @@ +https://yazi-rs.github.io/blogweekly0.5https://yazi-rs.github.io/blog/archiveweekly0.5https://yazi-rs.github.io/blog/why-is-yazi-fastweekly0.5https://yazi-rs.github.io/features/weekly0.5https://yazi-rs.github.io/docs/configuration/keymapweekly0.5https://yazi-rs.github.io/docs/configuration/overviewweekly0.5https://yazi-rs.github.io/docs/configuration/themeweekly0.5https://yazi-rs.github.io/docs/configuration/yaziweekly0.5https://yazi-rs.github.io/docs/faqweekly0.5https://yazi-rs.github.io/docs/installationweekly0.5https://yazi-rs.github.io/docs/plugin/apiweekly0.5https://yazi-rs.github.io/docs/plugin/overviewweekly0.5https://yazi-rs.github.io/docs/quick-startweekly0.5https://yazi-rs.github.io/docs/tipsweekly0.5https://yazi-rs.github.io/weekly0.5 \ No newline at end of file diff --git a/videos/incremental-find.mp4 b/videos/incremental-find.mp4 new file mode 100644 index 000000000..4fc77d5a2 Binary files /dev/null and b/videos/incremental-find.mp4 differ diff --git a/videos/input_select.mp4 b/videos/input_select.mp4 new file mode 100644 index 000000000..2b15b6b4a Binary files /dev/null and b/videos/input_select.mp4 differ diff --git a/videos/multi-select_task-management.mp4 b/videos/multi-select_task-management.mp4 new file mode 100644 index 000000000..5588b530c Binary files /dev/null and b/videos/multi-select_task-management.mp4 differ diff --git a/videos/multi-tab_zoxide.mp4 b/videos/multi-tab_zoxide.mp4 new file mode 100644 index 000000000..da54590ec Binary files /dev/null and b/videos/multi-tab_zoxide.mp4 differ diff --git a/videos/scrollable-preview.mp4 b/videos/scrollable-preview.mp4 new file mode 100644 index 000000000..aa42f5f4f Binary files /dev/null and b/videos/scrollable-preview.mp4 differ diff --git a/videos/search.mp4 b/videos/search.mp4 new file mode 100644 index 000000000..315a9f2f1 Binary files /dev/null and b/videos/search.mp4 differ diff --git a/videos/visual-mode_batch-rename.mp4 b/videos/visual-mode_batch-rename.mp4 new file mode 100644 index 000000000..532216b77 Binary files /dev/null and b/videos/visual-mode_batch-rename.mp4 differ